fix(企标稽查计划): 业务表翻译

This commit is contained in:
yjz
2023-11-22 09:55:58 +08:00
parent c2b0e6c59e
commit 8f96bf08fa
8 changed files with 134 additions and 65 deletions
@@ -1,22 +1,23 @@
package com.jero.modules.system.service;
import java.util.*;
import com.alibaba.fastjson.JSONObject;
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.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.SysUserCacheInfo;
import com.jero.modules.system.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.system.model.SysUserSysDepartModel;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* <p>
* 用户表 服务类
@@ -330,4 +331,12 @@ public interface ISysUserService extends IService<SysUser> {
* 根据username"登陆账号"返回"用户名(工号)"
*/
String getNameNoByUsername(String userName);
/**
* 通过 id 或 username 翻译 用户名(工号)
* @param ids :“1,2,3”
* @param userNames:“admin,test”
* @return
*/
String dictByIdsOrUserNames(String ids, String userNames);
}
@@ -375,7 +375,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 校验用户是否有效
* 校验用户是否有效
* @param sysUser
* @return
*/
@@ -391,7 +391,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//情况2:根据用户信息查询,该用户已注销
//update-begin---author:王帅 Date:20200601 forif条件永远为falsebug------------
if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) {
//update-end---author:王帅 Date:20200601 forif条件永远为falsebug------------
//update-end---author:王帅 Date:20200601 forif条件永远为falsebug------------
baseCommonService.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已注销!", CommonConstant.LOG_TYPE_1, null);
return Result.error("该用户已注销");
}
@@ -652,6 +652,39 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return sysUser == null ? userName : sysUser.getRealname() + "" + sysUser.getUsername() + "";
}
@Override
public String dictByIdsOrUserNames(String ids, String userNames) {
List<String> sysList = new ArrayList<>();
if (StringUtils.isNotBlank(ids)){
List<String> list = Arrays.asList(ids.split(","));
List<SysUser> sysUserList = list(new LambdaQueryWrapper<SysUser>()
.in(SysUser::getId, list));
// 按顺序排序翻译
for (String item : list) {
Optional<SysUser> optionalSysUser = sysUserList.stream().filter(v -> v.getId().equals(item)).findFirst();
optionalSysUser.ifPresent(v -> sysList.add(v.getRealname() + "" + v.getUsername() + ""));
}
}else if (StringUtils.isNotBlank(userNames)){
List<String> list = Arrays.asList(userNames.split(","));
List<SysUser> sysUserList = list(new LambdaQueryWrapper<SysUser>()
.in(SysUser::getUsername, list));
// 按顺序排序翻译
for (String item : list) {
Optional<SysUser> optionalSysUser = sysUserList.stream().filter(v -> v.getUsername().equals(item)).findFirst();
optionalSysUser.ifPresent(v -> sysList.add(v.getRealname() + "" + v.getUsername() + ""));
}
}else {
return "";
}
if (!sysList.isEmpty()){
return String.join(",", sysList);
}else if (StringUtils.isNotBlank(ids)){
return ids;
}else {
return userNames;
}
}
@Override
@Transactional(rollbackFor = Exception.class)
@@ -23,20 +23,23 @@ public class EsInspectPlanCommon {
public static final String NAME = "企业稽查计划";
/**
* 企业稽查计划流程开始节点
* 企业稽查计划流程开始节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
*/
public static final String PROCESS_NODE_START = "稽查联络人发起计划";
public static final String PROCESS_NODE_1 = "liaisons_start";
/**
* 企业稽查计划流程结束节点
* 企业稽查计划流程开始节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
*/
public static final String PROCESS_NODE_END = "联络人主管级领导批准";
public static final String PROCESS_NODE_2 = "opinion_fill";
/**
*审批意见 1:通过 2:驳回
* 企业稽查计划流程开始节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
*/
public static final String PROCESS_COMMIT_FLAG_1 = "1";
public static final String PROCESS_NODE_3 = "liaisons_collect";
/**
*审批意见 1:通过 2:驳回
* 企业稽查计划流程开始节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
*/
public static final String PROCESS_COMMIT_FLAG_2 = "2";
public static final String PROCESS_NODE_4 = "involve_countersign";
/**
* 企业稽查计划流程开始节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
*/
public static final String PROCESS_NODE_5 = "leader_approval";
}
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.Translation;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.MessageUtils;
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
@@ -52,6 +53,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-分页列表查询")
@ApiOperation(value="企标稽查计划业务表-分页列表查询", notes="企标稽查计划业务表-分页列表查询")
@GetMapping(value = "/page")
@Translation
public Result<IPage<ProcessEsInspectPlan>> queryPageList(ProcessEsInspectPlan processEsInspectPlan,
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
@@ -68,6 +70,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-列表查询")
@ApiOperation(value="企标稽查计划业务表-列表查询", notes="企标稽查计划业务表-列表查询")
@GetMapping(value = "/list")
@Translation
public Result<List<ProcessEsInspectPlan>> queryList(ProcessEsInspectPlan processEsInspectPlan) {
List<ProcessEsInspectPlan> list = processEsInspectPlanService.queryList(processEsInspectPlan);
return Result.OK(list);
@@ -43,15 +43,17 @@ public class ProcessEsInspectPlan extends BaseEntity {
/**计划稽查对象*/
@Excel(name = "计划稽查对象", width = 15)
@ApiModelProperty(value = "计划稽查对象")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String inspectObject;
/**计划稽查对象 翻译*/
@ApiModelProperty(value = "计划稽查对象 翻译")
@TableField(exist = false)
private String inspectObjectDictText;
/**主责标准化工作组*/
@Excel(name = "主责标准化工作组", width = 15)
@ApiModelProperty(value = "主责标准化工作组")
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
private String standardizationWorkGroup;
/**所属部门*/
@Excel(name = "所属部门", width = 15)
/**所属部门*/
@Excel(name = "所属部门", width = 15)
@ApiModelProperty(value = "所属部门")
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
private String belongDept;
@@ -69,18 +71,30 @@ public class ProcessEsInspectPlan extends BaseEntity {
/**稽查负责人*/
@Excel(name = "稽查负责人", width = 15)
@ApiModelProperty(value = "稽查负责人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String inspectUser;
/**稽查负责人 翻译*/
@Excel(name = "稽查负责人", width = 15)
@ApiModelProperty(value = "稽查负责人 翻译")
@TableField(exist = false)
private String inspectUserDictText;
/**标准化组对接人*/
@Excel(name = "标准化组对接人", width = 15)
@ApiModelProperty(value = "标准化组对接人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String standardizationDockingUser;
/**标准化组对接人 翻译*/
@Excel(name = "标准化组对接人", width = 15)
@ApiModelProperty(value = "标准化组对接人 翻译")
@TableField(exist = false)
private String standardizationDockingUserDictText;
/**征求意见对象*/
@Excel(name = "征求意见对象", width = 15)
@ApiModelProperty(value = "征求意见对象")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String objectOfConsultation;
/**征求意见对象 翻译*/
@Excel(name = "征求意见对象", width = 15)
@ApiModelProperty(value = "征求意见对象 翻译")
@TableField(exist = false)
private String objectOfConsultationDictText;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@@ -253,14 +253,6 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
.eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId)
, false);
}
// 企标稽查计划业务表
List<ProcessEsInspectPlan> processEsInspectPlanList = processEsInspectPlanService.list(
new LambdaQueryWrapper<ProcessEsInspectPlan>()
.eq(ProcessEsInspectPlan::getProjectId, projectId)
.eq(StringUtils.isNotBlank(taskId), ProcessEsInspectPlan::getObjectOfConsultation, loginUser.getId()));
esInspectPlanFlowVO.setProcessEsInspectPlanList(processEsInspectPlanList);
esInspectPlanFlowVO.setProcessAll(processAll);
esInspectPlanFlowVO.setProcessApprovalRecord(processApprovalRecord);
return esInspectPlanFlowVO;
@@ -22,7 +22,6 @@ import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -82,7 +81,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
Page<ProcessEsInspectPlan> page = new Page<>(pageNo, pageSize);
Page<ProcessEsInspectPlan> pages = page(page, queryWrapper);
fillOpinion(pages.getRecords());
fillProperty(pages.getRecords());
return pages;
}
@@ -96,16 +95,28 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
public List<ProcessEsInspectPlan> queryList(ProcessEsInspectPlan processEsInspectPlan) {
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
List<ProcessEsInspectPlan> list = list(queryWrapper);
fillOpinion(list);
fillProperty(list);
return list;
}
private void fillOpinion(List<ProcessEsInspectPlan> list) {
private void fillProperty(List<ProcessEsInspectPlan> list) {
for (ProcessEsInspectPlan processEsInspectPlan : list) {
List<ProcessEsInspectPlanOpinion> opinionList = iProcessEsInspectPlanOpinionService.list(
new LambdaQueryWrapper<ProcessEsInspectPlanOpinion>()
.eq(ProcessEsInspectPlanOpinion::getInspectPlanId, processEsInspectPlan.getId()));
for (ProcessEsInspectPlanOpinion processEsInspectPlanOpinion : opinionList) {
processEsInspectPlanOpinion.setCreateByDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlanOpinion.getCreateBy(), ""));
processEsInspectPlanOpinion.setUpdateByDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlanOpinion.getUpdateBy(), ""));
}
processEsInspectPlan.setProcessEsInspectPlanOpinionList(opinionList);
// 用户翻译
processEsInspectPlan.setInspectObjectDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getInspectObject(), ""));
processEsInspectPlan.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getInspectUser(), ""));
processEsInspectPlan.setStandardizationDockingUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getStandardizationDockingUser(), ""));
processEsInspectPlan.setStandardizationDockingUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getStandardizationDockingUser(), ""));
processEsInspectPlan.setObjectOfConsultationDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getObjectOfConsultation(), ""));
processEsInspectPlan.setCreateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlan.getCreateBy()));
processEsInspectPlan.setUpdateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlan.getUpdateBy()));
}
}
@@ -115,7 +126,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
QueryWrapper<ProcessEsInspectPlan> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectPlan.getProjectId()), "project_id", processEsInspectPlan.getProjectId());
if (StringUtils.isNotBlank(processEsInspectPlan.getNodeId()) && "Activity_0mnt8n8".equals(processEsInspectPlan.getNodeId())){
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectPlan.getNodeId()), "object_of_consultation", loginUser.getId());
queryWrapper.like(StringUtils.isNotBlank(processEsInspectPlan.getNodeId()), "object_of_consultation", loginUser.getId());
}
queryWrapper.orderByDesc("create_time");
return queryWrapper;
@@ -188,6 +199,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
@Override
public Result<ProcessEsInspectPlan> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
String projectId = request.getParameter("projectId");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
@@ -206,6 +218,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
StringBuilder errorMSG = new StringBuilder();
// 字段校验
for (int i = 0; i < list.size(); i++) {
list.get(i).setProjectId(projectId);
String head = "" + (i + 2) + "行:";
List<String> firstVerify = firstVerify(list.get(i));
List<String> secondVerify = secondVerify(list.get(i));
@@ -333,11 +346,14 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
private List<String> firstVerify(ProcessEsInspectPlan processEsInspectPlan) {
List<String> errorList = new ArrayList<>();
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())){
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
.eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo()));
if (list.isEmpty()) {
errorList.add("稽查依据标准号不存在!");
}
/**
* List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
* .eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo()));
* if (list.isEmpty()) {
* errorList.add("稽查依据标准号不存在!");
* }
*/
}else {
errorList.add("稽查依据标准号不能为空!");
}
@@ -350,33 +366,20 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
}else {
errorList.add("稽查依据标准名称不能为空!");
}
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())
&& StringUtils.isNotBlank(processEsInspectPlan.getInspectName())
&& errorList.isEmpty()){
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
.eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo())
.eq(LawsEnterpriseStandard::getStandardName, processEsInspectPlan.getInspectName()));
if (list.isEmpty()) {
errorList.add("稽查依据标准号和稽查依据标准名称不匹配!");
}
}
/**
* if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())
* && StringUtils.isNotBlank(processEsInspectPlan.getInspectName())
* && errorList.isEmpty()){
* List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
* .eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo())
* .eq(LawsEnterpriseStandard::getStandardName, processEsInspectPlan.getInspectName()));
* if (list.isEmpty()) {
* errorList.add("稽查依据标准号和稽查依据标准名称不匹配!");
* }* }
*/
return errorList;
}
/**
* 获取对象ID
*
* @return
*/
private String getId(ProcessEsInspectPlan item) {
try {
return PropertyUtils.getProperty(item, "id").toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* excel表头校验
* @param file
@@ -1,9 +1,11 @@
package com.jero.modules.laws.documenttool.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -29,7 +31,12 @@ public class BaseEntity implements Serializable {
/** 创建人 */
@ApiModelProperty(value = "创建人")
// @Excel(name = "创建人", width = 15)
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String createBy;
/** 创建人 翻译 */
@ApiModelProperty(value = "创建人 翻译")
@TableField(exist = false)
private java.lang.String createByDictText;
/** 创建时间 */
@ApiModelProperty(value = "创建时间")
// @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@@ -39,7 +46,12 @@ public class BaseEntity implements Serializable {
/** 更新人 */
@ApiModelProperty(value = "更新人")
// @Excel(name = "更新人", width = 15)
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String updateBy;
/** 更新人 翻译 */
@ApiModelProperty(value = "更新人 翻译")
@TableField(exist = false)
private java.lang.String updateByDictText;
/** 更新时间 */
@ApiModelProperty(value = "更新时间")
// @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")