From 9ce21a8470eee297d6aaf5f72b5ff3c3c14670e0 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Fri, 11 Jul 2025 09:13:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9C=8D=E5=8A=A1=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/mediamanage/IMediaManageApi.java | 20 -- .../mediamanage/api/IMediaManageApi.java | 37 +++ .../mediamanage/entity/MediaManageDto.java | 44 ++++ .../{service => api}/IMediaManageService.java | 2 +- .../api/impl/MediaManageServiceImpl.java | 19 ++ .../controller/MediaManageController.java | 20 +- .../service/impl/MediaManageServiceImpl.java | 70 ------ .../listener/MediaManageMQListener.java | 171 -------------- .../com/nu/modules/common/SysBaseInfoApi.java | 39 ++++ .../org/jeecg/config/shiro/ShiroConfig.java | 1 + nursing-unit-services/nu-services-biz/pom.xml | 81 +++---- .../body/mapper/DirectiveBodyTagMapper.java | 6 + .../DirectiveBodyTagRelationMapper.java | 5 +- .../mapper/xml/DirectiveBodyTagMapper.xml | 15 ++ .../xml/DirectiveBodyTagRelationMapper.xml | 11 + .../service/IDirectiveBodyTagService.java | 6 +- .../impl/DirectiveBodyTagServiceImpl.java | 18 +- .../emotion/entity/DirectiveEmotionTag.java | 16 +- .../mapper/DirectiveEmotionTagMapper.java | 7 +- .../DirectiveEmotionTagRelationMapper.java | 6 +- .../mapper/xml/DirectiveEmotionTagMapper.xml | 16 +- .../xml/DirectiveEmotionTagRelationMapper.xml | 13 +- .../service/IDirectiveEmotionTagService.java | 8 +- .../impl/DirectiveEmotionTagServiceImpl.java | 18 +- .../controller/InstructionTagController.java | 174 ++++++++++++++ .../instructiontag/entity/InstructionTag.java | 78 +++++++ .../mapper/InstructionTagMapper.java | 17 ++ .../mapper/xml/InstructionTagMapper.xml | 5 + .../service/IInstructionTagService.java | 14 ++ .../impl/InstructionTagServiceImpl.java | 19 ++ .../entity/ConfigServiceCategory.java | 5 + .../mapper/ConfigServiceCategoryMapper.java | 6 + .../xml/ConfigServiceCategoryMapper.xml | 18 ++ .../IConfigServiceCategoryService.java | 11 +- .../ConfigServiceCategoryServiceImpl.java | 19 ++ .../ConfigServiceDirectiveController.java | 190 +++++++++------- .../entity/ConfigServiceDirective.java | 39 ++-- .../mapper/ConfigServiceDirectiveMapper.java | 23 +- .../xml/ConfigServiceDirectiveMapper.xml | 45 ++-- .../IConfigServiceDirectiveService.java | 37 ++- .../ConfigServiceDirectiveServiceImpl.java | 139 +++++++++-- .../controller/ServiceTagController.java | 215 ++++++++++++++++++ .../modules/servicetag/entity/ServiceTag.java | 84 +++++++ .../servicetag/mapper/ServiceTagMapper.java | 32 +++ .../mapper/xml/ServiceTagMapper.xml | 208 +++++++++++++++++ .../service/IServiceTagService.java | 32 +++ .../service/impl/ServiceTagServiceImpl.java | 75 ++++++ .../servicetype/entity/ConfigServiceType.java | 5 + .../mapper/ConfigServiceTypeMapper.java | 8 +- .../mapper/xml/ConfigServiceTypeMapper.xml | 19 ++ .../service/IConfigServiceTypeService.java | 15 +- .../impl/ConfigServiceTypeServiceImpl.java | 26 ++- .../jeecg/common/system/api/ISysBaseAPI.java | 2 + .../system/service/impl/SysBaseApiImpl.java | 17 ++ .../src/main/resources/application-dev.yml | 1 + 55 files changed, 1740 insertions(+), 487 deletions(-) delete mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/IMediaManageApi.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/api/IMediaManageApi.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/entity/MediaManageDto.java rename nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/{service => api}/IMediaManageService.java (87%) create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/impl/MediaManageServiceImpl.java delete mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/impl/MediaManageServiceImpl.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/common/SysBaseInfoApi.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/controller/InstructionTagController.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/entity/InstructionTag.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/InstructionTagMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/xml/InstructionTagMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/IInstructionTagService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/impl/InstructionTagServiceImpl.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/controller/ServiceTagController.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/entity/ServiceTag.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/ServiceTagMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/xml/ServiceTagMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/IServiceTagService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/impl/ServiceTagServiceImpl.java diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/IMediaManageApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/IMediaManageApi.java deleted file mode 100644 index 4c28e6a..0000000 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/IMediaManageApi.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.nu.modules.mediamanage; - -import cn.hutool.json.JSONObject; -import com.nu.dto.MediaManageMQDto; - -import java.util.List; -import java.util.Map; - -public interface IMediaManageApi { - - /** - * 根据ids查询数据 - * - * @param ids - * @return - */ - List queryByIds(List ids); - - void saveOrUpdate(MediaManageMQDto m, boolean isSave); -} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/api/IMediaManageApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/api/IMediaManageApi.java new file mode 100644 index 0000000..ed2529f --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/api/IMediaManageApi.java @@ -0,0 +1,37 @@ +package com.nu.modules.mediamanage.api; + +import cn.hutool.json.JSONObject; +import com.nu.modules.mediamanage.entity.MediaManageDto; + +import java.util.List; +import java.util.Map; + +public interface IMediaManageApi { + + /** + * 根据ids查询数据 + * @param ids + * @return + */ + List queryByIds(List ids); + + /** + * 根据ids查询数据 + * @param ids + * @return + */ + List queryByIdsHandlePath(List ids); + + /** + * 新增数据:将新上传的资源存储到媒体资源中 + * @param filePath 文件相对路径 + * @return + */ + String saveByPath(String filePath, Map params); + + List selectByDirectiveIds(String dataSourceCode, List idList); + + void saveOrUpdate(MediaManageDto m, boolean isSave); + + +} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/entity/MediaManageDto.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/entity/MediaManageDto.java new file mode 100644 index 0000000..eabd97b --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/mediamanage/entity/MediaManageDto.java @@ -0,0 +1,44 @@ +package com.nu.modules.mediamanage.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 媒体资源管理 + * @Author: jeecg-boot + * @Date: 2025-05-15 + * @Version: V1.0 + */ +@Data +public class MediaManageDto implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**名称*/ + private String name; + /**备注*/ + private String descr; + /**文件类型*/ + private String fileType; + /**系统功能*/ + private String sysFunc; + /**文件路径*/ + private String filePath; + /**是否网络资源*/ + private String izNetUrl; + /**是否删除*/ + private String delFlag; + /**创建人*/ + private String createBy; + /**创建日期*/ + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + private Date updateTime; + + private String netFilePath; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/IMediaManageService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/IMediaManageService.java similarity index 87% rename from nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/IMediaManageService.java rename to nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/IMediaManageService.java index 94ebdda..75a53eb 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/IMediaManageService.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/IMediaManageService.java @@ -1,4 +1,4 @@ -package com.nu.modules.mediamanage.service; +package com.nu.modules.mediamanage.api; import com.nu.modules.mediamanage.entity.MediaManage; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/impl/MediaManageServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/impl/MediaManageServiceImpl.java new file mode 100644 index 0000000..9c13a36 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/api/impl/MediaManageServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.mediamanage.api.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.mediamanage.api.IMediaManageService; +import com.nu.modules.mediamanage.entity.MediaManage; +import com.nu.modules.mediamanage.mapper.MediaManageMapper; +import org.springframework.stereotype.Service; + +/** + * @Description: 媒体资源管理 + * @Author: 张明远 + * @Date: 2025-05-15 + * @Version: V1.0 + */ +@Service +public class MediaManageServiceImpl extends ServiceImpl implements IMediaManageService { + + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/controller/MediaManageController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/controller/MediaManageController.java index 0c0f42c..5c9fb42 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/controller/MediaManageController.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/controller/MediaManageController.java @@ -1,42 +1,24 @@ package com.nu.modules.mediamanage.controller; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.alibaba.fastjson.JSONObject; import com.nu.modules.sysconfig.ISysConfigApi; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; import com.nu.modules.mediamanage.entity.MediaManage; -import com.nu.modules.mediamanage.service.IMediaManageService; +import com.nu.modules.mediamanage.api.IMediaManageService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/impl/MediaManageServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/impl/MediaManageServiceImpl.java deleted file mode 100644 index 6270b3f..0000000 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/mediamanage/service/impl/MediaManageServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.nu.modules.mediamanage.service.impl; - -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.nu.dto.MediaManageMQDto; -import com.nu.modules.mediamanage.IMediaManageApi; -import com.nu.modules.mediamanage.entity.MediaManage; -import com.nu.modules.mediamanage.mapper.MediaManageMapper; -import com.nu.modules.mediamanage.service.IMediaManageService; -import org.apache.commons.lang.StringUtils; -import org.jeecg.common.system.api.ISysBaseAPI; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import java.util.ArrayList; -import java.util.List; - -/** - * @Description: 媒体资源管理 - * @Author: 张明远 - * @Date: 2025-05-15 - * @Version: V1.0 - */ -@Service -public class MediaManageServiceImpl extends ServiceImpl implements IMediaManageService, IMediaManageApi { - @Autowired - private ISysBaseAPI sysBaseAPI; - - @Override - public List queryByIds(List ids) { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", ids); - List mediaManages = baseMapper.selectList(qw); - - List result = new ArrayList<>(); - for (MediaManage media : mediaManages) { - JSONObject json = new JSONObject(); - json.put("id", media.getId()); - json.put("name", media.getName()); - json.put("descr", media.getDescr()); - json.put("sysFunc", media.getSysFunc()); - json.put("fileType", media.getFileType()); - json.put("filePath", media.getFilePath()); - json.put("izNetUrl", media.getIzNetUrl()); - json.put("delFlag", media.getDelFlag()); - json.put("createBy", media.getCreateBy()); - json.put("createTime", media.getCreateTime()); - json.put("updateBy", media.getUpdateBy()); - json.put("updateTime", media.getUpdateTime()); - result.add(json); - } - - return result; - } - - @Override - public void saveOrUpdate(MediaManageMQDto m, boolean isSave) { - MediaManage mediaManage = new MediaManage(); - BeanUtils.copyProperties(m, mediaManage); - - if (isSave) { - baseMapper.insert(mediaManage); - } else { - baseMapper.updateById(mediaManage); - } - } -} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/mediamanage/listener/MediaManageMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/mediamanage/listener/MediaManageMQListener.java index 1627f38..1fd1720 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/mediamanage/listener/MediaManageMQListener.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/mediamanage/listener/MediaManageMQListener.java @@ -1,184 +1,13 @@ package com.nu.mq.mediamanage.listener; -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.google.common.collect.Maps; -import com.nu.dto.MediaManageMQDto; -import com.nu.dto.StatusMQDto; -import com.nu.modules.async.entity.AsyncMain; -import com.nu.modules.async.service.IAsyncMainService; -import com.nu.modules.mediaasyncerrorlog.entity.MediaAsyncErrorLog; -import com.nu.modules.mediaasyncerrorlog.service.IMediaAsyncErrorLogService; -import com.nu.modules.mediamanage.IMediaManageApi; -import com.nu.modules.mediamanage.entity.MediaManage; -import com.nu.modules.sysconfig.entity.SysConfig; -import com.nu.modules.sysconfig.service.ISysConfigService; -import com.nu.utils.FileDownloader; -import com.nu.utils.SafetyUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.utils.Lists; -import org.springframework.amqp.core.ExchangeTypes; -import org.springframework.amqp.rabbit.annotation.Exchange; -import org.springframework.amqp.rabbit.annotation.Queue; -import org.springframework.amqp.rabbit.annotation.QueueBinding; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Component; -import java.io.File; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - @Slf4j @Component public class MediaManageMQListener { - @Value("${jeecg.path.upload}") - private String upLoadPath; - @Value("${jeecg.path.directivepath}") - private String directiveUpLoadPath; - @Autowired - private IMediaManageApi mediaManageApi; - @Autowired - private ISysConfigService sysConfigService; - @Autowired - private IMediaAsyncErrorLogService mediaAsyncErrorLogService; - @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "mediamanage.async", durable = "true"), exchange = @Exchange(name = "hldy.mediamanage", type = ExchangeTypes.DIRECT), key = "mediamanage.async"), errorHandler = "mediaManageMQErrorHandler") - public void handleMessage(List> mediaMaps) { - //转下对象,不然要改的代码太多 - List list = mediaMaps.stream().map(this::convertToMediaManageMQDto).collect(Collectors.toList()); - - List mediaIds = Lists.newArrayList(); - mediaMaps.stream().forEach(m -> { - mediaIds.add((String) m.get("id")); - }); - // 运维系统中的数据 - List jsonObjects = mediaManageApi.queryByIds(mediaIds); - Map map = Maps.newHashMap(); - if (jsonObjects != null && !jsonObjects.isEmpty()) { - jsonObjects.stream().forEach(j -> { - map.put(j.getStr("id"), j); - }); - } - //map是运维系统媒体资源数据 m是试验田传过来的媒体资源数据 - list.stream().forEach(m -> { - if (map.get(m.getId()) != null) { - //处理同一条数据 - JSONObject enty = map.get(m.getId()); - MediaManage yewu = new MediaManage();//业务 - BeanUtils.copyProperties(m, yewu); - MediaManage yunwei = new MediaManage();//运维 - yunwei.setId(enty.getStr("id")); - yunwei.setName(enty.getStr("name")); - yunwei.setDescr(enty.getStr("descr")); - yunwei.setFileType(enty.getStr("fileType")); - yunwei.setSysFunc(enty.getStr("sysFunc")); - yunwei.setFilePath(enty.getStr("filePath")); - yunwei.setIzNetUrl(enty.getStr("izNetUrl")); - yunwei.setDelFlag(enty.getStr("delFlag")); - yunwei.setCreateBy(enty.getStr("createBy")); - yunwei.setCreateTime(enty.getDate("createTime")); - yunwei.setUpdateBy(enty.getStr("updateBy")); - yunwei.setUpdateTime(enty.getDate("updateTime")); - //存储数据 - if (!yewu.equals(yunwei)) { - mediaManageApi.saveOrUpdate(m, false); - } - //存储文件 - if (!yunwei.getFilePath().equals(m.getFilePath())) { - handleSaveFile(m); - } - } else { - //新增数据 - mediaManageApi.saveOrUpdate(m, true); - handleSaveFile(m); - } - }); - - } - - private MediaManageMQDto convertToMediaManageMQDto(Map map) { - MediaManageMQDto dto = new MediaManageMQDto(); - dto.setId((String) map.get("id")); - dto.setName((String) map.get("name")); - dto.setDescr((String) map.get("descr")); - dto.setFileType((String) map.get("fileType")); - dto.setSysFunc((String) map.get("sysFunc")); - dto.setFilePath((String) map.get("filePath")); - dto.setIzNetUrl((String) map.get("izNetUrl")); - dto.setDelFlag((String) map.get("delFlag")); - dto.setCreateBy((String) map.get("createBy")); - dto.setUpdateBy((String) map.get("updateBy")); - dto.setNetFilePath((String) map.get("netFilePath")); - return dto; - } - - /** - * 处理文件存储 - * - * @param media - */ - private void handleSaveFile(MediaManageMQDto media) { - try { - LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); - qw.eq(SysConfig::getDelFlag, "0"); - qw.eq(SysConfig::getConfigKey, "directive_source_url"); - SysConfig urlObj = sysConfigService.getOne(qw); - //试验田协议+域名(/ip+端口) - String baseUrl = urlObj.getConfigValue(); - if (baseUrl.endsWith("/")) { - baseUrl = baseUrl.substring(0, baseUrl.length() - 1); // 移除末尾斜杠 - } - //通过系统上传的文件 - if ("local".equals(media.getIzNetUrl())) { - qw = new LambdaQueryWrapper<>(); - qw.eq(SysConfig::getDelFlag, "0"); - qw.eq(SysConfig::getConfigKey, "directive_source_name"); - SysConfig nameObj = sysConfigService.getOne(qw); - //获取到对应试验田的服务名 用于通过接口获取对应媒体资源文件 - String servName = nameObj.getConfigValue(); - if (servName.startsWith("/")) { - servName = servName.substring(1); - } - //协议域名服务名 - String url = baseUrl + "/" + servName + "/sys/common/open/static/" + media.getFilePath() + "?name=" + SafetyUtil.getSecureKey(); - if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) { - upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1); - } - String filePath = media.getFilePath(); - if (filePath.startsWith("/") || filePath.startsWith("\\")) { - filePath = filePath.substring(1); - } - FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath.substring(0, filePath.lastIndexOf("/")), media.getFilePath().substring(media.getFilePath().lastIndexOf("/") + 1)); - } - //存储到媒体资源公共目录中的媒体资源 通过nginx可以访问的静态资源 - if ("net".equals(media.getIzNetUrl())) { - String filePath = media.getFilePath(); - if (filePath.startsWith("/")) { - filePath = filePath.substring(1); - } - String url = baseUrl + "/" + filePath; - if (directiveUpLoadPath.endsWith("/") || directiveUpLoadPath.endsWith("\\")) { - directiveUpLoadPath = directiveUpLoadPath.substring(0, directiveUpLoadPath.length() - 1); - } - FileDownloader.downloadFile(url, directiveUpLoadPath, media.getFilePath().substring(media.getFilePath().lastIndexOf("/") + 1)); - } - } catch (Exception e) { - MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog(); - mediaAsyncErrorLog.setMediaid(media.getId()); - mediaAsyncErrorLogService.save(mediaAsyncErrorLog); - e.printStackTrace(); - } - } } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/common/SysBaseInfoApi.java b/nursing-unit-api/src/main/java/com/nu/modules/common/SysBaseInfoApi.java new file mode 100644 index 0000000..891bcbe --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/common/SysBaseInfoApi.java @@ -0,0 +1,39 @@ +package com.nu.modules.common; + +import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Maps; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + * 获取常用信息(不涉及安全信息) + * @author zmy + * @date 2025-5-22 08:43:05 + */ +@RestController +@RequestMapping("/api/baseInfo") +public class SysBaseInfoApi { + + @Lazy + @Autowired + private ISysBaseAPI sysBaseAPI; + + /** + * 返回机构信息配置的"协议域名" + * @return + */ + @GetMapping("/sysUrl") + public Result sysUrl(){ + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + Map result = Maps.newHashMap(); + result.put("url",deptInfo.getString("url")); + return Result.ok(result); + } +} diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 323bb92..afa6fbb 100644 --- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -124,6 +124,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/nuIpadApi/versionManage/versionUpdate", "anon");//pad端版本检测接口 filterChainDefinitionMap.put("/api/ocr/**", "anon");//阿里云证件识别 filterChainDefinitionMap.put("/api/proxy/**", "anon");//代理请求 + filterChainDefinitionMap.put("/api/baseInfo/**", "anon");//获取系统中信息 //update-begin--Author:scott Date:20221116 for:排除静态资源后缀 filterChainDefinitionMap.put("/", "anon"); diff --git a/nursing-unit-services/nu-services-biz/pom.xml b/nursing-unit-services/nu-services-biz/pom.xml index 5e088e4..9c6b9df 100644 --- a/nursing-unit-services/nu-services-biz/pom.xml +++ b/nursing-unit-services/nu-services-biz/pom.xml @@ -1,48 +1,48 @@ - - com.nursingunit.boot - nursing-unit-services - 2.0.0 - - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + com.nursingunit.boot + nursing-unit-services + 2.0.0 + + 4.0.0 - nu-services-biz + nu-services-biz - - - com.nursingunit.boot - nu-services-local-api - ${nursingunit.version} - - - org.hibernate - hibernate-core - - - org.jeecgframework.boot - hibernate-re - + + + com.nursingunit.boot + nu-services-local-api + ${nursingunit.version} + + + org.hibernate + hibernate-core + + + org.jeecgframework.boot + hibernate-re + - - - org.jeecgframework - weixin4j - + + + org.jeecgframework + weixin4j + - - - com.belerweb - pinyin4j - 2.5.0 - - - - com.nursingunit.boot - nursing-unit-common - ${nursingunit.version} - + + + com.belerweb + pinyin4j + 2.5.0 + + + + com.nursingunit.boot + nursing-unit-common + ${nursingunit.version} + com.nursingunit.boot nu-system-local-api @@ -55,6 +55,7 @@ 2.0.0 compile + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java index 8e4d9f9..bada165 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java @@ -2,6 +2,10 @@ package com.nu.modules.directivetag.body.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 体型标签 @@ -11,4 +15,6 @@ import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; */ public interface DirectiveBodyTagMapper extends BaseMapper { + List selectAll(@Param("ids") List ids,@Param("excludeIds") List excludeIds); + } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java index b54cdd0..f359441 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java @@ -2,6 +2,7 @@ package com.nu.modules.directivetag.body.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,7 +13,9 @@ import java.util.List; * @Version: V1.0 */ public interface DirectiveBodyTagRelationMapper extends BaseMapper { + void removeAll(); + void removeAllRelation(); - List selectAllRelation(List ids); + List selectAllRelation(@Param("ids") List ids,@Param("excludeIds") List excludeIds); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml index bcb67b4..a300a8a 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml @@ -2,4 +2,19 @@ + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml index b1fa9fb..86b33c1 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml @@ -1,9 +1,14 @@ + + delete from nu_config_body_tag + + delete from nu_directive_body_tag + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java index 07730d0..5173281 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java @@ -23,7 +23,11 @@ public interface IDirectiveBodyTagService extends IService { public void removeAllRelation(); - public List selectAllRelation(String dataSourceCode, List ids); + public List selectAllRelation(String dataSourceCode, List ids,List excludeIds); void insertAllRelation(List relations); + + List selectAll(String dataSourceCode, List ids,List excludeIds); + + void insertAll(List bodyAll); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java index ba090f0..1f24f48 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java @@ -45,13 +45,14 @@ public class DirectiveBodyTagServiceImpl extends ServiceImpl selectAllRelation(String dataSourceCode, List ids) { - return tagRelationMapper.selectAllRelation(ids); + public List selectAllRelation(String dataSourceCode, List ids,List excludeIds) { + return tagRelationMapper.selectAllRelation(ids,excludeIds); } @Override @@ -60,4 +61,17 @@ public class DirectiveBodyTagServiceImpl extends ServiceImpl selectAll(String dataSourceCode, List ids,List excludeIds) { + return baseMapper.selectAll(ids,excludeIds); + } + + @Override + public void insertAll(List bodyAll) { + bodyAll.forEach(b -> { + baseMapper.insert(b); + }); + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java index 94cff68..bd6cdbc 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java @@ -33,28 +33,28 @@ public class DirectiveEmotionTag implements Serializable { /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private String id; + private java.lang.String id; /**标签名称*/ @Excel(name = "标签名称", width = 15) @ApiModelProperty(value = "标签名称") - private String tagName; + private java.lang.String tagName; /**排序*/ @Excel(name = "排序", width = 15) @ApiModelProperty(value = "排序") - private Integer sort; + private java.lang.Integer sort; /**是否启用 0启用 1未启用*/ @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") @Dict(dicCode = "iz_enabled") @ApiModelProperty(value = "是否启用") - private String izEnabled; + private java.lang.String izEnabled; /**是否删除 0未删除 1删除*/ @Excel(name = "是否删除", width = 15) @ApiModelProperty(value = "是否删除") @TableLogic - private String delFlag; + private java.lang.String delFlag; /**创建人*/ @ApiModelProperty(value = "创建人") - private String createBy; + private java.lang.String createBy; /**创建日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @@ -62,7 +62,7 @@ public class DirectiveEmotionTag implements Serializable { private java.util.Date createTime; /**更新人*/ @ApiModelProperty(value = "更新人") - private String updateBy; + private java.lang.String updateBy; /**更新日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @@ -70,5 +70,5 @@ public class DirectiveEmotionTag implements Serializable { private java.util.Date updateTime; /**所属部门*/ @ApiModelProperty(value = "所属部门") - private String sysOrgCode; + private java.lang.String sysOrgCode; } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java index f2ed172..17cc591 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java @@ -1,7 +1,10 @@ package com.nu.modules.directivetag.emotion.mapper; -import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 情绪标签 @@ -11,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DirectiveEmotionTagMapper extends BaseMapper { + List selectAll(@Param("ids") List ids, @Param("excludeIds") List excludeIds); + } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java index cbf2277..10b078d 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java @@ -2,6 +2,7 @@ package com.nu.modules.directivetag.emotion.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTagRelation; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,7 +13,10 @@ import java.util.List; * @Version: V1.0 */ public interface DirectiveEmotionTagRelationMapper extends BaseMapper { + + void removeAll(); + void removeAllRelation(); - List selectAllRelation(List ids); + List selectAllRelation(@Param("ids") List ids, @Param("excludeIds") List excludeIds); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml index 97fa69b..83fb500 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml @@ -1,5 +1,19 @@ - + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml index 8d4eb48..03b7440 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml @@ -1,8 +1,13 @@ + + delete + from nu_config_emotion_tag + - delete from nu_directive_emotion_tag + delete + from nu_directive_emotion_tag diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java index 9e5e1da..1f27378 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java @@ -1,7 +1,7 @@ package com.nu.modules.directivetag.emotion.service; -import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTagRelation; import java.util.List; @@ -23,7 +23,11 @@ public interface IDirectiveEmotionTagService extends IService selectAllRelation(String dataSourceCode, List ids); + public List selectAllRelation(String dataSourceCode, List ids,List excludeIds); void insertAllRelation(List relations); + + List selectAll(String dataSourceCode, List ids,List excludeIds); + + void insertAll(List emoRelations); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java index a28fd90..0408577 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java @@ -45,13 +45,14 @@ public class DirectiveEmotionTagServiceImpl extends ServiceImpl selectAllRelation(String dataSourceCode, List ids) { - return tagRelationMapper.selectAllRelation(ids); + public List selectAllRelation(String dataSourceCode, List ids, List excludeIds) { + return tagRelationMapper.selectAllRelation(ids, excludeIds); } @Override @@ -60,4 +61,17 @@ public class DirectiveEmotionTagServiceImpl extends ServiceImpl selectAll(String dataSourceCode, List ids, List excludeIds) { + return baseMapper.selectAll(ids, excludeIds); + } + + @Override + public void insertAll(List emoRelations) { + emoRelations.forEach(e -> { + baseMapper.insert(e); + }); + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/controller/InstructionTagController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/controller/InstructionTagController.java new file mode 100644 index 0000000..ef15b4a --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/controller/InstructionTagController.java @@ -0,0 +1,174 @@ +package com.nu.modules.instructiontag.controller; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import com.nu.modules.instructiontag.entity.InstructionTag; +import com.nu.modules.instructiontag.service.IInstructionTagService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 服务指令-分类标签 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +@Api(tags="服务指令-分类标签") +@RestController +@RequestMapping("/services/instructionTag") +@Slf4j +public class InstructionTagController extends JeecgController { + @Autowired + private IInstructionTagService instructionTagService; + + /** + * 分页列表查询 + * + * @param instructionTag + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "服务指令-分类标签-分页列表查询") + @ApiOperation(value="服务指令-分类标签-分页列表查询", notes="服务指令-分类标签-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(InstructionTag instructionTag, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(instructionTag, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = instructionTagService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param instructionTag + * @return + */ + @AutoLog(value = "服务指令-分类标签-添加") + @ApiOperation(value="服务指令-分类标签-添加", notes="服务指令-分类标签-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody InstructionTag instructionTag) { + instructionTagService.save(instructionTag); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param instructionTag + * @return + */ + @AutoLog(value = "服务指令-分类标签-编辑") + @ApiOperation(value="服务指令-分类标签-编辑", notes="服务指令-分类标签-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody InstructionTag instructionTag) { + instructionTagService.updateById(instructionTag); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务指令-分类标签-通过id删除") + @ApiOperation(value="服务指令-分类标签-通过id删除", notes="服务指令-分类标签-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + instructionTagService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务指令-分类标签-批量删除") + @ApiOperation(value="服务指令-分类标签-批量删除", notes="服务指令-分类标签-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.instructionTagService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "服务指令-分类标签-通过id查询") + @ApiOperation(value="服务指令-分类标签-通过id查询", notes="服务指令-分类标签-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + InstructionTag instructionTag = instructionTagService.getById(id); + if(instructionTag==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(instructionTag); + } + + /** + * 导出excel + * + * @param request + * @param instructionTag + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, InstructionTag instructionTag) { + return super.exportXls(request, instructionTag, InstructionTag.class, "服务指令-分类标签"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, InstructionTag.class); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/entity/InstructionTag.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/entity/InstructionTag.java new file mode 100644 index 0000000..eb058f6 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/entity/InstructionTag.java @@ -0,0 +1,78 @@ +package com.nu.modules.instructiontag.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 服务指令-分类标签 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +@Data +@TableName("nu_config_service_instruction_tag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_config_service_instruction_tag对象", description="服务指令-分类标签") +public class InstructionTag implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**分类标签名称*/ + @Excel(name = "分类标签名称", width = 15) + @ApiModelProperty(value = "分类标签名称") + private java.lang.String instructionName; + /**排序*/ + @Excel(name = "排序", width = 15) + @ApiModelProperty(value = "排序") + private java.lang.Integer sort; + /**是否启用 0启用 1未启用*/ + @Excel(name = "是否启用", width = 15) + @ApiModelProperty(value = "是否启用") + @Dict(dicCode = "iz_enabled") + private java.lang.String izEnabled; + /**是否删除 0未删除 1删除*/ + @Excel(name = "是否删除", width = 15) + @ApiModelProperty(value = "是否删除") + @TableLogic + private java.lang.String delFlag; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/InstructionTagMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/InstructionTagMapper.java new file mode 100644 index 0000000..f3524e2 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/InstructionTagMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.instructiontag.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.instructiontag.entity.InstructionTag; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 服务指令-分类标签 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +public interface InstructionTagMapper extends BaseMapper { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/xml/InstructionTagMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/xml/InstructionTagMapper.xml new file mode 100644 index 0000000..34a6a04 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/mapper/xml/InstructionTagMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/IInstructionTagService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/IInstructionTagService.java new file mode 100644 index 0000000..eb9956b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/IInstructionTagService.java @@ -0,0 +1,14 @@ +package com.nu.modules.instructiontag.service; + +import com.nu.modules.instructiontag.entity.InstructionTag; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 服务指令-分类标签 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +public interface IInstructionTagService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/impl/InstructionTagServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/impl/InstructionTagServiceImpl.java new file mode 100644 index 0000000..2a691bd --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/instructiontag/service/impl/InstructionTagServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.instructiontag.service.impl; + +import com.nu.modules.instructiontag.entity.InstructionTag; +import com.nu.modules.instructiontag.mapper.InstructionTagMapper; +import com.nu.modules.instructiontag.service.IInstructionTagService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 服务指令-分类标签 + * @Author: jeecg-boot + * @Date: 2025-07-10 + * @Version: V1.0 + */ +@Service +public class InstructionTagServiceImpl extends ServiceImpl implements IInstructionTagService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/entity/ConfigServiceCategory.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/entity/ConfigServiceCategory.java index 75fb8f0..b2f7aa9 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/entity/ConfigServiceCategory.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/entity/ConfigServiceCategory.java @@ -34,6 +34,11 @@ public class ConfigServiceCategory implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; + /**分类标签id*/ + @Excel(name = "分类标签id", width = 15) + @ApiModelProperty(value = "分类标签id") + @Dict(dicCode = "id" , dictTable = "nu_config_service_instruction_tag" , dicText = "instruction_name") + private java.lang.String instructionId; /**服务类别名称*/ @Excel(name = "服务类别名称", width = 15) @ApiModelProperty(value = "服务类别名称") diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/ConfigServiceCategoryMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/ConfigServiceCategoryMapper.java index a87a5d5..e3eed65 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/ConfigServiceCategoryMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/ConfigServiceCategoryMapper.java @@ -2,6 +2,9 @@ package com.nu.modules.servicecategory.mapper; import com.nu.modules.servicecategory.entity.ConfigServiceCategory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 服务类别 @@ -11,4 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface ConfigServiceCategoryMapper extends BaseMapper { + void removeAll(); + + List selectAll(@Param("ids") List ids, @Param("excludeIds") List excludeIds); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/xml/ConfigServiceCategoryMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/xml/ConfigServiceCategoryMapper.xml index 7b4963d..12047a7 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/xml/ConfigServiceCategoryMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/mapper/xml/ConfigServiceCategoryMapper.xml @@ -2,4 +2,22 @@ + + delete from nu_config_service_category + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/IConfigServiceCategoryService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/IConfigServiceCategoryService.java index 53af546..dca38dd 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/IConfigServiceCategoryService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/IConfigServiceCategoryService.java @@ -3,18 +3,27 @@ package com.nu.modules.servicecategory.service; import com.nu.modules.servicecategory.entity.ConfigServiceCategory; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 服务类别 * @Author: 张明远 - * @Date: 2025-03-13 + * @Date: 2025-03-13 * @Version: V1.0 */ public interface IConfigServiceCategoryService extends IService { /** * 查询数据是否已被使用 + * * @param ids * @return */ boolean isUsed(String ids); + + void removeAll(); + + List selectAll(String dataSourceCode, List ids, List excludeSubIds); + + void insertAll(List categoryList); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/impl/ConfigServiceCategoryServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/impl/ConfigServiceCategoryServiceImpl.java index 99538bd..0370866 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/impl/ConfigServiceCategoryServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicecategory/service/impl/ConfigServiceCategoryServiceImpl.java @@ -1,5 +1,6 @@ package com.nu.modules.servicecategory.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.nu.modules.servicetype.entity.ConfigServiceType; import com.nu.modules.servicetype.service.IConfigServiceTypeService; @@ -57,4 +58,22 @@ public class ConfigServiceCategoryServiceImpl extends ServiceImpl selectAll(String dataSourceCode, List ids, List excludeSubIds) { + return baseMapper.selectAll(ids, excludeSubIds); + } + + @Override + public void insertAll(List categoryList) { + categoryList.forEach(c -> { + baseMapper.insert(c); + }); + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/controller/ConfigServiceDirectiveController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/controller/ConfigServiceDirectiveController.java index 8dc5bf8..97f894a 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/controller/ConfigServiceDirectiveController.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/controller/ConfigServiceDirectiveController.java @@ -1,33 +1,30 @@ package com.nu.modules.servicedirective.controller; -import com.baomidou.dynamic.datasource.annotation.DS; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.nu.dto.DirectiveMQDto; -import com.nu.enums.MQStatus; -import com.nu.modules.async.entity.AsyncMain; -import com.nu.modules.async.entity.AsyncStatus; -import com.nu.modules.async.service.IAsyncMainService; -import com.nu.modules.async.service.IAsyncStatusService; import com.nu.modules.servicedirective.entity.ConfigServiceDirective; import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService; -import com.nu.utils.RabbitMQUtil; +import com.nu.modules.sysconfig.ISysConfigApi; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.system.vo.DictModel; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -46,14 +43,6 @@ import java.util.stream.Collectors; public class ConfigServiceDirectiveController extends JeecgController { @Autowired private IConfigServiceDirectiveService configServiceDirectiveService; - @Autowired - private RabbitMQUtil rabbitMQUtil; - @Autowired - private ISysBaseAPI sysBaseAPI; - @Autowired - private IAsyncMainService asyncMainService; - @Autowired - private IAsyncStatusService asyncStatusService; /** * 分页列表查询 @@ -67,8 +56,7 @@ public class ConfigServiceDirectiveController extends JeecgController> queryPageList(String dataSourceCode, ConfigServiceDirective configServiceDirective, + public Result> queryPageList(ConfigServiceDirective configServiceDirective, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { @@ -90,34 +78,18 @@ public class ConfigServiceDirectiveController extends JeecgController page = new Page(pageNo, pageSize); @@ -128,50 +100,88 @@ public class ConfigServiceDirectiveController extends JeecgController async(@RequestBody DirectiveMQDto dto) { -// List dicts = sysBaseAPI.getDictItems("mq_org_queue"); -// String queue = dicts.stream().filter(d -> d.getValue().equals(dto.getOrgCode())).findFirst().map(DictModel::getText).orElse(null); - String queue = dto.getOrgCode() + ".fwzl.async"; - if (StringUtils.isNotBlank(queue)) { - //先在数据同步表中插入数据 - AsyncMain asyncMain = new AsyncMain(); - asyncMain.setType("directive"); - asyncMain.setOrgCode(dto.getOrgCode()); - asyncMain.setDescr("服务指令同步:" + (dto.isIzInc() ? "增量同步" : "全量同步")); - asyncMainService.save(asyncMain); - dto.setAsyncId(asyncMain.getId()); - - AsyncStatus asyncStatus_data = new AsyncStatus(); - asyncStatus_data.setPkid(asyncMain.getId()); - asyncStatus_data.setCode("data"); - asyncStatus_data.setName("数据"); - asyncStatus_data.setStatus(MQStatus.LOADING.getCode() + ""); - asyncStatus_data.setMsg("同步中"); - asyncStatusService.save(asyncStatus_data); - - AsyncStatus asyncStatus_file = new AsyncStatus(); - asyncStatus_file.setPkid(asyncMain.getId()); - asyncStatus_file.setCode("file"); - asyncStatus_file.setName("文件"); - asyncStatus_file.setStatus(MQStatus.LOADING.getCode() + ""); - asyncStatus_file.setMsg("同步中"); - asyncStatusService.save(asyncStatus_file); - - //通过mq通知业务系统同步数据 - rabbitMQUtil.sendToExchange("hldy.fwzl", queue, dto); + @AutoLog(value = "服务指令-添加") + @ApiOperation(value = "服务指令-添加", notes = "服务指令-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody ConfigServiceDirective configServiceDirective) { + //处理媒体资源 + configServiceDirectiveService.handleMedia(configServiceDirective); + configServiceDirectiveService.save(configServiceDirective); + if (StringUtils.isNotBlank(configServiceDirective.getBodyTags())) { + configServiceDirectiveService.saveBodyTags(configServiceDirective); } else { - return Result.error("机构未配置MQ映射关系,需先在数据字典(mq_org_queue)中添加相应对应数据!"); + configServiceDirectiveService.removeBodyTags(configServiceDirective); } - return Result.ok(""); + + if (StringUtils.isNotBlank(configServiceDirective.getEmotionTags())) { + configServiceDirectiveService.saveEmotionTags(configServiceDirective); + } else { + configServiceDirectiveService.removeEmotionTags(configServiceDirective); + } + + return Result.OK("添加成功!"); } + /** + * 编辑 + * + * @param configServiceDirective + * @return + */ + @AutoLog(value = "服务指令-编辑") + @ApiOperation(value = "服务指令-编辑", notes = "服务指令-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ConfigServiceDirective configServiceDirective) { + //处理媒体资源 + configServiceDirectiveService.handleMedia(configServiceDirective); + configServiceDirectiveService.updateById(configServiceDirective); + if (StringUtils.isNotBlank(configServiceDirective.getBodyTags())) { + configServiceDirectiveService.saveBodyTags(configServiceDirective); + } else { + configServiceDirectiveService.removeBodyTags(configServiceDirective); + } + + if (StringUtils.isNotBlank(configServiceDirective.getEmotionTags())) { + configServiceDirectiveService.saveEmotionTags(configServiceDirective); + } else { + configServiceDirectiveService.removeEmotionTags(configServiceDirective); + } + + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务指令-通过id删除") + @ApiOperation(value = "服务指令-通过id删除", notes = "服务指令-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + configServiceDirectiveService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务指令-批量删除") + @ApiOperation(value = "服务指令-批量删除", notes = "服务指令-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.configServiceDirectiveService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } /** * 通过id查询 @@ -190,5 +200,27 @@ public class ConfigServiceDirectiveController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ConfigServiceDirective.class); + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java index 6a61ca9..71f9423 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/entity/ConfigServiceDirective.java @@ -47,7 +47,7 @@ public class ConfigServiceDirective implements Serializable { /**分类标签*/ @Excel(name = "分类标签", width = 15) @ApiModelProperty(value = "分类标签") - @Dict(dicCode = "instruction_tag" ) + @Dict(dicCode = "id" , dictTable = "nu_config_service_instruction_tag" , dicText = "instruction_name") private java.lang.String instructionTagId; /**服务指令名称*/ @Excel(name = "服务指令名称", width = 15) @@ -123,46 +123,65 @@ public class ConfigServiceDirective implements Serializable { @ApiModelProperty(value = "所属部门") private java.lang.String sysOrgCode; /**语音文件*/ - @Excel(name = "语音文件", width = 15) @ApiModelProperty(value = "语音文件") private java.lang.String mp3File; + //语音文件是否变更 + @TableField(exist = false) + private boolean mp3FileChanged; //语音文件路径 @TableField(exist = false) private java.lang.String mp3FileMedia; /**视频文件*/ - @Excel(name = "视频文件", width = 15) @ApiModelProperty(value = "视频文件") private java.lang.String mp4File; + //视频文件是否变更 + @TableField(exist = false) + private boolean mp4FileChanged; //视频文件路径 @TableField(exist = false) private java.lang.String mp4FileMedia; /**预览图片*/ @ApiModelProperty(value = "预览图片") private java.lang.String previewFile; + //预览图片是否变更 + @TableField(exist = false) + private boolean previewFileChanged; //预览图片路径 @TableField(exist = false) private java.lang.String previewFileMedia; /**即时指令图片*/ @ApiModelProperty(value = "即时指令图片") private java.lang.String immediateFile; + //即时指令图片是否变更 + @TableField(exist = false) + private boolean immediateFileChanged; //即时指令图片路径 @TableField(exist = false) private java.lang.String immediateFileMedia; + //合并单元格用:类别合并的行数 @TableField(exist = false) private Integer categoryRowSpan; + //合并单元格用:类型合并的行数 @TableField(exist = false) private Integer typeRowSpan; + //合并单元格用:分类标签合并的行数 @TableField(exist = false) private Integer instructionRowSpan; - - //体型标签id,id,id @TableField(exist = false) private String bodyTags; //情绪标签id,id,id @TableField(exist = false) private String emotionTags; + @TableField(exist = false) + //服务类别名称 + private String categoryName; + //服务类型名称 + @TableField(exist = false) + private String typeName; + + //体型标签 @TableField(exist = false) List bodyTagList; @@ -176,14 +195,4 @@ public class ConfigServiceDirective implements Serializable { //情绪标签字符串 @TableField(exist = false) private String emotionTagsName; - - @TableField(exist = false) - private String orgCode; - - //如果是selected/unselecte 需要查询所有id in selectedRowIds的数据 / not in selectedRowIds的数据 - @TableField(exist = false) - private String viewType; - @TableField(exist = false) - private List selectedRowIds; - } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/ConfigServiceDirectiveMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/ConfigServiceDirectiveMapper.java index f1dd6cd..8152a39 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/ConfigServiceDirectiveMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/ConfigServiceDirectiveMapper.java @@ -5,6 +5,7 @@ import java.util.List; import org.apache.ibatis.annotations.Param; import com.nu.modules.servicedirective.entity.ConfigServiceDirective; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import retrofit2.http.DELETE; /** * @Description: 服务指令 @@ -24,18 +25,18 @@ public interface ConfigServiceDirectiveMapper extends BaseMapper records ); + // IPage pageList( +// @Param("page") Page page, +// @Param("directive") ConfigServiceDirective directive +// ); - /** - * 根据指令标签查询对应的服务指令id - * @return - */ - List queryDirectiveIdByTagIds(@Param("tagIds") String tagIds); + int deleteBodyTags(@Param("directive") ConfigServiceDirective configServiceDirective); - /** - * 查询指令标签是否被使用 - * @return - */ - int queryCountByTagIds(@Param("tagIds") List tagIds); + int saveBodyTags(@Param("directive") ConfigServiceDirective configServiceDirective); + + int deleteEmotionTags(@Param("directive") ConfigServiceDirective configServiceDirective); + + int saveEmotionTags(@Param("directive") ConfigServiceDirective configServiceDirective); /** * 根据体型标签查询对应的服务指令id @@ -60,4 +61,6 @@ public interface ConfigServiceDirectiveMapper extends BaseMapper tagIds); + + int removeAll(); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml index e594c1d..9e57fb4 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml @@ -43,7 +43,6 @@ - - - - - + + + delete + from nu_directive_body_tag + where directive_id = #{directive.id} + + + + insert into nu_directive_body_tag (directive_id,tag_id) values + + (#{directive.id}, #{tagId}) + + + + + delete + from nu_directive_emotion_tag + where directive_id = #{directive.id} + + + + insert into nu_directive_emotion_tag (directive_id,tag_id) values + + (#{directive.id}, #{tagId}) + + + + + delete from nu_config_service_directive + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/IConfigServiceDirectiveService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/IConfigServiceDirectiveService.java index 3a426e1..ed47e8c 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/IConfigServiceDirectiveService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/IConfigServiceDirectiveService.java @@ -1,8 +1,9 @@ package com.nu.modules.servicedirective.service; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.nu.modules.servicedirective.entity.ConfigServiceDirective; import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; import java.util.List; @@ -18,7 +19,41 @@ public interface IConfigServiceDirectiveService extends IService pageList(ConfigServiceDirective configServiceDirective,IPage list); + /** + * 存储体型标签数据 + * @param configServiceDirective + */ + void saveBodyTags(ConfigServiceDirective configServiceDirective); + + /** + * 存储情绪标签数据 + * @param configServiceDirective + */ + void saveEmotionTags(ConfigServiceDirective configServiceDirective); + + /** + * 移除改服务指令下体型标签 + * @param configServiceDirective + */ + void removeBodyTags(ConfigServiceDirective configServiceDirective); + + /** + * 移除改服务指令下情绪标签 + * @param configServiceDirective + */ + void removeEmotionTags(ConfigServiceDirective configServiceDirective); + List queryDirectiveIdByBodyTagIds(String tags); List queryDirectiveIdByEmotionTagIds(String tags); + + void removeAll(); + + List selectAllByIds(String dataSourceCode, List idList); + + void insertAllDirectives(List directives); + + void handleMedia(ConfigServiceDirective configServiceDirective); + +// List selectMediaList(String dataSourceCode, List idList); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/impl/ConfigServiceDirectiveServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/impl/ConfigServiceDirectiveServiceImpl.java index 9b80173..8c16ce9 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/impl/ConfigServiceDirectiveServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicedirective/service/impl/ConfigServiceDirectiveServiceImpl.java @@ -1,14 +1,18 @@ package com.nu.modules.servicedirective.service.impl; import cn.hutool.json.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; -import com.nu.modules.mediamanage.IMediaManageApi; import com.nu.modules.servicedirective.entity.ConfigServiceDirective; import com.nu.modules.servicedirective.mapper.ConfigServiceDirectiveMapper; import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService; +import com.nu.modules.sysconfig.ISysConfigApi; +import com.nu.utils.RabbitMQUtil; +import org.jeecg.common.system.api.ISysBaseAPI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -28,8 +32,14 @@ import java.util.stream.Stream; @Service public class ConfigServiceDirectiveServiceImpl extends ServiceImpl implements IConfigServiceDirectiveService { +// @Autowired +// private IMediaManageApi mediaManageApi; @Autowired - private IMediaManageApi mediaManageApi; + private ISysConfigApi sysConfigApi; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private RabbitMQUtil rabbitMQUtil; @Override public List pageList(ConfigServiceDirective configServiceDirective, IPage list_) { @@ -46,26 +56,28 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl emotionTagList = record.getEmotionTagList(); record.setEmotionTags(emotionTagList.stream().map(DirectiveEmotionTag::getId).collect(Collectors.joining(","))); }); - } - //处理媒体资源转换 - { - List meidsIds = list.stream().flatMap(directive -> Stream.of(directive.getMp3File(), directive.getMp4File(), directive.getPreviewFile(), directive.getImmediateFile())).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + //处理媒体资源转换 + { + List meidsIds = list.stream().flatMap(directive -> Stream.of(directive.getMp3File(), directive.getMp4File(), directive.getPreviewFile(), directive.getImmediateFile())).filter(Objects::nonNull).distinct().collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(meidsIds)) { - List mediaObjs = mediaManageApi.queryByIds(meidsIds); - - Map idToFilePathMap = mediaObjs.stream().collect(Collectors.toMap(media -> media.getStr("id"), media -> media.getStr("filePath"))); - - list.stream().forEach(record -> { - record.setPreviewFileMedia(idToFilePathMap.get(record.getPreviewFile())); - record.setImmediateFileMedia(idToFilePathMap.get(record.getImmediateFile())); - record.setMp3FileMedia(idToFilePathMap.get(record.getMp3File())); - record.setMp4FileMedia(idToFilePathMap.get(record.getMp4File())); - }); +// if (!CollectionUtils.isEmpty(meidsIds)) { +// List mediaObjs = mediaManageApi.queryByIds(meidsIds); +// +// Map idToFilePathMap = mediaObjs.stream().collect(Collectors.toMap(media -> media.getStr("id"), media -> media.getStr("filePath"))); +// +// list.stream().forEach(record -> { +// record.setPreviewFileMedia(idToFilePathMap.get(record.getPreviewFile())); +// record.setImmediateFileMedia(idToFilePathMap.get(record.getImmediateFile())); +// record.setMp3FileMedia(idToFilePathMap.get(record.getMp3File())); +// record.setMp4FileMedia(idToFilePathMap.get(record.getMp4File())); +// }); +// } } } //处理单元格合并所需数据 merge(list); + + return list; } @@ -158,6 +170,48 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl queryDirectiveIdByBodyTagIds(String tags) { return baseMapper.queryDirectiveIdByBodyTagIds(tags); @@ -168,4 +222,55 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl selectAllByIds(String dataSourceCode, List idList) { + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", idList); + return baseMapper.selectList(qw); + } + + @Override + public void insertAllDirectives(List directives) { + directives.forEach(d -> { + baseMapper.insert(d); + }); + } + + @Override + public void handleMedia(ConfigServiceDirective configServiceDirective) { +// Map params = Maps.newHashMap(); +// params.put("sysFunc", "directive"); +// if (configServiceDirective.isImmediateFileChanged()) { +// params.put("fileName", configServiceDirective.getDirectiveName() + "预览图片"); +// params.put("descr", "服务指令用户上传图片:" + configServiceDirective.getDirectiveName() + "预览图片"); +// configServiceDirective.setImmediateFile((mediaManageApi.saveByPath(configServiceDirective.getImmediateFileMedia(), params))); +// } +// if (configServiceDirective.isPreviewFileChanged()) { +// params.put("fileName", configServiceDirective.getDirectiveName() + "即时指令图片"); +// params.put("descr", "服务指令用户上传图片:" + configServiceDirective.getDirectiveName() + "即时指令图片"); +// configServiceDirective.setPreviewFile(mediaManageApi.saveByPath(configServiceDirective.getPreviewFileMedia(), params)); +// } +// if (configServiceDirective.isMp3FileChanged()) { +// params.put("fileName", configServiceDirective.getDirectiveName() + "音频文件"); +// params.put("descr", "服务指令用户上传音频:" + configServiceDirective.getDirectiveName() + "音频文件"); +// configServiceDirective.setMp3File(mediaManageApi.saveByPath(configServiceDirective.getMp3FileMedia(), params)); +// } +// if (configServiceDirective.isMp4FileChanged()) { +// params.put("fileName", configServiceDirective.getDirectiveName() + "视频文件"); +// params.put("descr", "服务指令用户上传视频:" + configServiceDirective.getDirectiveName() + "视频文件"); +// configServiceDirective.setMp4File(mediaManageApi.saveByPath(configServiceDirective.getMp4FileMedia(), params)); +// } + } + +// @Override +// public List selectMediaList(String dataSourceCode, List idList) { +// return mediaManageApi.selectByDirectiveIds(dataSourceCode, idList); +// } + } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/controller/ServiceTagController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/controller/ServiceTagController.java new file mode 100644 index 0000000..39cda00 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/controller/ServiceTagController.java @@ -0,0 +1,215 @@ +package com.nu.modules.servicetag.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.servicetag.entity.ServiceTag; +import com.nu.modules.servicetag.service.IServiceTagService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 服务标签 + * @Author: 张明远 + * @Date: 2025-03-31 + * @Version: V1.0 + */ +@Api(tags = "服务标签") +@RestController +@RequestMapping("/services/serviceTag/serviceTag") +@Slf4j +public class ServiceTagController extends JeecgController { + @Autowired + private IServiceTagService serviceTagService; + + /** + * 分页列表查询 + * + * @param serviceTag + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "服务标签-分页列表查询") + @ApiOperation(value = "服务标签-分页列表查询", notes = "服务标签-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ServiceTag serviceTag, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("tagName", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(serviceTag, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + queryWrapper.select("id"); + queryWrapper.orderByDesc("create_time"); + IPage pageList = serviceTagService.page(page, queryWrapper); + if (pageList.getRecords() != null && !pageList.getRecords().isEmpty()) { + serviceTagService.queryList(serviceTag, pageList); + } + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param serviceTag + * @return + */ + @AutoLog(value = "服务标签-添加") + @ApiOperation(value = "服务标签-添加", notes = "服务标签-添加") + @RequiresPermissions("serviceTag:servtag_directive:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ServiceTag serviceTag) { + serviceTagService.save(serviceTag); + if (serviceTag.getDirectives() != null && !serviceTag.getDirectives().isEmpty()) { + serviceTagService.saveDirectives(serviceTag); + } + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param serviceTag + * @return + */ + @AutoLog(value = "服务标签-编辑") + @ApiOperation(value = "服务标签-编辑", notes = "服务标签-编辑") + @RequiresPermissions("serviceTag:servtag_directive:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ServiceTag serviceTag) { + serviceTagService.updateById(serviceTag); + if (serviceTag.getDirectives() != null && !serviceTag.getDirectives().isEmpty()) { + serviceTagService.saveDirectives(serviceTag); + } + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "服务标签-通过id删除") + @ApiOperation(value = "服务标签-通过id删除", notes = "服务标签-通过id删除") + @RequiresPermissions("serviceTag:servtag_directive:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + serviceTagService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "服务标签-批量删除") + @ApiOperation(value = "服务标签-批量删除", notes = "服务标签-批量删除") + @RequiresPermissions("serviceTag:servtag_directive:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.serviceTagService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "服务标签-通过id查询") + @ApiOperation(value = "服务标签-通过id查询", notes = "服务标签-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + ServiceTag serviceTag = serviceTagService.queryById(id); + if (serviceTag == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(serviceTag); + } + + /** + * 导出excel + * + * @param request + * @param serviceTag + */ + @RequiresPermissions("serviceTag:servtag_directive:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ServiceTag serviceTag) { + return super.exportXls(request, serviceTag, ServiceTag.class, "服务标签"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("serviceTag:servtag_directive:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ServiceTag.class); + } + + + + + /** + * 获取服务标签列表根据员工id + * + * @param serviceTag + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @GetMapping(value = "/getEmployeesList") + public Result> getEmployeesList(ServiceTag serviceTag, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + if(StringUtils.isEmpty(serviceTag.getEmployeesId())){ + return Result.error("员工id不能为空"); + } + Page page = new Page(pageNo, pageSize); + IPage pageList = serviceTagService.getEmployeesList(page, serviceTag); + return Result.OK(pageList); + } + + + @GetMapping(value = "/getEmployessServiceTags") + public Result> getEmployessServiceTags(ServiceTag serviceTag) { + if(StringUtils.isEmpty(serviceTag.getEmployeesId())){ + return Result.error("员工id不能为空"); + } + List pageList = serviceTagService.getEmployessServiceTags(serviceTag); + return Result.OK(pageList); + } +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/entity/ServiceTag.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/entity/ServiceTag.java new file mode 100644 index 0000000..724cbda --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/entity/ServiceTag.java @@ -0,0 +1,84 @@ +package com.nu.modules.servicetag.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description: 服务标签 + * @Author: 张明远 + * @Date: 2025-03-31 + * @Version: V1.0 + */ +@Data +@TableName("nu_service_tag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_service_tag对象", description="服务标签") +public class ServiceTag implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**服务标签名称*/ + @Excel(name = "服务标签名称", width = 15) + @ApiModelProperty(value = "服务标签名称") + private String tagName; + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private String description; + /**排序*/ + @Excel(name = "排序", width = 15) + @ApiModelProperty(value = "排序") + private Integer sort; + /**是否启用 0启用 1未启用*/ + @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") + @Dict(dicCode = "iz_enabled") + @ApiModelProperty(value = "是否启用") + private String izEnabled; + /**是否删除 0未删除 1删除*/ + @Excel(name = "是否删除", width = 15) + @ApiModelProperty(value = "是否删除") + @TableLogic + private String delFlag; + /**创建人*/ + @ApiModelProperty(value = "创建人") + @Dict(dictTable = "sys_user",dicCode = "username",dicText = "realname") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + @TableField(exist = false) + private List directives; + + @TableField(exist = false) + private String employeesTagsId; + @TableField(exist = false) + private String employeesId; + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/ServiceTagMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/ServiceTagMapper.java new file mode 100644 index 0000000..de73df0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/ServiceTagMapper.java @@ -0,0 +1,32 @@ +package com.nu.modules.servicetag.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.servicetag.entity.ServiceTag; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Description: 服务标签 + * @Author: 张明远 + * @Date: 2025-03-31 + * @Version: V1.0 + */ +public interface ServiceTagMapper extends BaseMapper { + + int deleteDirectives(@Param("tag") ServiceTag serviceTag); + + int saveDirectives(@Param("tag") ServiceTag serviceTag); + + List queryList( @Param("serviceTag") ServiceTag serviceTag,@Param("ids") List ids); + + Long queryTotal(@Param("serviceTag") ServiceTag serviceTag); + + IPage getEmployeesList(Page page, ServiceTag serviceTag); + + List getEmployessServiceTags(ServiceTag serviceTag); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/xml/ServiceTagMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/xml/ServiceTagMapper.xml new file mode 100644 index 0000000..a4f0975 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/mapper/xml/ServiceTagMapper.xml @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + delete + from nu_servtag_directive + where tag_id = #{tag.id} + + + + INSERT INTO nu_servtag_directive (tag_id, directive_id, sort) + VALUES + + (#{tag.id}, #{directive.id}, #{directive.sort}) + + + + + + + + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/IServiceTagService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/IServiceTagService.java new file mode 100644 index 0000000..cf1179a --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/IServiceTagService.java @@ -0,0 +1,32 @@ +package com.nu.modules.servicetag.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.servicetag.entity.ServiceTag; + +import java.util.List; + +/** + * @Description: 服务标签 + * @Author: 张明远 + * @Date: 2025-03-31 + * @Version: V1.0 + */ +public interface IServiceTagService extends IService { + + /** + * 存储服务标签对应的服务指令 + * @param serviceTag + */ + void saveDirectives(ServiceTag serviceTag); + + void queryList(ServiceTag serviceTag, IPage pageList); + + ServiceTag queryById(String id); + + IPage getEmployeesList(Page page, ServiceTag queryWrapper); + + List getEmployessServiceTags(ServiceTag serviceTag); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/impl/ServiceTagServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/impl/ServiceTagServiceImpl.java new file mode 100644 index 0000000..0c8f56e --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetag/service/impl/ServiceTagServiceImpl.java @@ -0,0 +1,75 @@ +package com.nu.modules.servicetag.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; +import com.nu.modules.servicetag.entity.ServiceTag; +import com.nu.modules.servicetag.mapper.ServiceTagMapper; +import com.nu.modules.servicetag.service.IServiceTagService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description: 服务标签 + * @Author: 张明远 + * @Date: 2025-03-31 + * @Version: V1.0 + */ +@Service +public class ServiceTagServiceImpl extends ServiceImpl implements IServiceTagService { + + @Override + public void saveDirectives(ServiceTag serviceTag) { + baseMapper.deleteDirectives(serviceTag); + baseMapper.saveDirectives(serviceTag); + } + + @Override + public void queryList(ServiceTag serviceTag, IPage pageList) { + List record = baseMapper.queryList(serviceTag,pageList.getRecords()); + //将指令标签名使用逗号拼接成字符串设置到指令对象的tagsName变量中 + if(record != null && !record.isEmpty()){ + record.stream().forEach(l -> { + if(l.getDirectives()!=null && !l.getDirectives().isEmpty()){ + List sd = l.getDirectives(); + for (int i = 0; i < sd.size(); i++) { + List bodyTagList = sd.get(i).getBodyTagList(); + List bodyTags = bodyTagList.stream().map(t -> t.getTagName()).collect(Collectors.toList()); + sd.get(i).setBodyTagsName(String.join(",",bodyTags)); + + List emoTagList = sd.get(i).getEmotionTagList(); + List emoTags = emoTagList.stream().map(t -> t.getTagName()).collect(Collectors.toList()); + sd.get(i).setEmotionTagsName(String.join(",",emoTags)); + } + } + }); + } + pageList.setRecords(record); + } + + @Override + public ServiceTag queryById(String id) { + List query = Lists.newArrayList(); + ServiceTag queryDto = new ServiceTag().setId(id); + query.add(queryDto); + List serviceTags = baseMapper.queryList(null, query); + return serviceTags.stream().findFirst().orElse(null); + } + + @Override + public IPage getEmployeesList(Page page, ServiceTag queryWrapper) { + return baseMapper.getEmployeesList(page,queryWrapper); + } + + @Override + public List getEmployessServiceTags(ServiceTag serviceTag) { + return baseMapper.getEmployessServiceTags(serviceTag); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/entity/ConfigServiceType.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/entity/ConfigServiceType.java index a4b863f..bc0c5f2 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/entity/ConfigServiceType.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/entity/ConfigServiceType.java @@ -34,6 +34,11 @@ public class ConfigServiceType implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; + /**分类标签id*/ + @Excel(name = "分类标签id", width = 15) + @ApiModelProperty(value = "分类标签id") + @Dict(dicCode = "id" , dictTable = "nu_config_service_instruction_tag" , dicText = "instruction_name") + private java.lang.String instructionId; /**服务类别id*/ @Excel(name = "服务类别", width = 15) @ApiModelProperty(value = "服务类别") diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/ConfigServiceTypeMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/ConfigServiceTypeMapper.java index c62a8ee..d24ee6b 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/ConfigServiceTypeMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/ConfigServiceTypeMapper.java @@ -1,7 +1,10 @@ package com.nu.modules.servicetype.mapper; -import com.nu.modules.servicetype.entity.ConfigServiceType; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.servicetype.entity.ConfigServiceType; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 服务类型 @@ -11,4 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface ConfigServiceTypeMapper extends BaseMapper { + void removeAll(); + + List selectAll(@Param("ids") List ids, @Param("excludeIds") List excludeIds); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/xml/ConfigServiceTypeMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/xml/ConfigServiceTypeMapper.xml index f2dcf95..3ca2d68 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/xml/ConfigServiceTypeMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/mapper/xml/ConfigServiceTypeMapper.xml @@ -2,4 +2,23 @@ + + delete from nu_config_service_type + + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/IConfigServiceTypeService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/IConfigServiceTypeService.java index 43c9f61..4cb8d66 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/IConfigServiceTypeService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/IConfigServiceTypeService.java @@ -1,20 +1,29 @@ package com.nu.modules.servicetype.service; -import com.nu.modules.servicetype.entity.ConfigServiceType; import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.servicetype.entity.ConfigServiceType; + +import java.util.List; /** * @Description: 服务类型 * @Author: 张明远 - * @Date: 2025-03-13 + * @Date: 2025-03-13 * @Version: V1.0 */ public interface IConfigServiceTypeService extends IService { /** * 查询数据是否已被使用 - * @param ids + * + * @param id * @return */ boolean isUsed(String id); + + void removeAll(); + + List selectAll(String dataSourceCode, List ids, List excludeSubIds); + + void insertAll(List categoryList); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/impl/ConfigServiceTypeServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/impl/ConfigServiceTypeServiceImpl.java index 8190345..e567dd0 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/impl/ConfigServiceTypeServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/servicetype/service/impl/ConfigServiceTypeServiceImpl.java @@ -1,17 +1,17 @@ package com.nu.modules.servicetype.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.servicedirective.entity.ConfigServiceDirective; +import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService; import com.nu.modules.servicetype.entity.ConfigServiceType; import com.nu.modules.servicetype.mapper.ConfigServiceTypeMapper; import com.nu.modules.servicetype.service.IConfigServiceTypeService; -import com.nu.modules.servicedirective.entity.ConfigServiceDirective; -import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import java.util.Arrays; import java.util.List; @@ -44,4 +44,22 @@ public class ConfigServiceTypeServiceImpl extends ServiceImpl selectAll(String dataSourceCode, List ids, List excludeSubIds) { + return baseMapper.selectAll(ids, excludeSubIds); + } + + @Override + public void insertAll(List categoryList) { + categoryList.forEach(c -> { + baseMapper.insert(c); + }); + } } diff --git a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java index 1005fd2..f07cecf 100644 --- a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java +++ b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java @@ -625,4 +625,6 @@ public interface ISysBaseAPI extends CommonAPI { JSONObject getOrgInfoByNuId(String nuId); JSONObject getOrgInfo(String orgCode); + + JSONObject getDeptInfo(); } diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index b059881..eab864c 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -1903,6 +1903,23 @@ public class SysBaseApiImpl implements ISysBaseAPI { return queryOrgInfo(orgCode); } + @Override + public JSONObject getDeptInfo() { + Map map = Maps.newHashMap(); + + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("org_category","1"); + qw.eq("del_flag","0"); + qw.eq("org_code","100"); + List list = sysDepartService.list(qw); + if(list!=null && !list.isEmpty()){ + map.put("code",list.get(0).getOrgCode()); + map.put("name",list.get(0).getDepartName()); + map.put("url",list.get(0).getUrl()); + } + return new JSONObject(map); + } + @Nullable private JSONObject queryOrgInfo(String orgCode) { QueryWrapper qw = new QueryWrapper<>(); diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml index cf1ce22..3802166 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml @@ -260,6 +260,7 @@ jeecg: upload: /cache/ope/opt/upFiles #webapp文件路径 webapp: /cache/ope/opt/webapp + webapp1: /abc shiro: excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/** #阿里云oss存储和大鱼短信秘钥配置