cqp 1 mese fa
parent
commit
d3d2ae42bb

+ 23 - 23
app/Http/Middleware/YongYou.php

@@ -36,29 +36,29 @@ class YongYou
      */
     public function terminate(Request $request, Response $response)
     {
-        $time = time();
-        $userData = $request->userData->toArray();
-        $return = json_decode($response->content(),true);
-
-        if($return['code'] == 200){
-            if(! empty($return['data']['package_data'])){
-                $package_data = $return['data']['package_data'];
-                if(! empty($package_data)) {
-                    $service = new FinishedOrderService();
-                    list($status,$msg) = $service->U8Rdrecord10Save($package_data,$userData);
-                    if(! $status) $this->recordErrorTable($msg,$userData,$package_data,$time,self::type_one);
-                }
-            }
-
-            if(! empty($return['data']['send_data'])){
-                $package_data = $return['data']['send_data'];
-                if(! empty($package_data)) {
-                    $service = new FinishedOrderService();
-                    list($status,$msg) = $service->U8Rdrecord32Save($package_data,$userData);
-                    if(! $status) $this->recordErrorTable($msg,$userData,$package_data,$time,self::type_one);
-                }
-            }
-        }
+//        $time = time();
+//        $userData = $request->userData->toArray();
+//        $return = json_decode($response->content(),true);
+//
+//        if($return['code'] == 200){
+//            if(! empty($return['data']['package_data'])){
+//                $package_data = $return['data']['package_data'];
+//                if(! empty($package_data)) {
+//                    $service = new FinishedOrderService();
+//                    list($status,$msg) = $service->U8Rdrecord10Save($package_data,$userData);
+//                    if(! $status) $this->recordErrorTable($msg,$userData,$package_data,$time,self::type_one);
+//                }
+//            }
+//
+//            if(! empty($return['data']['send_data'])){
+//                $package_data = $return['data']['send_data'];
+//                if(! empty($package_data)) {
+//                    $service = new FinishedOrderService();
+//                    list($status,$msg) = $service->U8Rdrecord32Save($package_data,$userData);
+//                    if(! $status) $this->recordErrorTable($msg,$userData,$package_data,$time,self::type_one);
+//                }
+//            }
+//        }
     }
 
     private function recordErrorTable($msg,$user,$data,$time,$type){

+ 8 - 5
app/Service/Box/BoxService.php

@@ -1082,6 +1082,7 @@ class BoxService extends Service
     public function saveOutOrder($data,$user){
         list($status,$msg) = $this->saveOutOrderRule($data,$user);
         if(! $status) return [false, $msg];
+        $out_order_no = $msg;
 
         $limit_key = "saveOutOrder" . $user['id'];
         list($status,$msg) = $this->limitingSendRequestBackgNeed($limit_key);
@@ -1134,7 +1135,7 @@ class BoxService extends Service
 
             //用友 ------发货出库
             $service = new FinishedOrderService();
-            list($status,$msg) = $service->U8Rdrecord32Save($yongyou_data,$user);
+            list($status,$msg) = $service->U8Rdrecord32Save($yongyou_data,$out_order_no,$user);
             if(! $status) {
                 $this->dellimitingSendRequestBackgNeed($limit_key);
                 return [false, $msg];
@@ -1177,10 +1178,12 @@ class BoxService extends Service
                 $box_arr[] = $val;
             }
         }
-        $box_map = Box::where('del_time',0)
+        $box = Box::where('del_time',0)
             ->whereIn('order_no',$box_arr)
-            ->pluck('shipment_order_no', "order_no")
-            ->toArray();
+            ->select('shipment_order_no', "order_no","out_order_no")
+            ->get()->toArray();
+        $box_map = array_column($box,'shipment_order_no','order_no');
+        $out_order_no = array_unique(array_column($box,'out_order_no'));
         foreach ($box_arr as $value){
             $tmp = $box_map[$value] ?? "";
             if($tmp != "") return [false, "包装单:" . $value . "已在发货单(" . $tmp .")中发出!"];
@@ -1219,7 +1222,7 @@ class BoxService extends Service
             }
         }
 
-        return [true, ''];
+        return [true, $out_order_no];
     }
 
     /**

+ 2 - 2
app/Service/FinishedOrderService.php

@@ -670,7 +670,7 @@ class FinishedOrderService extends Service
     }
 
     //销售发货出库
-    public function U8Rdrecord32Save($send_data, $user){
+    public function U8Rdrecord32Save($send_data, $out_order_no,$user){
         if(empty($send_data)) return [false, '销售发货出库为空,请确认!'];
 
         try{
@@ -678,7 +678,7 @@ class FinishedOrderService extends Service
             $sqlServerModel = new FyySqlServerService($user);
             if($sqlServerModel->error) return [false, $sqlServerModel->error];
             $create_name = $sqlServerModel->getYongyouName();
-            list($status,$msg) = $sqlServerModel->U8Rdrecord32Save($send_data,$create_name);
+            list($status,$msg) = $sqlServerModel->U8Rdrecord32Save($send_data,$out_order_no,$create_name);
             if(! $status) return [false, $msg];
             //用友数据插入------------
 

+ 38 - 30
app/Service/FyySqlServerService.php

@@ -333,8 +333,10 @@ class FyySqlServerService extends Service
         }
 
         //数据
+        $out_order_no = "";
         $bodys = [];
         foreach ($data_detail as $value){
+            if(empty($out_order_no)) $out_order_no = $value['out_order_no'] ?? "";
             $key = $value['ext_1'] . $value['ext_3'];
             if(! isset($bodys[$key])){
                 $bodys[$key] = [
@@ -386,6 +388,7 @@ class FyySqlServerService extends Service
                 "crdcode" => "102", //生产入库
                 "cmemo" => $cmemo,
                 "cdefine10" => $data['ext_1'] ?? "", //客户名称
+                "cdefine11" => $out_order_no, //批次
                 "bodys" => $bodys
             ]
         ];
@@ -401,7 +404,7 @@ class FyySqlServerService extends Service
     }
 
     //销售出库单保存接口给以及审核
-    public function U8Rdrecord32Save($data,$create_name, $bredvouch = 0)
+    public function U8Rdrecord32Save($data,$out_order_no,$create_name, $bredvouch = 0)
     {
         if (!empty($this->error)) return [false, $this->error];
 
@@ -410,8 +413,9 @@ class FyySqlServerService extends Service
         } else {
             $cmemo = '来源:恒成塑业发货出库操作';
         }
+        $bodys_tmp = [];
+        $customer_code = "";
         foreach ($data as $value) {
-            $bodys_tmp = [];
             foreach ($value['product'] as $v){
                 $bodys_tmp[] = [
                     "idlsid" => "",
@@ -432,36 +436,40 @@ class FyySqlServerService extends Service
                 ];
             }
             $cmemo = $cmemo . '(发货单信息:' . $value['cdlcode_string'] . ')';
-            $post_tmp = [
-                "password" => "cloud@123456",
-                "entity" => "U8Rdrecord32Save",
-                "login" => [
-                    "sAccID" => $this->sAccID,
-                    "sDate" => date("Y-m-d"),
-                    "sServer" => '127.0.0.1',
-                    "sUserID" => $this->sUserID,
-                    "sSerial" => "",
-                    "sPassword" => $this->sPassword
-                ],
-                "data" => [
-                    "ccode" => '',
-                    "ddate" => date("Y-m-d"),
-                    "cmaker" => $create_name,
-                    "dnmaketime" => date("Y-m-d"),
-                    "IsExamine" => true,
-                    "chandler" => $create_name,
-                    "dnverifytime" => date("Y-m-d"),
-                    "bredvouch" => $bredvouch,
-                    "cdepcode" => "03",
-                    "ccuscode" => $value['customer_code'],
-                    "crdcode" => '202',
-                    "cmemo" => $cmemo,
-                    "cwhcode" => "002",
-                    "bodys" => $bodys_tmp,
-                ]
-            ];
+
+            if(empty($customer_code)) $customer_code = $value['customer_code'];
         }
 
+        $post_tmp = [
+            "password" => "cloud@123456",
+            "entity" => "U8Rdrecord32Save",
+            "login" => [
+                "sAccID" => $this->sAccID,
+                "sDate" => date("Y-m-d"),
+                "sServer" => '127.0.0.1',
+                "sUserID" => $this->sUserID,
+                "sSerial" => "",
+                "sPassword" => $this->sPassword
+            ],
+            "data" => [
+                "ccode" => '',
+                "ddate" => date("Y-m-d"),
+                "cmaker" => $create_name,
+                "dnmaketime" => date("Y-m-d"),
+                "IsExamine" => true,
+                "chandler" => $create_name,
+                "dnverifytime" => date("Y-m-d"),
+                "bredvouch" => $bredvouch,
+                "cdepcode" => "03",
+                "ccuscode" => $customer_code,
+                "crdcode" => '202',
+                "cmemo" => $cmemo,
+                "cwhcode" => "002",
+                "cdefine11" => $out_order_no, //批次
+                "bodys" => $bodys_tmp,
+            ]
+        ];
+
         Log::channel('apiLog')->info('销售出库单:源数据', ["param" => $post_tmp]);
         $return = $this->post_helper($this->url, json_encode($post_tmp), ['Content-Type:application/json'], 70);