Zustellartikel
Bitte folgendes bei den Verteilpunkten und dem Warenkorb einbauen:
- Bei den Verteilpunkten kann ein beliebiges Verteilpunktprodukt als Zustellartikel definiert werden. es gibt im Moment optional folgende Einstellungen: 'NEAR' -- Nahe 'REGI' -- Region 'NATI' -- National 'INTE' -- INTERNATIONAL Speichern bitte über die Funktion UpdateDelivery, siehe unten
- Im Warenkorb kann pro Verteilpunkt eines dieser Produkte in den Warenkorb gelegt werden dazu gibts die Funktion GetDeliveryProduct, als Parameter ist eins von 'NEAR','REGI','NATI','INTE' möglich zurück kommt das Produkt, bei jeder anderen Auswahl wird das jeweils gesetzte Produkt bitte im Warenkorb ersetzt. selfservice wird dann automatisch auf 'N' gesetzt.
alter table collective_distribution add fdelivery_near_cdp_seq_id INT(11);
alter table collective_distribution add fdelivery_regi_cdp_seq_id INT(11);
alter table collective_distribution add fdelivery_nati_cdp_seq_id INT(11);
alter table collective_distribution add fdelivery_inte_cdp_seq_id INT(11);
DROP procedure IF EXISTS `UpdateDelivery`;
DELIMITER $$
USE `azeero`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateDelivery`(json MEDIUMTEXT,OUT json_return MEDIUMTEXT)
ThisSP:BEGIN
DECLARE exit handler for sqlexception, sqlwarning
BEGIN
GET DIAGNOSTICS CONDITION 1 @error = MESSAGE_TEXT;
SET json_return = CONCAT('{"error":"',@error,' json=',json,'"}');
CALL DO_ROLLBACK();
END;
SET @seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.cd_seq_id"),UNSIGNED));
SET @near_cdp_seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.near_cdp_seq_id"),UNSIGNED));
SET @regi_cdp_seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.regi_cdp_seq_id"),UNSIGNED));
SET @nati_cdp_seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.nati_cdp_seq_id"),UNSIGNED));
SET @inte_cdp_seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.inte_cdp_seq_id"),UNSIGNED));
SET @userid = (SELECT CONVERT(JSON_EXTRACT(json, "$.userid"),SIGNED));
#
IF (@userid < 1) THEN
LEAVE ThisSP;
END IF;
#
CALL START_TRANSACTION(@userid);
#
UPDATE collective_distribution
SET near_cdp_seq_id = @near_cdp_seq_id
,regi_cdp_seq_id = @regi_cdp_seq_id
,nati_cdp_seq_id = @nati_cdp_seq_id
,inte_cdp_seq_id = @inte_cdp_seq_id
WHERE seq_id = @seq_id
AND fperson_contact_seq_id = @userid
;
SET json_return = CONCAT('{"status":"OK"}');
CALL DO_COMMIT();
END$$
DELIMITER ;
DROP procedure IF EXISTS `GetDeliveryProduct`;
DELIMITER $$
USE `azeero`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetDeliveryProduct`(json MEDIUMTEXT,OUT json_return MEDIUMTEXT)
ThisSP:BEGIN
DECLARE delivery_cdp_seq_id INT DEFAULT NULL;
DECLARE exit handler for sqlexception, sqlwarning
BEGIN
GET DIAGNOSTICS CONDITION 1 @error = MESSAGE_TEXT;
SET json_return = CONCAT('{"status":"',@error,' json=',json,'"}');
CALL DO_ROLLBACK();
END;
SET @seq_id = (SELECT CONVERT(JSON_EXTRACT(json, "$.cd_seq_id"),UNSIGNED));
SET @type = (SELECT JSON_UNQUOTE(JSON_EXTRACT(json, "$.type")));
SET @userid = (SELECT CONVERT(JSON_EXTRACT(json, "$.userid"),SIGNED));
#
SELECT IF(@type = 'NEAR',near_cdp_seq_id,
IF(@type = 'REGI',regi_cdp_seq_id,
IF(@type = 'NATI',regi_cdp_seq_id,
IF(@type = 'INTE',inte_cdp_seq_id,-1))))
INTO delivery_cdp_seq_id
FROM collective_distribution
WHERE seq_id = @seq_id
;
SET json_return = CONCAT('{"status":"OK","delivery_cdp_seq_id":',delivery_cdp_seq_id,'}');
END$$
DELIMITER ;