feat: 外标多选负责人

This commit is contained in:
2024-09-27 09:59:48 +08:00
parent de8b1a1d90
commit 8128b6f6d5
6 changed files with 55 additions and 25 deletions
+5
View File
@@ -544,3 +544,8 @@ ALTER TABLE `laws_unified_todo_log`
CREATE INDEX lutl_idx_state ON laws_unified_todo_log(`state`);
CREATE INDEX lutl_idx_message_type ON laws_unified_todo_log(`message_type`);
CREATE INDEX lutl_idx_create_time ON laws_unified_todo_log(`create_time`);
-- 2024-09-27 责任人改为多选弹窗
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 = '责任人'
@@ -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<SysUser> 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;
}
@@ -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<String> fbStandardNoList) {
if (StrUtil.isBlank(cellValue)) {
return "";
@@ -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<String> list = Arrays.asList(responsibleUser.split(","));
userIdSet.addAll(list);
}
// 获取收藏标准的所有人员
LambdaQueryWrapper<LawsStandardCollection> wrapper = new LambdaQueryWrapper<>();
@@ -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;
}
}
@@ -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;