From 11a66b42d34e41c88395f057292c34aae1ed0511 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期三, 11 九月 2024 16:14:14 +0800
Subject: [PATCH] 拆机更新功能 OK

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java |    2 +-
 sql/mysql/jh.sql                                                                                              |    6 ++++--
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java   |   38 ++++++++++++++++++++++++--------------
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java  |    5 +++++
 4 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java
index 1b72005..2e54e7c 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java
@@ -59,7 +59,7 @@
     /**
      * 浣滀笟姒傝
      */
-    private Integer summary;
+    private String summary;
     /**
      * 澶囨敞
      */
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java
index 69042d5..dd41d33 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java
@@ -8,6 +8,9 @@
 import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO;
 import org.apache.ibatis.annotations.Mapper;
 import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.*;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 宸ヤ綔璁板綍 Mapper
@@ -33,4 +36,6 @@
                 .orderByDesc(JobRecordDO::getId));
     }
 
+    @Select("SELECT * FROM lihu.job_record where rent_id=#{rentId} and job_type=#{jobType} and doc_id=#{docId} limit 1")
+    JobRecordDO selectByRentIdJobTypeDocId(@Param("rentId") Long rentId, @Param("jobType") Integer jobType, @Param("docId") Long docId );
 }
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
index e4a0a2c..46f992f 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -8,6 +8,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.*;
 import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*;
 import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
@@ -70,20 +71,29 @@
         Long userId = SecurityFrameworkUtils.getLoginUserId();
         String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
 
-        JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
-        jobRecordSaveReqVO.setRentId( updateReqVO.getId() );
-        jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() );
-        jobRecordSaveReqVO.setDocId( userId );
-        jobRecordSaveReqVO.setDocName( userNickname );
-        jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() );
-        jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() );
-        jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() );
-        jobRecordSaveReqVO.setJobType( 1 );
-        jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() );
-        jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
-
-        JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
-        jobRecordMapper.insert(jobRecord);
+        JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(updateReqVO.getId(), 1, userId);
+        if (jobRecordDO == null) {
+            JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
+            jobRecordSaveReqVO.setRentId( updateReqVO.getId() );
+            jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() );
+            jobRecordSaveReqVO.setDocId( userId );
+            jobRecordSaveReqVO.setDocName( userNickname );
+            jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() );
+            jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() );
+            jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() );
+            jobRecordSaveReqVO.setJobType( 1 );
+            jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() );
+            jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
+            JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
+            jobRecordMapper.insert(jobRecord);
+        } else {
+            jobRecordDO.setJobTime( updateReqVO.getReturnTime() );
+            jobRecordDO.setRemark( updateReqVO.getRemark() );
+            jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
+            jobRecordDO.setUpdater( String.valueOf(userId) );
+            jobRecordDO.setUpdateTime( LocalDateTime.now() );
+            jobRecordMapper.updateById(jobRecordDO);
+        }
         return 0L;
     }
 
diff --git a/sql/mysql/jh.sql b/sql/mysql/jh.sql
index 06cc27a..669bb9d 100644
--- a/sql/mysql/jh.sql
+++ b/sql/mysql/jh.sql
@@ -182,5 +182,7 @@
   `updater` varchar(10) DEFAULT '' COMMENT '鏇存柊鑰�',
   `update_time` datetime NOT NULL COMMENT '鏇存柊鏃堕棿',
   `deleted` bit(1) DEFAULT b'0' COMMENT '鍒犻櫎鏍囪',
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='宸ヤ綔璁板綍琛�';
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uni_rent_job_doc` (`rent_id`,`job_type`,`doc_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='宸ヤ綔璁板綍琛�';
+

--
Gitblit v1.9.3