ソースを参照

手检流程单统计

曹鹤洋 1 年間 前
コミット
3ad0028434
1 ファイル変更46 行追加22 行削除
  1. 46 22
      application/api/controller/Inspect.php

+ 46 - 22
application/api/controller/Inspect.php

@@ -1390,12 +1390,12 @@ class Inspect extends Api
 
         $field = '';
         $arr = [
-            'sczl_gdbh'         =>['工单编号','a.sczl_gdbh'],
-            'sczl_yjgx'         =>['印件工序','CONCAT(rtrim(a.sczl_yjgx), " -", rtrim(a.sczl_gxmc)) as sczl_yjgx'],
-            'sczl_rq'           =>['日期','LEFT(a.sczl_rq, 10) as sczl_rq'],
-
-            'sczl_gdyj'         =>['工单印件','rtrim(d.yj_yjmc) as sczl_gdyj'],
-            'sczl_cl'           =>['计件产量','sum(a.sczl_cl) as sczl_cl'],
+            'sczl_gdbh'         =>['工单编号',''],
+            'sczl_yjgx'         =>['印件工序','rtrim(sczl_yjgx) as sczl_yjgx'],
+            'sczl_gxmc'         =>['工序名称','rtrim(sczl_gxmc) as sczl_gxmc'],
+            'sczl_rq'           =>['日期','sczl_rq'],
+            'sczl_Num'          =>['流程单号','qczl_Num,qczl_NumDesc1,qczl_NumDesc2,qczl_NumDesc3,qczl_NumDesc4,qczl_NumDesc5,qczl_NumDesc6,qczl_NumDesc7,qczl_NumDesc8'],
+            'sczl_cl'           =>['质检产量','qczl_Num,qczl_NumDesc1,qczl_NumDesc2,qczl_NumDesc3,qczl_NumDesc4,qczl_NumDesc5,qczl_NumDesc6,qczl_NumDesc7,qczl_NumDesc8,sczl_cl'],
         ];
         $data[0] = [];
         foreach ($req['fields'] as $k=>$v){
@@ -1409,29 +1409,53 @@ class Inspect extends Api
             }
         }
 
-        $rows = db()->table('db_手工检验')->alias('a')
-            ->field($field)
-            ->where('a.sczl_rq',['>=',$req['start_time']],['<=',$req['end_time']],'and')
-            ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
-            ->join('工单_印件资料 d', 'a.sczl_gdbh = d.Yj_Gdbh', 'left')
-            ->group('a.sczl_gdbh, d.yj_yjmc, a.sczl_yjgx')
-            ->order('a.sczl_gdbh asc')
+        $rows = db()->table('db_手工检验')
+            ->field('sczl_gdbh,'.$field)
+            ->where('sczl_rq',['>=',$req['start_time']],['<=',$req['end_time']],'and')
+            ->where('qczl_Num|qczl_NumDesc1|qczl_NumDesc2|qczl_NumDesc3|qczl_NumDesc4|qczl_NumDesc5|qczl_NumDesc6|qczl_NumDesc7|qczl_NumDesc8','<>',0)
+            ->order('sczl_gdbh asc')
             ->select();
 
-        foreach ($rows as $key=>$value) {
-            if (isset($value['sczl_cl'])) $value['sczl_cl'] = floatval($value['sczl_cl']);
-            $subArray = [];
-            foreach ($req['fields'] as $k=>$v){
-                if(array_key_exists($v,$arr)){
-                    if($value[$v]){
-                        array_push($subArray,$value[$v]);
+        $data = [];
+        $brr = [
+            'qczl_Num','qczl_NumDesc1','qczl_NumDesc2','qczl_NumDesc3','qczl_NumDesc4',
+            'qczl_NumDesc5','qczl_NumDesc6','qczl_NumDesc7','qczl_NumDesc8'
+        ];
+        foreach($rows as $key=>$value){
+            $flag = 0;
+            foreach($brr as $ke=>$va){
+                if ($value[$va]!=0){
+                    $subArray = [];
+                    foreach ($req['fields'] as $k=>$v) {
+                        if (array_key_exists($v, $arr)) {
+                            if ($v=='sczl_cl'){
+                                if ($flag==0){
+                                    $subArray['sczl_cl'] = $value['sczl_cl'];
+                                }else{
+                                    $subArray['sczl_cl'] = 0;
+                                }
+                            }else if ($v=='sczl_Num'){
+                                $subArray['sczl_Num'] = $value[$va];
+                            }else{
+                                $subArray[$v] = $value[$v];
+                            }
+
+                        }
+                    }
+                    $flag++;
+                    if(array_key_exists($value['sczl_gdbh'].'-'.$value['sczl_rq'].'-'.$value[$va],$data)){
+                        if(array_key_exists('sczl_cl',$subArray)){
+                            $data[$value['sczl_gdbh'].'-'.$value['sczl_rq'].'-'.$value[$va]]['sczl_cl'] += $value['sczl_cl'];
+                        }
                     }else{
-                        array_push($subArray,'');
+                        $data[$value['sczl_gdbh'].'-'.$value['sczl_rq'].'-'.$value[$va]] = $subArray;
                     }
                 }
             }
-            array_push($data,$subArray);
+
         }
+        $data = array_values($data);
+
         $this->success('成功',['file_name'=>$req['file_name'],'data'=>$data]);
     }
 }