Browse Source

引用产品资料

qiuenguang 1 year ago
parent
commit
46510ce051
1 changed files with 36 additions and 14 deletions
  1. 36 14
      application/api/controller/WorkOrder.php

+ 36 - 14
application/api/controller/WorkOrder.php

@@ -424,11 +424,14 @@ class WorkOrder extends Api
             ->where('Uniqid',$param['printID'])
             ->value('yj_Yjno');
         if (!empty($printCode)){
-            //修改工单工艺计划产量
-            $result = $this->PlannedProcessYield($param['gdbh'],$printCode,0,$param['jhtl']);
-            if ($result === false){
-                $this->success('分配工序计划产量失败');
+            if ((int)$param['jhtl'] >0){
+                //修改工单工艺计划产量
+                $result = $this->PlannedProcessYield($param['gdbh'],$printCode,0,$param['jhtl']);
+                if ($result === false){
+                    $this->success('分配工序计划产量失败');
+                }
             }
+
             //修改印件信息
             $printSql = \db('工单_印件资料')
                 ->where('Uniqid',$param['printID'])
@@ -1010,11 +1013,14 @@ class WorkOrder extends Api
             'yj_ls' =>$param['ls'],
             'yj_desc' =>$param['desc'],
         ];
-        //重新分配工序计划产量
-        $result = $this->PlannedProcessYield($data['Yj_Gdbh'],$data['yj_Yjno'],0,$data['yj_平张投料']);
-        if ($result === false){
-            $this->success('修改工序产量失败');
+        if ((int)$data['yj_平张投料'] > 0 ){
+            //重新分配工序计划产量
+            $result = $this->PlannedProcessYield($data['Yj_Gdbh'],$data['yj_Yjno'],0,$data['yj_平张投料']);
+            if ($result === false){
+                $this->success('修改工序产量失败');
+            }
         }
+
         $UniqId = $param['Uniqid'];
         $sql = \db('工单_印件资料')->where('Uniqid',$UniqId)->fetchSql(true)->update($data);
         $res = Db::query($sql);
@@ -1068,7 +1074,9 @@ class WorkOrder extends Api
             Db::query($statusSql);
         }
         //重新分配工序计划产量
-        $result = $this->PlannedProcessYield($param['Gy0_gdbh'],$list['Gy0_yjno'],$list['Gy0_gxh'],$list['计划接货数']);
+        if ((int)$list['计划接货数'] > 0){
+            $result = $this->PlannedProcessYield($param['Gy0_gdbh'],$list['Gy0_yjno'],$list['Gy0_gxh'],$list['计划接货数']);
+        }
         if ($res !== false){
             $this->success('成功');
         }else{
@@ -1663,7 +1671,9 @@ class WorkOrder extends Api
             ->where('yj_Yjno',$param['Gy0_yjno'])
             ->value('rtrim(yj_平张投料)');
         //分配工艺计划产量
-        $this->PlannedProcessYield($param['Gy0_gdbh'],$param['Gy0_yjno'],$param['Gy0_gxh'],$number);
+        if ((int)$number >0){
+            $this->PlannedProcessYield($param['Gy0_gdbh'],$param['Gy0_yjno'],$param['Gy0_gxh'],$number);
+        }
         if ($res !== false){
             $this->success('成功');
         }else{
@@ -1775,7 +1785,9 @@ class WorkOrder extends Api
             }
         }
         //重新分配工艺计划产量
-        $this->PlannedProcessYield($codeList['工单编号'],$codeList['印件号'],0,$number);
+        if ((int)$number>0){
+            $this->PlannedProcessYield($codeList['工单编号'],$codeList['印件号'],0,$number);
+        }
         if ($i === 0){
             $this->success('删除成功');
         }else{
@@ -2138,10 +2150,19 @@ class WorkOrder extends Api
         }
         $ProcesslastId = \db('工单_工艺资料')->order('UniqId desc')->value('rtrim(UniqId)');
         foreach ($ProcessList as $key=>$value){
+            if (empty($value['Gy0_shdh'])){
+                $rate['rate0'] = 0;
+                $rate['rate1'] = 0;
+            }else{
+                $rate = \db('dic_lzsh')->where('sys_bh',$value['Gy0_shdh'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->find();
+            }
             $ProcessList[$key]['Gy0_yjno'] = $value['Gy0_yjno'];
             $ProcessList[$key]['Gy0_gdbh'] = $param['workorder'];
             $ProcessList[$key]['Gy0_gxmc'] = $value['gy0_gxmc'];
             $ProcessList[$key]['Gy0_SITE'] = $value['Gy0_site'];
+            $ProcessList[$key]['Gy0_shdh'] = $value['Gy0_shdh'];
+            $ProcessList[$key]['Gy0_Rate0'] = $rate['rate0'];
+            $ProcessList[$key]['Gy0_Rate1'] = $rate['rate1'];
             $ProcessList[$key]['Gy0_ks'] = $value['Gy0_Ks'];
             $ProcessList[$key]['Gy0_ms'] = $value['Gy0_Ms'];
             $ProcessList[$key]['Gy0_oil'] = $value['Gy0_Oil'];
@@ -2171,9 +2192,10 @@ class WorkOrder extends Api
             \db()->rollback();
         }
         //计算工序计划生产数量
-        if ($number !== 0){
-            foreach ($PrintList as $value){
-                $this->PlannedProcessYield($param['workorder'],$value['yj_Yjno'],0,$number);
+        $list = \db('工单_印件资料')->where('Yj_Gdbh',$param['workorder'])->field('yj_Yjno,yj_平张投料')->select();
+        foreach ($list as $value){
+            if ((int)$value['yj_平张投料'] >0){
+                $this->PlannedProcessYield($param['workorder'],$value['yj_Yjno'],0,$value['yj_平张投料']);
             }
         }
         $this->success('成功');