Explorar el Código

事后测试数据测试类

0027005599 hace 2 años
padre
commit
22c48c3a0c

+ 8 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/RuleEngine.java

@@ -279,12 +279,16 @@ public class RuleEngine {
     public void genItemCodeAndRuleIdMapTest(String medicalProjectCode, AfterwardsAuditDetail afterwardsAuditDetail, List<MedicalInsRuleInfo> medicalInsRuleInfoList, Map<Integer, MedicalInsRuleInfo> medicalMap, Map<String, Boolean> codeDataMap) {
         try {
             List<Integer> ruleIdList = medicalInsRuleInfoList.stream().map(MedicalInsRuleInfo::getId).collect(Collectors.toList());
-
+            List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.lambdaQuery().in(MedicalInsRuleProject::getMedicalInsRuleInfoId, ruleIdList).list();
+            if(CollectionUtil.isEmpty(medicalInsRuleProjectList)){
+                return;
+            }
+            Map<Integer, List<MedicalInsRuleProject>> ruleIdAndMap = medicalInsRuleProjectList.stream().collect(Collectors.groupingBy(MedicalInsRuleProject::getMedicalInsRuleInfoId));
             for (Integer medicalInsInfoId : ruleIdList) {
 
-                List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.lambdaQuery().eq(MedicalInsRuleProject::getMedicalInsRuleInfoId, medicalInsInfoId).list();
-                if (CollectionUtil.isNotEmpty(medicalInsRuleProjectList)) {
-                    for (MedicalInsRuleProject medicalInsRuleProject : medicalInsRuleProjectList) {
+                List<MedicalInsRuleProject> medicalInsRuleProjectListTemp = ruleIdAndMap.get(medicalInsInfoId);
+                if (CollectionUtil.isNotEmpty(medicalInsRuleProjectListTemp)) {
+                    for (MedicalInsRuleProject medicalInsRuleProject : medicalInsRuleProjectListTemp) {
                         boolean startFlag = SPELUtil.startWithKey(medicalProjectCode, medicalInsRuleProject.getProjectCode());
                         if (startFlag) {
                             afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleProject.getMedicalInsRuleInfoId());