浏览代码

计件工计时工增删改优化

曹鹤洋 1 年之前
父节点
当前提交
dce74ef5a3
共有 1 个文件被更改,包括 71 次插入54 次删除
  1. 71 54
      application/api/controller/PieceWorkSchedule.php

+ 71 - 54
application/api/controller/PieceWorkSchedule.php

@@ -71,7 +71,7 @@ class PieceWorkSchedule extends Api
         }
 
         $rows = db()->table('db_wgjs')
-            ->field('LEFT(wgjs_rq, 10) as wgjs_rq, 
+            ->field('LEFT(wgjs_rq, 10) as wgjs_rq, UniqId, 
             wgjs_bh1, CAST(wgjs_js1 AS SIGNED) as wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1, 
             wgjs_bh2, CAST(wgjs_js2 AS SIGNED) as wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2, 
             wgjs_bh3, CAST(wgjs_js3 AS SIGNED) as wgjs_js3, rtrim(wgjs_yy3) as wgjs_yy3, 
@@ -218,34 +218,31 @@ class PieceWorkSchedule extends Api
         }
         $req = $this->request->param();
 
-        if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
-            $this->error('参数错误');
-        }else{
-        }
-        if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
-            $this->error('参数不能为空');
+        if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
+            $this->error('参数错误','UniqId',100);
         }
-        $rows = db()->table('db_wgjs')
-        ->field('LEFT(wgjs_rq, 10) as wgjs_rq, 
-        wgjs_bh1, CAST(wgjs_js1 AS SIGNED) as wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1, 
-        wgjs_bh2, CAST(wgjs_js2 AS SIGNED) as wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2, 
-        wgjs_bh3, CAST(wgjs_js3 AS SIGNED) as wgjs_js3, rtrim(wgjs_yy3) as wgjs_yy3, 
-        wgjs_bh4, CAST(wgjs_js4 AS SIGNED) as wgjs_js4, rtrim(wgjs_yy4) as wgjs_yy4, 
-        wgjs_bh5, CAST(wgjs_js5 AS SIGNED) as wgjs_js5, rtrim(wgjs_yy5) as wgjs_yy5, 
-        wgjs_bh6, CAST(wgjs_js6 AS SIGNED) as wgjs_js6, rtrim(wgjs_yy6) as wgjs_yy6,
-        rtrim(rs1.员工姓名) as name1,rtrim(rs2.员工姓名) as name2,rtrim(rs3.员工姓名)
-        as name3,rtrim(rs4.员工姓名) as name4,rtrim(rs5.员工姓名) as name5,rtrim(rs6.员工姓名)
-        as name6,wgjs_冲定额1,wgjs_冲定额2,wgjs_冲定额3,wgjs_冲定额4,wgjs_冲定额5,wgjs_冲定额6')
-        ->join('人事_基本资料 rs1','rs1.员工编号=db_wgjs.wgjs_bh1','LEFT')
-        ->join('人事_基本资料 rs2','rs2.员工编号=db_wgjs.wgjs_bh2','LEFT')
-        ->join('人事_基本资料 rs3','rs3.员工编号=db_wgjs.wgjs_bh3','LEFT')
-        ->join('人事_基本资料 rs4','rs4.员工编号=db_wgjs.wgjs_bh4','LEFT')
-        ->join('人事_基本资料 rs5','rs5.员工编号=db_wgjs.wgjs_bh5','LEFT')
-        ->join('人事_基本资料 rs6','rs6.员工编号=db_wgjs.wgjs_bh6','LEFT')
-        ->where(['wgjs_rq'=>$req['wgjs_rq'].' 00:00:00','wgjs_bh1'=>$req['wgjs_bh1']])
-        ->find();
-        if($rows){
-        $this->success('成功',$rows);
+
+        $rows = db('db_wgjs')
+            ->field('LEFT(wgjs_rq, 10) as wgjs_rq, db_wgjs.UniqId, 
+            wgjs_bh1, CAST(wgjs_js1 AS SIGNED) as wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1, 
+            wgjs_bh2, CAST(wgjs_js2 AS SIGNED) as wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2, 
+            wgjs_bh3, CAST(wgjs_js3 AS SIGNED) as wgjs_js3, rtrim(wgjs_yy3) as wgjs_yy3, 
+            wgjs_bh4, CAST(wgjs_js4 AS SIGNED) as wgjs_js4, rtrim(wgjs_yy4) as wgjs_yy4, 
+            wgjs_bh5, CAST(wgjs_js5 AS SIGNED) as wgjs_js5, rtrim(wgjs_yy5) as wgjs_yy5, 
+            wgjs_bh6, CAST(wgjs_js6 AS SIGNED) as wgjs_js6, rtrim(wgjs_yy6) as wgjs_yy6,
+            rtrim(rs1.员工姓名) as name1,rtrim(rs2.员工姓名) as name2,rtrim(rs3.员工姓名)
+            as name3,rtrim(rs4.员工姓名) as name4,rtrim(rs5.员工姓名) as name5,rtrim(rs6.员工姓名)
+            as name6,wgjs_冲定额1,wgjs_冲定额2,wgjs_冲定额3,wgjs_冲定额4,wgjs_冲定额5,wgjs_冲定额6')
+            ->join('人事_基本资料 rs1','rs1.员工编号=db_wgjs.wgjs_bh1','LEFT')
+            ->join('人事_基本资料 rs2','rs2.员工编号=db_wgjs.wgjs_bh2','LEFT')
+            ->join('人事_基本资料 rs3','rs3.员工编号=db_wgjs.wgjs_bh3','LEFT')
+            ->join('人事_基本资料 rs4','rs4.员工编号=db_wgjs.wgjs_bh4','LEFT')
+            ->join('人事_基本资料 rs5','rs5.员工编号=db_wgjs.wgjs_bh5','LEFT')
+            ->join('人事_基本资料 rs6','rs6.员工编号=db_wgjs.wgjs_bh6','LEFT')
+            ->where('db_wgjs.UniqId', $req['UniqId'])
+            ->find();
+        if($rows!==false){
+            $this->success('成功',$rows);
         }else{
             $this->error('失败');
         }   
@@ -260,24 +257,37 @@ class PieceWorkSchedule extends Api
             $this->error('请求方式错误');
         }
         $req = $this->request->param();
-        // $req = ['wgjs_js1'=>12,'wgjs_rq'=>'2023-10-12','wgjs_bh1'=>'ZM01269'];
 
-        if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
-            $this->error('参数错误');
-        }
-        if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
-            $this->error('参数不能为空');
+        if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
+            $this->error('参数错误','UniqId',100);
         }
 
-        $req['wgjs_rq'] = $req['wgjs_rq'].' 00:00:00';
-        $req['mod_rq'] = date('Y-m-d H:i:s');
+        $arr = [
+            'wgjs_rq', 
+            'wgjs_bh1', 'wgjs_bh2', 'wgjs_bh3', 'wgjs_bh4', 'wgjs_bh5', 'wgjs_bh6', 
+            'wgjs_js1', 'wgjs_js2', 'wgjs_js3', 'wgjs_js4', 'wgjs_js5', 'wgjs_js6', 
+            'wgjs_yy1', 'wgjs_yy2', 'wgjs_yy3', 'wgjs_yy4', 'wgjs_yy5', 'wgjs_yy6', 
+            'wgjs_冲定额1', 'wgjs_冲定额2', 'wgjs_冲定额3', 'wgjs_冲定额4', 'wgjs_冲定额5', 'wgjs_冲定额6'
+        ];
+        $data = [];
+        foreach ($arr as $key => $value){
+            if (!isset($req[$value])){
+                continue;
+            }
+            $data[$value] = $req[$value];
+        }
+        
+        if (count($data)==0){
+            $this->error('参数错误','',111);
+        }
+        $data['wgjs_rq'] = $req['wgjs_rq'].' 00:00:00';
+        $data['mod_rq'] = date('Y-m-d H:i:s');
 
         //开启事务
         db()->startTrans();
         try{
-            $sql = db()->table('db_wgjs')->where(['wgjs_rq'=>$req['wgjs_rq'],'wgjs_bh1'=>$req['wgjs_bh1']])
-            ->fetchSql(true)->update($req);
-            $res= db()->query($sql);
+            $sql = db('db_wgjs')->where('UniqId',$req['UniqId'])->fetchSql(true)->update($data);
+            $bool = db()->query($sql);
             // 提交事务
             db()->commit();
         } catch (\Exception $e) {
@@ -285,8 +295,7 @@ class PieceWorkSchedule extends Api
             db()->rollback();
             $this->error($e->getMessage());
         }
-
-        if($res===false) $this->error('失败');
+        if($bool===false) $this->error('失败');
 
         $this->success('成功');
     }
@@ -301,10 +310,10 @@ class PieceWorkSchedule extends Api
         }
         $req = $this->request->param();
 
-        if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
+        if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) || !isset($req['sys_id']) ){
             $this->error('参数错误');
         }
-        if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
+        if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1']) || empty($req['sys_id'])){
             $this->error('参数不能为空');
         }
         $UniqId = db()->table('db_wgjs')->order('UniqId desc')->value('UniqId');
@@ -316,6 +325,7 @@ class PieceWorkSchedule extends Api
         $req['wgjs_rq'] = $req['wgjs_rq'].' 00:00:00';
         $req['sys_rq'] = date('Y-m-d H:i:s');
         $req['UniqId'] = $UniqId;
+        $req['sys_id'] = $req['sys_id'];
         //开启事务
         db()->startTrans();
         try{
@@ -346,19 +356,26 @@ class PieceWorkSchedule extends Api
         }
         $req = $this->request->param();
 
-        if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
-            $this->error('参数错误');
-        }else{
+        if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
+            $this->error('参数错误','UniqId',100);
         }
-        if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
-            $this->error('参数不能为空');
+
+        //开启事务
+        db()->startTrans();
+        try{
+            $bool = db('db_wgjs')->where('UniqId',$req['UniqId'])->delete();
+            // 提交事务
+            db()->commit();
+        } catch (\Exception $e) {
+            // 回滚事务
+            db()->rollback();
+            $this->error($e->getMessage());
         }
-        $rows = db()->table('db_wgjs')->where(['wgjs_rq'=>$req['wgjs_rq'].' 00:00:00','wgjs_bh1'=>$req['wgjs_bh1']])
-        ->delete();
-        if($rows){
+
+        if($bool===false) $this->error('失败');
+
         $this->success('成功');
-        }else{
-            $this->error('失败');
-        }   
+ 
     }
+
 }