From edb7c7c9aeb92fcdac6843071e2f36c158459b32 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Thu, 22 Jan 2026 09:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A9=E9=98=B5=E7=BC=96=E6=8E=92=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=8C=87=E4=BB=A4=E6=A0=91=E8=B0=83=E6=95=B4=EF=BC=9A?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E5=8F=98=E4=B8=BAmap?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=EF=BC=8C=E5=86=85=E5=AE=B9=E5=88=86=E5=88=AB?= =?UTF-8?q?=E4=B8=BA=E5=8E=9F=E6=9C=AC=E7=9A=84=E6=9C=8D=E5=8A=A1=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E6=A0=91=EF=BC=8C=E6=96=B0=E5=A2=9E=E7=9A=84=E5=8D=B3?= =?UTF-8?q?=E6=97=B6=E6=8C=87=E4=BB=A4=E6=A0=91=EF=BC=88=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=88=ABcategory+=E6=89=80=E6=9C=89=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E6=9C=8D=E5=8A=A1=E7=B1=BB=E5=9E=8Btype?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directiveplan/api/CareDirectiveApi.java | 5 +- .../api/InvoicingDirectiveApi.java | 5 +- .../api/LogisticsDirectiveApi.java | 19 +- .../modules/config/IDirectiveConfigApi.java | 2 +- .../BizConfigServiceCategoryServiceImpl.java | 305 +++++++++++------- .../mapper/xml/DirectivePackageMapper.xml | 2 + 6 files changed, 197 insertions(+), 141 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java index 3ead211e..5f3cde78 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java @@ -40,9 +40,8 @@ public class CareDirectiveApi { * @return */ @GetMapping(value = "/getServiceTree") - public Result>> getServiceTree() { - List> treeList = directiveConfigApi.getServiceTree("1"); - return Result.OK(treeList); + public Result> getServiceTree() { + return Result.OK(directiveConfigApi.getServiceTree("1")); } /** diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/InvoicingDirectiveApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/InvoicingDirectiveApi.java index 30e4c2a8..20784ae0 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/InvoicingDirectiveApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/InvoicingDirectiveApi.java @@ -36,9 +36,8 @@ public class InvoicingDirectiveApi { * @return */ @GetMapping(value = "/getServiceTree") - public Result>> getServiceTree() { - List> treeList = directiveConfigApi.getServiceTree("3"); - return Result.OK(treeList); + public Result> getServiceTree() { + return Result.OK(directiveConfigApi.getServiceTree("3")); } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/LogisticsDirectiveApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/LogisticsDirectiveApi.java index 3b939098..37f5d806 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/LogisticsDirectiveApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/LogisticsDirectiveApi.java @@ -16,11 +16,11 @@ import java.util.Map; /** -* @Description: 行政类服务指令计划API -* @Author: caolei -* @Date: 2026-1-6 -* @Version: V1.0 -*/ + * @Description: 行政类服务指令计划API + * @Author: caolei + * @Date: 2026-1-6 + * @Version: V1.0 + */ @RestController @RequestMapping("/api/pad/logistics/directive") @@ -39,9 +39,8 @@ public class LogisticsDirectiveApi { * @return */ @GetMapping(value = "/getServiceTree") - public Result>> getServiceTree() { - List> treeList = directiveConfigApi.getServiceTree("4"); - return Result.OK(treeList); + public Result> getServiceTree() { + return Result.OK(directiveConfigApi.getServiceTree("4")); } @@ -52,8 +51,8 @@ public class LogisticsDirectiveApi { * @return */ @GetMapping(value = "/getNclist") - public Result> getPlanList(LogisticsDirectiveEntity logisticsDirectiveEntity) { - Map pageList = logisticsDirectivePlanApi.getPlanList(logisticsDirectiveEntity); + public Result> getPlanList(LogisticsDirectiveEntity logisticsDirectiveEntity) { + Map pageList = logisticsDirectivePlanApi.getPlanList(logisticsDirectiveEntity); return Result.OK(pageList); } diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/config/IDirectiveConfigApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/config/IDirectiveConfigApi.java index 0cd9e367..5ecab2e3 100644 --- a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/config/IDirectiveConfigApi.java +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/config/IDirectiveConfigApi.java @@ -4,5 +4,5 @@ import java.util.List; import java.util.Map; public interface IDirectiveConfigApi { - List> getServiceTree(String instructionType); + Map getServiceTree(String instructionType); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/common/service/impl/BizConfigServiceCategoryServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/common/service/impl/BizConfigServiceCategoryServiceImpl.java index db30714c..7d458c57 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/common/service/impl/BizConfigServiceCategoryServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/common/service/impl/BizConfigServiceCategoryServiceImpl.java @@ -1,19 +1,17 @@ package com.nu.modules.biz.common.service.impl; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.biz.common.entity.BizConfigInstructionTag; import com.nu.modules.biz.common.entity.BizConfigServiceCategory; import com.nu.modules.biz.common.entity.BizConfigServiceDirective; import com.nu.modules.biz.common.entity.BizConfigServiceType; -import com.nu.modules.biz.common.entity.BizConfigInstructionTag; import com.nu.modules.biz.common.mapper.BizConfigServiceCategoryMapper; +import com.nu.modules.biz.common.service.IBizConfigInstructionTagService; import com.nu.modules.biz.common.service.IBizConfigServiceCategoryService; import com.nu.modules.biz.common.service.IBizConfigServiceDirectiveService; import com.nu.modules.biz.common.service.IBizConfigServiceTypeService; -import com.nu.modules.biz.common.service.IBizConfigInstructionTagService; import com.nu.modules.config.IDirectiveConfigApi; -import com.nu.modules.sysconfig.ISysConfigApi; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -38,15 +36,133 @@ public class BizConfigServiceCategoryServiceImpl extends ServiceImpl getServiceTree(String instructionType) { +// Map result = new HashMap(); +// //查询护理类服务 +// QueryWrapper instructionTagQueryWrapper = new QueryWrapper<>(); +// instructionTagQueryWrapper.eq("iz_enabled", "Y"); +// instructionTagQueryWrapper.eq("del_flag", "0"); +// instructionTagQueryWrapper.eq("instruction_type", instructionType); +// List instructionTagList = instructionTagService.list(instructionTagQueryWrapper); +// Map tagMap = new HashMap(); +// for (BizConfigInstructionTag par : instructionTagList) { +// tagMap.put(par.getId(), par.getInstructionName()); +// } +// +// //查询服务类别数据 +// QueryWrapper categoryQueryWrapper = new QueryWrapper<>(); +// categoryQueryWrapper.eq("iz_enabled", "Y"); +// categoryQueryWrapper.eq("del_flag", "0"); +// List categoryList = baseMapper.selectList(categoryQueryWrapper); +// //查询服务类型数据 +// QueryWrapper typeQueryWrapper = new QueryWrapper<>(); +// typeQueryWrapper.eq("iz_enabled", "Y"); +// typeQueryWrapper.eq("del_flag", "0"); +// List typeList = configServiceTypeService.list(typeQueryWrapper); +// //查询服务指令数据 +// QueryWrapper directiveQueryWrapper = new QueryWrapper<>(); +//// directiveQueryWrapper.eq("cycle_type", "1"); +// directiveQueryWrapper.eq("iz_enabled", "Y"); +// directiveQueryWrapper.eq("del_flag", "0"); +// List directiveList = configServiceDirectiveService.list(directiveQueryWrapper); +// +// //封装服务指令和服务类型tree集合 +// List> typeMapList = new ArrayList<>(); +// for (BizConfigServiceType par : typeList) { +// Map wllxMap = new HashMap(); +// List> directiceMapList = new ArrayList>(); +// for (BizConfigServiceDirective directicePar : directiveList) { +// if (StringUtils.equals(directicePar.getTypeId(), par.getId())) { +// Map directiceMap = new HashMap(); +// directiceMap.put("id", directicePar.getId()); +// directiceMap.put("title", directicePar.getDirectiveName()); +// directiceMap.put("serviceDuration", directicePar.getServiceDuration()); +// directiceMap.put("serviceContent", directicePar.getServiceContent()); +// directiceMap.put("categoryId", directicePar.getCategoryId()); +// directiceMap.put("categoryName", directicePar.getCategoryName()); +// directiceMap.put("typeId", directicePar.getTypeId()); +// directiceMap.put("typeName", directicePar.getTypeName()); +// directiceMap.put("izPackage", "N"); +// if (directicePar.getImmediateFile() != null && !directicePar.getImmediateFile().equals("")) { +// directiceMap.put("immediateFile", directicePar.getImmediateFile()); +// } else { +// directiceMap.put("immediateFile", ""); +// } +// if (directicePar.getImmediateFileFocus() != null && !directicePar.getImmediateFileFocus().equals("")) { +// directiceMap.put("immediateFileFocus", directicePar.getImmediateFileFocus()); +// } else { +// directiceMap.put("immediateFileFocus", ""); +// } +// if (directicePar.getPreviewFile() != null && !directicePar.getPreviewFile().equals("")) { +// directiceMap.put("previewFile", directicePar.getPreviewFile()); +// } else { +// directiceMap.put("previewFile", ""); +// } +// if (directicePar.getPreviewFileSmall() != null && !directicePar.getPreviewFileSmall().equals("")) { +// directiceMap.put("previewFileSmall", directicePar.getPreviewFileSmall()); +// } else { +// directiceMap.put("previewFileSmall", ""); +// } +// if (directicePar.getMp3File() != null && !directicePar.getMp3File().equals("")) { +// directiceMap.put("mp3File", directicePar.getMp3File()); +// } else { +// directiceMap.put("mp3File", ""); +// } +// if (directicePar.getMp4File() != null && !directicePar.getMp4File().equals("")) { +// directiceMap.put("mp4File", directicePar.getMp4File()); +// } else { +// directiceMap.put("mp4File", ""); +// } +// directiceMap.put("levle", "3"); +// directiceMapList.add(directiceMap); +// } +// } +// wllxMap.put("key", par.getId()); +// wllxMap.put("parentId", par.getCategoryId()); +// wllxMap.put("title", par.getTypeName()); +// wllxMap.put("netFlag", par.getNetFlag()); +// wllxMap.put("animationPath", par.getAnimationPath()); +// wllxMap.put("levle", "2"); +// wllxMap.put("children", directiceMapList); +// typeMapList.add(wllxMap); +// } +// +// //封装服务类别服务类型tree集合 +// List> treeList = new ArrayList<>(); +// int index = 0; +// for (BizConfigServiceCategory par : categoryList) { +// index++; +// Map infoMap = new HashMap(); +// List> wllxMap2List = new ArrayList>(); +// for (Map wllxPar : typeMapList) { +// if (StringUtils.equals(par.getId(), wllxPar.get("parentId").toString())) { +// wllxMap2List.add(wllxPar); +// } +// } +// if (tagMap.get(par.getInstructionId()) != null) { +// +// infoMap.put("key", par.getId()); +// infoMap.put("title", par.getCategoryName().substring(0, 2)); +// infoMap.put("netFlag", par.getNetFlag()); +// infoMap.put("animationPath", par.getAnimationPath()); +// infoMap.put("levle", "1"); +// infoMap.put("children", wllxMap2List); +// treeList.add(infoMap); +// } +// } +// result.put("fwzl", treeList); +// result.put("jszl", null); +// return result; +// } + @Override - public List> getServiceTree(String instructionType) { - //缓存媒体地址 - String mediaAddress = getOpeMediaAddress(); + public Map getServiceTree(String instructionType) { + Map result = new HashMap<>(); - //查询护理类服务 + // 查询护理类服务 QueryWrapper instructionTagQueryWrapper = new QueryWrapper<>(); instructionTagQueryWrapper.eq("iz_enabled", "Y"); instructionTagQueryWrapper.eq("del_flag", "0"); @@ -57,24 +173,25 @@ public class BizConfigServiceCategoryServiceImpl extends ServiceImpl categoryQueryWrapper = new QueryWrapper<>(); categoryQueryWrapper.eq("iz_enabled", "Y"); categoryQueryWrapper.eq("del_flag", "0"); List categoryList = baseMapper.selectList(categoryQueryWrapper); - //查询服务类型数据 + + // 查询服务类型数据 QueryWrapper typeQueryWrapper = new QueryWrapper<>(); typeQueryWrapper.eq("iz_enabled", "Y"); typeQueryWrapper.eq("del_flag", "0"); List typeList = configServiceTypeService.list(typeQueryWrapper); - //查询服务指令数据 + + // 查询服务指令数据 QueryWrapper directiveQueryWrapper = new QueryWrapper<>(); -// directiveQueryWrapper.eq("cycle_type", "1"); directiveQueryWrapper.eq("iz_enabled", "Y"); directiveQueryWrapper.eq("del_flag", "0"); List directiveList = configServiceDirectiveService.list(directiveQueryWrapper); - //封装服务指令和服务类型tree集合 + // 封装服务指令和服务类型tree集合 List> typeMapList = new ArrayList<>(); for (BizConfigServiceType par : typeList) { Map wllxMap = new HashMap(); @@ -91,54 +208,15 @@ public class BizConfigServiceCategoryServiceImpl extends ServiceImpl imagePaths = new ArrayList<>(); - if (par.getAnimationPath() != null) { - imagePaths = getImageNetUrls(par.getAnimationPath(), mediaAddress); - } - wllxMap.put("animationPath", imagePaths); + wllxMap.put("animationPath", par.getAnimationPath()); wllxMap.put("levle", "2"); wllxMap.put("children", directiceMapList); typeMapList.add(wllxMap); } - //封装服务类别服务类型tree集合 + // 封装服务类别服务类型tree集合(fwzl) List> treeList = new ArrayList<>(); - int index = 0; + + // 封装服务类别直接关联服务指令tree集合(jszl) + List> jszlTreeList = new ArrayList<>(); + for (BizConfigServiceCategory par : categoryList) { - index++; - Map infoMap = new HashMap(); - List> wllxMap2List = new ArrayList>(); - for (Map wllxPar : typeMapList) { - if (StringUtils.equals(par.getId(), wllxPar.get("parentId").toString())) { - wllxMap2List.add(wllxPar); - } - } if (tagMap.get(par.getInstructionId()) != null) { + // 1. 处理 fwzl(二级+三级+四级) + Map infoMap = new HashMap(); + List> wllxMap2List = new ArrayList>(); + + for (Map wllxPar : typeMapList) { + if (StringUtils.equals(par.getId(), wllxPar.get("parentId").toString())) { + wllxMap2List.add(wllxPar); + } + } infoMap.put("key", par.getId()); - infoMap.put("title", par.getCategoryName().substring(0, 2)); + infoMap.put("title", par.getCategoryName().substring(0, 2)); // 保持原有逻辑 infoMap.put("netFlag", par.getNetFlag()); - List imagePaths = new ArrayList<>(); - if (par.getAnimationPath() != null) { - imagePaths = getImageNetUrls(par.getAnimationPath(), mediaAddress); - } - infoMap.put("animationPath", imagePaths); + infoMap.put("animationPath", par.getAnimationPath()); infoMap.put("levle", "1"); infoMap.put("children", wllxMap2List); treeList.add(infoMap); - } - } - return treeList; - } - /** - * 获取管理平台静态资源路径 - * - * @return - */ - private String getOpeMediaAddress() { - JSONObject json = sysConfigApi.getByKey("ope_media_address"); - if (json != null) { - String configValue = json.getString("configValue"); - if (!configValue.endsWith("/")) { - configValue += "/"; - } - return configValue; - } - return ""; - } + // 2. 处理 jszl(二级+四级,跳过三级) + Map jszlMap = new HashMap(); + List> jszlChildren = new ArrayList>(); - private String getImageNetUrl(String imageUrl, String mediaAddress) { - String netUrl = ""; -// String configValue = getOpeMediaAddress(); - if (!mediaAddress.equals("")) { - netUrl = mediaAddress + imageUrl; - } - return netUrl; - } - - private List getImageNetUrls(String imageUrl, String mediaAddress) { - List imagePaths = new ArrayList<>(); -// String configValue = getOpeMediaAddress(); - if (!mediaAddress.equals("")) { - String[] urls = imageUrl.split(","); - for (String url : urls) { - if (!url.isEmpty()) { - String netUrl = mediaAddress + url; - imagePaths.add(netUrl); + // 收集该二级节点下所有的四级节点 + for (Map wllxPar : typeMapList) { + if (StringUtils.equals(par.getId(), wllxPar.get("parentId").toString())) { + List> children = (List>) wllxPar.get("children"); + if (children != null && !children.isEmpty()) { + jszlChildren.addAll(children); + } + } } + + jszlMap.put("key", par.getId()); + jszlMap.put("title", par.getCategoryName().substring(0, 2)); // 保持原有逻辑 + jszlMap.put("netFlag", par.getNetFlag()); + jszlMap.put("animationPath", par.getAnimationPath()); + jszlMap.put("levle", "1"); + jszlMap.put("children", jszlChildren); + jszlTreeList.add(jszlMap); } } - return imagePaths; - } + result.put("fwzl", treeList); + result.put("jszl", jszlTreeList); + return result; + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/directivepackage/mapper/xml/DirectivePackageMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/directivepackage/mapper/xml/DirectivePackageMapper.xml index b607daa5..d29bd6c5 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/directivepackage/mapper/xml/DirectivePackageMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/directivepackage/mapper/xml/DirectivePackageMapper.xml @@ -34,6 +34,7 @@ + @@ -112,6 +113,7 @@ csd.charging_frequency, csd.service_content, csd.service_duration, + csd.timeout_duration as directive_timeout_duration, csd.iz_enabled AS directive_iz_enabled, csd.del_flag AS directive_del_flag, csd.create_by AS directive_create_by,