From b0261bc8199d600d3d31e9f9a54d4b7830f1f902 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Mon, 28 Apr 2025 16:06:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=9C=8D=E5=8A=A1=E6=8C=87?= =?UTF-8?q?=E4=BB=A4-=E5=8E=BB=E9=99=A4=E6=8C=87=E4=BB=A4=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=BD=93=E5=9E=8B=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E3=80=81=E6=83=85=E7=BB=AA=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nu/config/RabbitMQConfig.java | 2 +- .../DirectiveBodyTagController.java} | 69 ++++--- .../entity/DirectiveBodyTag.java} | 26 +-- .../body/entity/DirectiveBodyTagRelation.java | 28 +++ .../body/mapper/DirectiveBodyTagMapper.java | 14 ++ .../DirectiveBodyTagRelationMapper.java | 18 ++ .../mapper/xml/DirectiveBodyTagMapper.xml} | 2 +- .../xml/DirectiveBodyTagRelationMapper.xml | 16 ++ .../service/IDirectiveBodyTagService.java | 29 +++ .../impl/DirectiveBodyTagServiceImpl.java | 63 +++++++ .../DirectiveEmotionTagController.java | 168 +++++++++++++++++ .../emotion/entity/DirectiveEmotionTag.java | 74 ++++++++ .../entity/DirectiveEmotionTagRelation.java | 28 +++ .../mapper/DirectiveEmotionTagMapper.java | 14 ++ .../DirectiveEmotionTagRelationMapper.java | 18 ++ .../mapper/xml/DirectiveEmotionTagMapper.xml | 5 + .../xml/DirectiveEmotionTagRelationMapper.xml | 16 ++ .../service/IDirectiveEmotionTagService.java | 29 +++ .../impl/DirectiveEmotionTagServiceImpl.java | 63 +++++++ .../mapper/DirectiveTagMapper.java | 14 -- .../service/IDirectiveTagService.java | 20 --- .../service/impl/DirectiveTagServiceImpl.java | 40 ----- .../ConfigServiceDirectiveController.java | 132 +------------- .../entity/ConfigServiceDirective.java | 27 ++- .../mapper/ConfigServiceDirectiveMapper.java | 32 +++- .../xml/ConfigServiceDirectiveMapper.xml | 60 +++++-- .../IConfigServiceDirectiveService.java | 14 +- .../ConfigServiceDirectiveServiceImpl.java | 169 +++++++----------- .../DirectiveMQExceptionHandler.java | 4 +- .../system/controller/SysDictController.java | 20 +++ 30 files changed, 821 insertions(+), 393 deletions(-) rename nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/{controller/DirectiveTagController.java => body/controller/DirectiveBodyTagController.java} (59%) rename nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/{entity/DirectiveTag.java => body/entity/DirectiveBodyTag.java} (79%) create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTagRelation.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java rename nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/{mapper/xml/DirectiveTagMapper.xml => body/mapper/xml/DirectiveBodyTagMapper.xml} (65%) create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/controller/DirectiveEmotionTagController.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTagRelation.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java delete mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/DirectiveTagMapper.java delete mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/IDirectiveTagService.java delete mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/impl/DirectiveTagServiceImpl.java diff --git a/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java b/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java index cadd5a5..1de0c7a 100644 --- a/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java +++ b/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java @@ -26,7 +26,7 @@ public class RabbitMQConfig { return converter; } - // 交换器(以Topic为例) + // 服务指令交换机 @Bean public DirectExchange fwzlExchange() { return new DirectExchange("hldy.fwzl"); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/controller/DirectiveTagController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/controller/DirectiveBodyTagController.java similarity index 59% rename from nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/controller/DirectiveTagController.java rename to nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/controller/DirectiveBodyTagController.java index 44b9ec3..f37a275 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/controller/DirectiveTagController.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/controller/DirectiveBodyTagController.java @@ -1,11 +1,10 @@ -package com.nu.modules.directivetag.controller; +package com.nu.modules.directivetag.body.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.directivetag.entity.DirectiveTag; -import com.nu.modules.directivetag.service.IDirectiveTagService; -import com.nu.utils.RabbitMQUtil; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -25,18 +24,18 @@ import java.util.HashMap; import java.util.Map; /** - * @Description: 指令标签 + * @Description: 体型标签 * @Author: 张明远 * @Date: 2025-03-17 * @Version: V1.0 */ -@Api(tags="指令标签") +@Api(tags="体型标签") @RestController -@RequestMapping("/directiveTag/directiveTag") +@RequestMapping("/directiveTag/bodyTag") @Slf4j -public class DirectiveTagController extends JeecgController { +public class DirectiveBodyTagController extends JeecgController { @Autowired - private IDirectiveTagService directiveTagService; + private IDirectiveBodyTagService directiveTagService; /** * 分页列表查询 @@ -47,20 +46,20 @@ public class DirectiveTagController extends JeecgController> queryPageList(DirectiveTag directiveTag, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + public Result> queryPageList(DirectiveBodyTag directiveTag, + @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("izEnabled", QueryRuleEnum.LIKE_WITH_OR); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveTag, req.getParameterMap(),customeRuleMap); - Page page = new Page(pageNo, pageSize); - IPage pageList = directiveTagService.page(page, queryWrapper); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveTag, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = directiveTagService.page(page, queryWrapper); return Result.OK(pageList); } @@ -70,10 +69,10 @@ public class DirectiveTagController extends JeecgController add(@RequestBody DirectiveTag directiveTag) { + public Result add(@RequestBody DirectiveBodyTag directiveTag) { directiveTagService.save(directiveTag); return Result.OK("添加成功!"); } @@ -84,10 +83,10 @@ public class DirectiveTagController extends JeecgController edit(@RequestBody DirectiveTag directiveTag) { + public Result edit(@RequestBody DirectiveBodyTag directiveTag) { directiveTagService.updateById(directiveTag); return Result.OK("编辑成功!"); } @@ -98,8 +97,8 @@ public class DirectiveTagController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { if(directiveTagService.isUsed(id)){ @@ -115,8 +114,8 @@ public class DirectiveTagController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { if(directiveTagService.isUsed(ids)){ @@ -132,11 +131,11 @@ public class DirectiveTagController extends JeecgController queryById(@RequestParam(name="id",required=true) String id) { - DirectiveTag directiveTag = directiveTagService.getById(id); + public Result queryById(@RequestParam(name="id",required=true) String id) { + DirectiveBodyTag directiveTag = directiveTagService.getById(id); if(directiveTag==null) { return Result.error("未找到对应数据"); } @@ -150,8 +149,8 @@ public class DirectiveTagController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, DirectiveTag.class); + return super.importExcel(request, response, DirectiveBodyTag.class); } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/entity/DirectiveTag.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTag.java similarity index 79% rename from nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/entity/DirectiveTag.java rename to nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTag.java index 0a14365..071a746 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/entity/DirectiveTag.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTag.java @@ -1,4 +1,4 @@ -package com.nu.modules.directivetag.entity; +package com.nu.modules.directivetag.body.entity; import java.io.Serializable; @@ -17,44 +17,44 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * @Description: 指令标签 + * @Description: 体型标签 * @Author: 张明远 * @Date: 2025-03-17 * @Version: V1.0 */ @Data -@TableName("nu_config_directive_tag") +@TableName("nu_config_body_tag") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="nu_config_directive_tag对象", description="指令标签") -public class DirectiveTag implements Serializable { +@ApiModel(value="nu_config_body_tag对象", description="体型标签") +public class DirectiveBodyTag implements Serializable { private static final long serialVersionUID = 1L; /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private java.lang.String id; + private String id; /**标签名称*/ @Excel(name = "标签名称", width = 15) @ApiModelProperty(value = "标签名称") - private java.lang.String tagName; + private String tagName; /**排序*/ @Excel(name = "排序", width = 15) @ApiModelProperty(value = "排序") - private java.lang.Integer sort; + private Integer sort; /**是否启用 0启用 1未启用*/ @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") @Dict(dicCode = "iz_enabled") @ApiModelProperty(value = "是否启用") - private java.lang.String izEnabled; + private String izEnabled; /**是否删除 0未删除 1删除*/ @Excel(name = "是否删除", width = 15) @ApiModelProperty(value = "是否删除") @TableLogic - private java.lang.String delFlag; + private String delFlag; /**创建人*/ @ApiModelProperty(value = "创建人") - private java.lang.String createBy; + private 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 DirectiveTag implements Serializable { private java.util.Date createTime; /**更新人*/ @ApiModelProperty(value = "更新人") - private java.lang.String updateBy; + private 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 DirectiveTag implements Serializable { private java.util.Date updateTime; /**所属部门*/ @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; + private String sysOrgCode; } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTagRelation.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTagRelation.java new file mode 100644 index 0000000..86a916c --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/entity/DirectiveBodyTagRelation.java @@ -0,0 +1,28 @@ +package com.nu.modules.directivetag.body.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @Description: 服务指令-体型标签中间表 + * @Author: 张明远 + * @Date: 2025-4-23 09:26:04 + * @Version: V1.0 + */ +@Data +@TableName("nu_directive_body_tag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_directive_body_tag对象", description="服务指令-体型标签中间表") +public class DirectiveBodyTagRelation implements Serializable { + private static final long serialVersionUID = 1L; + + private String directiveId; + private String tagId; + +} 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 new file mode 100644 index 0000000..8e4d9f9 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagMapper.java @@ -0,0 +1,14 @@ +package com.nu.modules.directivetag.body.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; + +/** + * @Description: 体型标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface DirectiveBodyTagMapper extends BaseMapper { + +} 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 new file mode 100644 index 0000000..b54cdd0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/DirectiveBodyTagRelationMapper.java @@ -0,0 +1,18 @@ +package com.nu.modules.directivetag.body.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; + +import java.util.List; + +/** + * @Description: 体型标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface DirectiveBodyTagRelationMapper extends BaseMapper { + void removeAllRelation(); + + List selectAllRelation(List ids); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/xml/DirectiveTagMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml similarity index 65% rename from nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/xml/DirectiveTagMapper.xml rename to nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml index 684ac3f..bcb67b4 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/xml/DirectiveTagMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagMapper.xml @@ -1,5 +1,5 @@ - + 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 new file mode 100644 index 0000000..b1fa9fb --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/mapper/xml/DirectiveBodyTagRelationMapper.xml @@ -0,0 +1,16 @@ + + + + + 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 new file mode 100644 index 0000000..07730d0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/IDirectiveBodyTagService.java @@ -0,0 +1,29 @@ +package com.nu.modules.directivetag.body.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; + +import java.util.List; + +/** + * @Description: 体型标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface IDirectiveBodyTagService extends IService { + + /** + * 查询数据是否已被使用 + * @param ids + * @return + */ + boolean isUsed(String id); + + public void removeAllRelation(); + + public List selectAllRelation(String dataSourceCode, List ids); + + void insertAllRelation(List relations); +} 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 new file mode 100644 index 0000000..ba090f0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/body/service/impl/DirectiveBodyTagServiceImpl.java @@ -0,0 +1,63 @@ +package com.nu.modules.directivetag.body.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; +import com.nu.modules.directivetag.body.mapper.DirectiveBodyTagMapper; +import com.nu.modules.directivetag.body.mapper.DirectiveBodyTagRelationMapper; +import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService; +import com.nu.modules.servicedirective.mapper.ConfigServiceDirectiveMapper; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @Description: 体型标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +@Service +public class DirectiveBodyTagServiceImpl extends ServiceImpl implements IDirectiveBodyTagService { + + @Autowired + private ConfigServiceDirectiveMapper serviceDirectiveMapper; + @Autowired + private DirectiveBodyTagRelationMapper tagRelationMapper; + + @Override + public boolean isUsed(String ids) { + if (StringUtils.isBlank(ids)) { + return false; + } + boolean result = false; + //是否已被服务指令使用 + int i = serviceDirectiveMapper.queryCountByBodyTagIds(Arrays.asList(ids.split(","))); + if (i > 0) { + result = true; + } + return result; + } + + @Override + public void removeAllRelation() { + tagRelationMapper.removeAllRelation(); + } + + @Override + @DS("#dataSourceCode") + public List selectAllRelation(String dataSourceCode, List ids) { + return tagRelationMapper.selectAllRelation(ids); + } + + @Override + public void insertAllRelation(List idRelations) { + idRelations.forEach(ir -> { + tagRelationMapper.insert(ir); + }); + } +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/controller/DirectiveEmotionTagController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/controller/DirectiveEmotionTagController.java new file mode 100644 index 0000000..19cc285 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/controller/DirectiveEmotionTagController.java @@ -0,0 +1,168 @@ +package com.nu.modules.directivetag.emotion.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.directivetag.emotion.entity.DirectiveEmotionTag; +import com.nu.modules.directivetag.emotion.service.IDirectiveEmotionTagService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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.Map; + + /** + * @Description: 情绪标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +@Api(tags="情绪标签") +@RestController +@RequestMapping("/directiveTag/emotionTag") +@Slf4j +public class DirectiveEmotionTagController extends JeecgController { + @Autowired + private IDirectiveEmotionTagService directiveTagService; + + /** + * 分页列表查询 + * + * @param directiveTag + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "情绪标签-分页列表查询") + @ApiOperation(value="情绪标签-分页列表查询", notes="情绪标签-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(DirectiveEmotionTag directiveTag, + @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("izEnabled", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveTag, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = directiveTagService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param directiveTag + * @return + */ + @AutoLog(value = "情绪标签-添加") + @ApiOperation(value="情绪标签-添加", notes="情绪标签-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody DirectiveEmotionTag directiveTag) { + directiveTagService.save(directiveTag); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param directiveTag + * @return + */ + @AutoLog(value = "情绪标签-编辑") + @ApiOperation(value="情绪标签-编辑", notes="情绪标签-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody DirectiveEmotionTag directiveTag) { + directiveTagService.updateById(directiveTag); + 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) { + if(directiveTagService.isUsed(id)){ + return Result.error("已被使用,无法删除!"); + } + directiveTagService.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) { + if(directiveTagService.isUsed(ids)){ + return Result.error("已被使用,无法删除!"); + } + this.directiveTagService.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) { + DirectiveEmotionTag directiveTag = directiveTagService.getById(id); + if(directiveTag==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(directiveTag); + } + + /** + * 导出excel + * + * @param request + * @param directiveTag + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DirectiveEmotionTag directiveTag) { + return super.exportXls(request, directiveTag, DirectiveEmotionTag.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, DirectiveEmotionTag.class); + } + +} 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 new file mode 100644 index 0000000..94cff68 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTag.java @@ -0,0 +1,74 @@ +package com.nu.modules.directivetag.emotion.entity; + +import java.io.Serializable; + +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 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: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +@Data +@TableName("nu_config_emotion_tag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_config_emotion_tag对象", description="情绪标签") +public class DirectiveEmotionTag 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 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 = "创建人") + 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; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTagRelation.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTagRelation.java new file mode 100644 index 0000000..a90627f --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/entity/DirectiveEmotionTagRelation.java @@ -0,0 +1,28 @@ +package com.nu.modules.directivetag.emotion.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @Description: 服务指令-情绪标签中间表 + * @Author: 张明远 + * @Date: 2025-4-23 09:26:04 + * @Version: V1.0 + */ +@Data +@TableName("nu_directive_emotion_tag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_directive_emotion_tag对象", description="服务指令-情绪标签中间表") +public class DirectiveEmotionTagRelation implements Serializable { + private static final long serialVersionUID = 1L; + + private String directiveId; + private String tagId; + +} 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 new file mode 100644 index 0000000..f2ed172 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagMapper.java @@ -0,0 +1,14 @@ +package com.nu.modules.directivetag.emotion.mapper; + +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 情绪标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface DirectiveEmotionTagMapper extends BaseMapper { + +} 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 new file mode 100644 index 0000000..cbf2277 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/DirectiveEmotionTagRelationMapper.java @@ -0,0 +1,18 @@ +package com.nu.modules.directivetag.emotion.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTagRelation; + +import java.util.List; + +/** + * @Description: 情绪标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface DirectiveEmotionTagRelationMapper extends BaseMapper { + void removeAllRelation(); + + List selectAllRelation(List ids); +} 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 new file mode 100644 index 0000000..97fa69b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagMapper.xml @@ -0,0 +1,5 @@ + + + + + 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 new file mode 100644 index 0000000..8d4eb48 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/mapper/xml/DirectiveEmotionTagRelationMapper.xml @@ -0,0 +1,16 @@ + + + + + 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 new file mode 100644 index 0000000..9e5e1da --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/IDirectiveEmotionTagService.java @@ -0,0 +1,29 @@ +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.DirectiveEmotionTagRelation; + +import java.util.List; + +/** + * @Description: 情绪标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +public interface IDirectiveEmotionTagService extends IService { + + /** + * 查询数据是否已被使用 + * @param ids + * @return + */ + boolean isUsed(String id); + + public void removeAllRelation(); + + public List selectAllRelation(String dataSourceCode, List ids); + + void insertAllRelation(List relations); +} 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 new file mode 100644 index 0000000..a28fd90 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/emotion/service/impl/DirectiveEmotionTagServiceImpl.java @@ -0,0 +1,63 @@ +package com.nu.modules.directivetag.emotion.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTagRelation; +import com.nu.modules.directivetag.emotion.mapper.DirectiveEmotionTagMapper; +import com.nu.modules.directivetag.emotion.mapper.DirectiveEmotionTagRelationMapper; +import com.nu.modules.directivetag.emotion.service.IDirectiveEmotionTagService; +import com.nu.modules.servicedirective.mapper.ConfigServiceDirectiveMapper; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @Description: 情绪标签 + * @Author: 张明远 + * @Date: 2025-03-17 + * @Version: V1.0 + */ +@Service +public class DirectiveEmotionTagServiceImpl extends ServiceImpl implements IDirectiveEmotionTagService { + + @Autowired + private ConfigServiceDirectiveMapper serviceDirectiveMapper; + @Autowired + private DirectiveEmotionTagRelationMapper tagRelationMapper; + + @Override + public boolean isUsed(String ids) { + if (StringUtils.isBlank(ids)) { + return false; + } + boolean result = false; + //是否已被服务指令使用 + int i = serviceDirectiveMapper.queryCountByEmotionTagIds(Arrays.asList(ids.split(","))); + if (i > 0) { + result = true; + } + return result; + } + + @Override + public void removeAllRelation() { + tagRelationMapper.removeAllRelation(); + } + + @Override + @DS("#dataSourceCode") + public List selectAllRelation(String dataSourceCode, List ids) { + return tagRelationMapper.selectAllRelation(ids); + } + + @Override + public void insertAllRelation(List idRelations) { + idRelations.forEach(ir -> { + tagRelationMapper.insert(ir); + }); + } +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/DirectiveTagMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/DirectiveTagMapper.java deleted file mode 100644 index b7096a9..0000000 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/mapper/DirectiveTagMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nu.modules.directivetag.mapper; - -import com.nu.modules.directivetag.entity.DirectiveTag; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * @Description: 指令标签 - * @Author: 张明远 - * @Date: 2025-03-17 - * @Version: V1.0 - */ -public interface DirectiveTagMapper extends BaseMapper { - -} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/IDirectiveTagService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/IDirectiveTagService.java deleted file mode 100644 index 3d39dc8..0000000 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/IDirectiveTagService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.nu.modules.directivetag.service; - -import com.nu.modules.directivetag.entity.DirectiveTag; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * @Description: 指令标签 - * @Author: 张明远 - * @Date: 2025-03-17 - * @Version: V1.0 - */ -public interface IDirectiveTagService extends IService { - - /** - * 查询数据是否已被使用 - * @param ids - * @return - */ - boolean isUsed(String id); -} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/impl/DirectiveTagServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/impl/DirectiveTagServiceImpl.java deleted file mode 100644 index 75d292c..0000000 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/directivetag/service/impl/DirectiveTagServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.nu.modules.directivetag.service.impl; - -import com.nu.modules.directivetag.entity.DirectiveTag; -import com.nu.modules.directivetag.mapper.DirectiveTagMapper; -import com.nu.modules.directivetag.service.IDirectiveTagService; -import com.nu.modules.servicedirective.mapper.ConfigServiceDirectiveMapper; -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; - -/** - * @Description: 指令标签 - * @Author: 张明远 - * @Date: 2025-03-17 - * @Version: V1.0 - */ -@Service -public class DirectiveTagServiceImpl extends ServiceImpl implements IDirectiveTagService { - - @Autowired - private ConfigServiceDirectiveMapper serviceDirectiveMapper; - - @Override - public boolean isUsed(String ids) { - if (StringUtils.isBlank(ids)) { - return false; - } - boolean result = false; - //是否已被服务指令使用 - int i = serviceDirectiveMapper.queryCountByTagIds(Arrays.asList(ids.split(","))); - if (i > 0) { - result = true; - } - return result; - } -} 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 a5423dd..e19bdc3 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 @@ -16,12 +16,8 @@ import com.nu.utils.RabbitMQUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang.StringUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.checkerframework.checker.units.qual.A; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; @@ -29,11 +25,8 @@ import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.common.system.vo.DictModel; 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; @@ -74,15 +67,10 @@ public class ConfigServiceDirectiveController extends JeecgController> queryPageList(String dataSourceCode, ConfigServiceDirective configServiceDirective, + public Result> queryPageList(String dataSourceCode,ConfigServiceDirective configServiceDirective, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - //切换数据源 - if (StringUtils.isNotBlank(dataSourceCode)) { - pageNo = -1; - pageSize = -1; - } Map customeRuleMap = new HashMap<>(); // 自定义多选的查询规则为:LIKE_WITH_OR customeRuleMap.put("categoryId", QueryRuleEnum.LIKE_WITH_OR); @@ -94,24 +82,17 @@ public class ConfigServiceDirectiveController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(configServiceDirective, req.getParameterMap(), customeRuleMap); - //指令同步 - 筛选已选择/未选择 - if ("selected".equals(configServiceDirective.getViewType())) { - if(configServiceDirective.getSelectedRowIds()!=null && !configServiceDirective.getSelectedRowIds().isEmpty()){ - queryWrapper.in("id",configServiceDirective.getSelectedRowIds()); - }else{ - queryWrapper.eq("id","--!--!--!--"); - } - } - if ("unselected".equals(configServiceDirective.getViewType())) { - if(configServiceDirective.getSelectedRowIds()!=null && !configServiceDirective.getSelectedRowIds().isEmpty()){ - queryWrapper.notIn("id",configServiceDirective.getSelectedRowIds()); - } - } queryWrapper.select("id"); //如果有服务指令需要提前查询下对应的服务指令id List directiveIds = null; - if (StringUtils.isNotBlank(configServiceDirective.getTags())) { - directiveIds = configServiceDirectiveService.queryDirectiveIdByTagIds(configServiceDirective.getTags()); + if (StringUtils.isNotBlank(configServiceDirective.getBodyTags())) { + directiveIds = configServiceDirectiveService.queryDirectiveIdByBodyTagIds(configServiceDirective.getBodyTags()); + if (directiveIds != null && !directiveIds.isEmpty()) { + queryWrapper.in("id", directiveIds.stream().map(ConfigServiceDirective::getId).collect(Collectors.toList())); + } + } + if (StringUtils.isNotBlank(configServiceDirective.getEmotionTags())) { + directiveIds = configServiceDirectiveService.queryDirectiveIdByEmotionTagIds(configServiceDirective.getEmotionTags()); if (directiveIds != null && !directiveIds.isEmpty()) { queryWrapper.in("id", directiveIds.stream().map(ConfigServiceDirective::getId).collect(Collectors.toList())); } @@ -132,9 +113,6 @@ public class ConfigServiceDirectiveController extends JeecgController async(@RequestBody DirectiveMQDto dto) { - //TODO 源数据的服务指令更新了 不处理 到日子后只能增量 - //TODO 服务指令相关的字典(服务类别、类型等)需要加个是否已被同步标识 - //TODO 前台选择机构后刷新数据应该有个更新中的效果 List dicts = sysBaseAPI.getDictItems("mq_org_queue"); String queue = dicts.stream().filter(d -> d.getValue().equals(dto.getOrgCode())).findFirst().map(DictModel::getText).orElse(null); if (StringUtils.isNotBlank(queue)) { @@ -170,75 +148,6 @@ public class ConfigServiceDirectiveController extends JeecgController add(@RequestBody ConfigServiceDirective configServiceDirective) { - configServiceDirectiveService.save(configServiceDirective); - if (StringUtils.isNotBlank(configServiceDirective.getTags())) { - configServiceDirectiveService.saveTags(configServiceDirective); - } else { - configServiceDirectiveService.removeTags(configServiceDirective); - } - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param configServiceDirective - * @return - */ - @AutoLog(value = "服务指令-编辑") - @ApiOperation(value = "服务指令-编辑", notes = "服务指令-编辑") - @RequiresPermissions("serviceDirective:config_service_directive:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) - public Result edit(@RequestBody ConfigServiceDirective configServiceDirective) { - configServiceDirectiveService.updateById(configServiceDirective); - if (StringUtils.isNotBlank(configServiceDirective.getTags())) { - configServiceDirectiveService.saveTags(configServiceDirective); - } else { - configServiceDirectiveService.removeTags(configServiceDirective); - } - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "服务指令-通过id删除") - @ApiOperation(value = "服务指令-通过id删除", notes = "服务指令-通过id删除") - @RequiresPermissions("serviceDirective:config_service_directive:delete") - @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 = "服务指令-批量删除") - @RequiresPermissions("serviceDirective:config_service_directive:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - this.configServiceDirectiveService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } /** * 通过id查询 @@ -257,29 +166,6 @@ 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 f21f725..afed00c 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 @@ -2,7 +2,8 @@ package com.nu.modules.servicedirective.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; -import com.nu.modules.directivetag.entity.DirectiveTag; +import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; +import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -142,12 +143,28 @@ public class ConfigServiceDirective implements Serializable { private Integer typeRowSpan; @TableField(exist = false) private Integer instructionRowSpan; - @TableField(exist = false) - private String tags; - //服务指令标签 + + //体型标签id,id,id @TableField(exist = false) - List tagList; + private String bodyTags; + //情绪标签id,id,id + @TableField(exist = false) + private String emotionTags; + //体型标签 + @TableField(exist = false) + List bodyTagList; + //体型标签字符串 + @TableField(exist = false) + private String bodyTagsName; + + //情绪标签 + @TableField(exist = false) + List emotionTagList; + //情绪标签字符串 + @TableField(exist = false) + private String emotionTagsName; + @TableField(exist = false) private String orgCode; 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 d9131c9..f1dd6cd 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 @@ -24,14 +24,6 @@ public interface ConfigServiceDirectiveMapper extends BaseMapper records ); - // IPage pageList( -// @Param("page") Page page, -// @Param("directive") ConfigServiceDirective directive -// ); - - int deleteTags(@Param("directive") ConfigServiceDirective configServiceDirective); - - int saveTags(@Param("directive") ConfigServiceDirective configServiceDirective); /** * 根据指令标签查询对应的服务指令id @@ -44,4 +36,28 @@ public interface ConfigServiceDirectiveMapper extends BaseMapper tagIds); + + /** + * 根据体型标签查询对应的服务指令id + * @return + */ + List queryDirectiveIdByBodyTagIds(@Param("tagIds") String tagIds); + + /** + * 根据情绪标签查询对应的服务指令id + * @return + */ + List queryDirectiveIdByEmotionTagIds(@Param("tagIds") String tagIds); + + /** + * 查询体型标签是否被使用 + * @return + */ + int queryCountByBodyTagIds(@Param("tagIds") List tagIds); + + /** + * 查询情绪标签是否被使用 + * @return + */ + int queryCountByEmotionTagIds(@Param("tagIds") List tagIds); } 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 b17c6a2..e594c1d 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 @@ -31,9 +31,14 @@ - - - + + + + + + + + @@ -66,11 +71,15 @@ c.mp4_file, c.preview_file, c.immediate_file, - tag.id as tagId, - tag.tag_name as tagName + bodytag.id as bodyTagId, + bodytag.tag_name as bodyTagName, + emotag.id as emotionTagId, + emotag.tag_name as emotionTagName FROM nu_config_service_directive c - LEFT JOIN nu_directive_tag d ON c.id = d.directive_id - LEFT JOIN nu_config_directive_tag tag ON d.tag_id = tag.id + LEFT JOIN nu_directive_body_tag dbt ON c.id = dbt.directive_id + LEFT JOIN nu_config_body_tag bodytag ON dbt.tag_id = bodytag.id + LEFT JOIN nu_directive_emotion_tag det ON c.id = det.directive_id + LEFT JOIN nu_config_emotion_tag emotag ON det.tag_id = emotag.id c.id IN @@ -94,16 +103,31 @@ - - delete - from nu_directive_tag - where directive_id = #{directive.id} - - - - insert into nu_directive_tag (directive_id,tag_id) values - - (#{directive.id}, #{tagId}) + + + + + + + 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 bf7c54e..3a426e1 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 @@ -18,17 +18,7 @@ public interface IConfigServiceDirectiveService extends IService pageList(ConfigServiceDirective configServiceDirective,IPage list); - /** - * 存储指令标签数据 - * @param configServiceDirective - */ - void saveTags(ConfigServiceDirective configServiceDirective); + List queryDirectiveIdByBodyTagIds(String tags); - /** - * 移除改服务指令下指令标签 - * @param configServiceDirective - */ - void removeTags(ConfigServiceDirective configServiceDirective); - - List queryDirectiveIdByTagIds(String tags); + List queryDirectiveIdByEmotionTagIds(String tags); } 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 f91222e..4f9c62b 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,9 +1,9 @@ package com.nu.modules.servicedirective.service.impl; -import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.nu.modules.directivetag.entity.DirectiveTag; +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.servicedirective.mapper.ConfigServiceDirectiveMapper; import com.nu.modules.servicedirective.service.IConfigServiceDirectiveService; @@ -23,15 +23,18 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl pageList(ConfigServiceDirective configServiceDirective,IPage list_) { - if(list_.getRecords() == null || list_.getRecords().isEmpty()){ + if (list_.getRecords() == null || list_.getRecords().isEmpty()) { return list_.getRecords(); } List list = baseMapper.pageList(configServiceDirective, list_.getRecords()); //处理服务标签字段 if (list != null && !list.isEmpty()) { list.stream().forEach(record -> { - List tagList = record.getTagList(); - record.setTags(tagList.stream().map(DirectiveTag::getId).collect(Collectors.joining(","))); + List bodyTagList = record.getBodyTagList(); + record.setBodyTags(bodyTagList.stream().map(DirectiveBodyTag::getId).collect(Collectors.joining(","))); + + List emotionTagList = record.getEmotionTagList(); + record.setEmotionTags(emotionTagList.stream().map(DirectiveEmotionTag::getId).collect(Collectors.joining(","))); }); } //处理单元格合并所需数据 @@ -48,101 +51,55 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl records) { if (records == null || records.isEmpty()) return; - int outerStart = 0; // 一级分组起始索引 - String currentCategoryId = records.get(0).getCategoryId(); + int outerStart = 0; // 新一级分组(原三级)起始索引 + String currentInstructionId = records.get(0).getInstructionTagId(); - // 一级循环:遍历所有记录处理categoryId分组 + // 新一级循环:遍历所有记录处理instructionTagId分组 for (int i = 1; i < records.size(); i++) { - // 当遇到不同的categoryId时处理当前分组 - if (!records.get(i).getCategoryId().equals(currentCategoryId)) { - processAllGroups(records, outerStart, i - 1); // 处理完整个一级分组 - outerStart = i; // 重置一级起始位置 - currentCategoryId = records.get(i).getCategoryId(); + if (!records.get(i).getInstructionTagId().equals(currentInstructionId)) { + processAllGroups(records, outerStart, i - 1); // 处理完整个新一级分组 + outerStart = i; + currentInstructionId = records.get(i).getInstructionTagId(); } } processAllGroups(records, outerStart, records.size() - 1); // 处理最后一组 } - - /** - * 处理完整个一级分组(包含二级和三级分组) - * - * @param records 记录列表 - * @param start 当前分组的起始索引 - * @param end 当前分组的结束索引 - */ private void processAllGroups(List records, int start, int end) { - processOuterGroup(records, start, end); // 处理一级categoryRowSpan + processOuterGroup(records, start, end); // 处理新一级instructionRowSpan - int innerStart = start; // 二级分组起始索引 + int middleStart = start; // 新二级分组起始索引 + String currentCategoryId = records.get(middleStart).getCategoryId(); + + // 新二级循环:处理当前新一级分组内的categoryId分组 + for (int j = middleStart + 1; j <= end; j++) { + if (!records.get(j).getCategoryId().equals(currentCategoryId)) { + processMiddleGroup(records, middleStart, j - 1); // 处理完整个新二级分组 + middleStart = j; + currentCategoryId = records.get(j).getCategoryId(); + } + } + processMiddleGroup(records, middleStart, end); // 处理最后一组新二级数据 + } + + private void processMiddleGroup(List records, int start, int end) { + processTypeRowSpan(records, start, end); // 设置新二级categoryRowSpan + + int innerStart = start; // 新三级分组起始索引 String currentTypeId = records.get(innerStart).getTypeId(); - // 二级循环:处理当前一级分组内的typeId分组 - for (int j = innerStart + 1; j <= end; j++) { - if (!records.get(j).getTypeId().equals(currentTypeId)) { - processMiddleGroup(records, innerStart, j - 1); // 处理完整个二级分组 - innerStart = j; - currentTypeId = records.get(j).getTypeId(); + // 新三级循环:处理当前新二级分组内的typeId分组 + for (int k = innerStart + 1; k <= end; k++) { + if (!records.get(k).getTypeId().equals(currentTypeId)) { + processInnerGroup(records, innerStart, k - 1); // 处理完整个新三级分组 + innerStart = k; + currentTypeId = records.get(k).getTypeId(); } } - processMiddleGroup(records, innerStart, end); // 处理最后一组二级数据 + processInnerGroup(records, innerStart, end); // 处理最后一组新三级数据 } - /** - * 处理二级typeId分组(包含三级instructionTagId分组) - * - * @param records 记录列表 - * @param start 当前分组的起始索引 - * @param end 当前分组的结束索引 - */ - private void processMiddleGroup(List records, int start, int end) { - processTypeRowSpan(records, start, end); // 设置二级typeRowSpan - - int instructionStart = start; // 三级分组起始索引 - String currentInstructionId = records.get(instructionStart).getInstructionTagId(); - - // 三级循环:处理当前二级分组内的instructionTagId分组 - for (int k = instructionStart + 1; k <= end; k++) { - if (!records.get(k).getInstructionTagId().equals(currentInstructionId)) { - processInnerGroup(records, instructionStart, k - 1); // 处理完整个三级分组 - instructionStart = k; - currentInstructionId = records.get(k).getInstructionTagId(); - } - } - processInnerGroup(records, instructionStart, end); // 处理最后一组三级数据 - } - - /** - * 处理三级instructionTagId分组 - * - * @param records 记录列表 - * @param start 当前分组的起始索引 - * @param end 当前分组的结束索引 - */ private void processInnerGroup(List records, int start, int end) { - int count = end - start + 1; - if (count > 1) { - records.get(start).setInstructionRowSpan(count); - // 将后续记录的instructionRowSpan置0 - for (int i = start + 1; i <= end; i++) { - records.get(i).setInstructionRowSpan(0); - } - } - } - - // 处理一级categoryRowSpan(与之前保持一致) - private void processOuterGroup(List records, int start, int end) { - int count = end - start + 1; - if (count > 1) { - records.get(start).setCategoryRowSpan(count); - for (int i = start + 1; i <= end; i++) { - records.get(i).setCategoryRowSpan(0); - } - } - } - - // 处理二级typeRowSpan(与之前保持一致) - private void processTypeRowSpan(List records, int start, int end) { int count = end - start + 1; if (count > 1) { records.get(start).setTypeRowSpan(count); @@ -152,28 +109,36 @@ public class ConfigServiceDirectiveServiceImpl extends ServiceImpl records, int start, int end) { + int count = end - start + 1; + if (count > 1) { + records.get(start).setInstructionRowSpan(count); + for (int i = start + 1; i <= end; i++) { + records.get(i).setInstructionRowSpan(0); + } + } } - /** - * 移除改服务指令下指令标签 - * @param configServiceDirective - */ - @Override - public void removeTags(ConfigServiceDirective configServiceDirective) { - baseMapper.deleteTags(configServiceDirective); + // 处理新二级categoryRowSpan + private void processTypeRowSpan(List records, int start, int end) { + int count = end - start + 1; + if (count > 1) { + records.get(start).setCategoryRowSpan(count); + for (int i = start + 1; i <= end; i++) { + records.get(i).setCategoryRowSpan(0); + } + } } @Override - public List queryDirectiveIdByTagIds(String tags) { - return baseMapper.queryDirectiveIdByTagIds(tags); + public List queryDirectiveIdByBodyTagIds(String tags) { + return baseMapper.queryDirectiveIdByBodyTagIds(tags); } + + @Override + public List queryDirectiveIdByEmotionTagIds(String tags) { + return baseMapper.queryDirectiveIdByEmotionTagIds(tags); + } + } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/exceptionhandler/DirectiveMQExceptionHandler.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/exceptionhandler/DirectiveMQExceptionHandler.java index 549a827..580b7d8 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/exceptionhandler/DirectiveMQExceptionHandler.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/exceptionhandler/DirectiveMQExceptionHandler.java @@ -18,7 +18,9 @@ public class DirectiveMQExceptionHandler implements RabbitListenerErrorHandler { // 根据异常类型选择处理策略 if (isRetryable(e)) { // 可重试异常:抛出异常触发重试 - throw e; +// throw e; + // 不进行重试: + throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); } else { // 不可恢复异常:拒绝消息且不重新入队 throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java index 1c54a24..0c90263 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java @@ -3,6 +3,7 @@ package org.jeecg.modules.system.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -38,6 +39,7 @@ 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.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; @@ -183,6 +185,24 @@ public class SysDictController { */ @RequestMapping(value = "/getDictItems/{dictCode}", method = RequestMethod.GET) public Result> getDictItems(@PathVariable("dictCode") String dictCode, @RequestParam(value = "sign",required = false) String sign,HttpServletRequest request) { + return getListResult(dictCode); + } + + /** + * 获取字典数据 【接口签名验证】 + * @param dictCode 字典code + * @param dictCode 表名,文本字段,code字段 | 举例:sys_user,realname,id + * @param orgCode 机构编码 + * @return + */ + @RequestMapping(value = "/getDictItems/{dictCode}/{orgCode}", method = RequestMethod.GET) + @DS("#orgCode") + public Result> getDictItems(@PathVariable("dictCode") String dictCode,@PathVariable("orgCode") String orgCode, @RequestParam(value = "sign",required = false) String sign,HttpServletRequest request) { + return getListResult(dictCode); + } + + @NotNull + private Result> getListResult(String dictCode) { log.info(" dictCode : "+ dictCode); Result> result = new Result>(); try {