Преглед на файлове

规则库新增修改增加编码判断逻辑

lenovodn преди 2 години
родител
ревизия
cea97701ba

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

@@ -129,7 +129,7 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
                                       @RequestParam(name = "ruleName", required = false) String ruleName,
                                       HttpServletRequest req) {
         List<TreeSelectModel> treeSelectModels = sysCategoryService.queryListByCode(dictCode);
-        boolean search=false;
+        boolean search = false;
         List<String> codeList = treeSelectModels.stream().map(item -> item.getCode()).collect(Collectors.toList());
         //type 1 医院 2医保
         if (!StringUtils.hasText(type)) {
@@ -145,38 +145,38 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
                 drugId = list.get(0).getMedicineCode();
             }
             queryWrapper.eq(MedicalInsRuleProject::getProjectCode, drugId.trim());
-            search=true;
+            search = true;
         } else if (StringUtils.hasText(drugId) && type.equals("2")) {
             queryWrapper.eq(MedicalInsRuleProject::getProjectCode, drugId.trim());
-            search=true;
+            search = true;
         }
         if (StringUtils.hasText(drugName) && type.equals("1")) {
             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()).collect(Collectors.toList());
                 queryWrapper.in(MedicalInsRuleProject::getProjectCode, drugCode);
-            }else{
+            } else {
                 queryWrapper.in(MedicalInsRuleProject::getProjectCode, "0");
             }
-            search=true;
+            search = true;
 
         } else if (StringUtils.hasText(drugName) && type.equals("2")) {
             queryWrapper.like(MedicalInsRuleProject::getProjectName, drugName.trim());
-            search=true;
+            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;
+            search = true;
         }
-        if(search){
+        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);
             }
-            if(ids.size()==0){
+            if (ids.size() == 0) {
                 return Result.OK(treeSelectModels);
             }
         }
@@ -330,6 +330,20 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
         if (medicalInsRuleInfo.getRuleName().equals(Constant.SHARE_RULES)) {
             medicalInsRuleInfo.setCategory(null);
         }
+        if (StringUtils.hasText(medicalInsRuleInfo.getSelectedRoles())) {
+            String selectedRoles = medicalInsRuleInfo.getSelectedRoles();
+            if (selectedRoles.contains("projectName") && !selectedRoles.contains("projectCode")) {
+                return Result.error("有项目名称,项目编码必须选择");
+
+            }
+            if (selectedRoles.contains("correlationProjectName") && !selectedRoles.contains("correlationProjectCode")) {
+                return Result.error("有关联项目名称,关联项目编码必须选择");
+
+            }
+            if (selectedRoles.contains("correlationProjectName") && selectedRoles.contains("correlationProjectCode") && !selectedRoles.contains("projectCode")) {
+                return Result.error("有关联项目编码,项目编码必须选择");
+            }
+        }
         medicalInsRuleInfoService.save(medicalInsRuleInfo);
         return Result.OK("添加成功!");
     }
@@ -345,7 +359,25 @@ public class MedicalInsRuleInfoController extends JeecgController<MedicalInsRule
 //	@RequiresPermissions("medical:medical_ins_rule_info:edit")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody MedicalInsRuleInfo medicalInsRuleInfo) {
+        if (StringUtils.hasText(medicalInsRuleInfo.getSelectedRoles())) {
+            String selectedRoles = medicalInsRuleInfo.getSelectedRoles();
+            if (selectedRoles.contains("projectName") && !selectedRoles.contains("projectCode")) {
+               return Result.error("有项目名称,项目编码必须选择");
+
+            }
+            if (selectedRoles.contains("correlationProjectName") && !selectedRoles.contains("correlationProjectCode")) {
+                return Result.error("有关联项目名称,关联项目编码必须选择");
+
+            }
+            if (selectedRoles.contains("correlationProjectName") && selectedRoles.contains("correlationProjectCode") && !selectedRoles.contains("projectCode")) {
+                return Result.error("有关联项目编码,项目编码必须选择");
+            }
+        }
+        if (medicalInsRuleInfo.getRuleName().equals(Constant.SHARE_RULES)) {
+            medicalInsRuleInfo.setCategory(null);
+        }
         medicalInsRuleInfoService.updateById(medicalInsRuleInfo);
+
         return Result.OK("编辑成功!");
     }