|
|
@@ -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);
|
|
|
}
|
|
|
|