update 调整企标计划字段

This commit is contained in:
lijiarao
2024-09-19 14:39:25 +08:00
parent ad65960303
commit 07e059d34c
6 changed files with 80 additions and 11 deletions
+16 -4
View File
@@ -7,6 +7,7 @@ create table laws_enterprise_standard_plan
standard_number varchar(200) comment '标准编号',
standard_name varchar(200) comment '标准名称',
main_drafting_user varchar(50) comment '起草人',
depart_id varchar(50) comment '所在部门id',
professional_module varchar(30) comment '专业模块',
draft_complete_date datetime comment '初稿完成日期',
plan_archiving_date datetime comment '计划归档日期',
@@ -107,6 +108,7 @@ create table process_annual_init_link
standard_number varchar(200) comment '标准编号',
standard_name varchar(200) comment '标准名称',
main_drafting_user varchar(50) comment '起草人',
depart_id varchar(50) comment '所在部门id',
professional_module varchar(30) comment '专业模块',
draft_complete_date datetime comment '初稿完成日期',
plan_archiving_date datetime comment '计划归档日期',
@@ -154,6 +156,7 @@ create table process_plan_change_link
revision_type varchar(50) comment '制修订类别',
plan_id varchar(36) comment '企标计划',
drafting_user varchar(50) comment '起草人',
depart_id varchar(50) comment '所在部门id',
draft_complete_date datetime comment '初稿完成日期变更后',
plan_archiving_date datetime comment '计划归档日期变更后',
change_reason varchar(500) comment '变更原因',
@@ -235,7 +238,16 @@ create table process_standard_solicit_opinions_user
alter table process_standard_solicit_opinions_user
comment '标准征求意见流程关联用户';
-- 企标计划-计划状态
INSERT INTO sys_dict (id, dict_name, dict_code, description, del_flag, create_by, create_time, is_tag_dict, is_read_only) VALUES ('1836301517254893569', '企标计划-计划状态', 'esp_plan_status', '新增:新增计划入库 延期:初稿完成日期和计划归档日期延期 取消:计划取消 如走到初稿、征求意见流程了,计划不允许取消', 0, 'cheryrsm', '2024-09-18 15:09:33', 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by, create_time, is_tag_dict, is_read_only, del_flag) VALUES ('1836301610292944898', '1836301517254893569', '新增', '1', '', 1, 1, 'cheryrsm', '2024-09-18 15:09:55', 0, 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by, create_time, is_tag_dict, is_read_only, del_flag) VALUES ('1836301637493006338', '1836301517254893569', '延期', '2', '', 2, 1, 'cheryrsm', '2024-09-18 15:10:01', 0, 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by, create_time, is_tag_dict, is_read_only, del_flag) VALUES ('1836301659982864385', '1836301517254893569', '取消', '3', '', 3, 1, 'cheryrsm', '2024-09-18 15:10:07', 0, 0, 0);
INSERT INTO sys_dict (id, dict_name, dict_code, description, del_flag, create_by, create_time, is_tag_dict,
is_read_only)
VALUES ('1836301517254893569', '企标计划-计划状态', 'esp_plan_status',
'新增:新增计划入库 延期:初稿完成日期和计划归档日期延期 取消:计划取消 如走到初稿、征求意见流程了,计划不允许取消', 0, 'cheryrsm', '2024-09-18 15:09:33', 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by,
create_time, is_tag_dict, is_read_only, del_flag)
VALUES ('1836301610292944898', '1836301517254893569', '新增', '1', '', 1, 1, 'cheryrsm', '2024-09-18 15:09:55', 0, 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by,
create_time, is_tag_dict, is_read_only, del_flag)
VALUES ('1836301637493006338', '1836301517254893569', '延期', '2', '', 2, 1, 'cheryrsm', '2024-09-18 15:10:01', 0, 0, 0);
INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by,
create_time, is_tag_dict, is_read_only, del_flag)
VALUES ('1836301659982864385', '1836301517254893569', '取消', '3', '', 3, 1, 'cheryrsm', '2024-09-18 15:10:07', 0, 0, 0);
@@ -351,4 +351,13 @@ public interface ISysBaseAPI extends CommonAPI {
List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageSize);
String translateByDictMap(Map<String, String> dictMap, String keys);
Map<String, String> getDepNamesByUserIds(List<String> userIdList);
/**
* 根据部门Id查询,当前和下级所有部门IDS
* @param departId
* @return
*/
List<String> getSubDepIdsByDepId(String departId);
}
@@ -77,6 +77,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
private SysUserRoleMapper sysUserRoleMapper;
@Autowired
private ISysDepartService sysDepartService;
@Resource
private ISysUserService sysUserService;
@Autowired
private ISysDictService sysDictService;
@Resource
@@ -1194,6 +1196,16 @@ public class SysBaseApiImpl implements ISysBaseAPI {
return String.join(",",resultList);
}
@Override
public Map<String, String> getDepNamesByUserIds(List<String> userIdList) {
return sysUserService.getDepNamesByUserIds(userIdList);
}
@Override
public List<String> getSubDepIdsByDepId(String departId) {
return sysDepartService.getSubDepIdsByDepId(departId);
}
@Override
public Map<String, List<DictModel>> translateManyDict(String dictCodes, String keys) {
List<String> dictCodeList = Arrays.asList(dictCodes.split(","));
@@ -1,6 +1,7 @@
package com.jero.modules.laws.enterprise.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -61,6 +62,11 @@ public class EnterpriseStandardPlan {
*/
@ApiModelProperty(value = "起草人")
private String mainDraftingUser;
/**
* 所在部门id
*/
@ApiModelProperty(value = "所在部门id")
private String departId;
/**
* 专业模块
*/
@@ -28,7 +28,7 @@ public class EnterpriseStandardPlanVo {
@Excel(name = "制修订类别", width = 15, dicCode = "esp_revision_type")
@Dict(dicCode = "esp_revision_type")
@ApiModelProperty(value = "制修订类别")
private String applicationCategory;
private String revisionType;
@Excel(name = "标准编号", width = 15)
@ApiModelProperty(value = "标准编号")
@@ -38,17 +38,22 @@ public class EnterpriseStandardPlanVo {
@ApiModelProperty(value = "标准名称")
private String standardName;
@Excel(name = "起草人", width = 15)
@Excel(name = "起草人", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "realname")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
@ApiModelProperty(value = "起草人")
private String mainDraftingUser;
@Excel(name = "邮箱", width = 15)
@ApiModelProperty(value = "邮箱")
private String mail;
@Excel(name = "所在部门", width = 15)
@ApiModelProperty(value = "所在部门")
private String depart;
private String email;
/**
* 所在部门id
*/
@Excel(name = "所在部门", width = 15, dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "所在部门id")
private String departId;
/**
* 专业模块
@@ -1,5 +1,7 @@
package com.jero.modules.laws.enterprise.service.impl;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,7 +9,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.CommonAPI;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.common.util.PasswordUtil;
import com.jero.modules.activiti.util.ExcelUtils;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.common.util.ImportUtil;
@@ -16,6 +21,7 @@ import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo;
import com.jero.modules.laws.enterprise.mapper.EnterpriseStandardPlanMapper;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -25,6 +31,8 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author ThinkBook
@@ -42,6 +50,8 @@ public class EnterpriseStandardPlanServiceImpl extends ServiceImpl<EnterpriseSta
@Resource
private CommonAPI commonAPI;
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private ExcelUtils excelUtils;
@@ -54,15 +64,30 @@ public class EnterpriseStandardPlanServiceImpl extends ServiceImpl<EnterpriseSta
@Override
public IPage<EnterpriseStandardPlanVo> queryPageList(EnterpriseStandardPlan enterpriseStandardPlan, HttpServletRequest req, IPage<EnterpriseStandardPlan> page) {
List<String> subDepIds = null;
String departId = enterpriseStandardPlan.getDepartId();
if (StringUtils.isNotBlank(departId)) {
subDepIds = sysBaseAPI.getSubDepIdsByDepId(departId);
enterpriseStandardPlan.setDepartId(null);
}
QueryWrapper<EnterpriseStandardPlan> wrapper = QueryGenerator.initQueryWrapper(enterpriseStandardPlan, req.getParameterMap());
if (subDepIds != null){
wrapper.lambda().in(EnterpriseStandardPlan::getDepartId,subDepIds);
}
IPage<EnterpriseStandardPlan> pageList = this.page(page, wrapper);
IPage<EnterpriseStandardPlanVo> pageList1 = new Page<>();
BeanUtils.copyProperties(pageList,pageList1);
List<EnterpriseStandardPlan> records = pageList.getRecords();
List<String> userIdList = records.stream().map(EnterpriseStandardPlan::getMainDraftingUser).distinct().collect(Collectors.toList());
//批量查询用户邮箱
List<DictModel> dictModels = sysBaseAPI.translateDictFromTableByKeys("sys_user", "email", "id", String.join(",", userIdList));
Map<String, String> userEmailMap = CollStreamUtil.toMap(dictModels, DictModel::getValue, DictModel::getText);
List<EnterpriseStandardPlanVo> list = new ArrayList<>();
for (EnterpriseStandardPlan record : records) {
EnterpriseStandardPlanVo vo = new EnterpriseStandardPlanVo();
BeanUtils.copyProperties(record,vo);
String userId = vo.getMainDraftingUser();
vo.setEmail(PasswordUtil.decrypt(userEmailMap.get(userId)));
list.add(vo);
}
pageList1.setRecords(list);