qiuenguang 9 місяців тому
батько
коміт
81303cd3d3
1 змінених файлів з 23 додано та 17 видалено
  1. 23 17
      application/api/controller/WorkOrder.php

+ 23 - 17
application/api/controller/WorkOrder.php

@@ -370,6 +370,7 @@ class WorkOrder extends Api
         if (!empty($param['关联订单']) && !empty($param['关联面料ID'])){
             //关联订单编号
             $OrderId = $param['关联订单'];
+            $OrderNumber = explode(',',$OrderId);
             //关联面料ID
             $RelevanceId = $param['关联面料ID'];
             //查询订单BOM资料,面料资料
@@ -380,47 +381,52 @@ class WorkOrder extends Api
                 $Fabric = \db('工单_面料资料')
                     ->where('UNIQID',$item)
                     ->where('Mod_rq',null)
-                    ->field('BOM_颜色,BOM_物料编码,BOM_物料名称,BOM_投料单位,BOM_计划门幅,BOM_定额门幅')
+                    ->field('BOM_工单编号,BOM_颜色,BOM_物料编码,BOM_物料名称,BOM_投料单位,BOM_计划门幅,BOM_定额门幅')
                     ->find();
-                $Fabric['BOM_工单编号'] = $param['订单编号'];
                 $Fabric['Sys_ID'] = $param['Sys_id'];
                 $Fabric['Sys_rq'] = date('Y-m-d H:i:s',time());
-                $Fabric['BOM_desc'] = $param['备注'];
+                $Fabric['BOM_desc'] = $param['要求'];
                 array_push($FabricList,$Fabric);
                 //关联订单
                 $AssociatedNumber = \db('工单关联表')
-                    ->where('订单编号',$OrderId)
+                    ->where('订单编号',$Fabric['BOM_工单编号'])
                     ->where('颜色',$Fabric['BOM_颜色'])
-                    ->where('物料编号',$Fabric['BOM_物料编'])
+                    ->where('物料编号',$Fabric['BOM_物料编'])
                     ->value('关联编号');
                 $materiel = [
-                    '关联编号' => $AssociatedNumber['关联编号'],
+                    '关联编号' => $AssociatedNumber,
                     '订单编号' => $Fabric['BOM_工单编号'],
                     '生产款号' => $param['生产款号'],
                     '颜色' => $Fabric['BOM_颜色'],
-                    '物料编号' => $Fabric['BOM_物料编'],
-                    '物料名称' => $Fabric['BOM_物料编号'],
-                    '备注' => $param['备注'],
+                    '物料编号' => $Fabric['BOM_物料编'],
+                    '物料名称' => $Fabric['BOM_物料名称'],
+                    '备注' => $param['要求'],
                     'Sys_id' => $param['Sys_id'],
                     'Sys_rq' => date('Y-m-d H:i:s',time()),
                 ];
                 array_push($MaterielList,$materiel);
             }
-            foreach ($materiel as $item){
+            foreach ($MaterielList as $item){
                 //工单BOM信息
                 $Bom = \db('工单_bom资料')
-                    ->where('BOM_工单编号',$OrderId)
-                    ->where('BOM_物料名称',$item)
+                    ->where('BOM_工单编号',$item['订单编号'])
+                    ->where('BOM_物料名称',$item['物料名称'])
                     ->where('Mod_rq',null)
                     ->find();
-                unset($Bom['UNQIID']);
+                unset($Bom['UNIQID']);
                 unset($Bom['Mod_rq']);
-                $Bom['BOM_工单编号'] = $param['订单编号'];
                 $Bom['Sys_ID'] = $param['Sys_id'];
                 $Bom['Sys_rq'] = date('Y-m-d H:i:s',time());
-                array_push($BomList,$Bom);
+                if (empty($BomList)){
+                    array_push($BomList,$Bom);
+                }else{
+                    foreach ($BomList as $value){
+                        if ($value['BOM_工单编号'] !== $Bom['BOM_工单编号'] && $value['BOM_物料名称'] !== $Bom['BOM_物料名称']){
+                            array_push($BomList,$Bom);
+                        }
+                    }
+                }
             }
-
             //插入数据
             Db::startTrans();
             try {
@@ -2016,7 +2022,7 @@ class WorkOrder extends Api
 
         // 分页参数,防止未传递时出错
         $page = isset($param['page']) ? (int)$param['page'] : 1;
-        $limit = isset($param['limit']) ? (int)$param['limit'] : 50;  // 默认每页20条数据
+        $limit = isset($param['limit']) ? (int)$param['limit'] : 50;  // 默认每页50条数据
 
         // 获取数据
         $data = \db('工单_面料资料')