From f6313df57a0fa9d27ba916d4aa44539222b3a9f6 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Mon, 4 Aug 2025 14:49:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nu/modules/sysconfig/ISysConfigApi.java | 2 + .../nu/modules/sysconfig/SysConfigEntity.java | 72 ++ .../orgapplyinfo/entity/OrgAllInfo.java | 4 + .../mapper/xml/OrgApplyInfoMapper.xml | 1 + .../service/impl/SysConfigServiceImpl.java | 14 + .../com/nu/modules/common/SysBaseInfoApi.java | 33 +- .../controller/CanAddDirectiveController.java | 83 ++ .../entity/CanAddDirective.java | 103 ++ .../mapper/CanAddDirectiveMapper.java | 17 + .../mapper/xml/CanAddDirectiveMapper.xml | 5 + .../service/ICanAddDirectiveService.java | 14 + .../impl/CanAddDirectiveServiceImpl.java | 19 + .../ConfigServiceDirectiveController.java | 52 +- .../listener/DirectiveMQListener.java | 38 +- .../common/system/entity/SysDepartEntity.java | 4 + .../controller/SysDepartController.java | 1116 +++++++++-------- .../modules/system/entity/SysDepart.java | 7 +- .../system/model/SysDepartTreeModel.java | 14 +- .../system/service/ISysDepartService.java | 2 + .../system/service/impl/SysBaseApiImpl.java | 1 + .../service/impl/SysDepartServiceImpl.java | 17 + 21 files changed, 1069 insertions(+), 549 deletions(-) create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/SysConfigEntity.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/controller/CanAddDirectiveController.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/entity/CanAddDirective.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/CanAddDirectiveMapper.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/xml/CanAddDirectiveMapper.xml create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/ICanAddDirectiveService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/impl/CanAddDirectiveServiceImpl.java diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/ISysConfigApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/ISysConfigApi.java index 07da3c8..1f29311 100644 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/ISysConfigApi.java +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/ISysConfigApi.java @@ -10,4 +10,6 @@ public interface ISysConfigApi { * @return */ public Object querySysConfigByKey(String key); + + void asyncApi(SysConfigEntity entity); } diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/SysConfigEntity.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/SysConfigEntity.java new file mode 100644 index 0000000..adca0c1 --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/sysconfig/SysConfigEntity.java @@ -0,0 +1,72 @@ +package com.nu.modules.sysconfig; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +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.Date; + +/** + * @Description: 系统参数配置 + * @Author: 张明远 + * @Date: 2025-8-1 + * @Version: V1.0 + */ +@Data +public class SysConfigEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + /** + * 参数名称 + */ + private String name; + /** + * 键名 + */ + private String configKey; + /** + * 键值 + */ + private String configValue; + /** + * 备注 + */ + private String descr; + /** + * 是否启用 0启用 1未启用 + */ + private String izEnabled; + /** + * 是否删除 0未删除 1删除 + */ + private String delFlag; + /** + * 创建人 + */ + private String createBy; + /** + * 创建日期 + */ + private Date createTime; + /** + * 更新人 + */ + private String updateBy; + /** + * 更新日期 + */ + private Date updateTime; + private String orgCode; +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java index 76c36eb..e520a63 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgAllInfo.java @@ -35,6 +35,10 @@ public class OrgAllInfo implements Serializable { * 协议+域名 */ private String contextPath; + /** + * 是否标准指令库 0是1否 + */ + private String izDirectiveMain; /** * 省份 */ diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml index 5a6425b..6cbc64a 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/mapper/xml/OrgApplyInfoMapper.xml @@ -9,6 +9,7 @@ d.org_code, d.url, d.plat_type, + d.iz_directive_main, o.open_id, o.wechat_name, o.tel, diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/sysconfig/service/impl/SysConfigServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/sysconfig/service/impl/SysConfigServiceImpl.java index 4c3bec6..ea222a7 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/sysconfig/service/impl/SysConfigServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/sysconfig/service/impl/SysConfigServiceImpl.java @@ -8,6 +8,7 @@ import com.nu.dto.SysConfigMQDto; import com.nu.modules.async.entity.AsyncMain; import com.nu.modules.async.service.IAsyncMainService; import com.nu.modules.sysconfig.ISysConfigApi; +import com.nu.modules.sysconfig.SysConfigEntity; import com.nu.modules.sysconfig.entity.SysConfig; import com.nu.modules.sysconfig.mapper.SysConfigMapper; import com.nu.modules.sysconfig.service.ISysConfigService; @@ -82,6 +83,12 @@ public class SysConfigServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); @@ -93,4 +100,11 @@ public class SysConfigServiceImpl extends ServiceImpl sysUrl(){ + public Result sysUrl() { JSONObject deptInfo = sysBaseAPI.getDeptInfo(); - Map result = Maps.newHashMap(); - result.put("url",deptInfo.getString("url")); + Map result = Maps.newHashMap(); + result.put("url", deptInfo.getString("url")); + return Result.ok(result); + } + + /** + * 根据机构编码获取机构api接口前缀 + * + * @return + */ + @GetMapping("/getOrgApiAddress") + public Result getOrgInfo(@RequestParam("orgCode") String orgCode) { + JSONObject deptInfo = sysBaseAPI.getOrgInfo(orgCode); + Map result = Maps.newHashMap(); + String fullPath = ""; + String url = deptInfo.getString("url"); + String contextPath = deptInfo.getString("contextPath"); + String baseUrl = url.endsWith("/") ? url.substring(0, url.length() - 1) : url; + String normalizedContextPath = contextPath.startsWith("/") ? contextPath : "/" + contextPath; + normalizedContextPath = normalizedContextPath.endsWith("/") + ? normalizedContextPath.substring(0, normalizedContextPath.length() - 1) + : normalizedContextPath; + //接口协议、域名、上下文路径 + fullPath = baseUrl + normalizedContextPath; + result.put("url", fullPath); return Result.ok(result); } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/controller/CanAddDirectiveController.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/controller/CanAddDirectiveController.java new file mode 100644 index 0000000..cb7a07f --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/controller/CanAddDirectiveController.java @@ -0,0 +1,83 @@ +package com.nu.modules.canadddirective.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.canadddirective.entity.CanAddDirective; +import com.nu.modules.canadddirective.service.ICanAddDirectiveService; + +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-08-01 + * @Version: V1.0 + */ +@Api(tags="可新增指令") +@RestController +@RequestMapping("/canadddirective/canAddDirective") +@Slf4j +public class CanAddDirectiveController extends JeecgController { + @Autowired + private ICanAddDirectiveService canAddDirectiveService; + + /** + * 分页列表查询 + * + * @param canAddDirective + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "可新增指令-分页列表查询") + @ApiOperation(value="可新增指令-分页列表查询", notes="可新增指令-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CanAddDirective canAddDirective, + @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("orgCode", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(canAddDirective, req.getParameterMap(),customeRuleMap); + queryWrapper.notIn("directive_id",canAddDirective.getExistDirectiveIds().split(",")); + Page page = new Page(pageNo, pageSize); + IPage pageList = canAddDirectiveService.page(page, queryWrapper); + return Result.OK(pageList); + } + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/entity/CanAddDirective.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/entity/CanAddDirective.java new file mode 100644 index 0000000..d3b447b --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/entity/CanAddDirective.java @@ -0,0 +1,103 @@ +package com.nu.modules.canadddirective.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; +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-08-01 + * @Version: V1.0 + */ +@Data +@TableName("nu_can_add_directive") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_can_add_directive对象", description="可新增指令") +public class CanAddDirective implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**指令ID*/ + @Excel(name = "指令ID", width = 15) + @ApiModelProperty(value = "指令ID") + private java.lang.String directiveId; + /**分类标签*/ + @Excel(name = "分类标签", width = 15) + @ApiModelProperty(value = "分类标签") + private java.lang.String instructionTag; + /**服务类别*/ + @Excel(name = "服务类别", width = 15) + @ApiModelProperty(value = "服务类别") + private java.lang.String category; + /**服务类型*/ + @Excel(name = "服务类型", width = 15) + @ApiModelProperty(value = "服务类型") + private java.lang.String type; + /**服务指令*/ + @Excel(name = "服务指令", width = 15) + @ApiModelProperty(value = "服务指令") + private java.lang.String directiveName; + /**周期类型 1日常护理 2周期护理 3即时护理*/ + @Excel(name = "周期类型", width = 15) + @ApiModelProperty(value = "周期类型") + private java.lang.String cycleType; + /**体型标签*/ + @Excel(name = "体型标签", width = 15) + @ApiModelProperty(value = "体型标签") + private java.lang.String bodyTags; + /**情绪标签*/ + @Excel(name = "情绪标签", width = 15) + @ApiModelProperty(value = "情绪标签") + private java.lang.String emotionTags; + /**是否删除 0未删除 1删除*/ + @Excel(name = "是否删除 0未删除 1删除", width = 15) + @ApiModelProperty(value = "是否删除 0未删除 1删除") + @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; + /**所属部门*/ + @Excel(name = "所属部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code") + @ApiModelProperty(value = "所属部门") + private java.lang.String orgCode; + + /** + * 已存在服务指令ids 逗号拼接 + */ + @TableField(exist = false) + private String existDirectiveIds; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/CanAddDirectiveMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/CanAddDirectiveMapper.java new file mode 100644 index 0000000..0f8365f --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/CanAddDirectiveMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.canadddirective.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.canadddirective.entity.CanAddDirective; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 可新增指令 + * @Author: jeecg-boot + * @Date: 2025-08-01 + * @Version: V1.0 + */ +public interface CanAddDirectiveMapper extends BaseMapper { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/xml/CanAddDirectiveMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/xml/CanAddDirectiveMapper.xml new file mode 100644 index 0000000..1e43ac7 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/mapper/xml/CanAddDirectiveMapper.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/canadddirective/service/ICanAddDirectiveService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/ICanAddDirectiveService.java new file mode 100644 index 0000000..076aaa4 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/ICanAddDirectiveService.java @@ -0,0 +1,14 @@ +package com.nu.modules.canadddirective.service; + +import com.nu.modules.canadddirective.entity.CanAddDirective; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 可新增指令 + * @Author: jeecg-boot + * @Date: 2025-08-01 + * @Version: V1.0 + */ +public interface ICanAddDirectiveService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/impl/CanAddDirectiveServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/impl/CanAddDirectiveServiceImpl.java new file mode 100644 index 0000000..1c4f8d4 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/canadddirective/service/impl/CanAddDirectiveServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.canadddirective.service.impl; + +import com.nu.modules.canadddirective.entity.CanAddDirective; +import com.nu.modules.canadddirective.mapper.CanAddDirectiveMapper; +import com.nu.modules.canadddirective.service.ICanAddDirectiveService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 可新增指令 + * @Author: jeecg-boot + * @Date: 2025-08-01 + * @Version: V1.0 + */ +@Service +public class CanAddDirectiveServiceImpl extends ServiceImpl implements ICanAddDirectiveService { + +} 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 8ca75b8..34f1a39 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 @@ -9,6 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.beust.jcommander.internal.Maps; import com.nu.dto.DirectiveAsyncMQDto; 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.directivetag.body.entity.DirectiveBodyTag; import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService; import com.nu.modules.directivetag.emotion.entity.DirectiveEmotionTag; @@ -58,6 +63,10 @@ public class ConfigServiceDirectiveController extends JeecgController> idListByDS(@RequestParam(name = "dataSourceCode") String dataSourceCode) { + if (StringUtils.isBlank(dataSourceCode)) { + return Result.ok(new Page<>()); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("id"); + Page page = new Page<>(1, -1); + IPage list = configServiceDirectiveService.page(page, queryWrapper); + return Result.OK(list); + } + /** * 添加 * @@ -408,7 +436,7 @@ public class ConfigServiceDirectiveController extends JeecgController directives; @@ -444,6 +474,22 @@ public class ConfigServiceDirectiveController extends JeecgController { for (String code : dto.getSyncOrgCodes().split(",")) { try { + AsyncMain asyncMain = new AsyncMain(); + asyncMain.setType("directive"); + asyncMain.setOrgCode(dataSourceCode); + asyncMain.setDescr("服务指令同步"); + asyncMainService.saveData("master", asyncMain); + upDirectiveMQDto.setAsyncId(asyncMain.getId()); + + 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("同步中"); + asyncStatus_file.setTargetOrgCode(code); + asyncStatusService.saveData("master", asyncStatus_file); + rabbitMQUtil.sendToExchange("hldy.directive", code + ".directive.createmedia", upDirectiveMQDto); // 发送完后,休眠 5 分钟 // Thread.sleep(TimeUnit.MINUTES.toMillis(5)); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java index a87eee0..3592bdd 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/mq/directive/listener/DirectiveMQListener.java @@ -12,6 +12,8 @@ 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.canadddirective.entity.CanAddDirective; +import com.nu.modules.canadddirective.service.ICanAddDirectiveService; import com.nu.modules.directivetag.body.entity.DirectiveBodyTag; import com.nu.modules.directivetag.body.entity.DirectiveBodyTagRelation; import com.nu.modules.directivetag.body.service.IDirectiveBodyTagService; @@ -40,6 +42,7 @@ import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Slf4j @Component @@ -61,14 +64,45 @@ public class DirectiveMQListener { private IDirectiveBodyTagService bodyTagService; @Autowired private IDirectiveEmotionTagService emotionTagService; + @Autowired + private ICanAddDirectiveService canAddDirectiveService; + + /** + *其他平台新增指令 + */ + @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.directive.newadd"), exchange = @Exchange(name = "hldy.directive", type = ExchangeTypes.DIRECT), key = "hldy.directive.newadd"), errorHandler = "directiveMQErrorHandler") + public void auditBizDirective(DirectiveAsyncMQDto dto) { + + CanAddDirective canAddDirective = new CanAddDirective(); + canAddDirective.setDirectiveId(dto.getId()); + canAddDirective.setDirectiveName(dto.getDirectiveName()); + canAddDirective.setInstructionTag(dto.getInstructionName()); + canAddDirective.setCategory(dto.getCategoryName()); + canAddDirective.setType(dto.getTypeName()); + canAddDirective.setCycleType(dto.getCycleTypeName()); + List bodyTagsList = JSON.parseArray(dto.getBodyTagsObj(), Map.class); + String bodyTags = bodyTagsList.stream() + .map(map -> map.get("label").toString()) + .collect(Collectors.joining(",")); + canAddDirective.setBodyTags(bodyTags); + + List emotionTagsList = JSON.parseArray(dto.getEmotionTagsObj(), Map.class); + String emotionTags = emotionTagsList.stream() + .map(map -> map.get("label").toString()) + .collect(Collectors.joining(",")); + canAddDirective.setEmotionTags(emotionTags); + canAddDirective.setOrgCode(dto.getSysOrgCode()); + canAddDirective.setDelFlag("0"); + canAddDirectiveService.save(canAddDirective); + } /** * 业务平台新增指令/编辑未授权指令 传给 管理平台进行审核 * * @param dto */ - @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.directive.audit"), exchange = @Exchange(name = "hldy.directive", type = ExchangeTypes.DIRECT), key = "hldy.directive.audit"), errorHandler = "directiveMQErrorHandler") - public void auditBizDirective(DirectiveAsyncMQDto dto) { +// @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.directive.audit"), exchange = @Exchange(name = "hldy.directive", type = ExchangeTypes.DIRECT), key = "hldy.directive.audit"), errorHandler = "directiveMQErrorHandler") + public void auditBizDirective2(DirectiveAsyncMQDto dto) { //先处理各字典项 只新增,不修改 String instructionTagId = dto.getInstructionTagId(); String categoryId = dto.getCategoryId(); diff --git a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java index 9f8d8b2..1e973fd 100644 --- a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java +++ b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/entity/SysDepartEntity.java @@ -64,6 +64,10 @@ public class SysDepartEntity implements Serializable { * 项目访问路径 */ private String contextPath; + /** + * 是否标准指令库 0是1否 + */ + private String izDirectiveMain; /** * 省份 */ diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java index b1e3804..4b9a050 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.sysconfig.ISysConfigApi; +import com.nu.modules.sysconfig.SysConfigEntity; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -62,230 +64,235 @@ import java.util.*; @Slf4j public class SysDepartController { - @Autowired - private ISysDepartService sysDepartService; - @Autowired - public RedisTemplate redisTemplate; - @Autowired - private ISysUserService sysUserService; - @Autowired - private ISysUserDepartService sysUserDepartService; - @Autowired - private RedisUtil redisUtil; - /** - * 查询数据 查出我的部门,并以树结构数据格式响应给前端 - * - * @return - */ - @RequestMapping(value = "/queryMyDeptTreeList", method = RequestMethod.GET) - public Result> queryMyDeptTreeList() { - Result> result = new Result<>(); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - try { - if(oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals( CommonConstant.USER_IDENTITY_2 )){ - //update-begin--Author:liusq Date:20210624 for:部门查询ids为空后的前端显示问题 issues/I3UD06 - String departIds = user.getDepartIds(); - if(StringUtils.isNotBlank(departIds)){ - List list = sysDepartService.queryMyDeptTreeList(departIds); - result.setResult(list); - } - //update-end--Author:liusq Date:20210624 for:部门查询ids为空后的前端显示问题 issues/I3UD06 - result.setMessage(CommonConstant.USER_IDENTITY_2.toString()); - result.setSuccess(true); - }else{ - result.setMessage(CommonConstant.USER_IDENTITY_1.toString()); - result.setSuccess(true); - } - } catch (Exception e) { - log.error(e.getMessage(),e); - } - return result; - } + @Autowired + private ISysDepartService sysDepartService; + @Autowired + public RedisTemplate redisTemplate; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysUserDepartService sysUserDepartService; + @Autowired + private RedisUtil redisUtil; + @Autowired + private ISysConfigApi sysConfigApi; - /** - * 查询数据 查出所有部门,并以树结构数据格式响应给前端 - * - * @return - */ - @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) - public Result> queryTreeList(@RequestParam(name = "ids", required = false) String ids) { - Result> result = new Result<>(); - try { - // 从内存中读取 + /** + * 查询数据 查出我的部门,并以树结构数据格式响应给前端 + * + * @return + */ + @RequestMapping(value = "/queryMyDeptTreeList", method = RequestMethod.GET) + public Result> queryMyDeptTreeList() { + Result> result = new Result<>(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + try { + if (oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals(CommonConstant.USER_IDENTITY_2)) { + //update-begin--Author:liusq Date:20210624 for:部门查询ids为空后的前端显示问题 issues/I3UD06 + String departIds = user.getDepartIds(); + if (StringUtils.isNotBlank(departIds)) { + List list = sysDepartService.queryMyDeptTreeList(departIds); + result.setResult(list); + } + //update-end--Author:liusq Date:20210624 for:部门查询ids为空后的前端显示问题 issues/I3UD06 + result.setMessage(CommonConstant.USER_IDENTITY_2.toString()); + result.setSuccess(true); + } else { + result.setMessage(CommonConstant.USER_IDENTITY_1.toString()); + result.setSuccess(true); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } + + /** + * 查询数据 查出所有部门,并以树结构数据格式响应给前端 + * + * @return + */ + @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) + public Result> queryTreeList(@RequestParam(name = "ids", required = false) String ids) { + Result> result = new Result<>(); + try { + // 从内存中读取 // List list =FindsDepartsChildrenUtil.getSysDepartTreeList(); // if (CollectionUtils.isEmpty(list)) { // list = sysDepartService.queryTreeList(); // } - if(oConvertUtils.isNotEmpty(ids)){ - List departList = sysDepartService.queryTreeList(ids); - result.setResult(departList); - }else{ - List list = sysDepartService.queryTreeList(); - result.setResult(list); - } - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); - } - return result; - } + if (oConvertUtils.isNotEmpty(ids)) { + List departList = sysDepartService.queryTreeList(ids); + result.setResult(departList); + } else { + List list = sysDepartService.queryTreeList(); + result.setResult(list); + } + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } - /** - * 异步查询部门list - * @param parentId 父节点 异步加载时传递 - * @param ids 前端回显是传递 - * @param primaryKey 主键字段(id或者orgCode) - * @return - */ - @RequestMapping(value = "/queryDepartTreeSync", method = RequestMethod.GET) - public Result> queryDepartTreeSync(@RequestParam(name = "pid", required = false) String parentId,@RequestParam(name = "ids", required = false) String ids, @RequestParam(name = "primaryKey", required = false) String primaryKey, @RequestParam(name = "platType", required = false) String platType) { - Result> result = new Result<>(); - try { - List list = sysDepartService.queryTreeListByPid(parentId,ids, primaryKey,platType); - result.setResult(list); - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); - result.setSuccess(false); - result.setMessage("查询失败"); - } - return result; - } + /** + * 异步查询部门list + * + * @param parentId 父节点 异步加载时传递 + * @param ids 前端回显是传递 + * @param primaryKey 主键字段(id或者orgCode) + * @return + */ + @RequestMapping(value = "/queryDepartTreeSync", method = RequestMethod.GET) + public Result> queryDepartTreeSync(@RequestParam(name = "pid", required = false) String parentId, @RequestParam(name = "ids", required = false) String ids, @RequestParam(name = "primaryKey", required = false) String primaryKey, @RequestParam(name = "platType", required = false) String platType) { + Result> result = new Result<>(); + try { + List list = sysDepartService.queryTreeListByPid(parentId, ids, primaryKey, platType); + result.setResult(list); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); + result.setSuccess(false); + result.setMessage("查询失败"); + } + return result; + } - /** - * 获取某个部门的所有父级部门的ID - * - * @param departId 根据departId查 - * @param orgCode 根据orgCode查,departId和orgCode必须有一个不为空 - */ - @GetMapping("/queryAllParentId") - public Result queryParentIds( - @RequestParam(name = "departId", required = false) String departId, - @RequestParam(name = "orgCode", required = false) String orgCode) { - try { - JSONObject data; - if (oConvertUtils.isNotEmpty(departId)) { - data = sysDepartService.queryAllParentIdByDepartId(departId); - } else if (oConvertUtils.isNotEmpty(orgCode)) { - data = sysDepartService.queryAllParentIdByOrgCode(orgCode); - } else { - return Result.error("departId 和 orgCode 不能都为空!"); - } - return Result.OK(data); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.error(e.getMessage()); - } - } + /** + * 获取某个部门的所有父级部门的ID + * + * @param departId 根据departId查 + * @param orgCode 根据orgCode查,departId和orgCode必须有一个不为空 + */ + @GetMapping("/queryAllParentId") + public Result queryParentIds( + @RequestParam(name = "departId", required = false) String departId, + @RequestParam(name = "orgCode", required = false) String orgCode) { + try { + JSONObject data; + if (oConvertUtils.isNotEmpty(departId)) { + data = sysDepartService.queryAllParentIdByDepartId(departId); + } else if (oConvertUtils.isNotEmpty(orgCode)) { + data = sysDepartService.queryAllParentIdByOrgCode(orgCode); + } else { + return Result.error("departId 和 orgCode 不能都为空!"); + } + return Result.OK(data); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error(e.getMessage()); + } + } - /** - * 添加新数据 添加用户新建的部门对象数据,并保存到数据库 - * - * @param sysDepart - * @return - */ + /** + * 添加新数据 添加用户新建的部门对象数据,并保存到数据库 + * + * @param sysDepart + * @return + */ @RequiresPermissions("system:depart:add") - @RequestMapping(value = "/add", method = RequestMethod.POST) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result add(@RequestBody SysDepart sysDepart, HttpServletRequest request) { - Result result = new Result(); - String username = JwtUtil.getUserNameByToken(request); - try { - sysDepart.setCreateBy(username); - sysDepartService.saveDepartData(sysDepart, username); - //清除部门树内存 - // FindsDepartsChildrenUtil.clearSysDepartTreeList(); - // FindsDepartsChildrenUtil.clearDepartIdModel(); - result.success("添加成功!"); - } catch (Exception e) { - log.error(e.getMessage(),e); - result.error500("操作失败"); - } - return result; - } + @RequestMapping(value = "/add", method = RequestMethod.POST) + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) + public Result add(@RequestBody SysDepart sysDepart, HttpServletRequest request) { + Result result = new Result(); + String username = JwtUtil.getUserNameByToken(request); + try { + sysDepart.setCreateBy(username); + sysDepartService.saveDepartData(sysDepart, username); + //清除部门树内存 + // FindsDepartsChildrenUtil.clearSysDepartTreeList(); + // FindsDepartsChildrenUtil.clearDepartIdModel(); + result.success("添加成功!"); + } catch (Exception e) { + log.error(e.getMessage(), e); + result.error500("操作失败"); + } + return result; + } - /** - * 编辑数据 编辑部门的部分数据,并保存到数据库 - * - * @param sysDepart - * @return - */ + /** + * 编辑数据 编辑部门的部分数据,并保存到数据库 + * + * @param sysDepart + * @return + */ @RequiresPermissions("system:depart:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result edit(@RequestBody SysDepart sysDepart, HttpServletRequest request) { - String username = JwtUtil.getUserNameByToken(request); - sysDepart.setUpdateBy(username); - Result result = new Result(); - SysDepart sysDepartEntity = sysDepartService.getById(sysDepart.getId()); - if (sysDepartEntity == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = sysDepartService.updateDepartDataById(sysDepart, username); - // TODO 返回false说明什么? - if (ok) { - //清除部门树内存 - //FindsDepartsChildrenUtil.clearSysDepartTreeList(); - //FindsDepartsChildrenUtil.clearDepartIdModel(); - result.success("修改成功!"); - } - } - return result; - } + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) + public Result edit(@RequestBody SysDepart sysDepart, HttpServletRequest request) { + String username = JwtUtil.getUserNameByToken(request); + sysDepart.setUpdateBy(username); + Result result = new Result(); + SysDepart sysDepartEntity = sysDepartService.getById(sysDepart.getId()); + if (sysDepartEntity == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = sysDepartService.updateDepartDataById(sysDepart, username); + // TODO 返回false说明什么? + if (ok) { + //清除部门树内存 + //FindsDepartsChildrenUtil.clearSysDepartTreeList(); + //FindsDepartsChildrenUtil.clearDepartIdModel(); + result.success("修改成功!"); + } + } + return result; + } - /** - * 通过id删除 - * @param id - * @return - */ + /** + * 通过id删除 + * + * @param id + * @return + */ @RequiresPermissions("system:depart:delete") @RequestMapping(value = "/delete", method = RequestMethod.DELETE) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result delete(@RequestParam(name="id",required=true) String id) { + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) + public Result delete(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - SysDepart sysDepart = sysDepartService.getById(id); - if(sysDepart==null) { - result.error500("未找到对应实体"); - }else { - sysDepartService.deleteDepart(id); - //清除部门树内存 - //FindsDepartsChildrenUtil.clearSysDepartTreeList(); - // FindsDepartsChildrenUtil.clearDepartIdModel(); - result.success("删除成功!"); - } - return result; - } + Result result = new Result(); + SysDepart sysDepart = sysDepartService.getById(id); + if (sysDepart == null) { + result.error500("未找到对应实体"); + } else { + sysDepartService.deleteDepart(id); + //清除部门树内存 + //FindsDepartsChildrenUtil.clearSysDepartTreeList(); + // FindsDepartsChildrenUtil.clearDepartIdModel(); + result.success("删除成功!"); + } + return result; + } - /** - * 批量删除 根据前端请求的多个ID,对数据库执行删除相关部门数据的操作 - * - * @param ids - * @return - */ + /** + * 批量删除 根据前端请求的多个ID,对数据库执行删除相关部门数据的操作 + * + * @param ids + * @return + */ @RequiresPermissions("system:depart:deleteBatch") - @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - Result result = new Result(); - if (ids == null || "".equals(ids.trim())) { - result.error500("参数不识别!"); - } else { - this.sysDepartService.deleteBatchWithChildren(Arrays.asList(ids.split(","))); - result.success("删除成功!"); - } - return result; - } + Result result = new Result(); + if (ids == null || "".equals(ids.trim())) { + result.error500("参数不识别!"); + } else { + this.sysDepartService.deleteBatchWithChildren(Arrays.asList(ids.split(","))); + result.success("删除成功!"); + } + return result; + } - /** - * 查询数据 添加或编辑页面对该方法发起请求,以树结构形式加载所有部门的名称,方便用户的操作 - * - * @return - */ - @RequestMapping(value = "/queryIdTree", method = RequestMethod.GET) - public Result> queryIdTree() { + /** + * 查询数据 添加或编辑页面对该方法发起请求,以树结构形式加载所有部门的名称,方便用户的操作 + * + * @return + */ + @RequestMapping(value = "/queryIdTree", method = RequestMethod.GET) + public Result> queryIdTree() { // Result> result = new Result>(); // List idList; // try { @@ -305,102 +312,102 @@ public class SysDepartController { // result.setSuccess(false); // return result; // } - Result> result = new Result<>(); - try { - List list = sysDepartService.queryDepartIdTreeList(); - result.setResult(list); - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); - } - return result; - } + Result> result = new Result<>(); + try { + List list = sysDepartService.queryDepartIdTreeList(); + result.setResult(list); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } - /** - *

- * 部门搜索功能方法,根据关键字模糊搜索相关部门 - *

- * - * @param keyWord - * @return - */ - @RequestMapping(value = "/searchBy", method = RequestMethod.GET) - public Result> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord,@RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) { - Result> result = new Result>(); - //部门查询,myDeptSearch为1时为我的部门查询,登录用户为上级时查只查负责部门下数据 - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String departIds = null; - if(oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals( CommonConstant.USER_IDENTITY_2 )){ - departIds = user.getDepartIds(); - } - List treeList = this.sysDepartService.searchByKeyWord(keyWord,myDeptSearch,departIds); - if (treeList == null || treeList.size() == 0) { - result.setSuccess(false); - result.setMessage("未查询匹配数据!"); - return result; - } - result.setResult(treeList); - return result; - } + /** + *

+ * 部门搜索功能方法,根据关键字模糊搜索相关部门 + *

+ * + * @param keyWord + * @return + */ + @RequestMapping(value = "/searchBy", method = RequestMethod.GET) + public Result> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord, @RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) { + Result> result = new Result>(); + //部门查询,myDeptSearch为1时为我的部门查询,登录用户为上级时查只查负责部门下数据 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String departIds = null; + if (oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals(CommonConstant.USER_IDENTITY_2)) { + departIds = user.getDepartIds(); + } + List treeList = this.sysDepartService.searchByKeyWord(keyWord, myDeptSearch, departIds); + if (treeList == null || treeList.size() == 0) { + result.setSuccess(false); + result.setMessage("未查询匹配数据!"); + return result; + } + result.setResult(treeList); + return result; + } - /** + /** * 导出excel * * @param request */ @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(SysDepart sysDepart,HttpServletRequest request) { - //------------------------------------------------------------------------------------------------ - //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 - if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ - sysDepart.setTenantId(oConvertUtils.getInt(TenantContext.getTenant(), 0)); - } - //------------------------------------------------------------------------------------------------ + public ModelAndView exportXls(SysDepart sysDepart, HttpServletRequest request) { + //------------------------------------------------------------------------------------------------ + //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 + if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) { + sysDepart.setTenantId(oConvertUtils.getInt(TenantContext.getTenant(), 0)); + } + //------------------------------------------------------------------------------------------------ - //update-begin---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- - //// Step.1 组装查询条件 - //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysDepart, request.getParameterMap()); - //Step.1 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //update-begin---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- + //// Step.1 组装查询条件 + //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysDepart, request.getParameterMap()); + //Step.1 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //List pageList = sysDepartService.list(queryWrapper); //按字典排序 //Collections.sort(pageList, new Comparator() { - //@Override - //public int compare(SysDepart arg0, SysDepart arg1) { - //return arg0.getOrgCode().compareTo(arg1.getOrgCode()); - //} - //}); - // 过滤选中数据 - String selections = request.getParameter("selections"); - List idList = new ArrayList<>(); - if (oConvertUtils.isNotEmpty(selections)) { - idList = Arrays.asList(selections.split(",")); - } - //step.2 组装导出数据 - Integer tenantId = sysDepart == null ? null : sysDepart.getTenantId(); - //update-begin---author:wangshuai---date:2024-07-05---for:【TV360X-1671】部门管理不支持选中的记录导出--- - List sysDepartExportVos = sysDepartService.getExportDepart(tenantId,idList); - //update-end---author:wangshuai---date:2024-07-05---for:【TV360X-1671】部门管理不支持选中的记录导出--- + //@Override + //public int compare(SysDepart arg0, SysDepart arg1) { + //return arg0.getOrgCode().compareTo(arg1.getOrgCode()); + //} + //}); + // 过滤选中数据 + String selections = request.getParameter("selections"); + List idList = new ArrayList<>(); + if (oConvertUtils.isNotEmpty(selections)) { + idList = Arrays.asList(selections.split(",")); + } + //step.2 组装导出数据 + Integer tenantId = sysDepart == null ? null : sysDepart.getTenantId(); + //update-begin---author:wangshuai---date:2024-07-05---for:【TV360X-1671】部门管理不支持选中的记录导出--- + List sysDepartExportVos = sysDepartService.getExportDepart(tenantId, idList); + //update-end---author:wangshuai---date:2024-07-05---for:【TV360X-1671】部门管理不支持选中的记录导出--- //导出文件名称 mv.addObject(NormalExcelConstants.FILE_NAME, "部门列表"); mv.addObject(NormalExcelConstants.CLASS, SysDepartExportVo.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("导入规则:\n" + - "1、标题为第三行,部门路径和部门名称的标题不允许修改,否则会匹配失败;第四行为数据填写范围;\n" + - "2、部门路径用英文字符/分割,部门名称为部门路径的最后一位;\n" + - "3、部门从一级名称开始创建,如果有同级就需要多添加一行,如研发部/研发一部;研发部/研发二部;\n" + - "4、自定义的部门编码需要满足规则才能导入。如一级部门编码为A01,那么子部门为A01A01,同级子部门为A01A02,编码固定为三位,首字母为A-Z,后两位为数字0-99,依次递增;", "导出人:"+user.getRealname(), "导出信息")); + "1、标题为第三行,部门路径和部门名称的标题不允许修改,否则会匹配失败;第四行为数据填写范围;\n" + + "2、部门路径用英文字符/分割,部门名称为部门路径的最后一位;\n" + + "3、部门从一级名称开始创建,如果有同级就需要多添加一行,如研发部/研发一部;研发部/研发二部;\n" + + "4、自定义的部门编码需要满足规则才能导入。如一级部门编码为A01,那么子部门为A01A01,同级子部门为A01A02,编码固定为三位,首字母为A-Z,后两位为数字0-99,依次递增;", "导出人:" + user.getRealname(), "导出信息")); mv.addObject(NormalExcelConstants.DATA_LIST, sysDepartExportVos); - //update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- + //update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- - return mv; + return mv; } /** * 通过excel导入数据 - * 部门导入方案1: 通过机构编码来计算出部门的父级ID,维护上下级关系; - * 部门导入方案2: 你也可以改造下程序,机构编码直接导入,先不设置父ID;全部导入后,写一个sql,补下父ID; + * 部门导入方案1: 通过机构编码来计算出部门的父级ID,维护上下级关系; + * 部门导入方案2: 你也可以改造下程序,机构编码直接导入,先不设置父ID;全部导入后,写一个sql,补下父ID; * * @param request * @param response @@ -408,12 +415,12 @@ public class SysDepartController { */ @RequiresPermissions("system:depart:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - List errorMessageList = new ArrayList<>(); - //List listSysDeparts = null; - List listSysDeparts = null; + List errorMessageList = new ArrayList<>(); + //List listSysDeparts = null; + List listSysDeparts = null; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { // 获取上传文件对象 @@ -423,7 +430,7 @@ public class SysDepartController { params.setHeadRows(1); params.setNeedSave(true); try { - //update-begin---author:wangshuai---date:2023-10-20---for: 注释掉原来的导入部门的逻辑--- + //update-begin---author:wangshuai---date:2023-10-20---for: 注释掉原来的导入部门的逻辑--- // // orgCode编码长度 // int codeLength = YouBianCodeUtil.ZHANWEI_LENGTH; // listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), SysDepart.class, params); @@ -469,22 +476,22 @@ public class SysDepartController { // ImportExcelUtil.importDateSaveOne(sysDepart, ISysDepartService.class, errorMessageList, num, CommonConstant.SQL_INDEX_UNIQ_DEPART_ORG_CODE); // num++; // } - //update-end---author:wangshuai---date:2023-10-20---for: 注释掉原来的导入部门的逻辑--- + //update-end---author:wangshuai---date:2023-10-20---for: 注释掉原来的导入部门的逻辑--- - //update-begin---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- - listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), SysDepartExportVo.class, params); - sysDepartService.importSysDepart(listSysDeparts,errorMessageList); - //update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- + //update-begin---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- + listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), SysDepartExportVo.class, params); + sysDepartService.importSysDepart(listSysDeparts, errorMessageList); + //update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- - //清空部门缓存 - List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*"); - List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); - redisTemplate.delete(keys3); - redisTemplate.delete(keys4); - return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); + //清空部门缓存 + List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*"); + List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); + redisTemplate.delete(keys3); + redisTemplate.delete(keys4); + return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); } catch (Exception e) { - log.error(e.getMessage(),e); - return Result.error("文件导入失败:"+e.getMessage()); + log.error(e.getMessage(), e); + return Result.error("文件导入失败:" + e.getMessage()); } finally { try { file.getInputStream().close(); @@ -497,268 +504,299 @@ public class SysDepartController { } - /** - * 查询所有部门信息 - * @return - */ - @GetMapping("listAll") - public Result> listAll(@RequestParam(name = "id", required = false) String id) { - Result> result = new Result<>(); - LambdaQueryWrapper query = new LambdaQueryWrapper(); - query.orderByAsc(SysDepart::getOrgCode); - if(oConvertUtils.isNotEmpty(id)){ - String[] arr = id.split(","); - query.in(SysDepart::getId,arr); - } - List ls = this.sysDepartService.list(query); - result.setSuccess(true); - result.setResult(ls); - return result; - } - /** - * 查询数据 查出所有部门,并以树结构数据格式响应给前端 - * - * @return - */ - @RequestMapping(value = "/queryTreeByKeyWord", method = RequestMethod.GET) - public Result> queryTreeByKeyWord(@RequestParam(name = "keyWord", required = false) String keyWord) { - Result> result = new Result<>(); - try { - Map map=new HashMap(5); - List list = sysDepartService.queryTreeByKeyWord(keyWord); - //根据keyWord获取用户信息 - LambdaQueryWrapper queryUser = new LambdaQueryWrapper(); - queryUser.eq(SysUser::getDelFlag,CommonConstant.DEL_FLAG_0); - queryUser.and(i -> i.like(SysUser::getUsername, keyWord).or().like(SysUser::getRealname, keyWord)); - List sysUsers = this.sysUserService.list(queryUser); - map.put("userList",sysUsers); - map.put("departList",list); - result.setResult(map); - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); - } - return result; - } + /** + * 查询所有部门信息 + * + * @return + */ + @GetMapping("listAll") + public Result> listAll(@RequestParam(name = "id", required = false) String id) { + Result> result = new Result<>(); + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.orderByAsc(SysDepart::getOrgCode); + if (oConvertUtils.isNotEmpty(id)) { + String[] arr = id.split(","); + query.in(SysDepart::getId, arr); + } + List ls = this.sysDepartService.list(query); + result.setSuccess(true); + result.setResult(ls); + return result; + } - /** - * 根据部门编码获取部门信息 - * - * @param orgCode - * @return - */ - @GetMapping("/getDepartName") - public Result getDepartName(@RequestParam(name = "orgCode") String orgCode) { - Result result = new Result<>(); - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(SysDepart::getOrgCode, orgCode); - SysDepart sysDepart = sysDepartService.getOne(query); - result.setSuccess(true); - result.setResult(sysDepart); - return result; - } + /** + * 查询数据 查出所有部门,并以树结构数据格式响应给前端 + * + * @return + */ + @RequestMapping(value = "/queryTreeByKeyWord", method = RequestMethod.GET) + public Result> queryTreeByKeyWord(@RequestParam(name = "keyWord", required = false) String keyWord) { + Result> result = new Result<>(); + try { + Map map = new HashMap(5); + List list = sysDepartService.queryTreeByKeyWord(keyWord); + //根据keyWord获取用户信息 + LambdaQueryWrapper queryUser = new LambdaQueryWrapper(); + queryUser.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryUser.and(i -> i.like(SysUser::getUsername, keyWord).or().like(SysUser::getRealname, keyWord)); + List sysUsers = this.sysUserService.list(queryUser); + map.put("userList", sysUsers); + map.put("departList", list); + result.setResult(map); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } - /** - * 根据部门id获取用户信息 - * - * @param id - * @return - */ - @GetMapping("/getUsersByDepartId") - public Result> getUsersByDepartId(@RequestParam(name = "id") String id) { - Result> result = new Result<>(); - List sysUsers = sysUserDepartService.queryUserByDepId(id); - result.setSuccess(true); - result.setResult(sysUsers); - return result; - } + /** + * 根据部门编码获取部门信息 + * + * @param orgCode + * @return + */ + @GetMapping("/getDepartName") + public Result getDepartName(@RequestParam(name = "orgCode") String orgCode) { + Result result = new Result<>(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(SysDepart::getOrgCode, orgCode); + SysDepart sysDepart = sysDepartService.getOne(query); + result.setSuccess(true); + result.setResult(sysDepart); + return result; + } - /** - * @功能:根据id 批量查询 - * @param deptIds - * @return - */ - @RequestMapping(value = "/queryByIds", method = RequestMethod.GET) - public Result> queryByIds(@RequestParam(name = "deptIds") String deptIds) { - Result> result = new Result<>(); - String[] ids = deptIds.split(","); - Collection idList = Arrays.asList(ids); - Collection deptList = sysDepartService.listByIds(idList); - result.setSuccess(true); - result.setResult(deptList); - return result; - } + /** + * 根据部门id获取用户信息 + * + * @param id + * @return + */ + @GetMapping("/getUsersByDepartId") + public Result> getUsersByDepartId(@RequestParam(name = "id") String id) { + Result> result = new Result<>(); + List sysUsers = sysUserDepartService.queryUserByDepId(id); + result.setSuccess(true); + result.setResult(sysUsers); + return result; + } - @GetMapping("/getMyDepartList") - public Result> getMyDepartList(){ + /** + * @param deptIds + * @return + * @功能:根据id 批量查询 + */ + @RequestMapping(value = "/queryByIds", method = RequestMethod.GET) + public Result> queryByIds(@RequestParam(name = "deptIds") String deptIds) { + Result> result = new Result<>(); + String[] ids = deptIds.split(","); + Collection idList = Arrays.asList(ids); + Collection deptList = sysDepartService.listByIds(idList); + result.setSuccess(true); + result.setResult(deptList); + return result; + } + + @GetMapping("/getMyDepartList") + public Result> getMyDepartList() { List list = sysDepartService.getMyDepartList(); return Result.ok(list); } - /** - * 异步查询部门list - * @param parentId 父节点 异步加载时传递 - * @return - */ - @RequestMapping(value = "/queryBookDepTreeSync", method = RequestMethod.GET) - public Result> queryBookDepTreeSync(@RequestParam(name = "pid", required = false) String parentId, - @RequestParam(name = "tenantId") Integer tenantId, - @RequestParam(name = "departName",required = false) String departName) { - Result> result = new Result<>(); - try { - List list = sysDepartService.queryBookDepTreeSync(parentId, tenantId, departName); - result.setResult(list); - result.setSuccess(true); - } catch (Exception e) { - log.error(e.getMessage(),e); - } - return result; - } + /** + * 异步查询部门list + * + * @param parentId 父节点 异步加载时传递 + * @return + */ + @RequestMapping(value = "/queryBookDepTreeSync", method = RequestMethod.GET) + public Result> queryBookDepTreeSync(@RequestParam(name = "pid", required = false) String parentId, + @RequestParam(name = "tenantId") Integer tenantId, + @RequestParam(name = "departName", required = false) String departName) { + Result> result = new Result<>(); + try { + List list = sysDepartService.queryBookDepTreeSync(parentId, tenantId, departName); + result.setResult(list); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } - /** - * 通过部门id和租户id获取用户 【低代码应用: 用于选择部门负责人】 - * @param departId - * @return - */ - @GetMapping("/getUsersByDepartTenantId") - public Result> getUsersByDepartTenantId(@RequestParam("departId") String departId){ - int tenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0); - List sysUserList = sysUserDepartService.getUsersByDepartTenantId(departId,tenantId); - return Result.ok(sysUserList); - } + /** + * 通过部门id和租户id获取用户 【低代码应用: 用于选择部门负责人】 + * + * @param departId + * @return + */ + @GetMapping("/getUsersByDepartTenantId") + public Result> getUsersByDepartTenantId(@RequestParam("departId") String departId) { + int tenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0); + List sysUserList = sysUserDepartService.getUsersByDepartTenantId(departId, tenantId); + return Result.ok(sysUserList); + } - /** - * 导出excel【低代码应用: 用于导出部门】 - * - * @param request - */ - @RequestMapping(value = "/appExportXls") - public ModelAndView appExportXls(SysDepart sysDepart,HttpServletRequest request) { - // Step.1 组装查询条件 - int tenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0); - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = sysDepartService.getExcelDepart(tenantId); - //Step.2 AutoPoi 导出Excel - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "部门列表"); - mv.addObject(NormalExcelConstants.CLASS, ExportDepartVo.class); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("部门列表数据", "导出人:"+user.getRealname(), "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } + /** + * 导出excel【低代码应用: 用于导出部门】 + * + * @param request + */ + @RequestMapping(value = "/appExportXls") + public ModelAndView appExportXls(SysDepart sysDepart, HttpServletRequest request) { + // Step.1 组装查询条件 + int tenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0); + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = sysDepartService.getExcelDepart(tenantId); + //Step.2 AutoPoi 导出Excel + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "部门列表"); + mv.addObject(NormalExcelConstants.CLASS, ExportDepartVo.class); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("部门列表数据", "导出人:" + user.getRealname(), "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } - /** - * 导入excel【低代码应用: 用于导出部门】 - * - * @param request - */ - @RequestMapping(value = "/appImportExcel", method = RequestMethod.POST) - @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result appImportExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - List errorMessageList = new ArrayList<>(); - List listSysDeparts = null; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - // 获取上传文件对象 - MultipartFile file = entity.getValue(); - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), ExportDepartVo.class, params); - sysDepartService.importExcel(listSysDeparts,errorMessageList); - //清空部门缓存 - List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*"); - List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); - redisTemplate.delete(keys3); - redisTemplate.delete(keys4); - return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); - } catch (Exception e) { - log.error(e.getMessage(),e); - return Result.error("文件导入失败:"+e.getMessage()); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.error("文件导入失败!"); - } + /** + * 导入excel【低代码应用: 用于导出部门】 + * + * @param request + */ + @RequestMapping(value = "/appImportExcel", method = RequestMethod.POST) + @CacheEvict(value = {CacheConstant.SYS_DEPARTS_CACHE, CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries = true) + public Result appImportExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + List errorMessageList = new ArrayList<>(); + List listSysDeparts = null; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + // 获取上传文件对象 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), ExportDepartVo.class, params); + sysDepartService.importExcel(listSysDeparts, errorMessageList); + //清空部门缓存 + List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*"); + List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); + redisTemplate.delete(keys3); + redisTemplate.delete(keys4); + return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error("文件导入失败:" + e.getMessage()); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.error("文件导入失败!"); + } - /** - * 人员入住可选择的机构 - * @return - */ - @RequestMapping(value = "/queryInstitutionsList", method = RequestMethod.GET) - public List> queryInstitutionsList() { - List> result = new ArrayList<>(); - QueryWrapper query = new QueryWrapper<>(); - query.eq("del_flag","0"); - query.eq("org_category","1"); - query.eq("org_type","1"); - query.isNotNull("server_url"); - List list = sysDepartService.list(query); - for(SysDepart depart : list){ - Map map = new HashMap<>(); - map.put("id",depart.getId()); - map.put("departName",depart.getDepartName()); - map.put("serverUrl",depart.getServerUrl()); - map.put("picUrl",depart.getPicUrl()); - result.add(map); - } - return result; - } + /** + * 人员入住可选择的机构 + * + * @return + */ + @RequestMapping(value = "/queryInstitutionsList", method = RequestMethod.GET) + public List> queryInstitutionsList() { + List> result = new ArrayList<>(); + QueryWrapper query = new QueryWrapper<>(); + query.eq("del_flag", "0"); + query.eq("org_category", "1"); + query.eq("org_type", "1"); + query.isNotNull("server_url"); + List list = sysDepartService.list(query); + for (SysDepart depart : list) { + Map map = new HashMap<>(); + map.put("id", depart.getId()); + map.put("departName", depart.getDepartName()); + map.put("serverUrl", depart.getServerUrl()); + map.put("picUrl", depart.getPicUrl()); + result.add(map); + } + return result; + } - /** - * 查询所有子区域信息 - * @return - */ - @GetMapping("queryChildrenByParentId") - public Result> queryChildrenByParentId(@RequestParam(name = "pid", required = false) String parentId) { - Result> result = new Result<>(); - LambdaQueryWrapper query = new LambdaQueryWrapper(); - query.orderByAsc(SysDepart::getDepartName); - query.eq(SysDepart::getParentId,parentId); - List ls = this.sysDepartService.list(query); - result.setSuccess(true); - result.setResult(ls); - return result; - } + /** + * 查询所有子区域信息 + * + * @return + */ + @GetMapping("queryChildrenByParentId") + public Result> queryChildrenByParentId(@RequestParam(name = "pid", required = false) String parentId) { + Result> result = new Result<>(); + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.orderByAsc(SysDepart::getDepartName); + query.eq(SysDepart::getParentId, parentId); + List ls = this.sysDepartService.list(query); + result.setSuccess(true); + result.setResult(ls); + return result; + } - /** - * 查询所有子区域信息 - * @return - */ - @GetMapping("getDepartServerUrl") - public Result> getDepartServerUrl() { - Result> result = new Result<>(); - QueryWrapper query = new QueryWrapper<>(); - query.isNotNull("server_url"); - List ls = this.sysDepartService.list(query); - result.setSuccess(true); - result.setResult(ls); - return result; - } + /** + * 查询所有子区域信息 + * + * @return + */ + @GetMapping("getDepartServerUrl") + public Result> getDepartServerUrl() { + Result> result = new Result<>(); + QueryWrapper query = new QueryWrapper<>(); + query.isNotNull("server_url"); + List ls = this.sysDepartService.list(query); + result.setSuccess(true); + result.setResult(ls); + return result; + } + @AutoLog(value = "机构列表-分页列表查询") + @GetMapping(value = "/list") + public Result list(SysDepart sysDepart, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "8") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysDepart, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = sysDepartService.page(page, queryWrapper); + return Result.ok(pageList); + } - @AutoLog(value = "机构列表-分页列表查询") - @GetMapping(value = "/list") - public Result list( SysDepart sysDepart, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "8") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysDepart, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = sysDepartService.page(page, queryWrapper); - return Result.ok(pageList); - } + @AutoLog(value = "指令库变更") + @PostMapping(value = "/changeDirectiveMain") + public Result changeDirectiveMain(@RequestParam(name = "orgCode") String orgCode) { + sysDepartService.changeDirectiveMain(orgCode); + //发消息通知所有平台修改指令库主库编码 + SysConfigEntity config = new SysConfigEntity(); + config.setId("1944154379395543440"); + config.setName("服务指令主指令库机构编码"); + config.setConfigKey("directive_main_org_code"); + config.setConfigValue(orgCode); + config.setDescr("服务指令主指令库机构编码"); + config.setIzEnabled("0"); + config.setDelFlag("0"); + sysConfigApi.asyncApi(config); + + return Result.ok(); + } + + @GetMapping(value = "/getDirectiveMain") + public Result getDirectiveMain() { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("iz_directive_main","0"); + return Result.ok(sysDepartService.getOne(qw)); + } } diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java index e05e0d1..316c16c 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java @@ -84,6 +84,10 @@ public class SysDepart implements Serializable { * 项目访问路径 */ private String contextPath; + /** + * 是否标准指令库 0是1否 + */ + private String izDirectiveMain; /** * 省份 */ @@ -251,6 +255,7 @@ public class SysDepart implements Serializable { Objects.equals(orgCode, depart.orgCode) && Objects.equals(url, depart.url) && Objects.equals(contextPath, depart.contextPath) && + Objects.equals(izDirectiveMain, depart.izDirectiveMain) && Objects.equals(province, depart.province) && Objects.equals(city, depart.city) && Objects.equals(district, depart.district) && @@ -279,7 +284,7 @@ public class SysDepart implements Serializable { public int hashCode() { return Objects.hash(super.hashCode(), id, parentId, departName, departNameEn, departNameAbbr, departOrder, description, orgCategory, - orgType, orgCode, url,contextPath, province, city, district, operationStartTime, + orgType, orgCode, url, contextPath, izDirectiveMain, province, city, district, operationStartTime, operationEndTime, contractStartTime, contractEndTime, mobile, fax, address, memo, status, delFlag, createBy, createTime, updateBy, updateTime, tenantId, payableAmount); } diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java index 3af3251..fb2a123 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java @@ -69,6 +69,8 @@ public class SysDepartTreeModel implements Serializable { private String contextPath; + private String izDirectiveMain; + private String province; private String city; @@ -141,6 +143,7 @@ public class SysDepartTreeModel implements Serializable { this.orgCode = sysDepart.getOrgCode(); this.url = sysDepart.getUrl(); this.contextPath = sysDepart.getContextPath(); + this.izDirectiveMain = sysDepart.getIzDirectiveMain(); this.province = sysDepart.getProvince(); this.city = sysDepart.getCity(); this.district = sysDepart.getDistrict(); @@ -493,6 +496,14 @@ public class SysDepartTreeModel implements Serializable { return contextPath; } + public String getIzDirectiveMain() { + return izDirectiveMain; + } + + public void setIzDirectiveMain(String izDirectiveMain) { + this.izDirectiveMain = izDirectiveMain; + } + public void setContextPath(String contextPath) { this.contextPath = contextPath; } @@ -522,6 +533,7 @@ public class SysDepartTreeModel implements Serializable { Objects.equals(orgCode, model.orgCode) && Objects.equals(url, model.url) && Objects.equals(contextPath, model.contextPath) && + Objects.equals(izDirectiveMain, model.izDirectiveMain) && Objects.equals(province, model.province) && Objects.equals(city, model.city) && Objects.equals(district, model.district) && @@ -552,7 +564,7 @@ public class SysDepartTreeModel implements Serializable { public int hashCode() { return Objects.hash(id, parentId, platType, departName, departNameEn, departNameAbbr, - departOrder, description, orgCategory, orgType, orgCode, url, contextPath, province, city, district, + departOrder, description, orgCategory, orgType, orgCode, url, contextPath, izDirectiveMain, province, city, district, operationStartTime, operationEndTime, contractStartTime, contractEndTime, mobile, fax, address, memo, status, delFlag, qywxIdentifier, createBy, createTime, updateBy, updateTime, children, directorUserIds, payableAmount); diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java index b85f5a9..e12d400 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java @@ -239,4 +239,6 @@ public interface ISysDepartService extends IService{ * @param errorMessageList */ void importSysDepart(List listSysDeparts, List errorMessageList); + + void changeDirectiveMain(String orgCode); } 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 a49ecdf..9aebd5d 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 @@ -1918,6 +1918,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { map.put("name",list.get(0).getDepartName()); map.put("url",list.get(0).getUrl()); map.put("contextPath",list.get(0).getContextPath()); + map.put("izDirectiveMain",list.get(0).getIzDirectiveMain()); } return new JSONObject(map); } diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java index b3fe7ef..5b1c17f 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java @@ -1353,6 +1353,23 @@ public class SysDepartServiceImpl extends ServiceImpl uqw1 = new QueryWrapper<>(); + uqw1.ne("org_code",orgCode); + sysDepart.setIzDirectiveMain("1"); + baseMapper.update(sysDepart,uqw1); + + //将当前机构变更为指令库 + QueryWrapper uqw2 = new QueryWrapper<>(); + uqw2.eq("org_code",orgCode); + sysDepart.setIzDirectiveMain("0"); + baseMapper.update(sysDepart,uqw2); + } + /** * 寻找部门路径 *