diff --git a/db/update/测试阶段.sql b/db/update/测试阶段.sql index 900a6dc9..f26f3fac 100644 --- a/db/update/测试阶段.sql +++ b/db/update/测试阶段.sql @@ -532,3 +532,7 @@ CREATE INDEX pnl_idx_user_id ON process_node_link(`user_id`); ALTER TABLE laws_document_split ADD PRIMARY KEY (id); +-- 2024-09-20 责任人改为多选弹窗 +INSERT INTO `sys_dict_item` (`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`, `en_base`) VALUES ('1694639979913162755', '1493098515761917954', '0', '多选用户弹框', 'Multiple selection a user', '19', '', 1, 1, 'admin', '2023-08-24 17:17:11', 'admin', '2023-08-24 17:41:25', NULL, 0, NULL, '0', NULL, NULL); +update laws_tag set field_show_type = '19' where db_field_txt = '责任人' + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index b1956f4d..899a9ba5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -682,7 +682,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService { // 如果是多日期格式,做去重处理 resultMap.put(key, StringUtils.join(valueList.stream() .distinct().collect(Collectors.toList()), ",")); - } else if (LawsFieldTypeEnum.USER_SINGLE.getValue().equals(lawsTag.getFieldShowType())) { + } else if (LawsFieldTypeEnum.USER_SINGLE.getValue().equals(lawsTag.getFieldShowType()) || + LawsFieldTypeEnum.USER_MULTI.getValue().equals(lawsTag.getFieldShowType())) { // 如果是用户弹框,做翻译(详情页展示,如果列表展示则重写一下) LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); sysUserLambdaQueryWrapper.in(SysUser::getId, valueList); @@ -1940,14 +1941,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService { if (StringUtils.isBlank(value)) { value = null; } - //else { - // value = FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX; - //} - } else { // 如果是多日期格式做处理 value = processDateManyTypeValue(value, fieldShowType); - // 字符串做处理 - //value = "'" + value + "'"; } return value; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java index 3a5e6ae2..791c414d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java @@ -298,6 +298,16 @@ public class ImportUtil { cellValue = this.convertSingleUserId(cellValue); } } + // 多选人员 + if (FieldShowTypeEnum.MULTI_USER_DIALOG.getValue().equals(tag.getFieldShowType())) { + if (!this.multiUserValid(cellValue)) { + log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 "); + errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 "); + } else { + // 转为id + cellValue = this.convertMultiUserId(cellValue); + } + } // 零部件 if (tag.getDbFieldName().equals("part_name") && StrUtil.isNotBlank(cellValue)) { if (!this.partValid(cellValue)) { @@ -405,6 +415,29 @@ public class ImportUtil { return errMsgList; } + private String convertMultiUserId(String cellValue) { + String[] userList = cellValue.split(","); + StringBuilder userIds = new StringBuilder(); + for (String user : userList) { + String s = this.convertSingleUserId(user); + if (StrUtil.isNotBlank(s)) { + userIds.append(s).append(","); + } + } + return userIds.substring(0, userIds.length() - 1); + } + + private boolean multiUserValid(String cellValue) { + String[] userList = cellValue.split(","); + for (String user : userList) { + boolean b = this.singleUserValid(user); + if (!b) { + return false; + } + } + return true; + } + private String convertReferenceStandard(String cellValue, List fbStandardNoList) { if (StrUtil.isBlank(cellValue)) { return ""; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/job/ReplaceImplementationDateMsgJob.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/job/ReplaceImplementationDateMsgJob.java index d7eb4c9f..1f402e13 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/job/ReplaceImplementationDateMsgJob.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/job/ReplaceImplementationDateMsgJob.java @@ -12,8 +12,6 @@ import com.jero.modules.laws.standard.entity.LawsReplacedStandard; import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import com.jero.modules.laws.standard.service.ILawsReplacedStandardService; -import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService; -import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanSublistService; import com.jero.modules.personal.entity.LawsStandardCollection; import com.jero.modules.personal.service.ILawsStandardCollectionService; import lombok.extern.slf4j.Slf4j; @@ -45,16 +43,12 @@ public class ReplaceImplementationDateMsgJob implements Job { @Resource private ILawsStandardCollectionService collectionService; - @Resource - private ILawsStandardMasterPlanService masterPlanService; - - @Resource - private ILawsStandardMasterPlanSublistService masterPlanSublistService; - @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("【开始执行】 代替标准到实施日期,给被代替标准的责任人,主起草人,收藏标准的人发消息 定时任务"); this.sendGbStandardMsg(); this.sendEsStandardMsg(); + log.info("【执行完毕】 代替标准到实施日期,给被代替标准的责任人,主起草人,收藏标准的人发消息 定时任务"); } private void sendEsStandardMsg() { @@ -225,8 +219,10 @@ public class ReplaceImplementationDateMsgJob implements Job { standard = standard.split("《")[0]; LawsDomesticStandard replaceStandard = standardMap.get(standard); // 被代替标准的主起草人,责任人,收藏标准的人员 - if (StrUtil.isNotBlank(replaceStandard.getResponsibleUser())) { - userIdSet.add(replaceStandard.getResponsibleUser()); + String responsibleUser = replaceStandard.getResponsibleUser(); + if (StrUtil.isNotBlank(responsibleUser)) { + List list = Arrays.asList(responsibleUser.split(",")); + userIdSet.addAll(list); } // 获取收藏标准的所有人员 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/laws-modules/src/main/java/com/jero/modules/tag/enums/FieldShowTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/tag/enums/FieldShowTypeEnum.java index 17ec6262..d0929e8e 100644 --- a/laws-modules/src/main/java/com/jero/modules/tag/enums/FieldShowTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/tag/enums/FieldShowTypeEnum.java @@ -2,6 +2,7 @@ package com.jero.modules.tag.enums; import com.jero.common.exception.JeroBootException; import com.jero.modules.tag.entity.LawsTag; +import lombok.Getter; /** * @author: Mzaxd @@ -33,11 +34,14 @@ public enum FieldShowTypeEnum { TREE_FATHER_CHILD("树形-单线父级子级","17","请填写选项中包含的文本"), // 树形-子级 TREE_CHILD("树形-子级","18","请填写选项中包含的文本"), - + // 多选用户弹框 + MULTI_USER_DIALOG("多选用户弹框","19","文本输入") ; final String name; + @Getter final String value; + @Getter final String description; FieldShowTypeEnum(String name, String value, String description) { @@ -65,11 +69,4 @@ public enum FieldShowTypeEnum { throw new JeroBootException("标签类型不存在"); } - public String getValue() { - return value; - } - - public String getDescription() { - return description; - } } diff --git a/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java index f6a80da3..245a2eaf 100644 --- a/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java @@ -24,6 +24,10 @@ public enum LawsFieldTypeEnum { TREE_BOX_SINGLE("树型结构(单选)","15"), TREE_OPTION("树形弹框选择","16"), TREE_OPTION2("树形弹框(带出子集和单线父级)","17"), + // 树形-子级 + TREE_OPTION3("树形-子级","18"), + // 多选用户弹框 + USER_MULTI("多选用户弹框","19") ; String name;