Sfoglia il codice sorgente

新增印件优化

qiuenguang 1 anno fa
parent
commit
8895bc51b4
1 ha cambiato i file con 33 aggiunte e 9 eliminazioni
  1. 33 9
      application/api/controller/WorkOrder.php

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

@@ -1700,15 +1700,39 @@ class WorkOrder extends Api
         $param['Uniqid'] = $lastId;
         $param['Sys_rq'] = date('Y-m-d H:i:s',time());
         $param['Mod_rq'] = date('Y-m-d H:i:s',time());
-        $sql = \db('工单_印件资料')->fetchSql(true)->insert($param);
-        $res = \db()->query($sql);
-        $workData = [
-            'Gd_cpdh' => $param['yj_Yjdh'],
-            'Gd_cpmc' => $param['yj_yjmc']
-        ];
-        $workSql = \db('工单_基本资料')->where('Gd_gdbh',$param['Yj_Gdbh'])->fetchSql(true)->update($workData);
-        $result = \db()->query($workSql);
-        if ($res !== false && $result !== false){
+        //判断印件号是否存在在工单基本资料表中,存在不增加行号,不存在增加行号
+        if (empty(\db('工单_基本资料')->where('Gd_gdbh',$param['Yj_Gdbh'])->where('行号',$param['yj_Yjno'])->find())){
+            $list = \db('工单_基本资料')->where('Gd_gdbh',$param['Yj_Gdbh'])->find();
+            $list['行号'] = $param['yj_Yjno'];
+            $list['Gd_cpdh'] = $param['yj_Yjdh'];
+            $list['Gd_cpmc'] = $param['yj_yjmc'];
+            $list['Sys_id'] = $param['Sys_id'];
+            $list['Sys_rq'] = $param['Sys_rq'];
+            $list['Mod_rq'] = $param['Mod_rq'];
+            unset($list['Uniqid']);
+            $workSql = \db('工单_基本资料')->fetchSql(true)->insert($list);
+        }else{
+            $data['Gd_cpdh'] = $param['yj_Yjdh'];
+            $data['Gd_cpmc'] = $param['yj_yjmc'];
+            $workSql = \db('工单_基本资料')
+                ->where('Gd_gdbh',$param['Yj_Gdbh'])
+                ->where('行号',$param['yj_Yjno'])
+                ->fetchSql(true)
+                ->update($data);
+        }
+        //开启事务
+        Db::startTrans();
+        try{
+            $sql = \db('工单_印件资料')->fetchSql(true)->insert($param);
+            $res = \db()->query($sql);
+            $workRes = \db()->query($workSql);
+            //提交事务
+            \db()->commit();
+        } catch (\Exception $e) {
+            // 回滚事务
+           \db()->rollback();
+        }
+        if ($res !== false && $workRes !== false){
             $this->success('成功');
         }else{
             $this->error('失败');