Browse Source

新增及优化接口

huangsanjia 1 year ago
parent
commit
824c72f6ac

+ 1 - 1
application/api/controller/Staff.php

@@ -59,7 +59,7 @@ class Staff extends Api
         if (empty($pages)){
             $pages = 1;
         }
-        $field = '员工编号,rtrim(员工姓名) as 员工姓名,性别,聘用日期,转正日期,rtrim(所在部门) as 所在部门,rtrim(职称职务) as 职称职务,rtrim(身份证号) as 身份证号,出生日期,
+        $field = '员工编号,rtrim(员工姓名) as 员工姓名,性别,聘用日期,转正日期,rtrim(所在部门) as 所在部门,rtrim(部门编码) as 部门编码,rtrim(职称职务) as 职称职务,rtrim(身份证号) as 身份证号,出生日期,
         rtrim(人员性质) as 人员性质,rtrim(人员类别) as 人员类别,班次类型,工资表类别,薪酬核算分组,rtrim(在职状态) as 在职状态,rtrim(U8在职) as U8在职,U8离职日期,rtrim(sys_id) as sys_id,sys_rq,mod_rq';
         $list = Db::name('人事_基本资料')->where($where)->field($field)->page($pages)->limit($limit)->order('UniqID asc')->select();
         $total = Db::name('人事_基本资料')->where($where)->count();

+ 76 - 14
application/api/controller/WorkOrderVerification.php

@@ -746,18 +746,80 @@ class WorkOrderVerification extends Api
         }
 
     }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    /**
+     * 工单质检废品统计
+     * @ApiMethod GET
+     * @params string order
+    */
+    public function getOrderWasteTotal(){
+        if (Request::instance()->isGet() == false) {
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->param();
+        if (!isset($params['order']) || empty($params['order'])) {
+            $this->error('参数错误');
+        }
+        $field = '
+        rtrim(a.fp_lb1) as fp_lb1,rtrim(a.fp_lb2) as fp_lb2,rtrim(a.fp_lb3) as fp_lb3,rtrim(a.fp_lb4) as fp_lb4,rtrim(a.fp_lb5) as fp_lb5,rtrim(a.fp_lb6) as fp_lb6,rtrim(a.fp_lb7) as fp_lb7,
+        rtrim(a.fp_lb8) as fp_lb8,rtrim(a.fp_lb9) as fp_lb9,rtrim(a.fp_lb10) as fp_lb10,rtrim(a.fp_lb11) as fp_lb11,rtrim(a.fp_lb12) as fp_lb12,rtrim(a.fp_lb13) as fp_lb13,
+        a.fp_sl1,a.fp_sl2,a.fp_sl3,a.fp_sl4,a.fp_sl5,a.fp_sl6,a.fp_sl7,a.fp_sl8,a.fp_sl9,a.fp_sl10,a.fp_sl11,a.fp_sl12,a.fp_sl13,
+        a.fp_bh1,a.fp_bh2,a.fp_bh3,a.fp_bh4,a.fp_bh5,a.fp_bh6,a.fp_bh7,a.fp_bh8,a.fp_bh9,a.fp_bh10,a.fp_bh11,a.fp_bh12,a.fp_bh13,
+        rtrim(a.fp_gxmc1) as fp_gxmc1, rtrim(a.fp_gxmc2) as fp_gxmc2, rtrim(a.fp_gxmc3) as fp_gxmc3, rtrim(a.fp_gxmc4) as fp_gxmc4, rtrim(a.fp_gxmc5) as fp_gxmc5, rtrim(a.fp_gxmc6) as fp_gxmc6, 
+        rtrim(a.fp_gxmc7) as fp_gxmc7,rtrim(a.fp_gxmc8) as fp_gxmc8, rtrim(a.fp_gxmc9) as fp_gxmc9, rtrim(a.fp_gxmc10) as fp_gxmc10, rtrim(a.fp_gxmc11) as fp_gxmc11, rtrim(a.fp_gxmc12) as fp_gxmc12, 
+        rtrim(a.fp_gxmc13) as fp_gxmc13,a.qczl_num,a.qczl_yjno,rtrim(b.成品代号) as product_code,rtrim(b.成品名称) as product_name,b.订单数量,rtrim(b.计量单位) as 计量单位,b.实际投料,b.交货日期,
+        c.yj_ls,d.jjcp_sl,d.jjcp_sj
+        ';
+        $where['a.qczl_gdbh'] = $params['order'];
+        $where['b.行号'] = 1;
+        $data = Db::name('db_qczl')->alias('a')
+            ->join('工单_基本资料 b','a.qczl_gdbh = b.Gd_gdbh','left')
+            ->join('工单_印件资料 c','a.qczl_gdbh = c.Yj_Gdbh','left')
+            ->join('成品入仓 d','a.qczl_gdbh = d.jjcp_gdbh','left')
+            ->where($where)
+            ->field($field)->select();
+        $list = [];
+        $j = 0;
+        foreach ($data as $entry) {
+            for ($i = 1; $i <= 13; $i++) {
+                $labelKey = "fp_lb" . $i;
+                $slKey = "fp_sl" . $i;
+                $bhKey = "fp_bh" . $i;
+                $gxhKey = "fp_gxmc". $i;
+                if (!empty($entry[$labelKey]) && $entry[$slKey] > 0) {
+                    $list[$j]['fp_lb'] = $entry[$labelKey];
+                    $list[$j]['fp_sl'] = $entry[$slKey];
+                    $list[$j]['fp_bh'] = $entry[$bhKey];
+                    $name = Db::name('人事_基本资料')->where('员工编号',$entry[$bhKey])->value('rtrim(员工姓名)');
+                    $list[$j]['fp_name'] =  $name;
+                    $list[$j]['fp_gxh'] = empty(substr($entry[$gxhKey],0,2)) ? "0" : substr($entry[$gxhKey],0,2);
+                    $list[$j]['qczl_num'] = $entry['qczl_num'];
+                    $list[$j]['qczl_yjno'] = $entry['qczl_yjno'];
+                    $list[$j]['product_code'] = $entry['product_code'];
+                    $list[$j]['product_name'] = $entry['product_name'];
+                    $list[$j]['订单数量'] = $entry['订单数量'];
+                    $list[$j]['计量单位'] = $entry['计量单位'];
+                    $list[$j]['交货日期'] = substr($entry['交货日期'],0,10);
+                    $list[$j]['yj_ls'] = $entry['yj_ls'];
+                    $list[$j]['jjcp_sl'] = $entry['jjcp_sl'];
+                    $list[$j]['jjcp_sj'] = substr($entry['jjcp_sj'],0,10);
+                    $j++;
+                }
+            }
+        }
+        $summedData = [];
+        foreach ($list as $item) {
+            $key = $item['qczl_num'] . $item['fp_lb'];
+            if (!isset($summedData[$key])) {
+                $summedData[$key] = $item;
+            } else {
+                $summedData[$key]['fp_sl'] += $item['fp_sl'];
+            }
+        }
+        $fpGxhColumn = array_column($summedData, 'fp_gxh');
+        $qczlNumColumn = array_column($summedData, 'qczl_num');
+        $fpLbColumn = array_column($summedData, 'fp_lb');
+        array_multisort($fpGxhColumn, SORT_ASC, $qczlNumColumn, SORT_ASC, $fpLbColumn, SORT_ASC, $summedData);
+        $summedData = array_values($summedData);
+        $this->success('请求成功',$summedData);
+    }
 }