Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A azeero.group
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 40
    • Issues 40
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Oliver
  • azeero.group
  • Issues
  • #298

Closed
Open
Created Apr 01, 2020 by Oliver@ohonigMaintainer

Lieferung Distanz

Die Problemstellung ist folgende, nicht alle User sollen z.B. nahe Zustellung auswählen dürfen wenn sie zu weit vom Verteilpunkt entfernt sind. D.h. die Funktion GetDeliveryProduct kann auch mit SET json_return = CONCAT('{"status":"OK","delivery_cdp_seq_id":',delivery_cdp_seq_id,'}'); ein anderes Produkt - wenn vorhanden - als weiter entferntes Zustellprodukt liefern. Wir müssen hier aber die Kommunikation zum Besteller verbessern und ihm anzeigen dass eine nahe Zustellung hier nicht möglich ist, kann ich auch als Parameter (wie hättest es gerne?) zurückliefern


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('{"error":"',@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',fdelivery_near_cdp_seq_id,
 IF(@type = 'REGI',fdelivery_regi_cdp_seq_id,
 IF(@type = 'NATI',fdelivery_nati_cdp_seq_id,
 IF(@type = 'INTE',fdelivery_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 ;
Assignee
Assign to
Time tracking