cqp 3 недель назад
Родитель
Сommit
be2ff67f8c
1 измененных файлов с 136 добавлено и 42 удалено
  1. 136 42
      app/Service/TestService.php

+ 136 - 42
app/Service/TestService.php

@@ -487,54 +487,148 @@ class TestService extends Service
         if($result['code'] != 0) return [false, $result['msg']];
         if(empty($result['data'])) return [true, []];
 
-        $return = [];
         $r_data = $result['data'];
-        foreach ($r_data as $value){
-            list($status, $detail) = $this->getSalesDetail($value, $msg);
-            if(! $status) return [false, $detail];
-            $return_detail = [];
-            $total_qty = $money = 0;
-            foreach ($detail as $d_value){
-                $return_detail[] = [
-                    'item_no' => $d_value['irowno'],
-                    'material_code' => $d_value['cinvcode'],
-                    'brand_name' => $d_value['cdefine28'] ?? '',
-                    'safe' => $d_value['cdefine29'] ?? '',
-                    'decor' => $d_value['cdefine30'] ?? '',
-                    'craft_type_code' => $d_value['cdefine31'] ?? '',
-                    'decor_b' => $d_value['cdefine32'] ?? '',
-                    'craft_type_code_b' => $d_value['cdefine33'] ?? '',
-                    'unit' => $d_value['cinvm_unit'],
-                    'price' => $d_value['itaxunitprice'] ?? 0,
-                    'not_tax_price' => $d_value['itaxunitprice'] ?? 0,
-                    'tax_price' => $d_value['itaxunitprice'] ?? 0,
-                    'qty' => $d_value['iquantity'],
-                    'money' => $d_value['isum'] ?? 0,
-                    'tax_amount' => $d_value['isum'] ?? 0,
-                    'total_tax_amount' => $d_value['isum'] ?? 0,
-                    'tax_rate' => $d_value['itaxrate'] ?? 0,
-                    'expected_delivery_date' => date('Y-m-d',strtotime($d_value['dpredate'])),
-                    'remark' => $d_value['cmemo'] ?? '',
+        $return = $this->returnOrders($common_array['site'], $r_data, $msg);
+
+        return [true, $return];
+    }
+
+    private function returnOrders($site, $r_data, $msg){
+        $return = [];
+        if($site == 'LFMY'){
+            foreach ($r_data as $value){
+                list($status, $detail) = $this->getSalesDetail($value, $msg);
+                if(! $status) return [false, $detail];
+                $return_detail = [];
+                $total_qty = $money = 0;
+                foreach ($detail as $d_value){
+                    $return_detail[] = [
+                        'item_no' => $d_value['irowno'],
+                        'material_code' => $d_value['cinvcode'],
+                        'brand_name' => $d_value['cdefine28'] ?? '',
+                        'safe' => $d_value['cdefine29'] ?? '',
+                        'decor' => $d_value['cdefine30'] ?? '',
+                        'craft_type_code' => $d_value['cdefine31'] ?? '',
+                        'decor_b' => $d_value['cdefine32'] ?? '',
+                        'craft_type_code_b' => $d_value['cdefine33'] ?? '',
+                        'unit' => $d_value['cinvm_unit'],
+                        'price' => $d_value['itaxunitprice'] ?? 0,
+                        'not_tax_price' => $d_value['itaxunitprice'] ?? 0,
+                        'tax_price' => $d_value['itaxunitprice'] ?? 0,
+                        'qty' => $d_value['iquantity'],
+                        'money' => $d_value['isum'] ?? 0,
+                        'tax_amount' => $d_value['isum'] ?? 0,
+                        'total_tax_amount' => $d_value['isum'] ?? 0,
+                        'tax_rate' => $d_value['itaxrate'] ?? 0,
+                        'expected_delivery_date' => date('Y-m-d',strtotime($d_value['dpredate'])),
+                        'remark' => $d_value['cmemo'] ?? '',
+                    ];
+                    $t = $d_value['isum'] ?? 0;
+                    $total_qty = bcadd($total_qty,$d_value['iquantity'],3);
+                    $money = bcadd($money,$t,3);
+                }
+
+                $return[] = [
+                    'no' => $value['csocode'],
+                    'order_date' => date("Y-m-d",strtotime($value['ddate'])),
+                    'customer' => $value['ccuscode'] ?? '',
+                    'salesman' => $value['cpersoncode'] ?? '',
+                    'sale_department' => $value['cdepcode'] ?? '',
+                    'total_qty' => $total_qty,
+                    'total_money' => $money,
+                    'remark' => $value['cmemo'] ?? '',
+                    'detail' => $return_detail,
+                ];
+            }
+        }elseif ($site == 'HCLT'){
+            foreach ($r_data as $value){
+                list($status, $detail) = $this->getSalesDetail($value, $msg);
+                if(! $status) return [false, $detail];
+                $return_detail = [];
+                $total_qty = $money = 0;
+                foreach ($detail as $d_value){
+                    $return_detail[] = [
+                        'material_code' => $d_value['cinvcode'] ?? '',
+                        'specs' => $d_value['cinvstd'] ?? '',
+                        'unit' => $d_value['cinvm_unit'] ?? '',
+                        'qty' => $d_value['iquantity'],
+                        'not_tax_price' => $d_value['iunitprice'] ?? 0,
+                        'tax_price' => $d_value['itaxunitprice'] ?? 0,
+                        'not_tax_amount' => $d_value['imoney'] ?? 0,
+                        'tax_amount' => $d_value['itax'] ?? 0,
+                        'total_tax_amount' => $d_value['isum'] ?? 0,
+                        'tax_rate' => $d_value['itaxrate'] ?? 0,
+                        'expected_delivery_date' => date('Y-m-d',strtotime($d_value['dpredate'])),
+                        'customer_brand' => $d_value['cfree1'] ?? '',
+                        'color' => $d_value['cfree2'] ?? '',
+                        'plan_no' => $d_value['cdefine22'] ?? '',
+                        'contract_no' => $d_value['cdefine23'] ?? '',
+                        'technical_require' => $d_value['cdefine28'] ?? '',
+                        'quality_require' => $d_value['cdefine29'] ?? '',
+                        'package_require' => $d_value['cdefine30'] ?? '',
+                    ];
+                    $t = $d_value['isum'] ?? 0;
+                    $total_qty = bcadd($total_qty,$d_value['iquantity'],3);
+                    $money = bcadd($money,$t,3);
+                }
+
+                $return[] = [
+                    'no' => $value['csocode'],
+                    'order_date' => date("Y-m-d",strtotime($value['ddate'])),
+                    'customer' => $value['ccuscode'] ?? '',
+                    'salesman' => $value['cpersoncode'] ?? '',
+                    'sale_department' => $value['cdepcode'] ?? '',
+                    'total_qty' => $total_qty,
+                    'total_money' => $money,
+                    'remark' => $value['cmemo'] ?? '',
+                    'detail' => $return_detail,
                 ];
-                $t = $d_value['isum'] ?? 0;
-                $total_qty = bcadd($total_qty,$d_value['iquantity'],3);
-                $money = bcadd($money,$t,3);
             }
+        }elseif ($site == 'JLWM'){
+            foreach ($r_data as $value){
+                list($status, $detail) = $this->getSalesDetail($value, $msg);
+                if(! $status) return [false, $detail];
+                $return_detail = [];
+                $total_qty = $money = 0;
+                foreach ($detail as $d_value){
+                    $return_detail[] = [
+                        'material_code' => $d_value['cinvcode'] ?? '',
+                        'specs' => $d_value['cinvstd'] ?? '',
+                        'unit' => $d_value['cinvm_unit'] ?? '',
+                        'qty' => $d_value['iquantity'] ?? '',
+                        'not_tax_price' => $d_value['iunitprice'] ?? 0,
+                        'tax_price' => $d_value['itaxunitprice'] ?? 0,
+                        'not_tax_amount' => $d_value['imoney'] ?? 0,
+                        'tax_amount' => $d_value['itax'] ?? 0,
+                        'total_tax_amount' => $d_value['isum'] ?? 0,
+                        'tax_rate' => $d_value['itaxrate'] ?? 0,
+                        'expected_delivery_date' => date('Y-m-d',strtotime($d_value['dpredate'])),
+                        'customer_model' => $d_value['cfree4'] ?? '',
+                        'length' => $d_value['cfree1'] ?? '',
+                        'width' => $d_value['cfree2'] ?? '',
+                        'thickness' => $d_value['cfree3'] ?? '',
+                        'color_or_model' => $d_value['cdefine28'] ?? '',
+                    ];
+                    $t = $d_value['isum'] ?? 0;
+                    $total_qty = bcadd($total_qty,$d_value['iquantity'],3);
+                    $money = bcadd($money,$t,3);
+                }
 
-            $return[] = [
-                'no' => $value['csocode'],
-                'order_date' => date("Y-m-d",strtotime($value['ddate'])),
-                'customer' => $value['ccuscode'] ?? '',
-                'salesman' => $value['cpersoncode'] ?? '',
-                'sale_department' => $value['cdepcode'] ?? '',
-                'total_qty' => $total_qty,
-                'total_money' => $money,
-                'remark' => $value['cmemo'] ?? '',
-                'detail' => $return_detail,
-            ];
+                $return[] = [
+                    'no' => $value['csocode'],
+                    'order_date' => date("Y-m-d",strtotime($value['ddate'])),
+                    'customer' => $value['ccuscode'] ?? '',
+                    'salesman' => $value['cpersoncode'] ?? '',
+                    'sale_department' => $value['cdepcode'] ?? '',
+                    'total_qty' => $total_qty,
+                    'total_money' => $money,
+                    'remark' => $value['cmemo'] ?? '',
+                    'detail' => $return_detail,
+                ];
+            }
         }
 
-        return [true, $return];
+        return $return;
     }
 
     private function SetU8($common_array){