Quellcode durchsuchen

关爱病区条目扣分特殊处理

chengyao vor 3 Jahren
Ursprung
Commit
e1a1f06937
1 geänderte Dateien mit 38 neuen und 2 gelöschten Zeilen
  1. 38 2
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

+ 38 - 2
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -148,6 +148,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
     @Autowired
     SysUserRoleFacade sysUserRoleFacade;
+    @Autowired
+    BasDeptInfoFacade basDeptInfoFacade;
 
 
     /**
@@ -2205,7 +2207,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             qcResultAlgQueryVO.setIsPlacefile(isPlacefile);
             qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
         }
-
+        //关爱病区病历扣分项目中涉及个人史、既往史、家族史、婚姻史条目扣分为0
+        specialDeptData(analyzeVO,qcResultAlgVOList);
         // 对info赋值
         for (QcResultAlgVO bean : qcResultAlgVOList) {
             String info = codeToInfoMap.get(bean.getCode());
@@ -2253,7 +2256,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             qcResultAlgQueryVO.setIsPlacefile(isPlacefile);
             qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
         }
-
+        //关爱病区病历扣分项目中涉及个人史、既往史、家族史、婚姻史条目扣分为0
+        specialDeptData(analyzeVO,qcResultAlgVOList);
         // 对info赋值
         for (QcResultAlgVO bean : qcResultAlgVOList) {
             String info = codeToInfoMap.get(bean.getCode());
@@ -2351,6 +2355,38 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return map;
     }
 
+    void specialDeptData(AnalyzeVO analyzeVO, List<QcResultAlgVO> qcResultAlgVOList){
+        BasDeptInfo basDeptInfo = basDeptInfoFacade.lambdaQuery()
+                .eq(BasDeptInfo::getHospitalId, analyzeVO.getHospitalId())
+                .eq(BasDeptInfo::getIsDeleted, IsDeleteEnum.N.getKey())
+                .eq(BasDeptInfo::getDeptName, "关爱病区").one();
+
+        BehospitalInfo behospitalInfo = this.lambdaQuery()
+                .eq(BehospitalInfo::getHospitalId, analyzeVO.getHospitalId())
+                .eq(BehospitalInfo::getIsDeleted, IsDeleteEnum.N.getKey())
+                .eq(BehospitalInfo::getBehospitalCode, analyzeVO.getBehospitalCode()).one();
+
+
+        if(null != basDeptInfo && null != behospitalInfo && StringUtils.isNotBlank(basDeptInfo.getDeptId())
+                && StringUtils.isNotBlank(behospitalInfo.getBehDeptId())
+                && basDeptInfo.getDeptId().equals((behospitalInfo.getBehDeptId()))
+                && ListUtil.isNotEmpty(qcResultAlgVOList)){
+            List<Long> casesEntryIds = qcCasesEntryFacade.lambdaQuery()
+                    .eq(QcCasesEntry::getIsDeleted, IsDeleteEnum.N.getKey())
+                    .like(QcCasesEntry::getName, "个人史")
+                    .like(QcCasesEntry::getName, "既往史")
+                    .like(QcCasesEntry::getName, "家族史")
+                    .like(QcCasesEntry::getName, "婚姻史").list().stream().map(QcCasesEntry::getId).collect(Collectors.toList());
+            if(ListUtil.isNotEmpty(casesEntryIds)){
+                qcResultAlgVOList.forEach(obj->{
+                    if(casesEntryIds.contains(obj.getCasesEntryId())){
+                        obj.setScore(BigDecimal.ZERO);
+                    }
+                });
+            }
+        }
+    };
+
     /**
      * cds访问质控接口
      *