Jelajahi Sumber

医保规则库管理和规则配置查询修复

1020076393@qq.com 2 tahun lalu
induk
melakukan
42d54405b1

+ 16 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/MedicalInsRuleInfoController.java

@@ -54,6 +54,7 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.util.StopWatch;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -129,6 +130,8 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
                                       @RequestParam(name = "type", required = false) String type,
                                       @RequestParam(name = "ruleName", required = false) String ruleName,
                                       HttpServletRequest req) {
+        StopWatch stopwatch =  new StopWatch();
+        stopwatch.start("1");
         List<TreeSelectModel> treeSelectModels = sysCategoryService.queryListByCode(dictCode);
         boolean search = false;
         List<String> codeList = treeSelectModels.stream().map(item -> item.getCode()).collect(Collectors.toList());
@@ -139,6 +142,7 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
         List<Integer> ids = new ArrayList<>();
         List<Integer> searchIds = new ArrayList<>();
         LambdaQueryWrapper<MedicalInsRuleProject> queryWrapper = new LambdaQueryWrapper<>();
+
         if (StringUtils.hasText(drugId) && type.equals("1")) {
 
             List<MedicalInsuranceDrugs> list = drugsService.lambdaQuery().eq(MedicalInsuranceDrugs::getItemIdHosp, drugId.trim()).list();
@@ -155,7 +159,7 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
             List<MedicalInsuranceDrugs> list = drugsService.lambdaQuery().like(MedicalInsuranceDrugs::getItemNameHosp, drugName.trim()).list();
             List<String> drugCode = new ArrayList<>();
             if (list.size() > 0) {
-                drugCode = list.stream().map(item -> item.getMedicineCode()).collect(Collectors.toList());
+                drugCode = list.stream().map(item -> item.getMedicineCode()).distinct().collect(Collectors.toList());
                 queryWrapper.in(MedicalInsRuleProject::getProjectCode, drugCode);
             } else {
                 queryWrapper.in(MedicalInsRuleProject::getProjectCode, "0");
@@ -166,17 +170,20 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
             queryWrapper.like(MedicalInsRuleProject::getProjectName, drugName.trim());
             search = true;
         }
+
         if (StringUtils.hasText(ruleName)) {
             List<MedicalInsRuleInfo> list = medicalInsRuleInfoService.lambdaQuery().like(MedicalInsRuleInfo::getRuleName, ruleName.trim()).in(MedicalInsRuleInfo::getCategory, codeList).list();
-            ids = list.stream().map(item -> item.getId()).collect(Collectors.toList());
-            search = true;
+            ids = list.stream().map(item -> item.getId()).distinct().collect(Collectors.toList());
+//            search = true;
         }
+
         if (search) {
-            List<MedicalInsRuleProject> ruleList = projectService.list(queryWrapper);
-            searchIds = ruleList.stream().map(item -> item.getMedicalInsRuleInfoId()).collect(Collectors.toList());
-            if (searchIds.size() > 0) {
-                ids.addAll(searchIds);
-            }
+                List<MedicalInsRuleProject> ruleList = projectService.list(queryWrapper);
+                searchIds = ruleList.stream().map(item -> item.getMedicalInsRuleInfoId()).distinct().collect(Collectors.toList());
+                if (searchIds.size() > 0) {
+                    ids.addAll(searchIds);
+                }
+
             if (ids.size() == 0) {
                 return Result.OK(treeSelectModels);
             }
@@ -199,6 +206,7 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
             }
             model.setChildren(treeList);
         }
+
         return Result.OK(treeSelectModels);
     }
 

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/Diagnoses.java

@@ -37,11 +37,11 @@ public class Diagnoses implements Serializable {
     @ApiModelProperty(value = "主键ID")
     private java.lang.Integer id;
 	/**分类码;*/
-	@Excel(name = "分类码;", width = 15)
+	@Excel(name = "分类码", width = 15)
     @ApiModelProperty(value = "分类码;")
     private java.lang.String classifiCode;
 	/**分类名称;*/
-	@Excel(name = "分类名称;", width = 15)
+	@Excel(name = "分类名称", width = 15)
     @ApiModelProperty(value = "分类名称;")
     private java.lang.String classifiName;
 	/**诊断名*/