Browse Source

手工检计件产量核算

qiuenguang 1 year ago
parent
commit
2dff1339d9
1 changed files with 70 additions and 5 deletions
  1. 70 5
      application/api/controller/StaffSalary.php

+ 70 - 5
application/api/controller/StaffSalary.php

@@ -195,11 +195,76 @@ class StaffSalary extends Api
             $item['sczl_ms'] = $value['sczl_ms'];
             $item['核算产量'] = $accountingYield;
             $item['工时占比'] = floatval($manHourRate);
-            array_push($data,$item);
+//            array_push($data,$item);
         }
         //手工检验工序数据
-
-
+        $shoujianfields = "a.sczl_gdbh,a.sczl_yjgx,sczl_gxmc AS sczl_type,a.sczl_rq,a.sczl_cl AS 班组车头产量,
+	sczl_废品率系数 AS 工序难度系数,a.sczl_bh0,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.sczl_bh5,a.sczl_bh6,
+	a.sczl_bh7,a.sczl_bh8,a.sczl_bh9,a.sczl_bh10,a.sczl_bh11,b.千件工价,b.日定额,b.补产标准,d0.员工姓名 AS name0,
+	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,
+	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_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('db_手工检验')->alias('a')->field($shoujianfields);
+        //链接dic_lzde表
+        $query->join('dic_lzde b','a.sczl_dedh = b.sys_bh','LEFT');
+        //链接人事基本资料表
+        for ($i=0;$i<=12;$i++){
+            $field = 'a.sczl_bh'.$i;
+            $alias = 'd'.$i;
+            $query->join("人事_基本资料 $alias", "$field = {$alias}.员工编号 AND {$field} IS NOT NULL", 'LEFT');
+        }
+        $query->where($where);
+        $list = $query->select();
+        foreach ($list as $key=>$value){
+            for ($i=0;$i<=12;$i++){
+                if (!empty($value['sczl_bh'.$i])){
+                    $value['sczl_yjno'] = (int)substr($value['sczl_yjgx'],0,2);
+                    $value['sczl_gxh'] = (int)substr($value['sczl_yjgx'],3,2);
+                    //车头产量
+                    $value['班组车头产量'] = $value['sczl_cl'.$i]*$value['sczl_fp'.$i];
+                    //计件产量
+                    if ($value['工序难度系数'] <= 0 || empty($value['工序难度系数'])){
+                        $value['工序难度系数'] = '1.0000';
+                        $value['计件产量'] = $value['班组车头产量'];
+                    }else{
+                        $value['计件产量'] = round($value['班组车头产量'] * $value['工序难度系数']);
+                    }
+                    //核算产量
+                    $value['核算产量'] = $value['计件产量'];
+                    //工时占比
+                    $value['工时占比'] = round($value['计件产量']/$value['日定额'],4);
+                    $item = [];
+                    $item['sczl_gdbh'] = $value['sczl_gdbh'];
+                    $item['sczl_yjno'] = $value['sczl_yjno'];
+                    $item['sczl_gxh'] = $value['sczl_gxh'];
+                    $item['sczl_type'] = substr($value['sczl_type'],0,30);
+                    $item['sczl_rq'] = $value['sczl_rq'];
+                    $item['sczl_jtbh'] = '';
+                    $item['班组车头产量'] = $value['班组车头产量'];
+                    $item['工价系数'] = '0.0000';
+                    $item['工序难度系数'] = $value['工序难度系数'];
+                    $item['装版工时'] = '0.00';
+                    $item['保养工时'] = '0.00';
+                    $item['打样工时'] = '0.00';
+                    $item['异常停机工时'] = '0.00';
+                    $item['车头产量占用机时'] = '0.00';
+                    $item['日定额'] = (int)$value['日定额'];
+                    $item['千件工价'] = $value['千件工价'];
+                    $item['补产标准'] = $value['补产标准'];
+                    $item['班组换算产量'] = '0';
+                    $item['计时补差额工资'] = '0.00';
+                    $item['bh'] = $value['sczl_bh'.$i];
+                    $item['xm'] = $value['name'.$i];
+                    $item['Rate'] = '1.0000';
+                    $item['sczl_ms'] = '0.00';
+                    $item['核算产量'] = $value['核算产量'];
+                    $item['工时占比'] = floatval($value['工时占比']);
+                    array_push($data,$item);
+                }
+            }
+        }
 //        halt($data);
         // 用于存储bh对应的工时占比总和
         $bhTotals = [];
@@ -235,8 +300,8 @@ class StaffSalary extends Api
             $data[$key]['sys_ny'] = $params['date'];
             unset($data[$key]['核算产量']);
         }
-        halt($data);
-        $res = \db('绩效工资汇总_temp')->insertAll($data);
+//        halt($data);
+//        $res = \db('绩效工资汇总_temp')->insertAll($data);
 
     }
 }