Selaa lähdekoodia

优化查询数据 设置字段返回

ljx 4 vuotta sitten
vanhempi
commit
e7ce5f0dd5

+ 2 - 2
src/main/java/com/imed/costaccount/model/dto/CostIncomeGroupSetEditDto.java

@@ -38,6 +38,6 @@ public class CostIncomeGroupSetEditDto {
     @Max(100L)
     private Integer startDepartmentProportion;
 
-    @ApiModelProperty(name = "responsibilityCode", value = "责任中心的代码")
-    private String responsibilityCode;
+    @ApiModelProperty(name = "responsibilityCodes", value = "责任中心的代码")
+    private String responsibilityCodes;
 }

+ 11 - 9
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupSetServiceImpl.java

@@ -56,13 +56,14 @@ public class CostIncomeGroupSetServiceImpl extends ServiceImpl<CostIncomeGroupSe
                 .eq(Responsibility::getHospId, hospId));
         List<CostIncomeGroupSetVO> costIncomeGroupSetVOList = BeanUtil.convertList(records, CostIncomeGroupSetVO.class);
         if (!CollectionUtils.isEmpty(responsibilityList)) {
-            Map<String, List<Responsibility>> listMap = responsibilityList.stream().collect(Collectors.groupingBy(Responsibility::getResponsibilityCode));
+            final Map<String, String> listMap = responsibilityList.stream().collect(Collectors.toMap(Responsibility::getResponsibilityCode, Responsibility::getResponsibilityName));
             costIncomeGroupSetVOList.forEach(i -> {
                 String responsibilityCode = i.getResponsibilityCode();
-                if (!StringUtils.isEmpty(responsibilityCode)) {
-                    List<Responsibility> responsibilities = listMap.get(responsibilityCode);
-                    if (!CollectionUtils.isEmpty(responsibilities)) {
-                        i.setResponsibilityName(responsibilities.get(0).getResponsibilityName());
+                if (StringUtils.isEmpty(responsibilityCode)){
+                    List<String> responsibilityCodeList = Arrays.asList(responsibilityCode.split(StrUtil.SLASH));
+                    if (CollectionUtils.isEmpty(responsibilityCodeList)) {
+                        String responsibilityName = listMap.get(responsibilityCodeList.get(responsibilityCodeList.size()-1));
+                        i.setResponsibilityName(responsibilityName);
                     }
                 }
                 if (NumberConstant.ONE.equals(i.getOpenDepartmentStatus()) && NumberConstant.ONE.equals(i.getStartDepartmentStatus())){
@@ -94,12 +95,13 @@ public class CostIncomeGroupSetServiceImpl extends ServiceImpl<CostIncomeGroupSe
         List<Responsibility> responsibilityList = responsibilityService.list(new QueryWrapper<Responsibility>().lambda()
                 .eq(Responsibility::getHospId, hospId));
         if (!CollectionUtils.isEmpty(responsibilityList)) {
-            Map<String, List<Responsibility>> listMap = responsibilityList.stream().collect(Collectors.groupingBy(Responsibility::getResponsibilityCode));
+            Map<String, String> listMap = responsibilityList.stream().collect(Collectors.toMap(Responsibility::getResponsibilityCode, Responsibility::getResponsibilityName));
             String responsibilityCode = costIncomeGroupSetVO.getResponsibilityCode();
             if (!StringUtils.isEmpty(responsibilityCode)) {
-                List<Responsibility> responsibilities = listMap.get(responsibilityCode);
-                if (!CollectionUtils.isEmpty(responsibilities)) {
-                    costIncomeGroupSetVO.setResponsibilityName(responsibilities.get(0).getResponsibilityName());
+                List<String> asList = Arrays.asList(responsibilityCode.split(StrUtil.SLASH));
+                if (!CollectionUtils.isEmpty(asList)){
+                    String responsibilities = listMap.get(asList.get(asList.size()-1));
+                    costIncomeGroupSetVO.setResponsibilityName(responsibilities);
                 }
             }
         }