Bläddra i källkod

病例质控指定医院病例条目新增修改

wangyu 5 år sedan
förälder
incheckning
121741eb3e

+ 28 - 4
mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.service.CasesEntryHospitalService;
 import com.diagbot.service.impl.CasesEntryHospitalServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.GetAllByHospitalVO;
 import com.diagbot.vo.InsertByHospitalVO;
 import com.diagbot.vo.UpdateByHospitalVO;
@@ -72,12 +73,35 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
      * @return
      */
     public Boolean insertByHospital(InsertByHospitalVO insertByHospitalVO){
+        QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
+        qcCasesEntryQueryWrapper.eq("id",insertByHospitalVO.getId());
+        List<QcCasesEntry> qcCasesEntries = qcCacesEntryFacade.list(qcCasesEntryQueryWrapper);
         QcCasesEntry qcCasesEntry = new QcCasesEntry();
-        BeanUtil.copyProperties(insertByHospitalVO,qcCasesEntry);
         Date date = DateUtil.now();
-        qcCasesEntry.setGmtCreate(date);
-        qcCasesEntry.setGmtModified(date);
-        qcCacesEntryFacade.save(qcCasesEntry);
+        if(ListUtil.isNotEmpty(qcCasesEntries)){
+            qcCasesEntry = new QcCasesEntry();
+            BeanUtil.copyProperties(insertByHospitalVO,qcCasesEntry);
+            qcCasesEntry.setGmtCreate(date);
+            qcCasesEntry.setGmtModified(date);
+            qcCacesEntryFacade.updateById(qcCasesEntry);
+            //修改时添加明细前先删除
+            List<String> hospitalIds = new ArrayList<>();
+            for (CasesEntryHospital casesEntryHospital : insertByHospitalVO.getCasesEntryHospitals()) {
+                if(!hospitalIds.contains(casesEntryHospital.getHospitalId())){
+                    hospitalIds.add(casesEntryHospital.getHospitalId());
+                }
+            }
+            QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
+            casesEntryHospitalQueryWrapper.in("hospital_id",hospitalIds);
+            casesEntryHospitalService.remove(casesEntryHospitalQueryWrapper);
+        }else {
+            qcCasesEntry = new QcCasesEntry();
+            BeanUtil.copyProperties(insertByHospitalVO,qcCasesEntry);
+            qcCasesEntry.setGmtCreate(date);
+            qcCasesEntry.setGmtModified(date);
+            qcCacesEntryFacade.save(qcCasesEntry);
+        }
+        //添加分值明细
         List<CasesEntryHospital> casesEntryHospitals = new ArrayList<>();
         CasesEntryHospital casesEntryHospital = new CasesEntryHospital();
         for (CasesEntryHospital casesEntryHospital_new : insertByHospitalVO.getCasesEntryHospitals()) {

+ 4 - 3
mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java

@@ -4,7 +4,7 @@ import com.diagbot.entity.CasesEntryHospital;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -16,15 +16,16 @@ import java.util.List;
 @Setter
 public class InsertByHospitalVO {
 
+    private Long id;
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreate;
+    private Date gmtCreate;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值

+ 1 - 1
mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml

@@ -16,7 +16,7 @@
     </resultMap>
 
     <select id="getAllQcCasesEntry" parameterType="com.diagbot.vo.QcCasesEntryAllVO" resultType="com.diagbot.dto.QcCasesEntryAllDTO">
-        SELECT a.*,c.`name` cases_name FROM `qc_cases_entry` a
+        SELECT a.* FROM `qc_cases_entry` a
         WHERE a.is_deleted = 'N'
         <if test="casesId != null and casesId != ''">
             AND a.cases_id = #{casesId}