2021-01-11 22:56:04 $arrivalTime = substr($arrivalTime, 0, 4) . "-" . substr($arrivalTime, 4, 2) . "-" . substr($arrivalTime, 6, 2) . " " . substr($arrivalTime, 8, 2) . ":" . substr($arrivalTime, 10, 2) . ":" . substr($arrivalTime, 12, 2); endif; // Get data for log history $trSortMaxVal = 0; if ($jbId != "") : $hqId = getFieldValueFromId("job", "jb_id", $jbId, "hq_id"); $jbStatus = getFieldValueFromId("job", "jb_id", $jbId, "jb_status"); $trStatusOfPickUpStation = getFieldValueFromClause("tour", "tr_status", "jb_id = '" . $jbId . "' AND tr_sort = '1'"); $trSortMaxVal = getMaxOfField("tour", "tr_sort", "jb_id = '" . $jbId . "'"); $trStatusOfTrSortMaxVal = getFieldValueFromClause("tour", "tr_status", "jb_id = '" . $jbId . "' AND tr_sort = '" . $trSortMaxVal . "'"); endif; if ($crId != "") : $crGpsLong = getFieldValueFromId("courier", "cr_id", $crId, "cr_gps_long"); $crGpsLat = getFieldValueFromId("courier", "cr_id", $crId, "cr_gps_lat"); endif; /* Folgendermaßen kann jetzt der Status eines Auftrags gesetzt werden. Als “status” kann Folgendes übergeben werden: PICKEDUP, NOTPICKEDUP, DELIVERED, NOTDELIVERED. Es wird je nachdem, ob es PICKEUP oder DELIVERY der benötigte Checkin automatisch vorher durchgeführt. orderReferenceId => Pflicht (“938a928824b34a768223e968e1d26ea4”) status => Pflicht (PICKEDUP, NOTPICKEDUP, DELIVERED, NOTDELIVERED) updateTime => optional (UTC Beispiel: 2018-02-08T09:30:00Z) reasonCd => optional (“REASON”) $orderStatusData = array( "orderReferenceId" => “938a928824b34a768223e968e1d26ea4”, "status" => "DELIVERED", "updateTime" => "2021-02-08 9:30:00", "reasonText" => "REASON" "reasonCd" => "CODE" ); lnUpdateOrderStatus($orderStatusData); */ if ($stateEvent == "0") : // **** ACCEPT **** $resultCallOrderState = true; // Request had been sent!!!! writeToFile($logFile, "ACCEPTED: " . "[jbId=" . $jbId . "][orderReferenceId=" . $orderReferenceId . "]"); elseif ($stateEvent == "1") : // **** CHECK-IN PICKUP **** // $orderPickedUp = array($orderReferenceId, $arrivalTime); // lnUpdateOrderStatus($orderPickedUp); // **** PICKEDUP **** // Check for order is picked $resultCallOrderState = true; $pickedState = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'auto_response' AND gdc_obj_id = '" . $jbId . "'"); if ($pickedState < "2") : $resultCallOrderState = false; $trFinishtime = getFieldValueFromId("tour","tr_id",$trId,"tr_finishtime"); $crUsrId = ""; if ($crId != "" && is_numeric($crId)) : $crUsrId = getFieldValueFromId("courier","cr_id",$crId,"usr_id"); endif; // **** PICKEDUP **** // Get event state from GDC $eventCode = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'tr' AND gdc_gen_fieldname = 'del_code' AND gdc_obj_id = '" . $trId . "'"); $eventRemark = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'tr' AND gdc_gen_fieldname = 'del_rem' AND gdc_obj_id = '" . $trId . "'"); // Init delivery state $pickupState = "PICKEDUP"; $eventText = ""; if ($eventCode != "" && $eventCode != "1") : if ($eventRemark != "") : $eventText = $eventRemark; endif; $pickupState = "NOTPICKEDUP"; endif; $orderStatusData = array( "orderReferenceId" => $orderReferenceId, "status" => $pickupState, "updateTime" => $trFinishtime, "reasonText" => $eventText, "reasonCd" => $eventCode, "recipientName" => "", "crID" => $crId, "crUsrID" => $crUsrId, "vehicle" => $gdc_03, "crGpsLong" => $crGpsLong, "crGpsLat" => $crGpsLat ); // Write logdata into log database $gdcJbLogWritten = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'db_log' AND gdc_obj_id = '" . $jbId . "'"); if ($gdcJbLogWritten == "" && $trStatusOfPickUpStation == "1") : writeToFile($logFile, "PICKEDUP (Begin): " . "[currentTime=" . getDateTime("0") . "][jbId=" . $jbId . "][orderReferenceId=" . $orderReferenceId . "][trFinishtime=" . $trFinishtime . "]"); // $resultCallOrderState = lnUpdateOrderStatus($orderReferenceId, "PICKEDUP", $trFinishtime, "", ""); $resultCallOrderState = lnUpdateOrderStatus($orderStatusData); writeToFile($logFile, "PICKEDUP (End): " . "[currentTime=" . getDateTime("0") . "][jbId=" . $jbId . "][orderReferenceId=" . $orderReferenceId . "][trFinishtime=" . $trFinishtime . "][resultCallOrderState=" . $resultCallOrderState . "]"); writeToLogDB("172",$hqId,$jbId,"",$crId,$crSid,"","LONG=" . $crGpsLong . "|LAT=" . $crGpsLat . "|INFO_2=" . $gdc_03 . "|RES=" . $resultCallOrderState); insertStmt("genericdatacontainer", array("gdc_obj_type", "jb", "gdc_obj_id", $jbId, "gdc_gen_fieldname", "db_log", "gdc_content", "172", "gdc_context", "")); endif; endif; elseif ($stateEvent == "2") : // **** CHECK-IN DELIVERY **** // $orderDelivered = array($orderReferenceId, $arrivalTime); // lnUpdateOrderStatus($orderDelivered); // Check for order is picked // $resultCallOrderState = false; // $pickedState = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'auto_response' AND gdc_obj_id = '" . $jbId . "'"); // if ($pickedState >= "2") : // **** DELIVERED **** // Get event state from GDC $eventCode = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'tr' AND gdc_gen_fieldname = 'del_code' AND gdc_obj_id = '" . $trId . "'"); $eventRemark = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'tr' AND gdc_gen_fieldname = 'del_rem' AND gdc_obj_id = '" . $trId . "'"); // Init delivery state $deliveryState = "DELIVERED"; $eventText = ""; if ($eventCode != "" && $eventCode != "1") : if ($eventRemark != "") : $eventText = $eventRemark; endif; $deliveryState = "NOTDELIVERED"; endif; $trFinishtime = getFieldValueFromId("tour","tr_id",$trId,"tr_finishtime"); $tr_signname = getFieldValueFromId("tour","tr_id",$trId,"tr_signname"); $crUsrId = ""; if ($crId != "" && is_numeric($crId)) : $crUsrId = getFieldValueFromId("courier","cr_id",$crId,"usr_id"); endif; $orderStatusData = array( "orderReferenceId" => $orderReferenceId, "status" => $deliveryState, "updateTime" => $trFinishtime, "reasonText" => $eventText, "reasonCd" => $eventCode, "recipientName" => $tr_signname, "crID" => $crId, "crUsrID" => $crUsrId, "vehicle" => $gdc_03, "crGpsLong" => $crGpsLong, "crGpsLat" => $crGpsLat ); // Write logdata into log database $gdcJbLogWritten = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'db_log' AND gdc_obj_id = '" . $jbId . "'"); if ($gdcJbLogWritten == "172" && ($jbStatus == "2" || $trStatusOfTrSortMaxVal == "1")) : writeToFile($logFile, $deliveryState . " (Begin): " . "[currentTime=" . getDateTime("0") . "][jbId=" . $jbId . "][orderReferenceId=" . $orderReferenceId . "][trFinishtime=" . $trFinishtime . "][deliveryState=" . $deliveryState . "]"); // $resultCallOrderState = lnUpdateOrderStatus($orderReferenceId, $deliveryState, $trFinishtime, $eventText, $eventCode); $resultCallOrderState = lnUpdateOrderStatus($orderStatusData); writeToFile($logFile, $deliveryState . " (End): " . "[currentTime=" . getDateTime("0") . "][jbId=" . $jbId . "][orderReferenceId=" . $orderReferenceId . "][trFinishtime=" . $trFinishtime . "][deliveryState=" . $deliveryState . "][resultCallOrderState=" . $resultCallOrderState . "]"); writeToLogDB("174",$hqId,$jbId,"",$crId,$crSid,"","LONG=" . $crGpsLong . "|LAT=" . $crGpsLat . "|INFO_2=" . $gdc_03 . "|RES=" . $resultCallOrderState); updateStmt("genericdatacontainer","gdc_obj_type","jb",array("gdc_content", "174", "gdc_context", ""),"gdc_obj_id = '" . $jbId . "' AND gdc_gen_fieldname = 'db_log'"); endif; // endif; endif; endif; $requestConfigArray = array(); if ($resultCallOrderState) : $requestConfigArray["SEND_STATE"] = "OK:0:"; else : $requestConfigArray["SEND_STATE"] = "ERR:no:msg"; endif; return $requestConfigArray; } /* --------------------------------------------------------------- LIVE-SERVER cs_id cs_eid emp_id usr_id 123456 STH911739 123456 123456 123456 STH911740 123456 123456 123456 STF910972 123456 123456 123456 STS920307 123456 123456 123456 STS920308 123456 123456 123456 STS920315 123456 123456 ----------------------------------------------------------------- TEST-SERVER cs_id cs_eid emp_id usr_id 123456 STH911739 123456 123456 123456 STH911740 123456 123456 123456 STF910972 123456 123456 123456 STS920307 123456 123456 123456 STS920308 123456 123456 123456 STS920315 123456 123456 STF910972 STF910972 F92184 0e143c3bef0f7759c230664c4dc905f8e4da3b7fbbce2345d7772b0674a318d51dde48a31c101b2feb6c5e598654d88d3f694af5242fcf7dffe7129497871797 STH911739 STH911739 H85450 5067ed417ec5779207a81178c50017b4a87ff679a2f3e71d9181a67b7542122c74e6497fd22dd8eafa58e21abe4b371bf72642f12aa2d1a323334db941c0f145 STH911740 STH911740 H63474 fe709c654eac84d5239d1a12a4f71877a87ff679a2f3e71d9181a67b7542122c618b8800517a6c10f8f27a7c48166ea392433abdf2a5a3badf45c990fc732aff STS920307 STS920307 S68031 dc363817786ff182b7bc59565d8645236512bd43d9caa6e02c990b0a82652dca2ab855e70e04711a44aea6555af30f10ab1a2d9401e4ae7fe5acff76e5f10420 STS920308 STS920308 S27196 f096d3da9f8797e053edd854335413ab6512bd43d9caa6e02c990b0a82652dcaf5bea4fc2cbc9766f98b8d8fd28d597c3485aa0e07dfb703721627b6edf1759e STS920315 STS920315 S36338 0a30a980e3540e51eb25423caa79f0cb6512bd43d9caa6e02c990b0a82652dcae0442a7d0949964ee2de23a30ff2c1c3cbd682237d1c378be6413427c69ffba6 */ ?>