Pārlūkot izejas kodu

工单详情优化

qiuenguang 1 gadu atpakaļ
vecāks
revīzija
eace87f09e
1 mainītis faili ar 56 papildinājumiem un 82 dzēšanām
  1. 56 82
      application/api/controller/WorkOrder.php

+ 56 - 82
application/api/controller/WorkOrder.php

@@ -150,15 +150,15 @@ class WorkOrder extends Api
     }
 
     /**
-     * 印件资料
-     * @ApiMethod (GET)
-     * @param string $Gd_gdbh  工单编号
-     * @return \think\response\Json
+     * 工单详情
+     * @ApiMethod  (GET)
+     * @param  void
+     * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\ModelNotFoundException
      * @throws \think\exception\DbException
      */
-    public function Printed()
+    public function workOrderListDetail()
     {
         if ($this->request->isGet() === false){
             $this->error('请求错误');
@@ -167,11 +167,15 @@ class WorkOrder extends Api
         if (empty($Gd_gdbh)){
             $this->error('参数错误');
         }
-        $list = \db('工单_印件资料')->where('Yj_Gdbh',$Gd_gdbh)->select();
         $data = [];
-        if ($list){
-            foreach ($list as $key=>$value){
-                $data[$key] = [
+        //印件资料
+        $printList = \db('工单_印件资料')
+            ->where('Yj_Gdbh',$Gd_gdbh)
+            ->cache(true,84600)
+            ->select();
+        if (!empty($printList)){
+            foreach ($printList as $key=>$value){
+                $data['printList'][$key] = [
                     '印件号' => rtrim($value['yj_Yjno']),
                     '印件代号' => rtrim($value['yj_Yjdh']),
                     '印件名称' => rtrim($value['yj_yjmc']),
@@ -201,47 +205,29 @@ class WorkOrder extends Api
                     'Uniqid' => rtrim($value['Uniqid'])
                 ];
             }
-        }
-        $this->success('成功',$data);
-    }
-
-    /**
-     * 工艺资料
-     * @ApiMethod (GET)
-     * @param string $Gd_gdbh  工单编号
-     * @return \think\response\Json
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-    public function Craft()
-    {
-        if ($this->request->isGet() === false){
-            $this->error('请求错误');
+        }else{
+            $data['printList'] = [];
         }
 
-        $Gd_gdbh = input('Gd_gdbh');
-        if (empty($Gd_gdbh)){
-            $this->error('参数错误');
-        }
-        $list = \db('工单_工艺资料')
+        //工艺资料
+        $processList = \db('工单_工艺资料')
             ->where('Gy0_gdbh',$Gd_gdbh)
+            ->cache(true,84600)
             ->select();
-        $data = [];
-        if ($list){
-            foreach ($list as $key=>$value){
+        if (!empty($processList)){
+            foreach ($processList as $key=>$value){
                 if ($value['Gy0_yjno']<10){
                     $value['Gy0_yjno'] = '0'.$value['Gy0_yjno'];
                 }
                 if ($value['Gy0_gxh']<10){
                     $value['Gy0_gxh'] = '0'.$value['Gy0_gxh'];
                 }
-                if ($value['Gy0_计划损耗'] !== 0){
-                    $number = round(($value['Gy0_计划损耗']/(int)($value['Gy0_计划接货数']/$value['Gy0_ls'])),2).'%';
+                if ((int)$value['Gy0_计划损耗'] !== 0){
+                    $number = round(((int)$value['Gy0_计划损耗']/(int)($value['Gy0_计划接货数']/$value['Gy0_ls'])),2).'%';
                 }else{
                     $number = 0;
                 }
-                $data[$key] = [
+                $data['processList'][$key] = [
                     '重点工序' => rtrim($value['重点工序']),
                     '印件-工序' => rtrim($value['Gy0_yjno']).'-'.rtrim($value['Gy0_gxh']),
                     '备选工序' => rtrim($value['备选工序']),
@@ -276,42 +262,31 @@ class WorkOrder extends Api
                     '小时产能' => rtrim($value['Gy0_小时产能'])
                 ];
             }
+        }else{
+            $data['processList'] = [];
         }
-        $this->success('成功',$data);
-    }
 
-    /**
-     * BOM资料
-     * @ApiMethod (GET)
-     * @param string $Gd_gdbh   工单编号
-     * @return \think\response\Json
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-    public function Bom()
-    {
-        if ($this->request->isGet() === false){
-            $this->error('请求错误');
-        }
-        $Gd_gdbh = input('Gd_gdbh');
-        if (empty($Gd_gdbh)){
-            $this->error('参数错误');
-        }
+        //BOM资料
         $field = 'rtrim(BOM_方案) as 方案,rtrim(BOM_物料编码) as 物料编号,rtrim(BOM_物料名称) as 物料名称,BOM_投料单位,
         BOM_投入数,BOM_产出数,BOM_产出单位,rtrim(BOM_计划用量) as 计划用量,rtrim(Sys_ID) as 建档用户,rtrim(Sys_rq) as 建档时间,rtrim(Mod_rq) as 更新时间';
-        $list = \db('工单_bom资料')
+        $bomList = \db('工单_bom资料')
             ->where('BOM_工单编号',$Gd_gdbh)
             ->field($field)
+            ->cache(true,84600)
             ->select();
-        foreach ($list as $key=>$value){
-            $list[$key]['消耗定量'] = rtrim($value['BOM_投入数']).rtrim($value['BOM_投料单位']).'/'.rtrim($value['BOM_产出数']).rtrim($value['BOM_产出单位']);
-            unset($list[$key]['BOM_投料单位'],$list[$key]['BOM_投入数'],$list[$key]['BOM_产出数'],$list[$key]['BOM_产出单位']);
-            $list[$key]['计划用量'] = rtrim((float)$value['计划用量']);
+        if (!empty($bomList)){
+            foreach ($bomList as $key=>$value){
+                $bomList[$key]['消耗定量'] = rtrim($value['BOM_投入数']).rtrim($value['BOM_投料单位']).'/'.rtrim($value['BOM_产出数']).rtrim($value['BOM_产出单位']);
+                unset($bomList[$key]['BOM_投料单位'],$bomList[$key]['BOM_投入数'],$bomList[$key]['BOM_产出数'],$bomList[$key]['BOM_产出单位']);
+                $bomList[$key]['计划用量'] = rtrim((float)$value['计划用量']);
+            }
+            $data['BOM'] = $bomList;
+        }else{
+            $data['BOM'] = [];
         }
-        $this->success('成功',$list);
-    }
 
+        $this->success('成功',$data);
+    }
 
     /**
      * 编辑页面展示
@@ -342,6 +317,7 @@ class WorkOrder extends Api
         $printData = \db('工单_印件资料')
             ->where('Yj_Gdbh',$workOrder)
             ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(yj_平张投料) as 平张投料,rtrim(Uniqid) as id')
+            ->cache(true,84600)
             ->find();
         if (empty($printData)){
             $this->error('未找到该工单印件资料');
@@ -436,7 +412,7 @@ class WorkOrder extends Api
         rtrim(Gy0_Ms) as 墨色数,rtrim(Gy0_shdh) as 损耗代号,rtrim(损耗系数) as 损耗系数,rtrim(Gy0_ls) as 加工联数';
         $list = \db('产品_工艺资料')->where('Gy0_cpdh',$productCode)->field($field)->select();
         if (empty($list)){
-            $this->error('未找到该产品工序');
+            $this->success('未找到该产品工序');
         }
         foreach ($list as $key=>$value){
             $data = \db('dic_lzsh')->where('sys_bh',$value['损耗代号'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->cache(true)->find();
@@ -476,7 +452,7 @@ class WorkOrder extends Api
         $field = 'rtrim(Gd_gdbh) as 工单编号,rtrim(Gd_客户名称) as 客户名称,rtrim(成品代号) as 产品代号,rtrim(成品名称) as 产品名称';
         $Detail = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field($field)->find();
         if (empty($Detail)){
-            $this->error('未找到工单信息');
+            $this->success('未找到工单信息');
         }
         $Detail['客户代号'] = substr($Detail['产品代号'],0,4);
         $this->success('成功',$Detail);
@@ -562,12 +538,12 @@ class WorkOrder extends Api
         }
         $list = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field('rtrim(成品代号) as 成品编号,rtrim(成品名称) as 成品名称')->find();
         if (empty($list)){
-            $this->error('未找到工单信息');
+            $this->success('未找到工单信息');
         }
         $filed = 'rtrim(Gy0_方案) as 方案,rtrim(Gy0_yjno) as 印件号,rtrim(Gy0_gxh) as 工序号,rtrim(Gy0_gxmc) as gxmc,rtrim(Add_gxmc) as add_gxmc,
         rtrim(工价系数) as 工价系数,rtrim(损耗系数) as 损耗系数,rtrim(Gy0_ks) as ks,rtrim(Gy0_ls) as ls,rtrim(工序备注) as 备注,rtrim(Gy0_SITE) as 车间,
         rtrim(Gy0_sbbh) as 设备编号,rtrim(Gy0_sbmc) as 设备名称,rtrim(Sys_id) as 建档用户,rtrim(Sys_rq) as 建档时间,rtrim(Mod_rq) as 更新时间';
-        $process = \db('工单_工艺资料')->where('Gy0_gdbh',$workOrder)->field($filed)->select();
+        $process = \db('工单_工艺资料')->where('Gy0_gdbh',$workOrder)->cache(true,84600)->field($filed)->select();
         if (empty($process)){
             $this->error('未找到该工单工艺资料');
         }
@@ -604,7 +580,7 @@ class WorkOrder extends Api
         }
         $list = \db('工单_基本资料')->where('成品代号',$productCode)->where('Gd_gdbh','<>',$workOrder)->column('Gd_gdbh');
         if (empty($list)){
-            $this->error('未获取该产品其他工单信息');
+            $this->success('未获取该产品其他工单信息');
         }
         $this->success('成功',$list);
     }
@@ -677,7 +653,7 @@ class WorkOrder extends Api
         rtrim(成品代号) as 成品代号,rtrim(成品名称) as 成品名称,rtrim(Mod_rq) as 获取日期,rtrim(Uniqid) as 序号';
         $list = \db('工单_基本资料')->where('Gd_gdbh',$param['workOrder'])->field($filed)->select();
         if (empty($list)){
-            $this->error('未找到工单');
+            $this->success('未找到工单');
         }
         $this->success('成功',$list);
     }
@@ -740,14 +716,14 @@ class WorkOrder extends Api
         rtrim(机检_废检) as 机检废检,rtrim(Gy0_sbbh) as 设备编号,rtrim(Uniqid) as Uniqid';
         $list = \db('工单_工艺资料')->where($where)->field($filed)->select();
         if (empty($list)){
-            $this->error('未找到该工单工艺');
+            $this->success('未找到该工单工艺');
         }
         $name = \db('工单_基本资料')
             ->where('Gd_gdbh',$workOrder)
             ->field('rtrim(Gd_cpdh) as 产品代号,rtrim(Gd_khmc) as 客户名称,rtrim(Gd_cpmc) as 产品名称')
             ->find();
         if (empty($name)){
-            $this->error('未找到该工单');
+            $this->success('未找到该工单');
         }
         foreach ($list as $key=>$value){
             if ($value['yjno']<10){
@@ -835,7 +811,7 @@ class WorkOrder extends Api
         rtrim(印刷方式) as 印刷方式,rtrim(版距) as 版距,rtrim(Gy0_ms) as 计损色数,rtrim(损耗系数) as 损耗系数,rtrim(UniqId) as UniqId';
         $list = \db('工单_工艺资料')->where('Gy0_gdbh',$workOrder)->field($field)->select();
         if (empty($list)){
-            $this->error('未找到该工单工艺资料');
+            $this->success('未找到该工单工艺资料');
         }
         foreach ($list as $key=>$value){
             if ($value['yjno']<10){
@@ -917,7 +893,6 @@ class WorkOrder extends Api
         if (empty($param) || isset($param['Uniqid']) === false){
             $this->error('参数错误');
         }
-//        halt($param);
         $data = [
             'yj_Yjno' => isset($param['yjno'])?$param['yjno']:'',
             'yj_Yjdh' => isset($param['yjdh'])?$param['yjdh']:'',
@@ -942,7 +917,6 @@ class WorkOrder extends Api
             'yj_ls' => isset($param['ls'])?$param['ls']:'',
             'yj_desc' => isset($param['desc'])?$param['desc']:'',
         ];
-        halt($data);
         $sql = \db('工单_印件资料')->where('Uniqid',$param['Uniqid'])->fetchSql(true)->update($data);
         $res = Db::query($sql);
         if ($res !== false){
@@ -1020,7 +994,7 @@ class WorkOrder extends Api
             ->field('rtrim(设备编号) as 设备编号,rtrim(设备名称) as 设备名称')
             ->select();
         if (empty($list)){
-            $this->error('未找到该车间机台');
+            $this->success('未找到该车间机台');
         }
         $data = [];
         foreach ($list as $key=>$value){
@@ -1049,15 +1023,15 @@ class WorkOrder extends Api
         }
         $data = $this->workOrderDetailGet($param['workOrder']);
         if (empty($data)){
-            $this->error('未找到工单信息');
+            $this->success('未找到工单信息');
         }
         $materiel = $this->MaterielDetailGet($param['workOrder']);
         if (empty($materiel)){
-            $this->error('未找到物料信息');
+            $this->success('未找到物料信息');
         }
         $printDetail = $this->PrintDetailGet($param['workOrder']);
         if (empty($printDetail)){
-            $this->error('未找到工艺信息');
+            $this->success('未找到工艺信息');
         }
         $number = 0;
         foreach ($printDetail as $key=>$value){
@@ -1113,7 +1087,7 @@ class WorkOrder extends Api
                 a.Gd_gdbh = '{$workOrder}' AND a.行号 = 1";
         $list = Db::query($sql);
         if (empty($list)){
-            $this->error('未找到订单数据');
+            $this->success('未找到订单数据');
         }
         $list[0]['开单日期'] = date('Y-m-d',strtotime($list[0]['开单日期']));
         $list[0]['交货日期'] = date('Y-m-d',strtotime($list[0]['交货日期']));
@@ -1140,7 +1114,7 @@ class WorkOrder extends Api
         $filed = 'rtrim(BOM_物料编码) as 物料编码,rtrim(BOM_物料名称) as 物料名称,rtrim(BOM_投料单位) as 投料单位,rtrim(BOM_计划用量) as 计划用量';
         $list = \db('工单_bom资料')->where($where)->field($filed)->select();
         if (empty($list)){
-            $this->error('未找到物料资料信息');
+            $this->success('未找到物料资料信息');
         }
         foreach ($list as $key=>$value){
             $list[$key]['物料代码及名称'] = $value['物料编码'].' '.$value['物料名称'];
@@ -1171,7 +1145,7 @@ class WorkOrder extends Api
             ->field($filed)
             ->select();
         if (empty($list)){
-            $this->error('工单工艺为空');
+            $this->success('工单工艺为空');
         }
         foreach ($list  as $key=>$value){
             if ($value['yjno']<10){