cqpCow 1 år sedan
förälder
incheckning
05a2c6274d
3 ändrade filer med 34 tillägg och 11 borttagningar
  1. 1 0
      app/Model/BasicType.php
  2. 4 1
      app/Service/PurchaseOrderService.php
  3. 29 10
      app/Service/U8ServerService.php

+ 1 - 0
app/Model/BasicType.php

@@ -37,5 +37,6 @@ class BasicType extends UseScopeBaseModel
         24 => '平台类型',
         25 => '业务类型',
         26 => '销售类型',
+        27 => '采购类型',
     ];
 }

+ 4 - 1
app/Service/PurchaseOrderService.php

@@ -37,6 +37,7 @@ class PurchaseOrderService extends Service
         try{
             DB::beginTransaction();
             $material_model = PurchaseOrder::where('order_number',$data['order_number'])->first();
+            $material_model->purchase_type = $data['purchase_type'] ?? 0;
             $material_model->order_number = $data['order_number'];
             $material_model->depart_id = $data['depart_id'] ?? 0;
             $material_model->top_depart_id = $data['top_depart_id'] ?? 0;
@@ -114,6 +115,7 @@ class PurchaseOrderService extends Service
             DB::beginTransaction();
             $material_model = new PurchaseOrder();
             $material_model->order_number = $data['order_number'];
+            $material_model->purchase_type = $data['purchase_type'] ?? 0;
             $material_model->depart_id = $data['depart_id'] ?? 0;
             $material_model->top_depart_id = $data['top_depart_id'] ?? 0;
             $material_model->total = $data['total'] ?? 0;
@@ -184,11 +186,12 @@ class PurchaseOrderService extends Service
 
         $order = PurchaseOrder::where('order_number',$data['order_number'])
             ->where('del_time',0)
-            ->select('id','order_number','depart_id','mark','state','crt_id','order_type','sales_order_id','supplier','purchase_id','total','other_fee','discount_fee','purchase_total','crt_time','storehouse_id','top_depart_id')
+            ->select('id','order_number','depart_id','mark','state','crt_id','order_type','sales_order_id','supplier','purchase_id','total','other_fee','discount_fee','purchase_total','crt_time','storehouse_id','top_depart_id','purchase_type')
             ->first();
         if(empty($order)) return [false, '采购订单不存在或已被删除'];
         $order = $order->toArray();
         $order['file'] = [];
+        $order['purchase_type_title'] = BasicType::where('id',$order['purchase_type'])->value('title') ?? '';
         $order['storehouse_title'] = Storehouse::where('id',$order['storehouse_id'])->value('title');
         $supplier = Supplier::where('id',$order['supplier'])->first();
         $order['supplier_title'] = $supplier->title ?? '';

+ 29 - 10
app/Service/U8ServerService.php

@@ -281,17 +281,27 @@ class U8ServerService extends Service
             foreach ($value['product'] as $son){
                 //子表数据
                 $bodys[] = [
-                    "iappids"=>"", //子表id
                     "cinvcode"=>$son['code'], //存货编码
                     "iquantity"=>$son['number'], //数量
                     "inum"=>$son['number'], //件数
-                    "ipertaxrate"=>$son['ipertaxrate'], //税率
-                    "iunitprice"=>$son['iunitprice'], //原币单价
-                    "itaxprice"=>$son['itaxprice'], //原币含税单价
+                    "itaxrate"=>$son['itaxrate'], //税率
+                    "iunitprice"=>$son['iunitprice'],//原币单价
+                    "itaxunitprice"=>$son['itaxunitprice'], // 原币含税单价
                     "isum"=>$son['isum'], //原币价税合计
                     "imoney"=>$son['imoney'], //原币无税金额
                     "itax"=>$son['itax'],//原币税额
                     "cbmemo"=>$son['mark'], //表体备注
+//                    "iappids"=>"", //子表id
+//                    "cinvcode"=>$son['code'], //存货编码
+//                    "iquantity"=>$son['number'], //数量
+//                    "inum"=>$son['number'], //件数
+//                    "ipertaxrate"=>$son['ipertaxrate'], //税率
+//                    "iunitprice"=>$son['iunitprice'], //原币单价
+//                    "itaxprice"=>$son['itaxprice'], //原币含税单价
+//                    "isum"=>$son['isum'], //原币价税合计
+//                    "imoney"=>$son['imoney'], //原币无税金额
+//                    "itax"=>$son['itax'],//原币税额
+//                    "cbmemo"=>$son['mark'], //表体备注
                     "cdefine22"=>$son['cdefine22'], //手机号码
                     "cdefine23"=>"",
                     "cdefine24"=>"",
@@ -427,6 +437,9 @@ class U8ServerService extends Service
         $emp = Employee::whereIn('id',array_unique(array_column($main,'purchase_id')))
             ->pluck('number','id')
             ->toArray();
+        $code_map = BasicType::whereIn('id',array_unique(array_column($main,'purchase_type')))
+            ->pluck('title','id')
+            ->toArray();
 
         $sub = PurchaseOrderInfo::whereIn('purchase_order_id',$id)
             ->where('del_time',0)
@@ -467,7 +480,7 @@ class U8ServerService extends Service
             $sub_map[$value['purchase_order_id']][] = $value;
         }
         foreach ($main as $key => $value){
-            $main[$key]['cptname'] = $supplier[$value['supplier']] ?? "";
+            $main[$key]['cptname'] = $code_map[$value['purchase_type']] ?? "";
             $main[$key]['cvenname'] = $supplier[$value['supplier']] ?? "";
             $main[$key]['cdepname'] = $depart[$value['depart_id']] ?? "";
             $main[$key]['cpersoncode'] = $emp[$value['purchase_id']] ?? "";
@@ -500,7 +513,7 @@ class U8ServerService extends Service
             ->pluck('title','id')
             ->toArray();
         $emp = Employee::whereIn('id',array_unique(array_column($main,'crt_id')))
-            ->pluck('number','id')
+            ->pluck('emp_name','id')
             ->toArray();
         $see = SeeRange::where('del_time',0)
             ->whereIn('data_id',array_column($main,'id'))
@@ -513,19 +526,25 @@ class U8ServerService extends Service
             $product_tmp = $product_map[$value['product_id']] ?? [];
             $main_tmp = $main_map[$value['sales_order_id']] ?? [];
 
+//            "itaxrate"=>$son['itaxrate'], //税率
+//            "iunitprice"=>$son['iunitprice'],//原币单价
+//            "itaxunitprice"=>$son['itaxunitprice'], // 原币含税单价
+//            "isum"=>$son['isum'], //原币价税合计
+//            "imoney"=>$son['imoney'], //原币无税金额
+//            "itax"=>$son['itax'],//原币税额
             //计算金额
             if($value['rate'] > 0){
-                $value['ipertaxrate'] = $value['rate'];
+                $value['itaxrate'] = $value['rate'];
                 $rate = round($value['rate'] / 100,2);
                 $value['iunitprice'] = round($value['price'] / (1 + $rate),2);
-                $value['itaxprice'] = $value['price'];
+                $value['itaxunitprice'] = $value['price'];
                 $value['isum'] = round($value['price'] * $value['number'],2);
                 $value['imoney'] = round($value['iunitprice'] * $value['number'],2);
                 $value['itax'] = round($value['isum'] - $value['imoney'],2);
             }else{
-                $value['ipertaxrate'] = 0;
+                $value['itaxrate'] = 0;
                 $value['iunitprice'] = $value['price'];
-                $value['itaxprice'] = $value['price'];
+                $value['itaxunitprice'] = $value['price'];
                 $value['isum'] = $value['price'] * $value['number'];
                 $value['imoney'] = $value['isum'];
                 $value['itax'] = 0;