瀏覽代碼

Merge branch 'master' of https://git.7in6.com/Minong/mes-server-api

曹鹤洋 1 年之前
父節點
當前提交
9e3e1e8c7a

+ 45 - 17
application/api/controller/StaffSalary.php

@@ -4,6 +4,9 @@ namespace app\api\controller;
 use app\common\controller\Api;
 use app\common\controller\Api;
 use \think\Request;
 use \think\Request;
 use think\Db;
 use think\Db;
+use app\job\InsertDataJob;
+use think\Queue;
+use think\Cache;
 
 
 /**
 /**
  * 员工计件工资核算
  * 员工计件工资核算
@@ -62,7 +65,7 @@ class StaffSalary extends Api
         $startDate = $params['start_date'];
         $startDate = $params['start_date'];
         $endDate = $params['end_date'];
         $endDate = $params['end_date'];
         //将起止日期内数据删除
         //将起止日期内数据删除
-        \db('绩效工资汇总')->where('sczl_rq','between',[$startDate,$endDate])->delete();
+        $delRes = \db('绩效工资汇总')->where('sczl_rq','between',[$startDate,$endDate])->delete();
         $where = [];
         $where = [];
         $where['a.sczl_rq'] = ['between',[$startDate,$endDate]];
         $where['a.sczl_rq'] = ['between',[$startDate,$endDate]];
         $fields = "a.sczl_gdbh,a.sczl_yjno,a.sczl_gxh,a.sczl_gxmc as sczl_type,a.sczl_rq,a.sczl_jtbh,a.sczl_ms,a.sczl_cl as 班组车头产量,a.sczl_Pgcl,a.sczl_zcfp,
         $fields = "a.sczl_gdbh,a.sczl_yjno,a.sczl_gxh,a.sczl_gxmc as sczl_type,a.sczl_rq,a.sczl_jtbh,a.sczl_ms,a.sczl_cl as 班组车头产量,a.sczl_Pgcl,a.sczl_zcfp,
@@ -72,7 +75,7 @@ class StaffSalary extends Api
                 b.千件工价,b.日定额,b.补产标准,c.工价系数 as 工序难度系数
                 b.千件工价,b.日定额,b.补产标准,c.工价系数 as 工序难度系数
                 ,d1.员工姓名 as name1,d2.员工姓名 as name2,d3.员工姓名 as name3,d4.员工姓名 as name4,d5.员工姓名 as name5,d6.员工姓名 as name6,d7.员工姓名 as name7,d8.员工姓名 as name8
                 ,d1.员工姓名 as name1,d2.员工姓名 as name2,d3.员工姓名 as name3,d4.员工姓名 as name4,d5.员工姓名 as name5,d6.员工姓名 as name6,d7.员工姓名 as name7,d8.员工姓名 as name8
                 ,d9.员工姓名 as name9,d10.员工姓名 as name10";
                 ,d9.员工姓名 as name9,d10.员工姓名 as name10";
-        $query = Db::connect('db4')->name('设备_产量计酬')->alias('a')->field($fields);
+        $query = Db::name('设备_产量计酬')->alias('a')->field($fields);
         // 连接 dic_lzde 表
         // 连接 dic_lzde 表
         $query->join('dic_lzde b', 'a.sczl_dedh = b.sys_bh', 'LEFT');
         $query->join('dic_lzde b', 'a.sczl_dedh = b.sys_bh', 'LEFT');
         // 连接 工单_工艺资料 表
         // 连接 工单_工艺资料 表
@@ -129,7 +132,8 @@ class StaffSalary extends Api
                     $item['sczl_gdbh'] = $value['sczl_gdbh'];
                     $item['sczl_gdbh'] = $value['sczl_gdbh'];
                     $item['sczl_yjno'] = $value['sczl_yjno'];
                     $item['sczl_yjno'] = $value['sczl_yjno'];
                     $item['sczl_gxh'] = $value['sczl_gxh'];
                     $item['sczl_gxh'] = $value['sczl_gxh'];
-                    $item['sczl_type'] = substr($value['sczl_type'],0,30);
+//                    $item['sczl_type'] = substr($value['sczl_type'],0,30);
+                    $item['sczl_type'] = $value['sczl_type'];
                     $item['sczl_rq'] = $value['sczl_rq'];
                     $item['sczl_rq'] = $value['sczl_rq'];
                     $item['sczl_jtbh'] = $value['sczl_jtbh'];
                     $item['sczl_jtbh'] = $value['sczl_jtbh'];
                     $item['班组车头产量'] = $value['班组车头产量'];
                     $item['班组车头产量'] = $value['班组车头产量'];
@@ -159,7 +163,7 @@ class StaffSalary extends Api
         /**
         /**
          * 拆片工序数据
          * 拆片工序数据
         */
         */
-        $query = Db::connect('db4')->name('db_sczl')->alias('a')
+        $query = Db::name('db_sczl')->alias('a')
             ->field('a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, sczl_type, a.sczl_rq, a.sczl_jtbh, 
             ->field('a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, sczl_type, a.sczl_rq, a.sczl_jtbh, 
             a.sczl_ms, a.sczl_cl as 班组车头产量, a.sczl_fp as sczl_zcfp, a.sczl_装版工时 as 装版工时, a.sczl_保养工时 as 保养工时, 
             a.sczl_ms, a.sczl_cl as 班组车头产量, a.sczl_fp as sczl_zcfp, a.sczl_装版工时 as 装版工时, a.sczl_保养工时 as 保养工时, 
             a.sczl_打样工时 as 打样工时, a.sczl_异常停机工时 as 异常停机工时, a.sczl_设备运行工时 as 车头产量占用机时, a.sczl_bh1, 
             a.sczl_打样工时 as 打样工时, a.sczl_异常停机工时 as 异常停机工时, a.sczl_设备运行工时 as 车头产量占用机时, a.sczl_bh1, 
@@ -192,7 +196,8 @@ class StaffSalary extends Api
             $item['sczl_gdbh'] = $value['sczl_gdbh'];
             $item['sczl_gdbh'] = $value['sczl_gdbh'];
             $item['sczl_yjno'] = $value['sczl_yjno'];
             $item['sczl_yjno'] = $value['sczl_yjno'];
             $item['sczl_gxh'] = $value['sczl_gxh'];
             $item['sczl_gxh'] = $value['sczl_gxh'];
-            $item['sczl_type'] = substr($value['sczl_type'],0,30);
+//            $item['sczl_type'] = substr(trim($value['sczl_type']),0,30);
+            $item['sczl_type'] = $value['sczl_type'];
             $item['sczl_rq'] = $value['sczl_rq'];
             $item['sczl_rq'] = $value['sczl_rq'];
             $item['sczl_jtbh'] = $value['sczl_jtbh'];
             $item['sczl_jtbh'] = $value['sczl_jtbh'];
             $item['班组车头产量'] = $value['班组车头产量'];
             $item['班组车头产量'] = $value['班组车头产量'];
@@ -216,6 +221,7 @@ class StaffSalary extends Api
             $item['工时占比'] = floatval($manHourRate);
             $item['工时占比'] = floatval($manHourRate);
             array_push($data,$item);
             array_push($data,$item);
         }
         }
+//        halt($data);
         /**
         /**
          * 手工检验工序数据
          * 手工检验工序数据
         */
         */
@@ -227,7 +233,7 @@ class StaffSalary extends Api
 	d10.员工姓名 AS name11,d10.员工姓名 AS name12,a.sczl_cl0,a.sczl_cl1,a.sczl_cl2,a.sczl_cl3,a.sczl_cl4,a.sczl_cl5,a.sczl_cl6,
 	d10.员工姓名 AS name11,d10.员工姓名 AS name12,a.sczl_cl0,a.sczl_cl1,a.sczl_cl2,a.sczl_cl3,a.sczl_cl4,a.sczl_cl5,a.sczl_cl6,
 	a.sczl_cl7,a.sczl_cl8,a.sczl_cl9,a.sczl_cl10,a.sczl_cl11,a.sczl_cl12,a.sczl_fp0,a.sczl_fp1,a.sczl_fp2,a.sczl_fp3,
 	a.sczl_cl7,a.sczl_cl8,a.sczl_cl9,a.sczl_cl10,a.sczl_cl11,a.sczl_cl12,a.sczl_fp0,a.sczl_fp1,a.sczl_fp2,a.sczl_fp3,
 	a.sczl_fp4,a.sczl_fp5,a.sczl_fp6,a.sczl_fp7,a.sczl_fp8,a.sczl_fp9,a.sczl_fp10,a.sczl_fp11,a.sczl_fp12";
 	a.sczl_fp4,a.sczl_fp5,a.sczl_fp6,a.sczl_fp7,a.sczl_fp8,a.sczl_fp9,a.sczl_fp10,a.sczl_fp11,a.sczl_fp12";
-        $query = Db::connect('db4')->name('db_手工检验')->alias('a')->field($shoujianfields);
+        $query = Db::name('db_手工检验')->alias('a')->field($shoujianfields);
         //链接dic_lzde表
         //链接dic_lzde表
         $query->join('dic_lzde b','a.sczl_dedh = b.sys_bh','LEFT');
         $query->join('dic_lzde b','a.sczl_dedh = b.sys_bh','LEFT');
         //链接人事基本资料表
         //链接人事基本资料表
@@ -264,7 +270,8 @@ class StaffSalary extends Api
                     $item['sczl_gdbh'] = $value['sczl_gdbh'];
                     $item['sczl_gdbh'] = $value['sczl_gdbh'];
                     $item['sczl_yjno'] = $value['sczl_yjno'];
                     $item['sczl_yjno'] = $value['sczl_yjno'];
                     $item['sczl_gxh'] = $value['sczl_gxh'];
                     $item['sczl_gxh'] = $value['sczl_gxh'];
-                    $item['sczl_type'] = substr($value['sczl_type'],0,30);
+//                    $item['sczl_type'] = substr($value['sczl_type'],0,30);
+                    $item['sczl_type'] = $value['sczl_type'];
                     $item['sczl_rq'] = $value['sczl_rq'];
                     $item['sczl_rq'] = $value['sczl_rq'];
                     $item['sczl_jtbh'] = '';
                     $item['sczl_jtbh'] = '';
                     $item['班组车头产量'] = $value['班组车头产量'];
                     $item['班组车头产量'] = $value['班组车头产量'];
@@ -290,10 +297,11 @@ class StaffSalary extends Api
                 }
                 }
             }
             }
         }
         }
+//        halt($data);
         /**
         /**
          * 包装计件工序数据
          * 包装计件工序数据
          */
          */
-        $result = Db::connect('db4')->name('db_包装计件')->alias('a')
+        $result = Db::name('db_包装计件')->alias('a')
             ->field('a.sczl_gdbh1, a.sczl_gdbh2, a.sczl_gdbh3, a.sczl_gdbh4, a.sczl_gdbh5, a.sczl_gdbh6,
             ->field('a.sczl_gdbh1, a.sczl_gdbh2, a.sczl_gdbh3, a.sczl_gdbh4, a.sczl_gdbh5, a.sczl_gdbh6,
                      a.sczl_yjGx1, a.sczl_yjGx2, a.sczl_yjGx3, a.sczl_yjGx4, a.sczl_yjGx5, a.sczl_yjGx6,
                      a.sczl_yjGx1, a.sczl_yjGx2, a.sczl_yjGx3, a.sczl_yjGx4, a.sczl_yjGx5, a.sczl_yjGx6,
                      rtrim(a.sczl_gxmc1) as gxmc1,rtrim(a.sczl_gxmc2) as gxmc2,rtrim(a.sczl_gxmc3) as gxmc3,rtrim(a.sczl_gxmc4) as gxmc4,rtrim(a.sczl_gxmc5) as gxmc5,rtrim(a.sczl_gxmc6) as gxmc6,
                      rtrim(a.sczl_gxmc1) as gxmc1,rtrim(a.sczl_gxmc2) as gxmc2,rtrim(a.sczl_gxmc3) as gxmc3,rtrim(a.sczl_gxmc4) as gxmc4,rtrim(a.sczl_gxmc5) as gxmc5,rtrim(a.sczl_gxmc6) as gxmc6,
@@ -350,7 +358,8 @@ class StaffSalary extends Api
                     $item['sczl_gdbh'] = $value[$gdbhKey];
                     $item['sczl_gdbh'] = $value[$gdbhKey];
                     $item['sczl_yjno'] = ltrim(substr($value[$yjgxKey],0,2), '0');
                     $item['sczl_yjno'] = ltrim(substr($value[$yjgxKey],0,2), '0');
                     $item['sczl_gxh'] = substr($value[$yjgxKey],-2);
                     $item['sczl_gxh'] = substr($value[$yjgxKey],-2);
-                    $item['sczl_type'] = substr($value[$gxmcKey],0,30);
+//                    $item['sczl_type'] = substr($value[$gxmcKey],0,30);
+                    $item['sczl_type'] = $value[$gxmcKey];
                     if (!empty($value[$reworkKey])  && $value[$reworkKey] > 0){
                     if (!empty($value[$reworkKey])  && $value[$reworkKey] > 0){
                         $item['sczl_type'] = '返工('.$item['sczl_type'].')';
                         $item['sczl_type'] = '返工('.$item['sczl_type'].')';
                     }
                     }
@@ -415,8 +424,17 @@ class StaffSalary extends Api
             // 将工时占比相加
             // 将工时占比相加
             $bhTotals[$bh] += floatval($row['工时占比']);
             $bhTotals[$bh] += floatval($row['工时占比']);
         }
         }
-//        halt($bhTotals);
+        $days = [];
         foreach ($data as $key=>$item){
         foreach ($data as $key=>$item){
+            //统计每月出勤天数
+            $day_bh = $item['bh'];
+            if (!isset($days[$day_bh])){
+                $days[$day_bh] = [];
+            }else{
+                if (in_array($item['sczl_rq'],$days[$day_bh]) == false){
+                    array_push($days[$day_bh],$item['sczl_rq']);
+                }
+            }
             $bh = substr($item['sczl_rq'],0,10) . '-' .$item['bh'];
             $bh = substr($item['sczl_rq'],0,10) . '-' .$item['bh'];
             //达标定额
             //达标定额
             if ($item['工时占比'] > 0){
             if ($item['工时占比'] > 0){
@@ -432,7 +450,13 @@ class StaffSalary extends Api
                 //加班工资
                 //加班工资
                 $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5*3;
                 $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5*3;
             }else{
             }else{
-                $pieceWorkWage = $data[$key]['达标定额']/1000*$item['千件工价']*$item['Rate'];
+                //如果出勤天数小于法定天数,按正常计算
+                if (count($days[$day_bh]) <= $params['days']){
+                    $pieceWorkWage = $data[$key]['达标定额']/1000*$item['千件工价']*$item['Rate'];
+                }else{ //如果出勤天数大于法定天数,达标定额为 0,计件工资为0,超出的部分按加班工资算
+                    $data[$key]['达标定额'] = '0.00';
+                    $pieceWorkWage = '0.00';
+                }
                 $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5;
                 $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5;
             }
             }
             $data[$key]['个人计件工资'] = number_format($pieceWorkWage,2,'.', '');
             $data[$key]['个人计件工资'] = number_format($pieceWorkWage,2,'.', '');
@@ -441,13 +465,17 @@ class StaffSalary extends Api
             $data[$key]['sys_ny'] = $params['date'];
             $data[$key]['sys_ny'] = $params['date'];
             $data[$key]['sys_rq'] = date('Y-m-d H:i:s');
             $data[$key]['sys_rq'] = date('Y-m-d H:i:s');
             $data[$key]['sys_id'] = $params['sys_id'];
             $data[$key]['sys_id'] = $params['sys_id'];
-            unset($data[$key]['核算产量']);
+            $data[$key]['法定天数'] = $params['days'];
+            $data[$key]['sczl_type'] = trim($item['sczl_type']);
         }
         }
-        $res = \db('绩效工资汇总')->insertAll($data);
-        if ($res){
-            $this->success('请求成功');
-        }else{
-            $this->error('请求失败');
+        $num = round(count($data)/10000);
+        for ($i = 0; $i <= $num; $i++){
+            $start = $i * 10000;
+            $res = array_slice($data,$start,10000);
+            $job = new InsertDataJob($res); // 创建任务实例
+            Queue::push($job,'','default'.$i); // 推送任务到队列
         }
         }
+        $this->success('数据正在处理中,请等待...');
     }
     }
+
 }
 }

+ 40 - 6
application/api/controller/WorkOrder.php

@@ -1024,13 +1024,18 @@ class WorkOrder extends Api
         if (empty($param) || isset($param['UniqId']) === false){
         if (empty($param) || isset($param['UniqId']) === false){
             $this->error('参数错误');
             $this->error('参数错误');
         }
         }
-        $rate = \db('dic_lzsh')->where('sys_bh',$param['shdh'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->find();
+        if (empty($param['shdh'])){
+            $rate['rate0'] = 0;
+            $rate['rate1'] = 0;
+        }else{
+            $rate = \db('dic_lzsh')->where('sys_bh',$param['shdh'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->find();
+        }
         $data = [
         $data = [
             '重点工序' => isset($param['zdgx'])?$param['zdgx']:'',
             '重点工序' => isset($param['zdgx'])?$param['zdgx']:'',
             '备选工序' => isset($param['bxgx'])?$param['bxgx']:'',
             '备选工序' => isset($param['bxgx'])?$param['bxgx']:'',
             'Gy0_sbbh' => isset($param['sbbh'])?$param['sbbh']:'',
             'Gy0_sbbh' => isset($param['sbbh'])?$param['sbbh']:'',
-            'Gy0_Rate0' => isset($rate['rate0'])?$rate['rate0']:'',
-            'Gy0_Rate1' => isset($rate['rate1'])?$rate['rate1']:'',
+            'Gy0_Rate0' => isset($rate['rate0'])?$rate['rate0']:0,
+            'Gy0_Rate1' => isset($rate['rate1'])?$rate['rate1']:0,
             'Gy0_shdh' => isset($param['shdh'])?$param['shdh']:'',
             'Gy0_shdh' => isset($param['shdh'])?$param['shdh']:'',
             '损耗系数' => isset($param['shxs'])?$param['shxs']:'',
             '损耗系数' => isset($param['shxs'])?$param['shxs']:'',
             '工价系数' => isset($param['ndxs'])?$param['ndxs']:'',
             '工价系数' => isset($param['ndxs'])?$param['ndxs']:'',
@@ -1358,6 +1363,9 @@ class WorkOrder extends Api
         }
         }
         $num = \db('工单_基本资料')->where('Gd_gdbh',$param['gdbh'])->count();
         $num = \db('工单_基本资料')->where('Gd_gdbh',$param['gdbh'])->count();
         $productDetail = \db('产品_基本资料')->where('产品编号',$param['cpdh'])->find();
         $productDetail = \db('产品_基本资料')->where('产品编号',$param['cpdh'])->find();
+        if (empty($productDetail)){
+            $productDetail['客户料号'] = '';
+        }
         $lastId = \db('工单_基本资料')->order('Uniqid desc')->value('Uniqid');
         $lastId = \db('工单_基本资料')->order('Uniqid desc')->value('Uniqid');
         if ($lastId<1000000000){
         if ($lastId<1000000000){
             $lastId = 1000000000;
             $lastId = 1000000000;
@@ -1569,9 +1577,12 @@ class WorkOrder extends Api
         }
         }
     }
     }
 
 
-
-    //新增工艺资料->工艺资料添加
-
+    /**
+     * 新增工艺资料->工艺资料添加
+     * @return void
+     * @throws \think\db\exception\BindParamException
+     * @throws \think\exception\PDOException
+     */
     public function ProcessDetailAdd()
     public function ProcessDetailAdd()
     {
     {
         if (Request::instance()->isPost() === false){
         if (Request::instance()->isPost() === false){
@@ -1587,6 +1598,29 @@ class WorkOrder extends Api
         }else{
         }else{
             $lastId = $lastId + 1;
             $lastId = $lastId + 1;
         }
         }
+        if (empty($param['Gy0_shdh'])){
+            $param['Gy0_Rate0'] = 0;
+            $param['Gy0_Rate1'] = 0;
+        }else{
+            $detail = \db('dic_lzsh')->field('sys_rate0,sys_rate1')->where('sys_bh',$param['Gy0_shdh'])->find();
+            $param['Gy0_Rate0'] = $detail['sys_rate0'];
+            $param['Gy0_Rate1'] = $detail['sys_rate1'];
+        }
+        $param['Sys_rq'] = date('Y-m-d H:i:s',time());
+        $param['Mod_rq'] = '1900-01-01 00:00:00';
+        $param['Gy0_sj1'] = '1900-01-01 00:00:00';
+        $param['Gy0_sj2'] = '1900-01-01 00:00:00';
+        $param['PD_WG'] = '1900-01-01 00:00:00';
+        $param['UniqId'] = $lastId;
+        $sql = \db('工单_工艺资料')
+            ->fetchSql(true)
+            ->insert($param);
+        $res = \db()->query($sql);
+        if ($res !== false){
+            $this->success('成功');
+        }else{
+            $this->error('失败');
+        }
 
 
     }
     }
 
 

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

@@ -399,7 +399,7 @@ class WorkOrderVerification extends Api
         $where['a.sczl_type'] = array('like','%'.$search.'%');
         $where['a.sczl_type'] = array('like','%'.$search.'%');
         $list = db('设备_产量计酬')->alias('a')
         $list = db('设备_产量计酬')->alias('a')
             ->join('人事_基本资料 b','a.sczl_bh1 = b.员工编号','left')
             ->join('人事_基本资料 b','a.sczl_bh1 = b.员工编号','left')
-            ->where($where)->cache(true,3600)->field('distinct(a.sczl_gxmc),a.sczl_bzdh,a.sczl_jtbh,a.sczl_bh1,b.员工姓名 as name')
+            ->where($where)->field('distinct(a.sczl_gxmc),a.sczl_bzdh,a.sczl_jtbh,a.sczl_bh1,b.员工姓名 as name')
             ->select();
             ->select();
         $count = count($list);
         $count = count($list);
         $list[$count]['sczl_gxmc'] = '99-外发加工';
         $list[$count]['sczl_gxmc'] = '99-外发加工';

+ 2 - 2
application/extra/queue.php

@@ -1,12 +1,12 @@
 <?php
 <?php
 return [
 return [
     'connector'  => 'Redis',          // Redis 驱动
     'connector'  => 'Redis',          // Redis 驱动
-    'expire'     => 0,             // 任务的过期时间,默认为60秒; 若要禁用,则设置为 null
+    'expire'     => 60,             // 任务的过期时间,默认为60秒; 若要禁用,则设置为 null
     'default'    => 'default',    // 默认的队列名称
     'default'    => 'default',    // 默认的队列名称
     'host'       => '127.0.0.1',       // redis 主机ip
     'host'       => '127.0.0.1',       // redis 主机ip
     'port'       => 6379,        // redis 端口
     'port'       => 6379,        // redis 端口
     'password'   => '',             // redis 密码
     'password'   => '',             // redis 密码
-    'select'     => 0,          // 使用哪一个 db,默认为 db0
+    'select'     => 15,          // 使用哪一个 db,默认为 db0
     'timeout'    => 0,          // redis连接的超时时间
     'timeout'    => 0,          // redis连接的超时时间
     'persistent' => false,
     'persistent' => false,
 ];
 ];

+ 38 - 2
application/index/controller/Index.php

@@ -3,7 +3,9 @@
 namespace app\index\controller;
 namespace app\index\controller;
 
 
 use app\common\controller\Frontend;
 use app\common\controller\Frontend;
-
+use app\job\InsertDataJob;
+use think\Queue;
+use  think\Db;
 class Index extends Frontend
 class Index extends Frontend
 {
 {
 
 
@@ -13,7 +15,41 @@ class Index extends Frontend
 
 
     public function index()
     public function index()
     {
     {
-        return $this->view->fetch();
+        $data =  [
+            'sczl_gdbh' =>  '2310201',
+            'sczl_yjno' => '1',
+            'sczl_gxh' => '3',
+            'sczl_type' =>  '03-喷码                     ',
+            'sczl_rq' =>  '2024-01-03 00:00:00',
+            'sczl_jtbh' => 'PM02#',
+            '班组车头产量' => '1500.0',
+            '工价系数' =>  '0.0000',
+            '工序难度系数' => '1.100',
+            '装版工时' => '0.00',
+            '保养工时' => '0.00',
+            '打样工时' =>  '0.00',
+            '异常停机工时' => '0.00',
+            '车头产量占用机时' => '0.00',
+            '日定额' => '32000.00',
+            '千件工价' =>  '3.30',
+            '补产标准' =>  '5400',
+            '班组换算产量' => 0,
+            '计时补差额工资' =>  '0.00',
+            'bh' =>  'ZM00585',
+            'xm' =>  '徐钱鹏    ',
+            'Rate' => '0.68000',
+            'sczl_ms' => '0.00',
+            '工时占比' => '0.0516',
+            '达标定额' => '363.00',
+            '个人计件工资' => '0.81',
+            '个人加班工资' =>  '4.33',
+            'UniqID' => 253318494,
+            'sys_ny' =>  '202401',
+            'sys_rq' => '2024-03-20 13:44:50',
+            'sys_id' =>  '[0001/测试]',
+            '法定天数' =>  '22'];
+        $job = new InsertDataJob($data); // 创建任务实例
+        Queue::push($job); // 推送任务到队列
     }
     }
 
 
 }
 }

+ 63 - 0
application/job/InsertDataJob.php

@@ -0,0 +1,63 @@
+<?php
+
+namespace app\job;
+
+use think\Db;
+use think\Cache;
+
+class InsertDataJob
+{
+    protected $data;
+
+    public function __construct($data)
+    {
+        $this->data = $data;
+    }
+
+    public function handle()
+    {
+        $handData = [];
+        foreach ($this->data as $key=>$value){
+            $handData[$key]['sczl_gdbh'] = $value['sczl_gdbh'];
+            $handData[$key]['sczl_yjno'] = $value['sczl_yjno'];
+            $handData[$key]['sczl_gxh'] = $value['sczl_gxh'];
+            $handData[$key]['sczl_type'] = $value['sczl_type'];
+            $handData[$key]['sczl_rq'] = $value['sczl_rq'];
+            $handData[$key]['sczl_jtbh'] = $value['sczl_jtbh'];
+            $handData[$key]['班组车头产量'] = $value['班组车头产量'];
+            $handData[$key]['工价系数'] = $value['工价系数'];
+            $handData[$key]['工序难度系数'] = $value['工序难度系数'];
+            $handData[$key]['装版工时'] = $value['装版工时'];
+            $handData[$key]['保养工时'] = $value['保养工时'];
+            $handData[$key]['打样工时'] = $value['打样工时'];
+            $handData[$key]['异常停机工时'] = $value['异常停机工时'];
+            $handData[$key]['车头产量占用机时'] = $value['车头产量占用机时'];
+            $handData[$key]['日定额'] = $value['日定额'];
+            $handData[$key]['千件工价'] = $value['千件工价'];
+            $handData[$key]['补产标准'] = $value['补产标准'];
+            $handData[$key]['班组换算产量'] = $value['班组换算产量'];
+            $handData[$key]['计时补差额工资'] = $value['计时补差额工资'];
+            $handData[$key]['bh'] = $value['bh'];
+            $handData[$key]['xm'] = $value['xm'];
+            $handData[$key]['Rate'] = $value['Rate'];
+            $handData[$key]['sczl_ms'] = $value['sczl_ms'];
+            $handData[$key]['工时占比'] = $value['工时占比'];
+            $handData[$key]['达标定额'] = $value['达标定额'];
+            $handData[$key]['个人计件工资'] = $value['个人计件工资'];
+            $handData[$key]['个人加班工资'] = $value['个人加班工资'];
+            $handData[$key]['UniqID'] = $value['UniqID'];
+            $handData[$key]['sys_ny'] = $value['sys_ny'];
+            $handData[$key]['sys_rq'] = $value['sys_rq'];
+            $handData[$key]['sys_id'] = $value['sys_id'];
+            $handData[$key]['法定天数'] = $value['法定天数'];
+        }
+        $sql =Db::name('绩效工资汇总_temp')->fetchSql(true)->insertAll($handData);
+        $res = Db::query($sql);
+        if ($res !== false){
+            // 获取队列的键名
+            $queueKey = 'default0';
+            // 删除队列
+            Cache::store('redis')->handler()->del($queueKey);
+        }
+    }
+}