소스 검색

Merge branch 'dev/20220228_v3.0.1通用版_渠道管理第一期' into test

songxinlu 3 년 전
부모
커밋
0f920f2b8c

+ 79 - 72
daqe-center/src/main/java/com/lantone/daqe/facade/BlockLossManagementFacade.java

@@ -450,80 +450,87 @@ public class BlockLossManagementFacade {
      * @Return void
      */
     private Boolean upBlockLossStatus(Map<String, List<BlocklossResult>> lossResultMap, Long hospitalId, Long principleId) {
-        AtomicReference<Boolean> flag = new AtomicReference<>(false);
-        lossResultMap.keySet().stream().forEach(lossType -> {
-            //0:文书丢失 1:病案首页丢失 2:患者信息丢失
-            switch (lossType) {
-                case "0":
-                    //文书丢失
-                    List<String> redIds = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
-                            .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                            .in("rec_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
-                            .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
-                            .eq("is_deleted", IsDeleteEnum.N.getKey()))
-                            .stream().map(MedicalRecord::getRecId).collect(Collectors.toList());
-                    //更新状态-已恢复
-                    if (ListUtil.isNotEmpty(redIds)) {
-                        flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
-                                .set("solve_time", DateUtil.now())
-                                .set("gmt_modified", DateUtil.now())
-                                .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", principleId != null ? principleId + "" : "0")
-                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
-                                .eq("loss_type", lossType)
-                                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                                .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                                .in("rec_id", redIds)));
-                    }
-                    break;
-                case "1":
-                    //病案首页丢失
-                    List<String> homePages = homePageFacade.list(new QueryWrapper<HomePage>()
-                            .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                            .in("home_page_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
-                            .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
-                            .eq("is_deleted", IsDeleteEnum.N.getKey()))
-                            .stream().map(HomePage::getHomePageId).collect(Collectors.toList());
-
-                    //更新状态-已恢复
-                    if (ListUtil.isNotEmpty(homePages)) {
-                        flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
-                                .set("solve_time", DateUtil.now())
-                                .set("gmt_modified", DateUtil.now())
-                                .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", principleId != null ? principleId + "" : "0")
-                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
-                                .eq("loss_type", lossType)
-                                .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                                .in("rec_id", homePages)
-                                .eq("is_deleted", IsDeleteEnum.N.getKey())));
-                    }
-                    break;
-                case "2":
-                    //患者信息丢失
-                    List<String> behospitalCodes = behospitalInfoFacade.list(new QueryWrapper<BehospitalInfo>()
-                            .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                            .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
-                            .eq("is_deleted", IsDeleteEnum.N.getKey()))
-                            .stream().map(BehospitalInfo::getBehospitalCode).collect(Collectors.toList());
-                    //更新状态-已恢复
-                    if (ListUtil.isNotEmpty(behospitalCodes)) {
-                        flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
-                                .set("solve_time", DateUtil.now())
-                                .set("gmt_modified", DateUtil.now())
-                                .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", principleId != null ? principleId + "" : "0")
-                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
-                                .eq("loss_type", lossType)
-                                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                                .eq("hospital_id", hospitalId != null ? hospitalId : 0)
-                                .in("behospital_code", behospitalCodes)));
+        AtomicReference<Boolean> flag = new AtomicReference<>(true);
+        //获取已丢失的病历(按照人来更新)
+        if(ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()))){
+            List<String> lossCodes = lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList());
+            //已经补录的患者信息
+            List<String> behospitalCodes = behospitalInfoFacade.list(new QueryWrapper<BehospitalInfo>()
+                    .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                    .in("behospital_code", lossCodes)
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()))
+                    .stream().map(BehospitalInfo::getBehospitalCode).collect(Collectors.toList());
+            //有补录的病历时
+            if(ListUtil.isNotEmpty(behospitalCodes)){
+                lossResultMap.keySet().stream().forEach(lossType -> {
+                    //0:文书丢失 1:病案首页丢失 2:患者信息丢失
+                    switch (lossType) {
+                        case "0":
+                            //文书丢失
+                            List<String> redIds = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
+                                    .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                                    .in("rec_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
+                                    .in("behospital_code", behospitalCodes)
+                                    .eq("is_deleted", IsDeleteEnum.N.getKey()))
+                                    .stream().map(MedicalRecord::getRecId).collect(Collectors.toList());
+                            //更新状态-已恢复
+                            if (ListUtil.isNotEmpty(redIds)) {
+                                flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
+                                        .set("solve_time", DateUtil.now())
+                                        .set("gmt_modified", DateUtil.now())
+                                        .set("status", LossStatusEnum.NOT_LOSS.getKey())
+                                        .set("modifier", principleId != null ? principleId + "" : "0")
+                                        .eq("status", LossStatusEnum.IS_LOSS.getKey())
+                                        .eq("loss_type", lossType)
+                                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                        .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                                        .in("rec_id", redIds)));
+                            }
+                            break;
+                        case "1":
+                            //病案首页丢失
+                            List<String> homePages = homePageFacade.list(new QueryWrapper<HomePage>()
+                                    .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                                    .in("home_page_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
+                                    .in("behospital_code", behospitalCodes)
+                                    .eq("is_deleted", IsDeleteEnum.N.getKey()))
+                                    .stream().map(HomePage::getHomePageId).collect(Collectors.toList());
+
+                            //更新状态-已恢复
+                            if (ListUtil.isNotEmpty(homePages)) {
+                                flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
+                                        .set("solve_time", DateUtil.now())
+                                        .set("gmt_modified", DateUtil.now())
+                                        .set("status", LossStatusEnum.NOT_LOSS.getKey())
+                                        .set("modifier", principleId != null ? principleId + "" : "0")
+                                        .eq("status", LossStatusEnum.IS_LOSS.getKey())
+                                        .eq("loss_type", lossType)
+                                        .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                                        .in("rec_id", homePages)
+                                        .eq("is_deleted", IsDeleteEnum.N.getKey())));
+                            }
+                            break;
+                        case "2":
+                            //更新状态-已恢复
+                            if (ListUtil.isNotEmpty(behospitalCodes)) {
+                                flag.set(blocklossResultFacade.update(new UpdateWrapper<BlocklossResult>()
+                                        .set("solve_time", DateUtil.now())
+                                        .set("gmt_modified", DateUtil.now())
+                                        .set("status", LossStatusEnum.NOT_LOSS.getKey())
+                                        .set("modifier", principleId != null ? principleId + "" : "0")
+                                        .eq("status", LossStatusEnum.IS_LOSS.getKey())
+                                        .eq("loss_type", lossType)
+                                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                        .eq("hospital_id", hospitalId != null ? hospitalId : 0)
+                                        .in("behospital_code", behospitalCodes)));
+                            }
+                            break;
+                        default:
+                            break;
                     }
-                    break;
-                default:
-                    break;
+                });
             }
-        });
+        }
         return flag.get();
     }
 

+ 31 - 6
daqe-center/src/main/java/com/lantone/daqe/facade/HisDataManagementFacade.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.DateUtil;
 import com.lantone.common.util.EntityUtil;
 import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
@@ -124,12 +125,36 @@ public class HisDataManagementFacade {
 
         //插入新查出的his数据
         try {
-            behospitalInfoServiceImpl.saveBatch(BeanUtil.listCopyTo(hisBehospitalInfos, BehospitalInfo.class));
-            homePageServiceImpl.saveBatch(BeanUtil.listCopyTo(hisHomePages, HomePage.class));
-            medicalRecordServiceImpl.saveBatch(BeanUtil.listCopyTo(hisMedicalRecords, MedicalRecord.class));
-            if (ListUtil.isNotEmpty(hisMedicalRecordContents)) {
-                medicalRecordContentServiceImpl.saveBatch(BeanUtil.listCopyTo(hisMedicalRecordContents, MedicalRecordContent.class));
+            List<BehospitalInfo> saveCodes = BeanUtil.listCopyTo(hisBehospitalInfos, BehospitalInfo.class);
+            List<HomePage> saveHomepages = BeanUtil.listCopyTo(hisHomePages, HomePage.class);
+            List<MedicalRecord> saveMedicalRecords = BeanUtil.listCopyTo(hisMedicalRecords, MedicalRecord.class);
+            if (ListUtil.isNotEmpty(saveCodes)) {
+                saveCodes.stream().forEach(behospitalInfo -> {
+                    behospitalInfo.setGmtModified(DateUtil.now());
+                    behospitalInfo.setGmtCreate(DateUtil.now());
+                });
+                behospitalInfoServiceImpl.saveBatch(saveCodes);
             }
+
+            if (ListUtil.isNotEmpty(saveHomepages)) {
+                saveHomepages.stream().forEach(homePage -> {
+                    homePage.setGmtModified(DateUtil.now());
+                    homePage.setGmtCreate(DateUtil.now());
+                });
+                homePageServiceImpl.saveBatch(saveHomepages);
+            }
+
+            if (ListUtil.isNotEmpty(saveMedicalRecords)) {
+                saveMedicalRecords.stream().forEach(medicalRecord -> {
+                    medicalRecord.setGmtModified(DateUtil.now());
+                    medicalRecord.setGmtCreate(DateUtil.now());
+                });
+                medicalRecordServiceImpl.saveBatch(saveMedicalRecords);
+                if (ListUtil.isNotEmpty(hisMedicalRecordContents)) {
+                    medicalRecordContentServiceImpl.saveBatch(BeanUtil.listCopyTo(hisMedicalRecordContents, MedicalRecordContent.class));
+                }
+            }
+
         } catch (Exception e) {
             Asserts.fail("文书批量插入过程出错");
         }
@@ -164,7 +189,7 @@ public class HisDataManagementFacade {
         //文书
         List<HisMedicalRecord> hisMedicalRecords = hisMedicalRecordFacade.list(new QueryWrapper<HisMedicalRecord>().select("rec_id,rec_title,behospital_code")
                 .eq(dataCompareVO.getHospitalId() != null, "hospital_id", dataCompareVO.getHospitalId())
-                .in("behospital_code", codes) );
+                .in("behospital_code", codes));
         Map<String, List<HisMedicalRecord>> medicalRecordMap = EntityUtil.makeEntityListMap(hisMedicalRecords, "behospitalCode");
 
         //拼装

+ 1 - 7
daqe-center/src/main/java/com/lantone/daqe/facade/RegularManagementFacade.java

@@ -14,7 +14,6 @@ import com.lantone.daqe.dto.GetRegularPageDTO;
 import com.lantone.daqe.entity.ColumnVerify;
 import com.lantone.daqe.entity.RegularInfo;
 import com.lantone.daqe.entity.RegularMapping;
-import com.lantone.daqe.entity.RegularResult;
 import com.lantone.daqe.enums.ColumnVerifyTypeEnum;
 import com.lantone.daqe.facade.base.ColumnVerifyFacade;
 import com.lantone.daqe.facade.base.RegularInfoFacade;
@@ -140,12 +139,7 @@ public class RegularManagementFacade {
         if (regularInfoFacade.getById(id) == null) {
             Asserts.fail("该正则式不存在!");
         }
-        RegularInfo regularInfo = new RegularInfo();
-        regularInfo.setId(id);
-        regularInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
-        regularInfo.setGmtModified(DateUtil.now());
-        regularInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
-        if (regularInfoFacade.updateById(regularInfo)) {
+        if (regularInfoFacade.removeById(id)) {
             //先获取正则维护关联表id
             List<Long> regularMappingIdList = getRegularMappingId(id);
             //删除表字段的实际值与正则式关联关系

+ 2 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/RegularInfoFacade.java

@@ -1,6 +1,7 @@
 package com.lantone.daqe.facade.base;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.daqe.entity.RegularInfo;
 import com.lantone.daqe.service.impl.RegularInfoServiceImpl;
 import org.springframework.stereotype.Component;
@@ -15,6 +16,7 @@ public class RegularInfoFacade extends RegularInfoServiceImpl {
     public boolean isExist(RegularInfo regularInfo) {
         boolean flag = false;
         RegularInfo regular = this.getOne(new QueryWrapper<RegularInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("name", regularInfo.getName()));
         if (regular != null) {
             flag = true;