Browse Source

对接接口整理

lantone 5 năm trước cách đây
mục cha
commit
ad5e9262d3
62 tập tin đã thay đổi với 1465 bổ sung303 xóa
  1. 3 2
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 3 2
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 3 3
      src/main/java/com/diagbot/dto/data/ABehospitalInfoDTO.java
  4. 2 2
      src/main/java/com/diagbot/dto/data/ADoctorAdviceDTO.java
  5. 1 3
      src/main/java/com/diagbot/dto/data/AHomeOperationDTO.java
  6. 3 4
      src/main/java/com/diagbot/dto/data/AHomePageDTO.java
  7. 2 2
      src/main/java/com/diagbot/dto/data/AMedCrisisDTO.java
  8. 10 0
      src/main/java/com/diagbot/dto/data/AMedicalRecordContentDTO.java
  9. 1 2
      src/main/java/com/diagbot/dto/data/AMedicalRecordDTO.java
  10. 2 0
      src/main/java/com/diagbot/entity/MedicalRecordContent.java
  11. 23 6
      src/main/java/com/diagbot/facade/data/ABasDeptInfoFacade.java
  12. 7 7
      src/main/java/com/diagbot/facade/data/ABasDoctorInfoFacade.java
  13. 78 45
      src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java
  14. 38 13
      src/main/java/com/diagbot/facade/data/ADoctorAdviceFacade.java
  15. 21 7
      src/main/java/com/diagbot/facade/data/AHomeDiagnoseInfoFacade.java
  16. 25 4
      src/main/java/com/diagbot/facade/data/AHomeOperationInfoFacade.java
  17. 126 28
      src/main/java/com/diagbot/facade/data/AHomePageFacade.java
  18. 31 12
      src/main/java/com/diagbot/facade/data/AMedCrisisFacade.java
  19. 21 17
      src/main/java/com/diagbot/facade/data/AMedRecordTypeFacade.java
  20. 25 9
      src/main/java/com/diagbot/facade/data/AMedicalRecordContentFacade.java
  21. 90 80
      src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java
  22. 2 0
      src/main/java/com/diagbot/mapper/BasDeptInfoMapper.java
  23. 6 0
      src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java
  24. 3 1
      src/main/java/com/diagbot/mapper/DoctorAdviceMapper.java
  25. 3 1
      src/main/java/com/diagbot/mapper/HomeDiagnoseInfoMapper.java
  26. 3 1
      src/main/java/com/diagbot/mapper/HomeOperationInfoMapper.java
  27. 6 0
      src/main/java/com/diagbot/mapper/HomePageMapper.java
  28. 3 1
      src/main/java/com/diagbot/mapper/MedCrisisInfoMapper.java
  29. 3 1
      src/main/java/com/diagbot/mapper/MedRecordTypeMapper.java
  30. 3 1
      src/main/java/com/diagbot/mapper/MedicalRecordContentMapper.java
  31. 2 0
      src/main/java/com/diagbot/mapper/MedicalRecordMapper.java
  32. 1 1
      src/main/java/com/diagbot/service/BasDoctorInfoService.java
  33. 4 0
      src/main/java/com/diagbot/service/impl/BasDeptInfoServiceImpl.java
  34. 4 0
      src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java
  35. 9 1
      src/main/java/com/diagbot/service/impl/DoctorAdviceServiceImpl.java
  36. 5 0
      src/main/java/com/diagbot/service/impl/HomeDiagnoseInfoServiceImpl.java
  37. 9 0
      src/main/java/com/diagbot/service/impl/HomeOperationInfoServiceImpl.java
  38. 8 0
      src/main/java/com/diagbot/service/impl/HomePageServiceImpl.java
  39. 5 1
      src/main/java/com/diagbot/service/impl/MedCrisisInfoServiceImpl.java
  40. 5 1
      src/main/java/com/diagbot/service/impl/MedRecordTypeServiceImpl.java
  41. 5 0
      src/main/java/com/diagbot/service/impl/MedicalRecordContentServiceImpl.java
  42. 4 0
      src/main/java/com/diagbot/service/impl/MedicalRecordServiceImpl.java
  43. 3 3
      src/main/java/com/diagbot/util/TZDBConn.java
  44. 3 3
      src/main/java/com/diagbot/vo/data/ABehospitalInfoVO.java
  45. 2 2
      src/main/java/com/diagbot/vo/data/ADoctorAdviceVO.java
  46. 1 3
      src/main/java/com/diagbot/vo/data/AHomeOperationVO.java
  47. 17 0
      src/main/java/com/diagbot/vo/data/AHomePageIngVO.java
  48. 3 4
      src/main/java/com/diagbot/vo/data/AHomePageVO.java
  49. 2 2
      src/main/java/com/diagbot/vo/data/AMedCrisisVO.java
  50. 1 2
      src/main/java/com/diagbot/vo/data/AMedicalRecordVO.java
  51. 34 24
      src/main/java/com/diagbot/web/DataController.java
  52. 30 0
      src/main/resources/mapper/BasDeptInfoMapper.xml
  53. 84 0
      src/main/resources/mapper/BehospitalInfoMapper.xml
  54. 77 0
      src/main/resources/mapper/DoctorAdviceMapper.xml
  55. 36 0
      src/main/resources/mapper/HomeDiagnoseInfoMapper.xml
  56. 48 0
      src/main/resources/mapper/HomeOperationInfoMapper.xml
  57. 387 0
      src/main/resources/mapper/HomePageMapper.xml
  58. 56 0
      src/main/resources/mapper/MedCrisisInfoMapper.xml
  59. 21 0
      src/main/resources/mapper/MedRecordTypeMapper.xml
  60. 23 0
      src/main/resources/mapper/MedicalRecordContentMapper.xml
  61. 27 0
      src/main/resources/mapper/MedicalRecordMapper.xml
  62. 2 2
      src/test/java/com/diagbot/CodeGeneration.java

+ 3 - 2
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -63,14 +63,15 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/data/sendDoctorInfos").permitAll()
                 .antMatchers("/qc/data/sendDeptInfos").permitAll()
                 .antMatchers("/qc/data/sendRecordTypes").permitAll()
-                .antMatchers("/qc/data/sendMedicalRecord").permitAll()
+                .antMatchers("/qc/data/sendMrRecordIng").permitAll()
                 .antMatchers("/qc/data/sendMrContent").permitAll()
+                .antMatchers("/qc/data/sendMrRecord").permitAll()
                 .antMatchers("/qc/data/sendPatientInfo").permitAll()
                 .antMatchers("/qc/data/sendDoctorAdvice").permitAll()
+                .antMatchers("/qc/data/sendHomePageIng").permitAll()
                 .antMatchers("/qc/data/sendHomePage").permitAll()
                 .antMatchers("/qc/data/sendHomeDiagnose").permitAll()
                 .antMatchers("/qc/data/sendHomeOperation").permitAll()
-                .antMatchers("/qc/data/sendMrView").permitAll()
                 .antMatchers("/qc/data/sendCrisis").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();

+ 3 - 2
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -106,14 +106,15 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/data/sendDoctorInfos", request)
                 || matchers("/qc/data/sendDeptInfos", request)
                 || matchers("/qc/data/sendRecordTypes", request)
-                || matchers("/qc/data/sendMedicalRecord", request)
+                || matchers("/qc/data/sendMrRecordIng", request)
                 || matchers("/qc/data/sendMrContent", request)
+                || matchers("/qc/data/sendMrRecord", request)
                 || matchers("/qc/data/sendPatientInfo", request)
                 || matchers("/qc/data/sendDoctorAdvice", request)
+                || matchers("/qc/data/sendHomePageIng", request)
                 || matchers("/qc/data/sendHomePage", request)
                 || matchers("/qc/data/sendHomeDiagnose", request)
                 || matchers("/qc/data/sendHomeOperation", request)
-                || matchers("/qc/data/sendMrView", request)
                 || matchers("/qc/data/sendCrisis", request)
                 || matchers("/", request)) {
             return true;

+ 3 - 3
src/main/java/com/diagbot/dto/data/ABehospitalInfoDTO.java

@@ -32,7 +32,7 @@ public class ABehospitalInfoDTO{
     /**
      * 出生日期
      */
-    private Date birthday;
+    private String birthday;
 
     /**
      * 档案号
@@ -82,12 +82,12 @@ public class ABehospitalInfoDTO{
     /**
      * 入院时间
      */
-    private Date behospitalDate;
+    private String behospitalDate;
 
     /**
      * 出院时间
      */
-    private Date leaveHospitalDate;
+    private String leaveHospitalDate;
 
     /**
      * 疾病ICD编码

+ 2 - 2
src/main/java/com/diagbot/dto/data/ADoctorAdviceDTO.java

@@ -82,7 +82,7 @@ public class ADoctorAdviceDTO {
     /**
      * 医嘱开始时间
      */
-    private Date daStartDate;
+    private String daStartDate;
 
     /**
      * 医嘱项目名称
@@ -97,7 +97,7 @@ public class ADoctorAdviceDTO {
     /**
      * 医嘱结束时间
      */
-    private Date daStopDate;
+    private String daStopDate;
 
     /**
      * 医嘱同组序号

+ 1 - 3
src/main/java/com/diagbot/dto/data/AHomeOperationDTO.java

@@ -1,7 +1,5 @@
 package com.diagbot.dto.data;
 
-import java.util.Date;
-
 import lombok.Getter;
 import lombok.Setter;
 
@@ -26,7 +24,7 @@ public class AHomeOperationDTO {
     /**
      * 手术日期
      */
-    private Date operationDate;
+    private String operationDate;
 
     /**
      * 手术编码

+ 3 - 4
src/main/java/com/diagbot/dto/data/AHomePageDTO.java

@@ -1,6 +1,5 @@
 package com.diagbot.dto.data;
 
-import java.util.Date;
 import java.util.List;
 
 import com.diagbot.vo.data.AHomeDiagnoseVO;
@@ -209,7 +208,7 @@ public class AHomePageDTO {
     /**
      * 入院时间
      */
-    private Date behospitalDate;
+    private String behospitalDate;
 
     /**
      * 入院科别
@@ -239,7 +238,7 @@ public class AHomePageDTO {
     /**
      * 出院时间
      */
-    private Date leaveHospitalDate;
+    private String leaveHospitalDate;
 
     /**
      * 出院科别
@@ -384,7 +383,7 @@ public class AHomePageDTO {
     /**
      * 质控日期
      */
-    private Date qcDate;
+    private String qcDate;
 
     /**
      * 离院方式

+ 2 - 2
src/main/java/com/diagbot/dto/data/AMedCrisisDTO.java

@@ -83,10 +83,10 @@ public class AMedCrisisDTO {
     /**
      * 送检时间
      */
-    private Date sendDate;
+    private String sendDate;
 
     /**
      * 报告时间
      */
-    private Date repDate;
+    private String repDate;
 }

+ 10 - 0
src/main/java/com/diagbot/dto/data/AMedicalRecordContentDTO.java

@@ -27,4 +27,14 @@ public class AMedicalRecordContentDTO {
      * 病历文本(文本)
      */
     private String contentText;
+
+    /**
+     * html文本信息
+     */
+    private String htmlText;
+
+    /**
+     * xml文本信息
+     */
+    private String xmlText;
 }

+ 1 - 2
src/main/java/com/diagbot/dto/data/AMedicalRecordDTO.java

@@ -4,7 +4,6 @@ import com.diagbot.vo.data.AMedicalRecordContentVO;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.Date;
 import java.util.List;
 
 @Getter
@@ -40,7 +39,7 @@ public class AMedicalRecordDTO {
     /**
      * 病历标题
      */
-    private Date recTitle;
+    private String recTitle;
 
     /**
      * 病历内容

+ 2 - 0
src/main/java/com/diagbot/entity/MedicalRecordContent.java

@@ -17,6 +17,8 @@ import java.util.Date;
  * @author zhoutg
  * @since 2020-04-13
  */
+@TableName("med_medical_record_content")
+@Data
 public class MedicalRecordContent implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 23 - 6
src/main/java/com/diagbot/facade/data/ABasDeptInfoFacade.java

@@ -8,6 +8,8 @@ import com.diagbot.service.impl.BasDeptInfoServiceImpl;
 import com.diagbot.vo.data.ABasDeptInfoVO;
 import com.diagbot.util.BeanUtil;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -16,6 +18,10 @@ import java.util.List;
 @Component
 public class ABasDeptInfoFacade extends BasDeptInfoServiceImpl{
 
+    @Autowired
+    @Qualifier("basDeptInfoServiceImpl")
+    private BasDeptInfoServiceImpl basDeptInfoService;
+
     /**
      * 通过接口同步数据
      * @param list
@@ -46,18 +52,29 @@ public class ABasDeptInfoFacade extends BasDeptInfoServiceImpl{
     }
 
     public void execute(List<BasDeptInfo> basDeptInfoList){
+        long startTime=System.currentTimeMillis();
+        List<BasDeptInfo> addE=Lists.newArrayList();
+        List<BasDeptInfo> updateE=Lists.newArrayList();
         basDeptInfoList.stream().forEach(s -> {
-            QueryWrapper<BasDeptInfo> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("dept_id", s.getDeptId());
-            queryWrapper.eq("hospital_id", s.getHospitalId());
-            BasDeptInfo basDeptInfo = this.getOne(queryWrapper);
+            BasDeptInfo basDeptInfo =this.getOne(new QueryWrapper<BasDeptInfo>()
+            .eq("dept_id", s.getDeptId())
+            .eq("hospital_id", s.getHospitalId()));
             if (basDeptInfo != null) {
                 s.setGmtModified(new Date());
-                this.update(s,queryWrapper);
+                updateE.add(s);
             } else {
                 s.setGmtCreate(new Date());
-                this.save(s);
+                addE.add(s);
             }
         });
+        if(updateE.size()>0){
+            basDeptInfoService.updateBatchByKey(updateE);
+        }
+        if(addE.size()>0){
+            basDeptInfoService.saveBatch(addE);
+        }
+
+        long endTime=System.currentTimeMillis();
+        System.out.println("程序运行时间: "+(endTime - startTime)+"ms");
     }
 }

+ 7 - 7
src/main/java/com/diagbot/facade/data/ABasDoctorInfoFacade.java

@@ -48,21 +48,18 @@ public class ABasDoctorInfoFacade extends BasDoctorInfoServiceImpl {
     }
 
     public void execute(List<BasDoctorInfo> basDoctorInfoList){
+        long startTime=System.currentTimeMillis();
         List<BasDoctorInfo> addE=Lists.newArrayList();
         List<BasDoctorInfo> updateE=Lists.newArrayList();
-
         basDoctorInfoList.stream().forEach(s -> {
-            QueryWrapper<BasDoctorInfo> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("doctor_id", s.getDoctorId());
-            queryWrapper.eq("hospital_id", s.getHospitalId());
-            BasDoctorInfo basDoctorInfo = this.getOne(queryWrapper);
+            BasDoctorInfo basDoctorInfo =this.baseMapper.selectOne(new QueryWrapper<BasDoctorInfo>()
+                    .eq("doctor_id", s.getDoctorId())
+                    .eq("hospital_id", s.getHospitalId()));
             if (basDoctorInfo != null) {
                 s.setGmtModified(new Date());
                 updateE.add(s);
-                //basDoctorInfoService.update(s,queryWrapper);
             } else {
                 s.setGmtCreate(new Date());
-                //this.save(s);
                 addE.add(s);
             }
         });
@@ -72,5 +69,8 @@ public class ABasDoctorInfoFacade extends BasDoctorInfoServiceImpl {
         if(addE.size()>0){
             basDoctorInfoService.saveBatch(addE);
         }
+
+        long endTime=System.currentTimeMillis();
+        System.out.println("程序运行时间: "+(endTime - startTime)+"ms");
     }
 }

+ 78 - 45
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -9,9 +9,12 @@ import com.diagbot.facade.QcAbnormalFacade;
 import com.diagbot.facade.QcTypeFacade;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.data.ABehospitalInfoVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +23,10 @@ import java.util.List;
 @Component
 public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
+    @Autowired
+    @Qualifier("behospitalInfoServiceImpl")
+    private BehospitalInfoServiceImpl behospitalInfoService;
+
     @Autowired
     private QcTypeFacade qcTypeFacade;
 
@@ -39,8 +46,21 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
         if(list!=null && list.size()>0) {
             List<BehospitalInfo> behospitalInfoList = Lists.newArrayList();
             List<ABehospitalInfoDTO> behospitalInfoDtoList = Lists.newArrayList();
-            behospitalInfoList = BeanUtil.listCopyTo(list, BehospitalInfo.class);
-            behospitalInfoDtoList = BeanUtil.listCopyTo(list, ABehospitalInfoDTO.class);
+            list.stream().forEach(s->{
+                BehospitalInfo behospitalInfo=new BehospitalInfo();
+                BeanUtil.copyProperties(s,behospitalInfo);
+                if(StringUtil.isNotBlank(s.getBirthday())) {
+                    behospitalInfo.setBirthday(DateUtil.parseDate(s.getBirthday()));
+                }
+                if(StringUtil.isNotBlank(s.getLeaveHospitalDate())) {
+                    behospitalInfo.setLeaveHospitalDate(DateUtil.parseDateTime(s.getLeaveHospitalDate()));
+                }
+                if(StringUtil.isNotBlank(s.getBehospitalDate())){
+                    behospitalInfo.setBehospitalDate(DateUtil.parseDateTime(s.getBehospitalDate()));
+                }
+                behospitalInfoList.add(behospitalInfo);
+
+            });
 
             //循环验证数据有效性
             for (BehospitalInfo behospitalInfo:behospitalInfoList) {
@@ -55,63 +75,76 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 }
             }
             execute(behospitalInfoList);
+            behospitalInfoDtoList = BeanUtil.listCopyTo(list, ABehospitalInfoDTO.class);
             return RespDTO.onSuc(behospitalInfoDtoList);
         }else{
             return RespDTO.onError("未接收到数据!");
         }
     }
 
-
     public void execute(List<BehospitalInfo> behospitalInfoList){
-        List<BehospitalInfo> add = Lists.newLinkedList();
+        List<BehospitalInfo> addE = Lists.newLinkedList();
         List<BehospitalInfo> updateE = Lists.newLinkedList();
         behospitalInfoList.stream().forEach(s -> {
-            QueryWrapper<MedicalRecord> wrapper = new QueryWrapper<>();
-            wrapper.eq("behospital_code", s.getBehospitalCode());
-            wrapper.eq("hospital_id", s.getHospitalId());
-            wrapper.eq("mode_id", Long.valueOf("1"));
-            MedicalRecord medicalRecord = aMedicalRecordFacade.getOne(wrapper);
-            if(medicalRecord!=null){
-                QueryWrapper<QcType> qWrapper =new QueryWrapper<>();
-                qWrapper.eq("name",medicalRecord.getRecTitle());
-                qWrapper.eq("hospital_id", s.getHospitalId());
-                QcType qcType=qcTypeFacade.getOne(qWrapper);
-                if(qcType!=null){
-                    s.setQcTypeId(qcType.getId());
-                }else{
-                    //新增类型到qc_type表中
-                    QcType qctype=new QcType();
-                    qctype.setHospitalId(s.getHospitalId());
-                    qctype.setName(medicalRecord.getRecTitle());
-                    qctype.setRemark("台州");
-                    qctype.setGmtCreate(new Date());
-
-                    Long id=qcTypeFacade.saveT(qctype);
-                    s.setQcTypeId(id);
-
-                    //新增类型到监测表中
-                    QcAbnormal qcAbnormal=new QcAbnormal();
-                    qcAbnormal.setHospitalId(s.getHospitalId());
-                    qcAbnormal.setBehospitalCode(s.getBehospitalCode());
-                    qcAbnormal.setType(2);
-                    qcAbnormal.setDescription(medicalRecord.getRecTitle());
-                    qcAbnormal.setGmtCreate(new Date());
-                    qcAbnormalFacade.getBaseMapper().insert(qcAbnormal);
-                }
-            }
-
-            QueryWrapper<BehospitalInfo> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("behospital_code", s.getBehospitalCode());
-            queryWrapper.eq("hospital_id", s.getHospitalId());
-            queryWrapper.eq("is_deleted",IsDeleteEnum.N);
-            BehospitalInfo behospitalInfo = this.getOne(queryWrapper);
+            BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
+            .eq("behospital_code", s.getBehospitalCode())
+            .eq("hospital_id", s.getHospitalId()));
             if (behospitalInfo != null) {
                 s.setGmtModified(new Date());
-                this.update(s,queryWrapper);
+                s.setQcTypeId(initQcTypeId(s));
+                updateE.add(s);
             } else {
                 s.setGmtCreate(new Date());
-                this.save(s);
+                s.setQcTypeId(initQcTypeId(s));
+                addE.add(s);
             }
         });
+        if(addE.size()>0){
+            behospitalInfoService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            behospitalInfoService.updateBatchByKey(updateE);
+        }
+
+    }
+
+    /**
+     * 初始化QcTypeId
+     * @param s
+     * @return
+     */
+    private Long initQcTypeId(BehospitalInfo s){
+        Long qcTypeId=Long.valueOf("0");
+        MedicalRecord medicalRecord = aMedicalRecordFacade.getOne(new QueryWrapper<MedicalRecord>()
+                .eq("behospital_code", s.getBehospitalCode())
+                .eq("hospital_id", s.getHospitalId())
+                .eq("mode_id", Long.valueOf("1")));
+        if(medicalRecord!=null){
+            QcType qcType=qcTypeFacade.getOne(new QueryWrapper<QcType>()
+                    .eq("name",medicalRecord.getRecTitle())
+                    .eq("hospital_id", s.getHospitalId()));
+            if(qcType!=null){
+                qcTypeId=qcType.getId();
+            }else{
+                //新增类型到qc_type表中
+                QcType qctype=new QcType();
+                qctype.setHospitalId(s.getHospitalId());
+                qctype.setName(medicalRecord.getRecTitle());
+                qctype.setGmtCreate(new Date());
+
+                Long id=qcTypeFacade.saveT(qctype);
+                qcTypeId=id;
+
+                //新增类型到监测表中
+                QcAbnormal qcAbnormal=new QcAbnormal();
+                qcAbnormal.setHospitalId(s.getHospitalId());
+                qcAbnormal.setBehospitalCode(s.getBehospitalCode());
+                qcAbnormal.setType(2);
+                qcAbnormal.setDescription(medicalRecord.getRecTitle());
+                qcAbnormal.setGmtCreate(new Date());
+                qcAbnormalFacade.getBaseMapper().insert(qcAbnormal);
+            }
+        }
+        return qcTypeId;
     }
 }

+ 38 - 13
src/main/java/com/diagbot/facade/data/ADoctorAdviceFacade.java

@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ADoctorAdviceDTO;
 import com.diagbot.entity.DoctorAdvice;
-import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.DoctorAdviceServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.data.ADoctorAdviceVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -16,6 +19,10 @@ import java.util.List;
 
 @Component
 public class ADoctorAdviceFacade extends DoctorAdviceServiceImpl{
+
+    @Autowired
+    @Qualifier("doctorAdviceServiceImpl")
+    private DoctorAdviceServiceImpl doctorAdviceService;
     /**
      * 数据引擎-通过接口更新医生医嘱信息
      * @param list
@@ -23,12 +30,8 @@ public class ADoctorAdviceFacade extends DoctorAdviceServiceImpl{
      */
     public RespDTO<List<ADoctorAdviceDTO>> executeDoctorAdvice(List<ADoctorAdviceVO> list) {
         if(list!=null && list.size()>0){
-            List<DoctorAdvice> doctorAdviceList=Lists.newArrayList();
-            List<ADoctorAdviceDTO> doctorAdviceDtoList=Lists.newArrayList();
-            doctorAdviceList=BeanUtil.listCopyTo(list,DoctorAdvice.class);
-            doctorAdviceDtoList=BeanUtil.listCopyTo(list,ADoctorAdviceDTO.class);
             //循环验证数据有效性
-            for (DoctorAdvice doctorAdvice:doctorAdviceList) {
+            for (ADoctorAdviceVO doctorAdvice:list) {
                 if("".equals(doctorAdvice.getDoctorAdviceId())) {
                     return RespDTO.onError("请输入病人医嘱编码!");
                 }else if(doctorAdvice.getHospitalId()==null){
@@ -37,7 +40,22 @@ public class ADoctorAdviceFacade extends DoctorAdviceServiceImpl{
                     return RespDTO.onError("请输入病人住院编码!");
                 }
             }
+            //初始、格式化数据
+            List<DoctorAdvice> doctorAdviceList=Lists.newArrayList();
+            List<ADoctorAdviceDTO> doctorAdviceDtoList=Lists.newArrayList();
+            list.stream().forEach(s->{
+                DoctorAdvice doctorAdvice=new DoctorAdvice();
+                BeanUtil.copyProperties(s,doctorAdvice);
+                if(StringUtil.isNotBlank(s.getDaStartDate())){
+                    doctorAdvice.setDaStartDate(DateUtil.parseDateTime(s.getDaStartDate()));
+                }
+                if(StringUtil.isNotBlank(s.getDaStopDate())){
+                    doctorAdvice.setDaStopDate(DateUtil.parseDateTime(s.getDaStopDate()));
+                }
+                doctorAdviceList.add(doctorAdvice);
+            });
             execute(doctorAdviceList);
+            doctorAdviceDtoList=BeanUtil.listCopyTo(list,ADoctorAdviceDTO.class);
             return RespDTO.onSuc(doctorAdviceDtoList);
         }else{
             return RespDTO.onError("未接收到数据!");
@@ -45,21 +63,28 @@ public class ADoctorAdviceFacade extends DoctorAdviceServiceImpl{
     }
 
     public void execute(List<DoctorAdvice> doctorAdviceList){
+        List<DoctorAdvice> addE = Lists.newLinkedList();
+        List<DoctorAdvice> updateE = Lists.newLinkedList();
         if (doctorAdviceList != null && doctorAdviceList.size() > 0) {
             doctorAdviceList.stream().forEach(s -> {
-                QueryWrapper<DoctorAdvice> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("doctor_advice_id", s.getDoctorAdviceId());
-                queryWrapper.eq("hospital_id", s.getHospitalId());
-                queryWrapper.eq("is_deleted",IsDeleteEnum.N);
-                DoctorAdvice doctorAdvice = this.getOne(queryWrapper);
+                DoctorAdvice doctorAdvice = this.getOne(new QueryWrapper<DoctorAdvice>()
+                        .eq("doctor_advice_id", s.getDoctorAdviceId())
+                        .eq("hospital_id", s.getHospitalId())
+                        .eq("behospital_code",s.getBehospitalCode()));
                 if (doctorAdvice != null) {
                     s.setGmtModified(new Date());
-                    this.update(s,queryWrapper);
+                    updateE.add(s);
                 } else {
                     s.setGmtCreate(new Date());
-                    this.save(s);
+                    addE.add(s);
                 }
             });
         }
+        if(addE.size()>0){
+            doctorAdviceService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            doctorAdviceService.updateBatchByKey(updateE);
+        }
     }
 }

+ 21 - 7
src/main/java/com/diagbot/facade/data/AHomeDiagnoseInfoFacade.java

@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AHomeDiagnoseDTO;
 import com.diagbot.entity.HomeDiagnoseInfo;
+import com.diagbot.entity.MedRecordType;
 import com.diagbot.service.impl.HomeDiagnoseInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.data.AHomeDiagnoseVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -15,6 +18,10 @@ import java.util.List;
 
 @Component
 public class AHomeDiagnoseInfoFacade extends HomeDiagnoseInfoServiceImpl{
+
+    @Autowired
+    @Qualifier("homeDiagnoseInfoServiceImpl")
+    private HomeDiagnoseInfoServiceImpl homeDiagnoseInfoService;
     /**
      * 数据引擎-通过接口更新病案首页诊断
      * @param list
@@ -35,23 +42,30 @@ public class AHomeDiagnoseInfoFacade extends HomeDiagnoseInfoServiceImpl{
     }
 
     public void execute(List<HomeDiagnoseInfo> homeDiagnoseList){
+        List<HomeDiagnoseInfo> addE = Lists.newLinkedList();
+        List<HomeDiagnoseInfo> updateE = Lists.newLinkedList();
         if (homeDiagnoseList != null && homeDiagnoseList.size() > 0) {
             homeDiagnoseList.stream().forEach(s -> {
                 if(s.getHomePageId()!=null && !"".equals(s.getDiagnoseOrderNo())){
-                    QueryWrapper<HomeDiagnoseInfo> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("home_page_id", s.getHomePageId());
-                    queryWrapper.eq("hospital_id", s.getHospitalId());
-                    queryWrapper.eq("diagnose_order_no", s.getDiagnoseOrderNo());
-                    HomeDiagnoseInfo diagnoseInfo = this.getOne(queryWrapper);
+                    HomeDiagnoseInfo diagnoseInfo = this.getOne(new QueryWrapper<HomeDiagnoseInfo>()
+                            .eq("home_page_id", s.getHomePageId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("diagnose_order_no", s.getDiagnoseOrderNo()));
                     if (diagnoseInfo != null) {
                         s.setGmtModified(new Date());
-                        this.update(s,queryWrapper);
+                        updateE.add(s);
                     } else {
                         s.setGmtCreate(new Date());
-                        this.save(s);
+                        addE.add(s);
                     }
                 }
             });
         }
+        if(addE.size()>0){
+            homeDiagnoseInfoService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            homeDiagnoseInfoService.updateBatchByKey(updateE);
+        }
     }
 }

+ 25 - 4
src/main/java/com/diagbot/facade/data/AHomeOperationInfoFacade.java

@@ -5,8 +5,11 @@ import com.diagbot.dto.data.AHomeOperationDTO;
 import com.diagbot.entity.HomeOperationInfo;
 import com.diagbot.service.impl.HomeOperationInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.vo.data.AHomeOperationVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -14,8 +17,13 @@ import java.util.List;
 
 @Component
 public class AHomeOperationInfoFacade extends HomeOperationInfoServiceImpl{
+
+    @Autowired
+    @Qualifier("homeOperationInfoServiceImpl")
+    private HomeOperationInfoServiceImpl homeOperationInfoService;
+
     /**
-     * 数据引擎-通过接口更新病案首页手术
+     * 终末质控-通过接口更新病案首页手术
      * @param list
      * @return
      */
@@ -23,7 +31,12 @@ public class AHomeOperationInfoFacade extends HomeOperationInfoServiceImpl{
         List<HomeOperationInfo> homeOperationList=Lists.newArrayList();
         List<AHomeOperationDTO> homeOperationDtoList=Lists.newArrayList();
         if(list!=null && list.size()>0){
-            homeOperationList=BeanUtil.listCopyTo(list,HomeOperationInfo.class);
+            list.stream().forEach(s->{
+                HomeOperationInfo homeOperationInfo=new HomeOperationInfo();
+                BeanUtil.copyProperties(s,homeOperationInfo);
+                homeOperationInfo.setOperationDate(DateUtil.parseDateTime(s.getOperationDate()));
+                homeOperationList.add(homeOperationInfo);
+            });
             homeOperationDtoList=BeanUtil.listCopyTo(list,AHomeOperationDTO.class);
             execute(homeOperationList);
         }
@@ -31,6 +44,8 @@ public class AHomeOperationInfoFacade extends HomeOperationInfoServiceImpl{
     }
 
     public void execute(List<HomeOperationInfo> homeOperationList){
+        List<HomeOperationInfo> addE = Lists.newLinkedList();
+        List<HomeOperationInfo> updateE = Lists.newLinkedList();
         if (homeOperationList != null && homeOperationList.size() > 0) {
             homeOperationList.stream().forEach(s -> {
                 if(s.getHomePageId()!=null && !"".equals(s.getOperationOrderNo())) {
@@ -41,13 +56,19 @@ public class AHomeOperationInfoFacade extends HomeOperationInfoServiceImpl{
                     HomeOperationInfo operationInfo = this.getOne(queryWrapper);
                     if (operationInfo != null) {
                         s.setGmtModified(new Date());
-                        this.update(s,queryWrapper);
+                        updateE.add(s);
                     } else {
                         s.setGmtCreate(new Date());
-                        this.save(s);
+                        addE.add(s);
                     }
                 }
             });
         }
+        if(addE.size()>0){
+            homeOperationInfoService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            homeOperationInfoService.updateBatchByKey(updateE);
+        }
     }
 }

+ 126 - 28
src/main/java/com/diagbot/facade/data/AHomePageFacade.java

@@ -6,37 +6,54 @@ import com.diagbot.dto.data.AHomePageDTO;
 import com.diagbot.entity.HomeDiagnoseInfo;
 import com.diagbot.entity.HomeOperationInfo;
 import com.diagbot.entity.HomePage;
+import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.service.impl.HomePageServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ReadProperties;
+import com.diagbot.vo.AnalyzeApiVO;
 import com.diagbot.vo.data.AHomeDiagnoseVO;
 import com.diagbot.vo.data.AHomeOperationVO;
+import com.diagbot.vo.data.AHomePageIngVO;
 import com.diagbot.vo.data.AHomePageVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Component
 public class AHomePageFacade extends HomePageServiceImpl{
 
+    @Autowired
+    @Qualifier("homePageServiceImpl")
+    private HomePageServiceImpl homePageService;
+
     @Autowired
     private AHomeDiagnoseInfoFacade aHomeDiagnoseInfoFacade;
 
     @Autowired
     private AHomeOperationInfoFacade aHomeOperationInfoFacade;
 
+    @Autowired
+    private BehospitalInfoFacade behospitalInfoFacade;
+
+    @Autowired
+    private ReadProperties readProperties;
+
     /**
-     * 数据引擎-通过接口更新病案首页
-     * @param list
+     * 运行质控-验证数据有效性
+     * @param aHomePageIngVO
      * @return
      */
-    public RespDTO<List<AHomePageDTO>> executeHomePage(List<AHomePageVO> list) {
-        if(list!=null && list.size()>0){
-            //循环验证数据有效性
-            for (AHomePageVO aHomePageVO:list) {
+    public RespDTO<Map<String, Object>> executeHomePageIng(AHomePageIngVO aHomePageIngVO){
+        if(aHomePageIngVO.getHomePages()!=null && aHomePageIngVO.getHomePages().size()>0){
+            //验证数据有效性
+            for (AHomePageVO aHomePageVO:aHomePageIngVO.getHomePages()) {
                 if("".equals(aHomePageVO.getHomePageId())) {
                     return RespDTO.onError("请输入病案首页编号!");
                 }else if(aHomePageVO.getHospitalId()==null){
@@ -70,35 +87,109 @@ public class AHomePageFacade extends HomePageServiceImpl{
                     }
                 }
             }
+
+            //装载数据
+            updateHomePageIng(aHomePageIngVO);
+            //评分后返回结构体
+            return homePageIng(aHomePageIngVO);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    /**
+     * 更新数据到数据库
+     * @param aHomePageIngVO
+     */
+    private void updateHomePageIng(AHomePageIngVO aHomePageIngVO){
+        List<HomePage> homePageList=Lists.newArrayList();
+        aHomePageIngVO.getHomePages().stream().forEach(s->{
+            //初始化入参
+            HomePage homePage=new HomePage();
+            BeanUtil.copyProperties(s,homePage);
+            homePage.setBirthday(DateUtil.parseDate(s.getBirthday()));
+            homePageList.add(homePage);
+
+            //初始化诊断和手术,并同步到数据库
+            aHomeDiagnoseInfoFacade.executeHomeDiagnose(s.getLeaveDiags());//首页诊断
+            aHomeOperationInfoFacade.executeHomeOperation(s.getOperations());//首页手术
+        });
+        execute(homePageList);
+    }
+
+    /**
+     * 评分后返回结构体
+     * @param aHomePageIngVO
+     * @return
+     */
+    private RespDTO<Map<String, Object>> homePageIng(AHomePageIngVO aHomePageIngVO){
+        String behospitalCode =aHomePageIngVO.getHomePages().get(0).getBehospitalCode();
+        Long hospitalId=aHomePageIngVO.getHomePages().get(0).getHospitalId();
+        Long modeId=Long.valueOf("6");//病案首页默认为6
+        if(aHomePageIngVO.getDockModeType().equals("1")){
+            //页面模式
+            String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
+            Map<String,Object> map=new HashMap<String,Object>();
+            map.put("url",url);
+            return RespDTO.onSuc(map);
+        }else if(aHomePageIngVO.getDockModeType().equals("2")){
+            AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
+            analyzeApiVO.setBehospitalCode(behospitalCode);
+            analyzeApiVO.setHospitalId(hospitalId);
+            Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
+            //接口引擎模式
+            return RespDTO.onSuc(map);
+        }else{
+            //页面模式+接口引擎模式
+            String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
+
+            AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
+            analyzeApiVO.setBehospitalCode(behospitalCode);
+            analyzeApiVO.setHospitalId(hospitalId);
+            Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
+
+            map.put("url",url);
+
+            return RespDTO.onSuc(map);
+        }
+    }
+
+
+    /**
+     * 终末质控-通过接口更新病案首页
+     * @param list
+     * @return
+     */
+    public RespDTO<List<AHomePageDTO>> executeHomePage(List<AHomePageVO> list) {
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (AHomePageVO aHomePageVO:list) {
+                if("".equals(aHomePageVO.getHomePageId())) {
+                    return RespDTO.onError("请输入病案首页编号!");
+                }else if(aHomePageVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(aHomePageVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
             //装载数据
             List<HomePage> homePageList=Lists.newArrayList();
-            List<AHomePageDTO> homePageDtoList=Lists.newArrayList();
             list.stream().forEach(s->{
                 //初始化入参
                 HomePage homePage=new HomePage();
                 BeanUtil.copyProperties(s,homePage);
                 homePage.setBirthday(DateUtil.parseDate(s.getBirthday()));
+                homePage.setBehospitalDate(DateUtil.parseDateTime(s.getBehospitalDate()));
+                homePage.setLeaveHospitalDate(DateUtil.parseDateTime(s.getLeaveHospitalDate()));
+                homePage.setQcDate(DateUtil.parseDateTime(s.getQcDate()));
                 homePageList.add(homePage);
-
-                //初始化出参
-                AHomePageDTO aHomePageDTO=new AHomePageDTO();
-                BeanUtil.copyProperties(s,aHomePageDTO);
-                homePageDtoList.add(aHomePageDTO);
-
-                //初始化诊断和手术,并同步到数据库
-                List<HomeDiagnoseInfo> homeDiagnoseList=BeanUtil.listCopyTo(s.getLeaveDiags(),HomeDiagnoseInfo.class);
-                List<HomeOperationInfo> homeOperationList=BeanUtil.listCopyTo(s.getOperations(),HomeOperationInfo.class);
-
-                aHomeDiagnoseInfoFacade.execute(homeDiagnoseList);//首页诊断
-                aHomeOperationInfoFacade.execute(homeOperationList);//首页手术
             });
             execute(homePageList);
-
+            List<AHomePageDTO> homePageDtoList=BeanUtil.listCopyTo(list,AHomePageDTO.class);
             return RespDTO.onSuc(homePageDtoList);
         }else{
             return RespDTO.onError("未接收到数据!");
         }
-
     }
 
     /**
@@ -106,21 +197,28 @@ public class AHomePageFacade extends HomePageServiceImpl{
      * @param homePageList
      */
     public void execute(List<HomePage> homePageList){
+        List<HomePage> addE = Lists.newLinkedList();
+        List<HomePage> updateE = Lists.newLinkedList();
         if (homePageList != null && homePageList.size() > 0) {
             homePageList.stream().forEach(s -> {
-                QueryWrapper<HomePage> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("home_page_id", s.getHomePageId());
-                queryWrapper.eq("hospital_id", s.getHospitalId());
-                queryWrapper.eq("behospital_code", s.getBehospitalCode());
-                HomePage homePage = this.getOne(queryWrapper);
+                HomePage homePage = this.getOne(new QueryWrapper<HomePage>()
+                        .eq("home_page_id", s.getHomePageId())
+                        .eq("hospital_id", s.getHospitalId())
+                        .eq("behospital_code", s.getBehospitalCode()));
                 if (homePage != null) {
                     s.setGmtModified(new Date());
-                    this.update(s,queryWrapper);
+                    updateE.add(s);
                 } else {
                     s.setGmtCreate(new Date());
-                    this.save(s);
+                    addE.add(s);
                 }
             });
         }
+        if(addE.size()>0){
+            homePageService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            homePageService.updateBatchByKey(updateE);
+        }
     }
 }

+ 31 - 12
src/main/java/com/diagbot/facade/data/AMedCrisisFacade.java

@@ -6,8 +6,11 @@ import com.diagbot.dto.data.AMedCrisisDTO;
 import com.diagbot.entity.MedCrisisInfo;
 import com.diagbot.service.impl.MedCrisisInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.vo.data.AMedCrisisVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -16,6 +19,10 @@ import java.util.List;
 @Component
 public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
 
+    @Autowired
+    @Qualifier("medCrisisInfoServiceImpl")
+    private MedCrisisInfoServiceImpl medCrisisInfoService;
+
     public RespDTO<List<AMedCrisisDTO>> executeMedCrisis(List<AMedCrisisVO> list) {
         if(list!=null && list.size()>0){
             //循环验证数据有效性
@@ -32,11 +39,16 @@ public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
             }
 
             List<MedCrisisInfo> medCrisisList=Lists.newArrayList();
-            List<AMedCrisisDTO> medCrisisDtoList=Lists.newArrayList();
-
-            medCrisisList=BeanUtil.listCopyTo(list,MedCrisisInfo.class);
-            medCrisisDtoList=BeanUtil.listCopyTo(list,AMedCrisisDTO.class);
+            list.stream().forEach(s->{
+                MedCrisisInfo medCrisisInfo=new MedCrisisInfo();
+                BeanUtil.copyProperties(s,medCrisisInfo);
+                medCrisisInfo.setRepDate(DateUtil.parseDateTime(s.getRepDate()));
+                medCrisisInfo.setSendDate(DateUtil.parseDateTime(s.getSendDate()));
+                medCrisisList.add(medCrisisInfo);
+            });
             execute(medCrisisList);
+
+            List<AMedCrisisDTO> medCrisisDtoList=BeanUtil.listCopyTo(list,AMedCrisisDTO.class);
             return RespDTO.onSuc(medCrisisDtoList);
         }else{
             return RespDTO.onError("未接收到数据!");
@@ -44,22 +56,29 @@ public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
     }
 
     public void execute(List<MedCrisisInfo> medCrisisList){
+        List<MedCrisisInfo> addE = Lists.newLinkedList();
+        List<MedCrisisInfo> updateE = Lists.newLinkedList();
         if (medCrisisList != null && medCrisisList.size() > 0) {
             medCrisisList.stream().forEach(s -> {
-                QueryWrapper<MedCrisisInfo> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("rec_id", s.getRecId());
-                queryWrapper.eq("hospital_id", s.getHospitalId());
-                queryWrapper.eq("behospital_code", s.getBehospitalCode());
-                queryWrapper.eq("rec_type", s.getRecType());
-                MedCrisisInfo medCrisisInfo = this.getOne(queryWrapper);
+                MedCrisisInfo medCrisisInfo = this.getOne(new QueryWrapper<MedCrisisInfo>()
+                .eq("rec_id", s.getRecId())
+                .eq("hospital_id", s.getHospitalId())
+                .eq("behospital_code", s.getBehospitalCode())
+                .eq("rec_type", s.getRecType()));
                 if (medCrisisInfo != null) {
                     s.setGmtModified(new Date());
-                    this.update(s,queryWrapper);
+                    updateE.add(s);
                 } else {
                     s.setGmtCreate(new Date());
-                    this.save(s);
+                    addE.add(s);
                 }
             });
         }
+        if(addE.size()>0){
+            medCrisisInfoService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            medCrisisInfoService.updateBatchByKey(updateE);
+        }
     }
 }

+ 21 - 17
src/main/java/com/diagbot/facade/data/AMedRecordTypeFacade.java

@@ -19,6 +19,10 @@ import java.util.List;
 
 @Component
 public class AMedRecordTypeFacade extends MedRecordTypeServiceImpl {
+
+    @Autowired
+    @Qualifier("medRecordTypeServiceImpl")
+    private MedRecordTypeServiceImpl medRecordTypeService;
     /**
      * 数据引擎-通过接口更新病人住院记录信息
      * @param list
@@ -26,12 +30,8 @@ public class AMedRecordTypeFacade extends MedRecordTypeServiceImpl {
      */
     public RespDTO<List<AMedicalRecordTypeDTO>> executeMRType(List<AMedicalRecordTypeVO> list) {
         if(list!=null && list.size()>0){
-            List<MedRecordType> medRecordTypeList=Lists.newArrayList();
-            List<AMedicalRecordTypeDTO> medRecordTypeDtoList=Lists.newArrayList();
-            medRecordTypeList=BeanUtil.listCopyTo(list,MedRecordType.class);
-            medRecordTypeDtoList=BeanUtil.listCopyTo(list,AMedicalRecordTypeDTO.class);
             //循环验证数据有效性
-            for (MedRecordType medRecordType:medRecordTypeList) {
+            for (AMedicalRecordTypeVO medRecordType:list) {
                 if("".equals(medRecordType.getTypeId())) {
                     return RespDTO.onError("请输入文书类型编码!");
                 }else if(medRecordType.getHospitalId()==null){
@@ -40,6 +40,10 @@ public class AMedRecordTypeFacade extends MedRecordTypeServiceImpl {
                     return RespDTO.onError("请文书类型名称!");
                 }
             }
+            List<MedRecordType> medRecordTypeList=Lists.newArrayList();
+            List<AMedicalRecordTypeDTO> medRecordTypeDtoList=Lists.newArrayList();
+            medRecordTypeList=BeanUtil.listCopyTo(list,MedRecordType.class);
+            medRecordTypeDtoList=BeanUtil.listCopyTo(list,AMedicalRecordTypeDTO.class);
             execute(medRecordTypeList);
             return RespDTO.onSuc(medRecordTypeDtoList);
         }else{
@@ -47,26 +51,26 @@ public class AMedRecordTypeFacade extends MedRecordTypeServiceImpl {
         }
     }
 
-    public void executeMRTypePort(){
-
-    }
-
     public void execute(List<MedRecordType> medRecordTypeList){
-        List<MedRecordType> add = Lists.newLinkedList();
+        List<MedRecordType> addE = Lists.newLinkedList();
         List<MedRecordType> updateE = Lists.newLinkedList();
         if (medRecordTypeList != null && medRecordTypeList.size() != 0) {
             medRecordTypeList.stream().forEach(s -> {
-                QueryWrapper<MedRecordType> queryWrapper = new QueryWrapper<>();
-                queryWrapper.in("type_id", s.getTypeId());
-                queryWrapper.eq("hospital_id", s.getHospitalId());
-                //queryWrapper.eq("is_deleted",IsDeleteEnum.N);
-                MedRecordType mrType = this.getOne(queryWrapper);
+                MedRecordType mrType = this.getOne(new QueryWrapper<MedRecordType>()
+                        .eq("type_id", s.getTypeId())
+                        .eq("hospital_id", s.getHospitalId()));
                 if (mrType != null) {
-                    this.update(s,queryWrapper);
+                    updateE.add(s);
                 } else {
-                    this.save(s);
+                    addE.add(s);
                 }
             });
         }
+        if(addE.size()>0){
+            medRecordTypeService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            medRecordTypeService.updateBatchByKey(updateE);
+        }
     }
 }

+ 25 - 9
src/main/java/com/diagbot/facade/data/AMedicalRecordContentFacade.java

@@ -1,35 +1,45 @@
 package com.diagbot.facade.data;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AMedicalRecordContentDTO;
 import com.diagbot.entity.MedicalRecordContent;
 import com.diagbot.service.impl.MedicalRecordContentServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.data.AMedicalRecordContentVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.*;
 
 @Component
 public class AMedicalRecordContentFacade extends MedicalRecordContentServiceImpl{
+
+    @Qualifier("medicalRecordContentServiceImpl")
+    @Autowired
+    private MedicalRecordContentServiceImpl medicalRecordContentService;
+
     /**
      * 数据引擎-通过接口更新病历内容
      * @param list
      * @return
      */
-    public List<AMedicalRecordContentDTO> executeMrRecordContent(List<AMedicalRecordContentVO> list) {
-        List<MedicalRecordContent> mrContentList=Lists.newArrayList();
-        List<AMedicalRecordContentDTO> mrContentDtoList=Lists.newArrayList();
-        if(list!=null && list.size()>0){
-            mrContentList=BeanUtil.listCopyTo(list,MedicalRecordContent.class);
-            mrContentDtoList=BeanUtil.listCopyTo(list,AMedicalRecordContentDTO.class);
+    public RespDTO<List<AMedicalRecordContentDTO>> executeMrRecordContent(List<AMedicalRecordContentVO> list) {
+        if(list!=null && list.size()>0) {
+            List<MedicalRecordContent> mrContentList=BeanUtil.listCopyTo(list,MedicalRecordContent.class);
+            List<AMedicalRecordContentDTO> mrContentDtoList=BeanUtil.listCopyTo(list,AMedicalRecordContentDTO.class);
             execute(mrContentList);
+            return RespDTO.onSuc(mrContentDtoList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
         }
-        return mrContentDtoList;
     }
 
     public void execute(List<MedicalRecordContent> mrContentList){
+        List<MedicalRecordContent> addE = Lists.newLinkedList();
+        List<MedicalRecordContent> updateE = Lists.newLinkedList();
         if (mrContentList != null && mrContentList.size() > 0) {
             mrContentList.stream().forEach(s -> {
                 QueryWrapper<MedicalRecordContent> queryWrapper = new QueryWrapper<>();
@@ -38,12 +48,18 @@ public class AMedicalRecordContentFacade extends MedicalRecordContentServiceImpl
                 MedicalRecordContent mrContent = this.getOne(queryWrapper);
                 if (mrContent != null) {
                     s.setGmtModified(new Date());
-                    this.updateById(s);
+                    updateE.add(s);
                 } else {
                     s.setGmtCreate(new Date());
-                    this.save(s);
+                    addE.add(s);
                 }
             });
         }
+        if(addE.size()>0){
+            medicalRecordContentService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            medicalRecordContentService.updateBatchByKey(updateE);
+        }
     }
 }

+ 90 - 80
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -10,12 +10,14 @@ import com.diagbot.facade.ModelHospitalFacade;
 import com.diagbot.facade.QcAbnormalFacade;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.util.ReadProperties;
 import com.diagbot.vo.AnalyzeApiVO;
 import com.diagbot.vo.data.AMedicalRecordVO;
 import com.diagbot.vo.data.AMrContentVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -26,6 +28,10 @@ import java.util.Map;
 @Component
 public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
 
+    @Autowired
+    @Qualifier("medicalRecordServiceImpl")
+    private MedicalRecordServiceImpl medicalRecordService;
+
     @Autowired
     private ModelHospitalFacade modelHospitalFacade;
 
@@ -42,11 +48,11 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     private ReadProperties readProperties;
 
     /**
-     * 通过接口更新病历记录
+     * 终末质控-通过接口更新病历记录
      * @param list
      * @return
      */
-    public RespDTO<List<AMedicalRecordDTO>> executeMrRecordView(List<AMedicalRecordVO> list) {
+    public RespDTO<List<AMedicalRecordDTO>> executeMrRecord(List<AMedicalRecordVO> list) {
         if(list!=null && list.size()>0) {
             //循环验证数据有效性
             for (AMedicalRecordVO aMedicalRecordVO : list) {
@@ -56,18 +62,20 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                     return RespDTO.onError("请输入医院编码!");
                 } else if ("".equals(aMedicalRecordVO.getBehospitalCode())) {
                     return RespDTO.onError("请输入病人住院编码!");
-                } else if ("".equals(aMedicalRecordVO.getRecTypeId())) {
-                    return RespDTO.onError("请输入病历类别编号!");
-                } else if ("".equals(aMedicalRecordVO.getRecTitle())) {
-                    return RespDTO.onError("请输入病历标题!");
-                } else if (aMedicalRecordVO.getContents() == null || aMedicalRecordVO.getContents().size() == 0) {
-                    return RespDTO.onError("请输入文书详情!");
                 }
             }
+
             //装载数据
-            initData(list);
-            List<AMedicalRecordDTO> medicalRecordDTOList = Lists.newArrayList();
-            medicalRecordDTOList = BeanUtil.listCopyTo(list, AMedicalRecordDTO.class);
+            List<MedicalRecord> medicalRecordList = Lists.newArrayList();
+            list.stream().forEach(s->{
+                MedicalRecord medicalRecord=new MedicalRecord();
+                BeanUtil.copyProperties(s,medicalRecord);
+                medicalRecord.setRecDate(DateUtil.parseDateTime(s.getRecDate()));
+                medicalRecordList.add(medicalRecord);
+            });
+            execute(medicalRecordList);
+
+            List<AMedicalRecordDTO> medicalRecordDTOList = BeanUtil.listCopyTo(list, AMedicalRecordDTO.class);
             return RespDTO.onSuc(medicalRecordDTOList);
         }else{
             return RespDTO.onError("未接收到数据!");
@@ -75,11 +83,11 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     }
 
     /**
-     * 数据引擎-通过接口更新病历记录
+     * 运行质控-通过接口更新病历记录
      * @param aMrContentVO
      * @return
      */
-    public RespDTO<Map<String, Object>> executeMrRecord(AMrContentVO aMrContentVO) {
+    public RespDTO<Map<String, Object>> executeMrRecordIng(AMrContentVO aMrContentVO) {
         if(aMrContentVO.getRecords()!=null && aMrContentVO.getRecords().size()>0){
             AMrContentDTO aMrContentDTO=new AMrContentDTO();
             //循环验证数据有效性
@@ -98,66 +106,70 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                     return RespDTO.onError("请输入文书详情!");
                 }
             }
-            //装载数据
-            initData(aMrContentVO.getRecords());
-
-            String behospitalCode =aMrContentVO.getRecords().get(0).getBehospitalCode();
-            Long hospitalId=aMrContentVO.getRecords().get(0).getHospitalId();
-            MedicalRecord medicalRecord=new MedicalRecord();
-            BeanUtil.copyProperties(aMrContentVO.getRecords().get(0),medicalRecord);
-            Long modeId=initModeId(medicalRecord);
+            //更新文书信息
+            executeMrRecord(aMrContentVO.getRecords());
 
-            if(aMrContentVO.getDockModeType().equals("1")){
-                if(modeId==0 || modeId==null){
-                    return RespDTO.onError("无对应的文书类型");
-                }
-                //页面模式
-                String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
-                Map<String,Object> map=new HashMap<String,Object>();
-                map.put("url",url);
-                return RespDTO.onSuc(map);
-            }else if(aMrContentVO.getDockModeType().equals("2")){
-                AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
-                analyzeApiVO.setBehospitalCode(behospitalCode);
-                analyzeApiVO.setHospitalId(hospitalId);
-                Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
-                //接口引擎模式
-                return RespDTO.onSuc(map);
-            }else{
-                if(modeId==0 || modeId==null){
-                    return RespDTO.onError("无对应的文书类型");
-                }
-                //页面模式
-                String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
-
-                AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
-                analyzeApiVO.setBehospitalCode(behospitalCode);
-                analyzeApiVO.setHospitalId(hospitalId);
-                Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
+            aMrContentVO.getRecords().stream().forEach(s -> {
+                //更新文书详情
+                aMedicalRecordContentFacade.executeMrRecordContent(s.getContents());
+            });
 
-                map.put("url",url);
+            //评分后返回结构体
+            return mrIng(aMrContentVO);
 
-                return RespDTO.onSuc(map);
-            }
         }else{
             return RespDTO.onError("未接收到数据!");
         }
     }
 
-    private void initData(List<AMedicalRecordVO> list){
-        List<MedicalRecord> medicalRecordList = Lists.newArrayList();
-        medicalRecordList = BeanUtil.listCopyTo(list, MedicalRecord.class);
+    /**
+     * 评分后返回结构体
+     * @param aMrContentVO
+     * @return
+     */
+    private RespDTO<Map<String, Object>> mrIng(AMrContentVO aMrContentVO){
+        String behospitalCode =aMrContentVO.getRecords().get(0).getBehospitalCode();
+        Long hospitalId=aMrContentVO.getRecords().get(0).getHospitalId();
+        MedicalRecord medicalRecord=new MedicalRecord();
+        BeanUtil.copyProperties(aMrContentVO.getRecords().get(0),medicalRecord);
+        Long modeId=initModeId(medicalRecord);
+        if(aMrContentVO.getDockModeType().equals("1")){
+            if(modeId==0 || modeId==null){
+                return RespDTO.onError("无对应的文书类型");
+            }
+            //页面模式
+            String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
+            Map<String,Object> map=new HashMap<String,Object>();
+            map.put("url",url);
+            return RespDTO.onSuc(map);
+        }else if(aMrContentVO.getDockModeType().equals("2")){
+            AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
+            analyzeApiVO.setBehospitalCode(behospitalCode);
+            analyzeApiVO.setHospitalId(hospitalId);
+            Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
+            //接口引擎模式
+            return RespDTO.onSuc(map);
+        }else{
+            if(modeId==0 || modeId==null){
+                return RespDTO.onError("无对应的文书类型");
+            }
+            //页面模式
+            String url=readProperties.getProcessQcUrl()+"?behospitalCode="+behospitalCode+"&hospitalId="+hospitalId+"&modeId="+modeId;
+
+            AnalyzeApiVO analyzeApiVO=new AnalyzeApiVO();
+            analyzeApiVO.setBehospitalCode(behospitalCode);
+            analyzeApiVO.setHospitalId(hospitalId);
+            Map<String, Object> map=behospitalInfoFacade.analyzeApi(analyzeApiVO);
 
-        execute(medicalRecordList);
-        list.stream().forEach(s -> {
-            List<MedicalRecordContent> contents = Lists.newArrayList();
-            contents = BeanUtil.listCopyTo(s.getContents(), MedicalRecordContent.class);
+            map.put("url",url);
 
-            aMedicalRecordContentFacade.execute(contents);
-        });
+            return RespDTO.onSuc(map);
+        }
     }
 
     public void execute(List<MedicalRecord> medicalRecordList){
+        List<MedicalRecord> addE = Lists.newLinkedList();
+        List<MedicalRecord> updateE = Lists.newLinkedList();
         if (medicalRecordList != null && medicalRecordList.size() > 0) {
             medicalRecordList.stream().forEach(s -> {
                 //初始化mode_id
@@ -174,31 +186,28 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                 }
                 s.setModeId(modeId);
                 //新增或修改
-                saveOrUpdateE(s);
+                MedicalRecord mRecord = this.getOne(new QueryWrapper<MedicalRecord>()
+                        .eq("rec_id", s.getRecId())
+                        .eq("hospital_id", s.getHospitalId())
+                        .eq("behospital_code", s.getBehospitalCode()));
+                if (mRecord != null) {
+                    s.setGmtModified(new Date());
+                    updateE.add(s);
+                } else {
+                    s.setGmtCreate(new Date());
+                    addE.add(s);
+                }
             });
         }
-    }
-
-
-    /**
-     * 新增或修改文书信息
-     * @param medicalRecord
-     */
-    private void saveOrUpdateE(MedicalRecord medicalRecord){
-        QueryWrapper<MedicalRecord> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("rec_id", medicalRecord.getRecId());
-        queryWrapper.eq("hospital_id", medicalRecord.getHospitalId());
-        queryWrapper.eq("behospital_code", medicalRecord.getBehospitalCode());
-        MedicalRecord mRecord = this.getOne(queryWrapper);
-        if (mRecord != null) {
-            medicalRecord.setGmtModified(new Date());
-            this.update(medicalRecord,queryWrapper);
-        } else {
-            medicalRecord.setGmtCreate(new Date());
-            this.save(medicalRecord);
+        if(addE.size()>0){
+            medicalRecordService.saveBatch(addE);
+        }
+        if(updateE.size()>0){
+            medicalRecordService.updateBatchByKey(updateE);
         }
     }
 
+
     /**
      * 初始化模型ID
      * @param medicalRecord
@@ -217,4 +226,5 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         }
         return modeId;
     }
+
 }

+ 2 - 0
src/main/java/com/diagbot/mapper/BasDeptInfoMapper.java

@@ -29,4 +29,6 @@ public interface BasDeptInfoMapper extends BaseMapper<BasDeptInfo> {
      * @return
      */
     List<DeptBaseDTO> getDeptByUser(FilterVO filterVO);
+
+    void updateBatchByKey(List<BasDeptInfo> list);
 }

+ 6 - 0
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -163,4 +163,10 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      * @return
      */
     public IPage<DeptNumDTO> resultStatisticsByDeptAndDoctorPage(@Param("filterPageByDeptVO") FilterPageByDeptVO filterPageByDeptVO);
+
+    /**
+     * 根据两个主键-批量修改
+     * @param list
+     */
+    public void updateBatchByKey(List<BehospitalInfo> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/DoctorAdviceMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.DoctorAdvice;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 病人医嘱 Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-13
  */
 public interface DoctorAdviceMapper extends BaseMapper<DoctorAdvice> {
-
+    public void updateBatchByKey(List<DoctorAdvice> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/HomeDiagnoseInfoMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.HomeDiagnoseInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-13
  */
 public interface HomeDiagnoseInfoMapper extends BaseMapper<HomeDiagnoseInfo> {
-
+    public void updateBatchByKey(List<HomeDiagnoseInfo> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/HomeOperationInfoMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.HomeOperationInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-13
  */
 public interface HomeOperationInfoMapper extends BaseMapper<HomeOperationInfo> {
-
+    public void updateBatchByKey(List<HomeOperationInfo> list);
 }

+ 6 - 0
src/main/java/com/diagbot/mapper/HomePageMapper.java

@@ -51,4 +51,10 @@ public interface HomePageMapper extends BaseMapper<HomePage> {
      * @return
      */
     public IPage<AverageStatisticsDTO> getAverageFeePage(@Param("filterPageByAverageVO") FilterPageByAverageVO filterPageByAverageVO);
+
+    /**
+     * 根据病案首页编码、医院编码、病人住院ID-批量更新
+     * @param list
+     */
+    public void updateBatchByKey(List<HomePage> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/MedCrisisInfoMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.MedCrisisInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 危急值信息 Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-05-28
  */
 public interface MedCrisisInfoMapper extends BaseMapper<MedCrisisInfo> {
-
+    public void updateBatchByKey(List<MedCrisisInfo> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/MedRecordTypeMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.MedRecordType;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-13
  */
 public interface MedRecordTypeMapper extends BaseMapper<MedRecordType> {
-
+    public void updateBatchByKey(List<MedRecordType> list);
 }

+ 3 - 1
src/main/java/com/diagbot/mapper/MedicalRecordContentMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.MedicalRecordContent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-13
  */
 public interface MedicalRecordContentMapper extends BaseMapper<MedicalRecordContent> {
-
+    public void updateBatchByKey(List<MedicalRecordContent> list);
 }

+ 2 - 0
src/main/java/com/diagbot/mapper/MedicalRecordMapper.java

@@ -18,4 +18,6 @@ import java.util.List;
 public interface MedicalRecordMapper extends BaseMapper<MedicalRecord> {
 
     public List<RecordContentDTO> getRecordContent(RecordContentVO recordContentVO);
+
+    public void updateBatchByKey(List<MedicalRecord> list);
 }

+ 1 - 1
src/main/java/com/diagbot/service/BasDoctorInfoService.java

@@ -14,5 +14,5 @@ import java.util.List;
  * @since 2020-04-17
  */
 public interface BasDoctorInfoService extends IService<BasDoctorInfo> {
-    //public void updateBatchByKey(List<BasDoctorInfo> list);
+    
 }

+ 4 - 0
src/main/java/com/diagbot/service/impl/BasDeptInfoServiceImpl.java

@@ -43,4 +43,8 @@ public class BasDeptInfoServiceImpl extends ServiceImpl<BasDeptInfoMapper, BasDe
     public List<DeptBaseDTO> getDeptByUser(FilterVO filterVO) {
         return baseMapper.getDeptByUser(filterVO);
     }
+
+    public void updateBatchByKey(List<BasDeptInfo> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 4 - 0
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -229,4 +229,8 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     public IPage<DeptNumDTO> resultStatisticsByDeptAndDoctorPage(@Param("filterPageByDeptVO") FilterPageByDeptVO filterPageByDeptVO) {
         return baseMapper.resultStatisticsByDeptAndDoctorPage(filterPageByDeptVO);
     }
+
+    public void updateBatchByKey(List<BehospitalInfo> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 9 - 1
src/main/java/com/diagbot/service/impl/DoctorAdviceServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.DoctorAdviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 病人医嘱 服务实现类
@@ -16,5 +18,11 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class DoctorAdviceServiceImpl extends ServiceImpl<DoctorAdviceMapper, DoctorAdvice> implements DoctorAdviceService {
-
+    /**
+     * 根据医嘱ID和医院编码-批量更新数据
+     * @param list
+     */
+    public void updateBatchByKey(List<DoctorAdvice> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 5 - 0
src/main/java/com/diagbot/service/impl/HomeDiagnoseInfoServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.HomeDiagnoseInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +19,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class HomeDiagnoseInfoServiceImpl extends ServiceImpl<HomeDiagnoseInfoMapper, HomeDiagnoseInfo> implements HomeDiagnoseInfoService {
 
+    public void updateBatchByKey(List<HomeDiagnoseInfo> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 9 - 0
src/main/java/com/diagbot/service/impl/HomeOperationInfoServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.HomeOperationInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +19,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class HomeOperationInfoServiceImpl extends ServiceImpl<HomeOperationInfoMapper, HomeOperationInfo> implements HomeOperationInfoService {
 
+    /**
+     * 根据病案首页编码、医院编码、手术序号批量更新
+     * @param list
+     */
+    public void updateBatchByKey(List<HomeOperationInfo> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 8 - 0
src/main/java/com/diagbot/service/impl/HomePageServiceImpl.java

@@ -66,4 +66,12 @@ public class HomePageServiceImpl extends ServiceImpl<HomePageMapper, HomePage> i
     public IPage<AverageStatisticsDTO> getAverageFeePage(@Param("filterPageByAverageVO") FilterPageByAverageVO filterPageByAverageVO) {
         return baseMapper.getAverageFeePage(filterPageByAverageVO);
     }
+
+    /**
+     * 根据病案首页编码、医院编码、病人住院ID-批量更新
+     * @param list
+     */
+    public void updateBatchByKey(List<HomePage> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 5 - 1
src/main/java/com/diagbot/service/impl/MedCrisisInfoServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.MedCrisisInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 危急值信息 服务实现类
@@ -16,5 +18,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class MedCrisisInfoServiceImpl extends ServiceImpl<MedCrisisInfoMapper, MedCrisisInfo> implements MedCrisisInfoService {
-
+    public void updateBatchByKey(List<MedCrisisInfo> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 5 - 1
src/main/java/com/diagbot/service/impl/MedRecordTypeServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.MedRecordTypeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +18,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class MedRecordTypeServiceImpl extends ServiceImpl<MedRecordTypeMapper, MedRecordType> implements MedRecordTypeService {
-
+    public void updateBatchByKey(List<MedRecordType> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 5 - 0
src/main/java/com/diagbot/service/impl/MedicalRecordContentServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.MedicalRecordContentService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +19,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class MedicalRecordContentServiceImpl extends ServiceImpl<MedicalRecordContentMapper, MedicalRecordContent> implements MedicalRecordContentService {
 
+    public void updateBatchByKey(List<MedicalRecordContent> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 4 - 0
src/main/java/com/diagbot/service/impl/MedicalRecordServiceImpl.java

@@ -25,4 +25,8 @@ public class MedicalRecordServiceImpl extends ServiceImpl<MedicalRecordMapper, M
     public List<RecordContentDTO> getRecordContent(RecordContentVO recordContentVO) {
         return baseMapper.getRecordContent(recordContentVO);
     }
+
+    public void updateBatchByKey(List<MedicalRecord> list){
+        this.baseMapper.updateBatchByKey(list);
+    }
 }

+ 3 - 3
src/main/java/com/diagbot/util/TZDBConn.java

@@ -654,10 +654,10 @@ public class TZDBConn {
 			ResultSet rs =dbconn.Query(sql, null);
 			while(rs.next()){
 				MedicalRecordContent mrContent=new MedicalRecordContent();
-				mrContent.setHospitalId(HOSPITAL_ID);
-				mrContent.setRecId(rs.getString("BLJLID"));
+				//mrContent.setHospitalId(HOSPITAL_ID);
+				//mrContent.setRecId(rs.getString("BLJLID"));
 				//mrContent.setHtmlText(rs.getString("HTMLSJ"));
-				mrContent.setXmlText(rs.getString("BLJLNR"));
+				//mrContent.setXmlText(rs.getString("BLJLNR"));
 
 				mrContentList.add(mrContent);
 			}

+ 3 - 3
src/main/java/com/diagbot/vo/data/ABehospitalInfoVO.java

@@ -29,7 +29,7 @@ public class ABehospitalInfoVO {
     /**
      * 出生日期
      */
-    private Date birthday;
+    private String birthday;
 
     /**
      * 档案号
@@ -84,12 +84,12 @@ public class ABehospitalInfoVO {
     /**
      * 入院时间
      */
-    private Date behospitalDate;
+    private String behospitalDate;
 
     /**
      * 出院时间
      */
-    private Date leaveHospitalDate;
+    private String leaveHospitalDate;
 
     /**
      * 疾病ICD编码

+ 2 - 2
src/main/java/com/diagbot/vo/data/ADoctorAdviceVO.java

@@ -79,7 +79,7 @@ public class ADoctorAdviceVO {
     /**
      * 医嘱开始时间
      */
-    private Date daStartDate;
+    private String daStartDate;
 
     /**
      * 医嘱项目名称
@@ -94,7 +94,7 @@ public class ADoctorAdviceVO {
     /**
      * 医嘱结束时间
      */
-    private Date daStopDate;
+    private String daStopDate;
 
     /**
      * 医嘱同组序号

+ 1 - 3
src/main/java/com/diagbot/vo/data/AHomeOperationVO.java

@@ -2,8 +2,6 @@ package com.diagbot.vo.data;
 
 import lombok.Data;
 
-import java.util.Date;
-
 @Data
 public class AHomeOperationVO {
     /**
@@ -24,7 +22,7 @@ public class AHomeOperationVO {
     /**
      * 手术日期
      */
-    private Date operationDate;
+    private String operationDate;
 
     /**
      * 手术编码

+ 17 - 0
src/main/java/com/diagbot/vo/data/AHomePageIngVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo.data;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+@Getter
+@Setter
+public class AHomePageIngVO {
+
+    @NotBlank(message = "对接模式类型编码不能为空")
+    private String dockModeType;//对接模式类型编码,1:页面模式,2:接口引擎模式
+
+    private List<AHomePageVO> homePages;
+}

+ 3 - 4
src/main/java/com/diagbot/vo/data/AHomePageVO.java

@@ -3,7 +3,6 @@ package com.diagbot.vo.data;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.Date;
 import java.util.List;
 
 @Getter
@@ -207,7 +206,7 @@ public class AHomePageVO {
     /**
      * 入院时间
      */
-    private Date behospitalDate;
+    private String behospitalDate;
 
     /**
      * 入院科别
@@ -237,7 +236,7 @@ public class AHomePageVO {
     /**
      * 出院时间
      */
-    private Date leaveHospitalDate;
+    private String leaveHospitalDate;
 
     /**
      * 出院科别
@@ -382,7 +381,7 @@ public class AHomePageVO {
     /**
      * 质控日期
      */
-    private Date qcDate;
+    private String qcDate;
 
     /**
      * 离院方式

+ 2 - 2
src/main/java/com/diagbot/vo/data/AMedCrisisVO.java

@@ -83,11 +83,11 @@ public class AMedCrisisVO {
     /**
      * 送检时间
      */
-    private Date sendDate;
+    private String sendDate;
 
     /**
      * 报告时间
      */
-    private Date repDate;
+    private String repDate;
 
 }

+ 1 - 2
src/main/java/com/diagbot/vo/data/AMedicalRecordVO.java

@@ -1,6 +1,5 @@
 package com.diagbot.vo.data;
 
-import java.util.Date;
 import java.util.List;
 
 import lombok.Getter;
@@ -35,7 +34,7 @@ public class AMedicalRecordVO {
     /**
      * 病历日期
      */
-    private Date recDate;
+    private String recDate;
 
     /**
      * 病历标题

+ 34 - 24
src/main/java/com/diagbot/web/DataController.java

@@ -24,7 +24,8 @@ import java.util.Map;
 @Api(value = "对接接口API", tags = { "对接接口API" })
 public class DataController {
 
-
+    @Autowired
+    private ABasDoctorInfoFacade aBasDoctorInfoFacade;
 
     @Autowired
     private ABasDeptInfoFacade aBasDeptInfoFacade;
@@ -48,13 +49,13 @@ public class DataController {
     private AHomeOperationInfoFacade aHomeOperationInfoFacade;
 
     @Autowired
-    private AMedicalRecordFacade aMedicalRecordFacade;
+    private AMedCrisisFacade aMedCrisisFacade;
 
     @Autowired
-    private AMedicalRecordContentFacade aMedicalRecordContentFacade;
+    private AMedicalRecordFacade aMedicalRecordFacade;
 
     @Autowired
-    private AMedCrisisFacade aMedCrisisFacade;
+    private AMedicalRecordContentFacade aMedicalRecordContentFacade;
 
     @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
     @PostMapping("/sendDoctorInfos")
@@ -77,6 +78,27 @@ public class DataController {
         return aMedRecordTypeFacade.executeMRType(list);
     }
 
+    @ApiOperation(value = "运行质控-评分-文书信息")
+    @PostMapping("/sendMrRecordIng")
+    @SysLogger("sendMrRecordIng")
+    public RespDTO<Map<String, Object>> sendMrRecordIng(@Valid @RequestBody AMrContentVO aMrContentVO){
+        return aMedicalRecordFacade.executeMrRecordIng(aMrContentVO);
+    }
+
+    @ApiOperation(value = "终末质控-文书信息")
+    @PostMapping("/sendMrRecord")
+    @SysLogger("sendMrRecord")
+    public RespDTO<List<AMedicalRecordDTO>> sendMrRecord(@RequestBody List<AMedicalRecordVO> list){
+        return aMedicalRecordFacade.executeMrRecord(list);
+    }
+
+    @ApiOperation(value = "终末质控-文书详情")
+    @PostMapping("/sendMrContent")
+    @SysLogger("sendMrContent")
+    public RespDTO<List<AMedicalRecordContentDTO>> sendMrContent(@RequestBody List<AMedicalRecordContentVO> list){
+        return aMedicalRecordContentFacade.executeMrRecordContent(list);
+    }
+
     @ApiOperation(value = "数据引擎-获取医院病人住院记录信息")
     @PostMapping("/sendPatientInfo")
     @SysLogger("sendPatientInfo")
@@ -91,39 +113,30 @@ public class DataController {
         return aDoctorAdviceFacade.executeDoctorAdvice(list);
     }
 
-    @ApiOperation(value = "支持评分-获取病历记录")
-    @PostMapping("/sendMedicalRecord")
-    @SysLogger("sendMedicalRecord")
-    public RespDTO<Map<String, Object>> sendMedicalRecord(@Valid @RequestBody AMrContentVO aMrContentVO){
-        return aMedicalRecordFacade.executeMrRecord(aMrContentVO);
-    }
-
-    @ApiOperation(value = "支持数据同步-获取病历记录")
-    @PostMapping("/sendMrContent")
-    @SysLogger("sendMrContent")
-    public RespDTO<List<AMedicalRecordDTO>> sendMrContent(@RequestBody List<AMedicalRecordVO> list){
-        return aMedicalRecordFacade.executeMrRecordView(list);
+    @ApiOperation(value = "运行质控-获取病案首页")
+    @PostMapping("/sendHomePageIng")
+    @SysLogger("sendHomePageIng")
+    public RespDTO<Map<String, Object>> sendHomePageIng(@Valid @RequestBody AHomePageIngVO aHomePageIngVO){
+        return aHomePageFacade.executeHomePageIng(aHomePageIngVO);
     }
 
-    @ApiOperation(value = "数据引擎-获取病案首页")
+    @ApiOperation(value = "终末质控-获取病案首页")
     @PostMapping("/sendHomePage")
     @SysLogger("sendHomePage")
     public RespDTO<List<AHomePageDTO>> sendHomePage(@RequestBody List<AHomePageVO> list){
         return aHomePageFacade.executeHomePage(list);
     }
 
-    @ApiOperation(value = "数据引擎-获取病案首页诊断")
+    @ApiOperation(value = "终末质控-获取病案首页诊断")
     @PostMapping("/sendHomeDiagnose")
     @SysLogger("sendHomeDiagnose")
-    @Ignore
     public RespDTO<List<AHomeDiagnoseDTO>> sendHomeDiagnose(@RequestBody List<AHomeDiagnoseVO> list){
         return aHomeDiagnoseInfoFacade.executeHomeDiagnose(list);
     }
 
-    @ApiOperation(value = "数据引擎-获取病案首页手术")
+    @ApiOperation(value = "终末质控-获取病案首页手术")
     @PostMapping("/sendHomeOperation")
     @SysLogger("sendHomeOperation")
-    @Ignore
     public RespDTO<List<AHomeOperationDTO>> sendHomeOperation(@RequestBody List<AHomeOperationVO> list){
         return RespDTO.onSuc(aHomeOperationInfoFacade.executeHomeOperation(list));
     }
@@ -135,7 +148,4 @@ public class DataController {
         return aMedCrisisFacade.executeMedCrisis(list);
     }
 
-    @Autowired
-    private ABasDoctorInfoFacade aBasDoctorInfoFacade;
-
 }

+ 30 - 0
src/main/resources/mapper/BasDeptInfoMapper.xml

@@ -76,4 +76,34 @@
             AND a.hospital_id = #{hospitalId}
         </if>
     </select>
+
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update bas_dept_info
+            <set>
+                <if test="item.parentDeptId != null">
+                    parent_dept_id = #{item.parentDeptId},
+                </if>
+                <if test="item.deptName != null">
+                    dept_name = #{item.deptName},
+                </if>
+                <if test="item.deptType != null">
+                    dept_type = #{item.deptType},
+                </if>
+                <if test="item.spell != null">
+                    spell = #{item.spell},
+                </if>
+                <if test="item.station != null">
+                    station = #{item.station},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where dept_id = #{item.deptId} and hospital_id = #{item.hospitalId}
+        </foreach>
+    </update>
 </mapper>

+ 84 - 0
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -1570,4 +1570,88 @@
             </choose>
         </if>
     </select>
+
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_behospital_info
+            <set>
+                <if test="item.name != null">
+                    name = #{item.name},
+                </if>
+                <if test="item.sex != null">
+                    sex = #{item.sex},
+                </if>
+                <if test="item.birthday != null">
+                    birthday = #{item.birthday},
+                </if>
+                <if test="item.fileCode != null">
+                    file_code = #{item.fileCode},
+                </if>
+                <if test="item.qcTypeId != null">
+                    qc_type_id = #{item.qcTypeId},
+                </if>
+                <if test="item.wardCode != null">
+                    ward_code = #{item.wardCode},
+                </if>
+                <if test="item.wardName != null">
+                    ward_name = #{item.wardName},
+                </if>
+                <if test="item.behDeptId != null">
+                    beh_dept_id = #{item.behDeptId},
+                </if>
+                <if test="item.behDeptName != null">
+                    beh_dept_name = #{item.behDeptName},
+                </if>
+                <if test="item.bedCode != null">
+                    bed_code = #{item.bedCode},
+                </if>
+                <if test="item.bedName != null">
+                    bed_name = #{item.bedName},
+                </if>
+                <if test="item.insuranceName != null">
+                    insurance_name = #{item.insuranceName},
+                </if>
+                <if test="item.jobType != null">
+                    job_type = #{item.jobType},
+                </if>
+                <if test="item.behospitalDate != null">
+                    behospital_date = #{item.behospitalDate},
+                </if>
+                <if test="item.leaveHospitalDate != null">
+                    leave_hospital_date = #{item.leaveHospitalDate},
+                </if>
+                <if test="item.diagnoseIcd != null">
+                    diagnose_icd = #{item.diagnoseIcd},
+                </if>
+                <if test="item.diagnose != null">
+                    diagnose = #{item.diagnose},
+                </if>
+                <if test="item.behDoctorId != null">
+                    beh_doctor_id = #{item.behDoctorId},
+                </if>
+                <if test="item.behDoctorName != null">
+                    beh_doctor_name = #{item.behDoctorName},
+                </if>
+                <if test="item.doctorId != null">
+                    doctor_id = #{item.doctorId},
+                </if>
+                <if test="item.doctorName != null">
+                    doctor_name = #{item.doctorName},
+                </if>
+                <if test="item.directorDoctorId != null">
+                    director_doctor_id = #{item.directorDoctorId},
+                </if>
+                <if test="item.directorDoctorName != null">
+                    director_doctor_name = #{item.directorDoctorName},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where behospital_code = #{item.behospitalCode} and hospital_id = #{item.hospitalId}
+        </foreach>
+    </update>
 </mapper>

+ 77 - 0
src/main/resources/mapper/DoctorAdviceMapper.xml

@@ -35,4 +35,81 @@
         <result column="modifier" property="modifier" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_doctor_advice
+            <set>
+                <if test="item.orderDoctorName != null">
+                    order_doctor_name = #{item.orderDoctorName},
+                </if>
+                <if test="item.frequency != null">
+                    frequency = #{item.frequency},
+                </if>
+                <if test="item.parentTypeId != null">
+                    parent_type_id = #{item.parentTypeId},
+                </if>
+                <if test="item.doctorAdviceType != null">
+                    doctor_advice_type = #{item.doctorAdviceType},
+                </if>
+                <if test="item.usageNum != null">
+                    usage_num = #{item.usageNum},
+                </if>
+                <if test="item.usageUnit != null">
+                    usage_unit = #{item.usageUnit},
+                </if>
+                <if test="item.dose != null">
+                    dose = #{item.dose},
+                </if>
+                <if test="item.doseUnit != null">
+                    dose_unit = #{item.doseUnit},
+                </if>
+                <if test="item.medModeType != null">
+                    med_mode_type = #{item.medModeType},
+                </if>
+                <if test="item.daFrequency != null">
+                    da_frequency = #{item.daFrequency},
+                </if>
+                <if test="item.daDealType != null">
+                    da_deal_type = #{item.daDealType},
+                </if>
+                <if test="item.daStartDate != null">
+                    da_start_date = #{item.daStartDate},
+                </if>
+                <if test="item.daItemName != null">
+                    da_item_name = #{item.daItemName},
+                </if>
+                <if test="item.daStatus != null">
+                    da_status = #{item.daStatus},
+                </if>
+                <if test="item.daStopDate != null">
+                    da_stop_date = #{item.daStopDate},
+                </if>
+                <if test="item.daGroupNo != null">
+                    da_group_no = #{item.daGroupNo},
+                </if>
+                <if test="item.daPrescriptionType != null">
+                    da_prescription_type = #{item.daPrescriptionType},
+                </if>
+                <if test="item.daMedType != null">
+                    da_med_type = #{item.daMedType},
+                </if>
+                <if test="item.doctorNotice != null">
+                    doctor_notice = #{item.doctorNotice},
+                </if>
+                <if test="item.doctorId != null">
+                    doctor_id = #{item.doctorId},
+                </if>
+                <if test="item.doctorName != null">
+                    doctor_name = #{item.doctorName},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where doctor_advice_id = #{item.doctorAdviceId} and hospital_id = #{item.hospitalId} and behospital_code = #{item.behospitalCode}
+        </foreach>
+    </update>
 </mapper>

+ 36 - 0
src/main/resources/mapper/HomeDiagnoseInfoMapper.xml

@@ -21,4 +21,40 @@
         <result column="modifier" property="modifier" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_home_diagnose_info
+            <set>
+                <if test="item.diagnoseType != null">
+                    diagnose_type = #{item.diagnoseType},
+                </if>
+                <if test="item.diagnoseTypeShort != null">
+                    diagnose_type_short = #{item.diagnoseTypeShort},
+                </if>
+                <if test="item.diagnoseName != null">
+                    diagnose_name = #{item.diagnoseName},
+                </if>
+                <if test="item.behospitalType != null">
+                    behospital_type = #{item.behospitalType},
+                </if>
+                <if test="item.leaveHospitalType != null">
+                    leave_hospital_type = #{item.leaveHospitalType},
+                </if>
+                <if test="item.pathologyDiagnose != null">
+                    pathology_diagnose = #{item.pathologyDiagnose},
+                </if>
+                <if test="item.icdCode != null">
+                    icd_code = #{item.icdCode},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where home_page_id = #{item.homePageId} and hospital_id = #{item.hospitalId} and diagnose_order_no = #{item.diagnoseOrderNo}
+        </foreach>
+    </update>
+
 </mapper>

+ 48 - 0
src/main/resources/mapper/HomeOperationInfoMapper.xml

@@ -25,4 +25,52 @@
         <result column="modifier" property="modifier" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_home_operation_info
+            <set>
+                <if test="item.operationDate != null">
+                    operation_date = #{item.operationDate},
+                </if>
+                <if test="item.operationCode != null">
+                    operation_code = #{item.operationCode},
+                </if>
+                <if test="item.operationDoctorId != null">
+                    operation_doctor_id = #{item.operationDoctorId},
+                </if>
+                <if test="item.firstAssistantId != null">
+                    first_assistant_id = #{item.firstAssistantId},
+                </if>
+                <if test="item.secondAssistantId != null">
+                    second_assistant_id = #{item.secondAssistantId},
+                </if>
+                <if test="item.cutLevel != null">
+                    cut_level = #{item.cutLevel},
+                </if>
+                <if test="item.healingLevel != null">
+                    healing_level = #{item.healingLevel},
+                </if>
+                <if test="item.operationName != null">
+                    operation_name = #{item.operationName},
+                </if>
+                <if test="item.operationLevel != null">
+                    operation_level = #{item.operationLevel},
+                </if>
+                <if test="item.anaesthesiaName != null">
+                    anaesthesia_name = #{item.anaesthesiaName},
+                </if>
+                <if test="item.shamOperationName != null">
+                    sham_operation_name = #{item.shamOperationName},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where home_page_id = #{item.homePageId} and hospital_id = #{item.hospitalId} and operation_order_no = #{item.operationOrderNo}
+        </foreach>
+    </update>
+
 </mapper>

+ 387 - 0
src/main/resources/mapper/HomePageMapper.xml

@@ -615,4 +615,391 @@
         t3.lastYearAverageValue DESC
         )t
     </select>
+
+
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_home_page
+            <set>
+                <if test="item.hospitalCode != null">
+                    hospital_code = #{item.hospitalCode},
+                </if>
+                <if test="item.hospitalName != null">
+                    hospital_name = #{item.hospitalName},
+                </if>
+                <if test="item.orgCode != null">
+                    org_code = #{item.orgCode},
+                </if>
+                <if test="item.payType != null">
+                    pay_type = #{item.payType},
+                </if>
+                <if test="item.healthCard != null">
+                    health_card = #{item.healthCard},
+                </if>
+                <if test="item.behospitalNum != null">
+                    behospital_num = #{item.behospitalNum},
+                </if>
+                <if test="item.fileCode != null">
+                    file_code = #{item.fileCode},
+                </if>
+                <if test="item.name != null">
+                    name = #{item.name},
+                </if>
+                <if test="item.sex != null">
+                    sex = #{item.sex},
+                </if>
+                <if test="item.birthday != null">
+                    birthday = #{item.birthday},
+                </if>
+                <if test="item.age != null">
+                    age = #{item.age},
+                </if>
+                <if test="item.ageUnit != null">
+                    age_unit = #{item.ageUnit},
+                </if>
+                <if test="item.nationality != null">
+                    nationality = #{item.nationality},
+                </if>
+                <if test="item.newbornMonth != null">
+                    newborn_month = #{item.newbornMonth},
+                </if>
+                <if test="item.newbornDay != null">
+                    newborn_day = #{item.newbornDay},
+                </if>
+                <if test="item.newbornWeight != null">
+                    newborn_weight = #{item.newbornWeight},
+                </if>
+                <if test="item.newbornBehospitalWeight != null">
+                    newborn_behospital_weight = #{item.newbornBehospitalWeight},
+                </if>
+                <if test="item.bornAddress != null">
+                    born_address = #{item.bornAddress},
+                </if>
+                <if test="item.bornPlace != null">
+                    born_place = #{item.bornPlace},
+                </if>
+                <if test="item.nation != null">
+                    nation = #{item.nation},
+                </if>
+                <if test="item.identityCardNo != null">
+                    identity_card_no = #{item.identityCardNo},
+                </if>
+                <if test="item.jobType != null">
+                    job_type = #{item.jobType},
+                </if>
+                <if test="item.marriage != null">
+                    marriage = #{item.marriage},
+                </if>
+                <if test="item.curAddress != null">
+                    cur_address = #{item.curAddress},
+                </if>
+                <if test="item.curPhone != null">
+                    cur_phone = #{item.curPhone},
+                </if>
+                <if test="item.curPostCode != null">
+                    cur_post_code = #{item.curPostCode},
+                </if>
+                <if test="item.residenceAddress != null">
+                    residence_address = #{item.residenceAddress},
+                </if>
+                <if test="item.residencePostCode != null">
+                    residence_post_code = #{item.residencePostCode},
+                </if>
+                <if test="item.workAddress != null">
+                    work_address = #{item.workAddress},
+                </if>
+                <if test="item.workPhone != null">
+                    work_phone = #{item.workPhone},
+                </if>
+                <if test="item.workPostCode != null">
+                    work_post_code = #{item.workPostCode},
+                </if>
+                <if test="item.contactName != null">
+                    contact_name = #{item.contactName},
+                </if>
+                <if test="item.contactRelation != null">
+                    contact_relation = #{item.contactRelation},
+                </if>
+                <if test="item.contactAddress != null">
+                    contact_address = #{item.contactAddress},
+                </if>
+                <if test="item.contactPhone != null">
+                    contact_phone = #{item.contactPhone},
+                </if>
+                <if test="item.behospitalWay != null">
+                    behospital_way = #{item.behospitalWay},
+                </if>
+                <if test="item.behospitalDate != null">
+                    behospital_date = #{item.behospitalDate},
+                </if>
+                <if test="item.behospitalDept != null">
+                    behospital_dept = #{item.behospitalDept},
+                </if>
+                <if test="item.behospitalWard != null">
+                    behospital_ward = #{item.behospitalWard},
+                </if>
+                <if test="item.behospitalBedId != null">
+                    behospital_bed_id = #{item.behospitalBedId},
+                </if>
+                <if test="item.behospitalBedCode != null">
+                    behospital_bed_code = #{item.behospitalBedCode},
+                </if>
+                <if test="item.changeDept != null">
+                    change_dept = #{item.changeDept},
+                </if>
+                <if test="item.leaveHospitalDate != null">
+                    leave_hospital_date = #{item.leaveHospitalDate},
+                </if>
+                <if test="item.leaveHospitalDept != null">
+                    leave_hospital_dept = #{item.leaveHospitalDept},
+                </if>
+                <if test="item.leaveHospitalWard != null">
+                    leave_hospital_ward = #{item.leaveHospitalWard},
+                </if>
+                <if test="item.leaveHospitalBedId != null">
+                    leave_hospital_bed_id = #{item.leaveHospitalBedId},
+                </if>
+                <if test="item.leaveHospitalBedCode != null">
+                    leave_hospital_bed_code = #{item.leaveHospitalBedCode},
+                </if>
+                <if test="item.behospitalDayNum != null">
+                    behospital_day_num = #{item.behospitalDayNum},
+                </if>
+                <if test="item.outpatientEmrDiagnose != null">
+                    outpatient_emr_diagnose = #{item.outpatientEmrDiagnose},
+                </if>
+                <if test="item.outpatientEmrDiagnoseCode != null">
+                    outpatient_emr_diagnose_code = #{item.outpatientEmrDiagnoseCode},
+                </if>
+                <if test="item.poisonFactor != null">
+                    poison_factor = #{item.poisonFactor},
+                </if>
+                <if test="item.poisonFactorCode != null">
+                    poison_factor_code = #{item.poisonFactorCode},
+                </if>
+                <if test="item.pathologyDiagnose != null">
+                    pathology_diagnose = #{item.pathologyDiagnose},
+                </if>
+                <if test="item.pathologyDiagnoseCode != null">
+                    pathology_diagnose_code = #{item.pathologyDiagnoseCode},
+                </if>
+                <if test="item.pathologyDiagnoseId != null">
+                    pathology_diagnose_id = #{item.pathologyDiagnoseId},
+                </if>
+                <if test="item.isMedAllergy != null">
+                    is_med_allergy = #{item.isMedAllergy},
+                </if>
+                <if test="item.medAllergyName != null">
+                    med_allergy_name = #{item.medAllergyName},
+                </if>
+                <if test="item.autopsy != null">
+                    autopsy = #{item.autopsy},
+                </if>
+                <if test="item.bloodType != null">
+                    blood_type = #{item.bloodType},
+                </if>
+                <if test="item.rh != null">
+                    rh = #{item.rh},
+                </if>
+                <if test="item.deptDirector != null">
+                    dept_director = #{item.deptDirector},
+                </if>
+                <if test="item.directorDoctor != null">
+                    director_doctor = #{item.directorDoctor},
+                </if>
+                <if test="item.attendingDoctor != null">
+                    attending_doctor = #{item.attendingDoctor},
+                </if>
+                <if test="item.behospitalDoctor != null">
+                    behospital_doctor = #{item.behospitalDoctor},
+                </if>
+                <if test="item.responseNurse != null">
+                    response_nurse = #{item.responseNurse},
+                </if>
+                <if test="item.studyDoctor != null">
+                    study_doctor = #{item.studyDoctor},
+                </if>
+                <if test="item.practiceDoctor != null">
+                    practice_doctor = #{item.practiceDoctor},
+                </if>
+                <if test="item.encodeMan != null">
+                    encode_man = #{item.encodeMan},
+                </if>
+                <if test="item.homePageQuality != null">
+                    home_page_quality = #{item.homePageQuality},
+                </if>
+                <if test="item.qcDoctor != null">
+                    qc_doctor = #{item.qcDoctor},
+                </if>
+                <if test="item.qcNurse != null">
+                    qc_nurse = #{item.qcNurse},
+                </if>
+                <if test="item.qcDate != null">
+                    qc_date = #{item.qcDate},
+                </if>
+                <if test="item.leaveHospitalType != null">
+                    leave_hospital_type = #{item.leaveHospitalType},
+                </if>
+                <if test="item.acceptOrgCode != null">
+                    accept_org_code = #{item.acceptOrgCode},
+                </if>
+                <if test="item.againBehospitalPlan != null">
+                    again_behospital_plan = #{item.againBehospitalPlan},
+                </if>
+                <if test="item.againBehospitalGoal != null">
+                    again_behospital_goal = #{item.againBehospitalGoal},
+                </if>
+                <if test="item.tbiBeforeDay != null">
+                    tbi_before_day = #{item.tbiBeforeDay},
+                </if>
+                <if test="item.tbiBeforeHour != null">
+                    tbi_before_hour = #{item.tbiBeforeHour},
+                </if>
+                <if test="item.tbiBeforeMinute != null">
+                    tbi_before_minute = #{item.tbiBeforeMinute},
+                </if>
+                <if test="item.tbiAfterDay != null">
+                    tbi_after_day = #{item.tbiAfterDay},
+                </if>
+                <if test="item.tbiAfterHour != null">
+                    tbi_after_hour = #{item.tbiAfterHour},
+                </if>
+                <if test="item.tbiAfterMinute != null">
+                    tbi_after_minute = #{item.tbiAfterMinute},
+                </if>
+                <if test="item.totalFee != null">
+                    total_fee = #{item.totalFee},
+                </if>
+                <if test="item.ownFee != null">
+                    own_fee = #{item.ownFee},
+                </if>
+                <if test="item.generalFee != null">
+                    general_fee = #{item.generalFee},
+                </if>
+                <if test="item.serviceFee != null">
+                    service_fee = #{item.serviceFee},
+                </if>
+                <if test="item.nurseFee != null">
+                    nurse_fee = #{item.nurseFee},
+                </if>
+                <if test="item.otherFee != null">
+                    other_fee = #{item.otherFee},
+                </if>
+                <if test="item.pathologyFee != null">
+                    pathology_fee = #{item.pathologyFee},
+                </if>
+                <if test="item.labFee != null">
+                    lab_fee = #{item.labFee},
+                </if>
+                <if test="item.pacsFee != null">
+                    pacs_fee = #{item.pacsFee},
+                </if>
+                <if test="item.clinicDiagnoseFee != null">
+                    clinic_diagnose_fee = #{item.clinicDiagnoseFee},
+                </if>
+                <if test="item.notOperationFee != null">
+                    not_operation_fee = #{item.notOperationFee},
+                </if>
+                <if test="item.clinicPhysicFee != null">
+                    clinic_physic_fee = #{item.clinicPhysicFee},
+                </if>
+                <if test="item.operationTreatFee != null">
+                    operation_treat_fee = #{item.operationTreatFee},
+                </if>
+                <if test="item.anaesthesiaFee != null">
+                    anaesthesia_fee = #{item.anaesthesiaFee},
+                </if>
+                <if test="item.operationFee != null">
+                    operation_fee = #{item.operationFee},
+                </if>
+                <if test="item.healthTypeFee != null">
+                    health_type_fee = #{item.healthTypeFee},
+                </if>
+                <if test="item.chnTreatFee != null">
+                    chn_treat_fee = #{item.chnTreatFee},
+                </if>
+                <if test="item.westernMedFee != null">
+                    western_med_fee = #{item.westernMedFee},
+                </if>
+                <if test="item.antibiosisFee != null">
+                    antibiosis_fee = #{item.antibiosisFee},
+                </if>
+                <if test="item.chnMedFee != null">
+                    chn_med_fee = #{item.chnMedFee},
+                </if>
+                <if test="item.chnHerbFee != null">
+                    chn_herb_fee = #{item.chnHerbFee},
+                </if>
+                <if test="item.bloodFee != null">
+                    blood_fee = #{item.bloodFee},
+                </if>
+                <if test="item.albumenFee != null">
+                    albumen_fee = #{item.albumenFee},
+                </if>
+                <if test="item.globulinFee != null">
+                    globulin_fee = #{item.globulinFee},
+                </if>
+                <if test="item.bloodFactorFee != null">
+                    blood_factor_fee = #{item.bloodFactorFee},
+                </if>
+                <if test="item.cellFactorFee != null">
+                    cell_factor_fee = #{item.cellFactorFee},
+                </if>
+                <if test="item.checkMaterialFee != null">
+                    check_material_fee = #{item.checkMaterialFee},
+                </if>
+                <if test="item.treatMaterialFee != null">
+                    treat_material_fee = #{item.treatMaterialFee},
+                </if>
+                <if test="item.operationMaterialFee != null">
+                    operation_material_fee = #{item.operationMaterialFee},
+                </if>
+                <if test="item.otherTypeFee != null">
+                    other_type_fee = #{item.otherTypeFee},
+                </if>
+                <if test="item.singleDiagManage != null">
+                    single_diag_manage = #{item.singleDiagManage},
+                </if>
+                <if test="item.clinicPathwayManage != null">
+                    clinic_pathway_manage = #{item.clinicPathwayManage},
+                </if>
+                <if test="item.isOutpatientBehospital != null">
+                    is_outpatient_behospital = #{item.isOutpatientBehospital},
+                </if>
+                <if test="item.isLeaveBehospital != null">
+                    is_leave_behospital = #{item.isLeaveBehospital},
+                </if>
+                <if test="item.isOperationBeforeAfter != null">
+                    is_operation_before_after = #{item.isOperationBeforeAfter},
+                </if>
+                <if test="item.isClinicPathology != null">
+                    is_clinic_pathology = #{item.isClinicPathology},
+                </if>
+                <if test="item.isRadiatePathology != null">
+                    is_radiate_pathology = #{item.isRadiatePathology},
+                </if>
+                <if test="item.rescueNum != null">
+                    rescue_num = #{item.rescueNum},
+                </if>
+                <if test="item.rescueSuccessNum != null">
+                    rescue_success_num = #{item.rescueSuccessNum},
+                </if>
+                <if test="item.isAutoLeavehospital != null">
+                    is_auto_leavehospital = #{item.isAutoLeavehospital},
+                </if>
+                <if test="item.returnToType != null">
+                    return_to_type = #{item.returnToType},
+                </if>
+
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where home_page_id = #{item.homePageId} and hospital_id = #{item.hospitalId} and behospital_code = #{item.behospitalCode}
+        </foreach>
+    </update>
+
 </mapper>

+ 56 - 0
src/main/resources/mapper/MedCrisisInfoMapper.xml

@@ -28,4 +28,60 @@
         <result column="modifier" property="modifier" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_crisis_info
+            <set>
+                <if test="item.crisisId != null">
+                    crisis_id = #{item.crisisId},
+                </if>
+                <if test="item.crisisName != null">
+                    crisis_name = #{item.crisisName},
+                </if>
+                <if test="item.deptId != null">
+                    dept_id = #{item.deptId},
+                </if>
+                <if test="item.deptName != null">
+                    dept_name = #{item.deptName},
+                </if>
+                <if test="item.doctorId != null">
+                    doctor_id = #{item.doctorId},
+                </if>
+                <if test="item.doctorName != null">
+                    doctor_name = #{item.doctorName},
+                </if>
+                <if test="item.crisisValue != null">
+                    crisis_value = #{item.crisisValue},
+                </if>
+                <if test="item.crisisDesc != null">
+                    crisis_desc = #{item.crisisDesc},
+                </if>
+                <if test="item.crisisStatus != null">
+                    crisis_status = #{item.crisisStatus},
+                </if>
+                <if test="item.crisisTopValue != null">
+                    crisis_top_value = #{item.crisisTopValue},
+                </if>
+                <if test="item.crisisLowerValue != null">
+                    crisis_lower_value = #{item.crisisLowerValue},
+                </if>
+                <if test="item.sendDate != null">
+                    send_date = #{item.sendDate},
+                </if>
+                <if test="item.repDate != null">
+                    rep_date = #{item.repDate},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where rec_id = #{item.recId} and hospital_id = #{item.hospitalId} and behospital_code = #{item.behospitalCode} and rec_type = #{item.recType}
+        </foreach>
+    </update>
+
+
+
 </mapper>

+ 21 - 0
src/main/resources/mapper/MedRecordTypeMapper.xml

@@ -13,4 +13,25 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_record_type
+            <set>
+                <if test="item.typeName != null">
+                    type_name = #{item.typeName},
+                </if>
+                <if test="item.parentTypeId != null">
+                    parent_type_id = #{item.parentTypeId},
+                </if>
+                <if test="item.objName != null">
+                    obj_name = #{item.objName},
+                </if>
+                <if test="item.spell != null">
+                    spell = #{item.spell},
+                </if>
+            </set>
+            where type_id = #{item.typeId} and hospital_id = #{item.hospitalId}
+        </foreach>
+    </update>
+
 </mapper>

+ 23 - 0
src/main/resources/mapper/MedicalRecordContentMapper.xml

@@ -8,6 +8,8 @@
         <result column="hospital_id" property="hospitalId" />
         <result column="content_blob" property="contentBlob" typeHandler="org.apache.ibatis.type.BlobTypeHandler"/>
         <result column="content_text" property="contentText" />
+        <result column="html_text" property="htmlText" />
+        <result column="xml_text" property="xmlText" />
         <result column="is_deleted" property="isDeleted" />
         <result column="gmt_create" property="gmtCreate" />
         <result column="gmt_modified" property="gmtModified" />
@@ -15,4 +17,25 @@
         <result column="modifier" property="modifier" />
     </resultMap>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_medical_record_content
+            <set>
+                <if test="item.htmlText != null">
+                    html_text = #{item.htmlText},
+                </if>
+                <if test="item.xmlText != null">
+                    xml_text = #{item.xmlText},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where rec_id = #{item.recId} and hospital_id = #{item.hospitalId}
+        </foreach>
+    </update>
+
 </mapper>

+ 27 - 0
src/main/resources/mapper/MedicalRecordMapper.xml

@@ -32,4 +32,31 @@
         and t1.behospital_code = #{behospitalCode}
     </select>
 
+    <update id="updateBatchByKey">
+        <foreach collection="list" item="item"  separator=";">
+            update med_medical_record
+            <set>
+                <if test="item.orgCode != null">
+                    org_code = #{item.orgCode},
+                </if>
+                <if test="item.recTypeId != null">
+                    rec_type_id = #{item.recTypeId},
+                </if>
+                <if test="item.recDate != null">
+                    rec_date = #{item.recDate},
+                </if>
+                <if test="item.recTitle != null">
+                    rec_title = #{item.recTitle},
+                </if>
+                <if test="item.gmtModified != null">
+                    gmt_modified = #{item.gmtModified},
+                </if>
+                <if test="item.modifier != null">
+                    modifier = #{item.modifier},
+                </if>
+            </set>
+            where rec_id = #{item.recId} and hospital_id = #{item.hospitalId} and behospital_code = #{item.behospitalCode}
+        </foreach>
+    </update>
+
 </mapper>

+ 2 - 2
src/test/java/com/diagbot/CodeGeneration.java

@@ -49,14 +49,14 @@ public class CodeGeneration {
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("lantone");
-        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
+        dsc.setUrl("jdbc:mysql://192.168.3.5:3306/qc_122?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
         mpg.setDataSource(dsc);
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "qc_model_hospital"}); // 需要生成的表
+        strategy.setInclude(new String[] { "med_medical_record_content"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);