Prechádzať zdrojové kódy

工单核检单工单资料获取

qiuenguang 1 rok pred
rodič
commit
fa710fa509

+ 126 - 1
application/api/controller/WorkOrderVerification.php

@@ -292,7 +292,7 @@ class WorkOrderVerification extends Api
         $list = db('工单_基本资料')->alias('a')
             ->join('工单_印件资料 b','a.Gd_gdbh = b.Yj_Gdbh','left')
             ->where('a.Gd_gdbh',$params['order'])
-            ->where('a.行号',1)
+//            ->where('a.行号',1)
             ->field('a.Gd_cpmc,b.yj_Yjno,b.yj_yjmc')
             ->select();
         $this->success('请求成功',$list);
@@ -997,4 +997,129 @@ class WorkOrderVerification extends Api
             $this->error('产出失败');
         }
     }
+
+
+
+    public function getJunkdata()
+    {
+        if ($this->request->isGet() === false){
+            $this->error('请求错误');
+        }
+        $param = $this->request->param();
+        if (empty($param)){
+            $this->error('参数错误');
+        }
+        $sql = "SELECT
+                    a.jjcp_gdbh,
+                    a.jjcp_yjno,
+                    a.jjcp_sj,
+                    a.jjcp_sl,
+                    a.成品名称,
+                    b.fp_lb1,
+                    b.fp_lb2,
+                    b.fp_lb3,
+                    b.fp_lb4,
+                    b.fp_lb5,
+                    b.fp_lb6,
+                    b.fp_lb7,
+                    b.fp_lb8,
+                    b.fp_lb9,
+                    b.fp_lb10,
+                    b.fp_lb11,
+                    b.fp_lb12,
+                    b.fp_lb13,
+                    b.fp_gxmc1,
+                    b.fp_gxmc2,
+                    b.fp_gxmc3,
+                    b.fp_gxmc4,
+                    b.fp_gxmc5,
+                    b.fp_gxmc6,
+                    b.fp_gxmc7,
+                    b.fp_gxmc8,
+                    b.fp_gxmc9,
+                    b.fp_gxmc10,
+                    b.fp_gxmc11,
+                    b.fp_gxmc12,
+                    b.fp_gxmc13,
+                    b.fp_sl1,
+                    b.fp_sl2,
+                    b.fp_sl3,
+                    b.fp_sl4,
+                    b.fp_sl5,
+                    b.fp_sl6,
+                    b.fp_sl7,
+                    b.fp_sl8,
+                    b.fp_sl9,
+                    b.fp_sl10,
+                    b.fp_sl11,
+                    b.fp_sl12,
+                    b.fp_sl13,
+                    sum(b.qczl_fp) as fp,
+                    b.UniqId,
+                    c.实际投料 * 10000
+                FROM
+                    `成品入仓` `a`
+                    LEFT JOIN db_qczl b ON a.jjcp_gdbh = b.qczl_gdbh AND a.jjcp_yjno = b.qczl_yjno
+                    JOIN `工单_基本资料` c ON a.jjcp_gdbh = c.Gd_gdbh AND a.jjcp_yjno = c.`行号`
+                WHERE
+                    (a.jjcp_sj LIKE '2024-07%' 
+                    OR a.jjcp_sj LIKE '2024-08%') 
+                    AND (b.qczl_fp <> null or b.qczl_fp > 0)
+                    AND a.成品编码 like 'J0031%'
+                GROUP BY
+                     b.UniqId";
+        $res = \db()->query($sql);
+//        halt($res);
+        $data = [];
+        foreach ($res as $key=>$value){
+            if (isset($data[$value['jjcp_gdbh']]) === false){
+                if (isset($data[$value['jjcp_gdbh']][$value['jjcp_yjno']]) === false){
+                    $data[$value['jjcp_gdbh']][$value['jjcp_yjno']] = [];
+                }
+            }
+            if (isset($data[$value['jjcp_gdbh']][$value['jjcp_yjno']]['废品总数']) === false){
+                $data[$value['jjcp_gdbh']][$value['jjcp_yjno']]['废品总数'] = $value['fp'];
+            }else{
+                $data[$value['jjcp_gdbh']][$value['jjcp_yjno']]['废品总数'] += $value['fp'];
+            }
+            $data[$value['jjcp_gdbh']][$value['jjcp_yjno']]['实际投料'] = $value['c.实际投料 * 10000'];
+            for ($i=1;$i<14;$i++){
+                if ($value['fp_gxmc'.$i] !== ''){
+                    if (isset($data[$value['jjcp_gdbh']][$value['jjcp_yjno']][$value['fp_lb'.$i]]) === false){
+                        $data[$value['jjcp_gdbh']][$value['jjcp_yjno']][$value['fp_lb'.$i]] = $value['fp_sl'.$i];
+                    }else{
+                        $data[$value['jjcp_gdbh']][$value['jjcp_yjno']][$value['fp_lb'.$i]] += $value['fp_sl'.$i];
+                    }
+                }
+            }
+        }
+        $list = [];
+        foreach ($data as $key=>$value){
+            foreach ($value as $k=>$v){
+                $i = 0;
+                foreach ($v as $kk=>$vv){
+                    if ($kk !== '废品总数' && $kk !== '实际投料'){
+                        $list[$key][$k][$i] = [
+                            '类型' => $kk,
+                            '数量' => $vv,
+                            '废品占比' =>  number_format($vv/$v['废品总数']*100,4).'%',
+                            '报损占比' => number_format($vv/$v['实际投料']*100,4).'%',
+                        ];
+                        $i++;
+                        $result = [
+                            '类型' => $kk,
+                            '数量' => $vv,
+                            '废品占比' =>  number_format($vv/$v['废品总数']*100,4).'%',
+                            '报损占比' => number_format($vv/$v['实际投料']*100,4).'%',
+                            '工单编号' => $key,
+                            '印件号' => $k
+                        ];
+                        $sql = \db('废品报表')->fetchSql(true)->insert($result);
+                        $reult = \db()->query($sql);
+                    }
+                }
+            }
+        }
+//        $this->success('成功',$list);
+    }
 }