Quellcode durchsuchen

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

曹鹤洋 vor 1 Jahr
Ursprung
Commit
2333eabb06

+ 14 - 5
application/api/controller/Facility.php

@@ -1042,9 +1042,18 @@ class Facility extends Api
             $this->success('未找到该条清场记录');
         }
         $list['日期'] = date('Y-m-d',strtotime($list['日期']));
-        $list['印件名称A'] = \db('工单_印件资料')->where('Yj_Gdbh',$list['工单编号A'])->field('rtrim(yj_yjmc) as yjmc')->find()['yjmc'];
-//        if ()
-        $list['印件名称B'] = \db('工单_印件资料')->where('Yj_Gdbh',$list['工单编号B'])->field('rtrim(yj_yjmc) as yjmc')->find()['yjmc'];
+        $printNameA = \db('工单_印件资料')->where('Yj_Gdbh',$list['工单编号A'])->field('rtrim(yj_yjmc) as yjmc')->find();
+        if (empty($printNameA)){
+            $list['印件名称A'] = '';
+        }else{
+            $list['印件名称A'] = $printNameA['yjmc'];
+        }
+        $printNameB = \db('工单_印件资料')->where('Yj_Gdbh',$list['工单编号B'])->field('rtrim(yj_yjmc) as yjmc')->find();
+        if (empty($printNameB)){
+            $list['印件名称B'] = '';
+        }else{
+            $list['印件名称B'] = $printNameB['yjmc'];
+        }
         $this->success('成功',$list);
     }
 
@@ -2115,9 +2124,9 @@ class Facility extends Api
                 $value['gxh'] = '0'.$value['gxh'];
             }
             if (empty($value['add_gxmc'])){
-                $list[$key]['name'] = $value['gxh'].'->'.$value['gxmc'];
+                $list[$key]['name'] = $value['gxh'].'-'.$value['gxmc'];
             }else{
-                $list[$key]['name'] = $value['gxh'].'->'.$value['gxmc'].'【'.$value['add_gxmc'].'】';
+                $list[$key]['name'] = $value['gxh'].'-'.$value['gxmc'].'【'.$value['add_gxmc'].'】';
             }
             unset($list[$key]['gxmc'],$list[$key]['add_gxmc']);
         }

+ 95 - 0
application/api/controller/Staff.php

@@ -168,4 +168,99 @@ class Staff extends Api
             $this->error('更新失败');
         }
     }
+
+    /**
+     * 员工法定天数修改
+     * @return void
+     * @throws \think\Exception
+     * @throws \think\db\exception\BindParamException
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function clockUpdate()
+    {
+        if (Request::instance()->isPost() === false){
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->post();
+        if (empty($params['month']) || empty($params['number'])){
+            $this->error('参数错误');
+        }
+        $staffList = \db('人事_基本资料')
+            ->field('rtrim(员工编号) as 员工编号,rtrim(班次类型) as 班次类型')
+            ->where('在职状态','在职')
+            ->select();
+        $status = \db('人事_考勤资料')->where('kqzl_ny',$params['month'])->count();
+        $data = [];
+        foreach ($staffList as $key => $value){
+            if ($value['班次类型'] === 'A类(双休班)'){
+                $hours = $params['typeA'];
+            }elseif ($value['班次类型'] === 'B类(7.5小时班)'){
+                $hours = $params['typeB'];
+            }else{
+                $hours = $params['typeC'];
+            }
+            $data[$key] =[
+                'kqzl_ygbh' => $value['员工编号'],
+                'kqzl_ny' => $params['month'],
+                '法定天数' => $params['number'],
+                '不计定额天数' => 0,
+                '法定工时' => $hours,
+                '非考勤天数' => 0,
+                '非考勤工时' => 0,
+                '工作日出勤天数' => 0,
+                '工作日出勤标准工时' => 0,
+                '工作日出勤总工时' => 0,
+                '可享法定假小时数' => 0,
+                '有薪假工时' => 0,
+                '延时加班' => 0,
+                '双休加班天数' => 0,
+                '双休加班' => 0,
+                '法定假加班' => 0,
+                '夜班次数' => 0,
+                '调休类加班' => 0,
+                '调休' => 0,
+                '病假工时' => 0,
+                '工伤工时' => 0,
+                'X_旷工工时' => 0,
+                'sys_id' => $params['sys_id'],
+                'sys_rq' => date('Y-m-d H:i:s',time()),
+                'mod_rq' => '1900-01-01 00:00:00',
+            ];
+        }
+        $lastId = \db('人事_考勤资料')->order('UniqId desc')->value('UniqId');
+        if ($status === 0){
+            foreach ($data as $key=>$value){
+                $data[$key]['UniqId'] = $lastId + $key + 1;
+            }
+            $sql = \db('人事_考勤资料')->fetchSql(true)->insertAll($data);
+            $res = \db()->query($sql);
+            if ($res !== false){
+                $this->success('成功');
+            }else{
+                $this->error('失败');
+            }
+        }else{
+            $i = 0;
+            foreach ($data as $key=>$value){
+                $value['mod_rq'] = date('Y-m-d H:i:s',time());
+                $sql = \db('人事_考勤资料')
+                    ->where('kqzl_ygbh',$value['kqzl_ygbh'])
+                    ->where('kqzl_ny',$value['kqzl_ny'])
+                    ->fetchSql(true)
+                    ->update($value);
+                $res = \db()->query($sql);
+                if ($res === false){
+                    $i++;
+                }
+            }
+            if ($i === 0){
+                $this->success('成功');
+            }else{
+                $this->error('失败');
+            }
+        }
+    }
 }

+ 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);
 
     }
 }

+ 9 - 4
application/api/controller/WorkOrder.php

@@ -1490,12 +1490,17 @@ class WorkOrder extends Api
             $this->success('未找到客户列表');
         }
         foreach ($list as $key=>$value){
-            $list[$key]['客户编号'] = rtrim($value['客户编号']);
-            $list[$key]['name'] = rtrim($value['客户编号']).'【'.$value['客户名称'].'】';
-            if ($value['客户编号'] == '1098'){
-                $list[$key]['客户名称'] = '打样专用';
+            if (empty($value['客户编号'])){
+                unset($list[$key]);
+            }else{
+                $list[$key]['客户编号'] = rtrim($value['客户编号']);
+                $list[$key]['name'] = rtrim($value['客户编号']).'【'.$value['客户名称'].'】';
+                if ($value['客户编号'] == '1098'){
+                    $list[$key]['客户名称'] = '打样专用';
+                }
             }
         }
+        $list = array_values($list);
         $this->success('成功',$list);
     }