update 未符合项跟踪流程 联调

This commit is contained in:
lijiarao
2023-12-25 11:18:11 +08:00
parent 115dccc74d
commit ecf253b638
7 changed files with 33 additions and 264 deletions
@@ -113,6 +113,19 @@ public class ProcessProjectNotMetLink {
@ApiModelProperty(value = "设计工程师名字")
private String engineerName;
/**
* 依据描述
*/
@ApiModelProperty(value = "依据描述")
private String description;
/**
* 佐证材料
*/
@ApiModelProperty(value = "佐证材料")
private String fileId;
/**
* 预计整改完成日期
*/
@@ -120,6 +133,12 @@ public class ProcessProjectNotMetLink {
@ApiModelProperty(value = "预计整改完成日期")
private Date expectedTime;
/**
* 实际整改完成日期
*/
@ApiModelProperty(value = "实际整改完成日期")
private Date realityTime;
/**
* 整改状态(1-待整改、2-整改中、3-审批中、4-已完成)
*/
@@ -169,38 +188,5 @@ public class ProcessProjectNotMetLink {
@ApiModelProperty(value = "删除标识")
private Boolean delFlag;
/**
* 设计工程师ID
*/
@TableField(exist = false)
@ApiModelProperty(value = "设计工程师ID")
private String nowEngineerId;
/**
* 设计工程师名字
*/
@TableField(exist = false)
@ApiModelProperty(value = "设计工程师名字")
private String nowEngineerName;
/**
* 依据描述
*/
@TableField(exist = false)
@ApiModelProperty(value = "依据描述")
private String description;
/**
* 佐证材料
*/
@TableField(exist = false)
@ApiModelProperty(value = "佐证材料")
private String fileId;
/**
* 实际整改完成日期
*/
@TableField(exist = false)
@ApiModelProperty(value = "实际整改完成日期")
private Date realityTime;
}
@@ -1,129 +0,0 @@
package com.jero.modules.activiti.process.projectnotmet.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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author liJiaRao
* @date 2023-12-23 19:58
*/
/**
* 未符合项跟踪流程关联设计工程师
*/
@ApiModel(description = "未符合项跟踪流程关联设计工程师")
@Data
@TableName(value = "process_project_not_met_user")
public class ProcessProjectNotMetUser {
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value = "主键ID")
private String id;
/**
* 流程主表id
*/
@TableField(value = "process_id")
@ApiModelProperty(value = "流程主表id")
private String processId;
/**
* 关联标准id
*/
@TableField(value = "link_id")
@ApiModelProperty(value = "关联标准id")
private String linkId;
/**
* 设计工程师ID
*/
@TableField(value = "engineer_id")
@ApiModelProperty(value = "设计工程师ID")
private String engineerId;
/**
* 设计工程师名字
*/
@TableField(value = "engineer_name")
@ApiModelProperty(value = "设计工程师名字")
private String engineerName;
/**
* 依据描述
*/
@TableField(value = "description")
@ApiModelProperty(value = "依据描述")
private String description;
/**
* 佐证材料
*/
@TableField(value = "file_id")
@ApiModelProperty(value = "佐证材料")
private String fileId;
/**
* 实际整改完成日期
*/
@TableField(value = "reality_time")
@ApiModelProperty(value = "实际整改完成日期")
private Date realityTime;
/**
* 整改状态(1-待整改、2-整改中、3-审批中、4-已完成)
*/
@TableField(value = "`state`")
@ApiModelProperty(value = "整改状态(1-待整改、2-整改中、3-审批中、4-已完成)")
private String state;
/**
* 创建人ID
*/
@TableField(value = "create_by")
@ApiModelProperty(value = "创建人ID")
private String createBy;
/**
* 创建时间
*/
@TableField(value = "create_time")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 修改人ID
*/
@TableField(value = "update_by")
@ApiModelProperty(value = "修改人ID")
private String updateBy;
/**
* 修改时间
*/
@TableField(value = "update_time")
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**
* 部门code
*/
@TableField(value = "org_code")
@ApiModelProperty(value = "部门code")
private String orgCode;
/**
* 删除标识
*/
@TableField(value = "del_flag")
@ApiModelProperty(value = "删除标识")
private Boolean delFlag;
}
@@ -1,11 +0,0 @@
package com.jero.modules.activiti.process.projectnotmet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMetUser;
/**
* @author liJiaRao
* @date 2023-12-23 19:58
*/
public interface ProcessProjectNotMetUserMapper extends BaseMapper<ProcessProjectNotMetUser> {
}
@@ -26,7 +26,6 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="org_code" jdbcType="VARCHAR" property="orgCode"/>
<result column="del_flag" jdbcType="BOOLEAN" property="delFlag"/>
<result column="now_engineer_id" jdbcType="VARCHAR" property="nowEngineerId"/>
<result column="description" jdbcType="VARCHAR" property="description"/>
<result column="file_id" jdbcType="VARCHAR" property="fileId"/>
<result column="reality_time" jdbcType="TIMESTAMP" property="realityTime"/>
@@ -50,10 +49,8 @@
ppnmu.file_id,
ppnmu.reality_time
from process_project_not_met_link ppnml
left join process_project_not_met_user ppnmu on ppnml.id = ppnmu.link_id
where ppnmu.engineer_id = #{originUserId}
and ppnml.process_id = #{processId}
from process_project_not_met_link
where process_id = #{processId}
</select>
<select id="getByLeader" resultMap="BaseResultMap">
@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.activiti.process.projectnotmet.mapper.ProcessProjectNotMetUserMapper">
<resultMap id="BaseResultMap"
type="com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMetUser">
<!--@mbg.generated-->
<!--@Table process_project_not_met_user-->
<id column="id" jdbcType="VARCHAR" property="id"/>
<result column="process_id" jdbcType="VARCHAR" property="processId"/>
<result column="link_id" jdbcType="VARCHAR" property="linkId"/>
<result column="engineer_id" jdbcType="VARCHAR" property="engineerId"/>
<result column="engineer_name" jdbcType="VARCHAR" property="engineerName"/>
<result column="description" jdbcType="VARCHAR" property="description"/>
<result column="file_id" jdbcType="VARCHAR" property="fileId"/>
<result column="reality_time" jdbcType="TIMESTAMP" property="realityTime"/>
<result column="state" jdbcType="VARCHAR" property="state"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="org_code" jdbcType="VARCHAR" property="orgCode"/>
<result column="del_flag" jdbcType="BOOLEAN" property="delFlag"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, process_id, link_id, engineer_id, engineer_name, description, file_id, reality_time,
`state`, create_by, create_time, update_by, update_time, org_code, del_flag
</sql>
</mapper>
@@ -1,6 +1,5 @@
package com.jero.modules.activiti.process.projectnotmet.service;
import cn.hutool.core.collection.CollStreamUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.api.ISysBaseAPI;
@@ -18,7 +17,6 @@ import com.jero.modules.activiti.process.projectassess.common.ProcessProjectAsse
import com.jero.modules.activiti.process.projectnotmet.common.ProcessProjectNotMetCommon;
import com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMet;
import com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMetLink;
import com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMetUser;
import com.jero.modules.activiti.process.projectnotmet.mapper.ProcessProjectNotMetMapper;
import com.jero.modules.activiti.process.projectnotmet.vo.ProcessProjectNotMetVO;
import com.jero.modules.activiti.service.ProcessAllService;
@@ -52,8 +50,6 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
private TaskService taskService;
@Resource
private ProcessProjectNotMetLinkService processProjectNotMetLinkService;
@Resource
private ProcessProjectNotMetUserService processProjectNotMetUserService;
public ProcessInfoVO<ProcessProjectNotMetVO> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
if (StringUtils.isNotBlank(draftId) && StringUtils.isBlank(taskId)) {
@@ -69,15 +65,15 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
String taskDefinitionKey = task.getTaskDefinitionKey();
List<ProcessProjectNotMetLink> processProjectNotMetLinks = new ArrayList<>();
LambdaQueryWrapper<ProcessProjectNotMetLink> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectNotMetLink::getProcessId,businessId);
switch (taskDefinitionKey) {
case ProcessProjectNotMetCommon.SJGCSSCZGCL:
processProjectNotMetLinks = processProjectNotMetLinkService.getByDesignEngineer(originUserId,businessId);
break;
case ProcessProjectNotMetCommon.ZGJLDSP:
case ProcessProjectNotMetCommon.FGGCSSP:
processProjectNotMetLinks = processProjectNotMetLinkService.getByLeader(businessId);
processProjectNotMetLinks = processProjectNotMetLinkService.list(wrapper);
break;
default:
}
//获取所有用户信息
List<LoginUser> userList = sysBaseAPI.getAllUser();
@@ -85,12 +81,7 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
for (LoginUser loginUser : userList) {
userNameMap.put(loginUser.getId(), loginUser.calcNameWorkNo());
}
for (ProcessProjectNotMetLink processProjectNotMetLink : processProjectNotMetLinks) {
String engineerId = processProjectNotMetLink.getEngineerId();
processProjectNotMetLink.setEngineerName(userNameMap.get(engineerId));
String nowEngineerId = processProjectNotMetLink.getNowEngineerId();
processProjectNotMetLink.setNowEngineerName(userNameMap.get(nowEngineerId));
}
ProcessProjectNotMet processProjectNotMet = this.getById(businessId);
ProcessProjectNotMetVO processProjectNotMetVO = new ProcessProjectNotMetVO();
processProjectNotMetVO.setProcessProjectNotMet(processProjectNotMet);
@@ -117,24 +108,12 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
processProjectNotMetLinkService.saveBatch(processProjectNotMetLinks);
//保存标准分发的设计工程师
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
String designEngineers = (String) userInfoMap.get(ProcessProjectNotMetCommon.DESIGN_ENGINEER);
List<ProcessProjectNotMetUser> processProjectNotMetUsers = new ArrayList<>();
for (ProcessProjectNotMetLink processProjectNotMetLink : processProjectNotMetLinks) {
String notMetLinkId = processProjectNotMetLink.getId();
ProcessProjectNotMetUser processProjectNotMetUser = new ProcessProjectNotMetUser();
processProjectNotMetUser.setProcessId(processProjectNotMetId);
processProjectNotMetUser.setLinkId(notMetLinkId);
//processProjectNotMetUser.setEngineerId(designEngineerId);
processProjectNotMetUsers.add(processProjectNotMetUser);
}
processProjectNotMetUserService.saveBatch(processProjectNotMetUsers);
//启动流程
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.PROJECT_NOT_MET)); // 流程定义id
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.PROJECT_NOT_MET.getValue()); // 流程类型
userInfoMap.put(ProcessProjectNotMetCommon.STANDARDS_ENGINEER, CurrentUserUtil.getId());
userInfoMap.put(ProcessProjectNotMetCommon.DESIGN_ENGINEER, processProjectNotMetUsers.get(0).getEngineerId());
userInfoMap.put(ProcessProjectNotMetCommon.DESIGN_ENGINEER, processProjectNotMetLinks.get(0).getEngineerId());
//userInfoMap.put(ProcessProjectNotMetCommon.MANAGER_LEADER, distinctAllResponsibleUnitLeaderListJoin);
//processInfoVO.setUserInfoMap(userInfoMap);
processHandleService.startProcess(processInfoVO);
@@ -188,26 +167,17 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
processHandleService.updateApprovalRecord(processInfoVO);
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
//先查询分配的条款,更新
ProcessProjectNotMetVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
List<ProcessProjectNotMetLink> processProjectNotMetLinks = businessInfoDTO.getProcessProjectNotMetLinks();
Map<String, ProcessProjectNotMetLink> stringProcessProjectNotMetLinkMap = CollStreamUtil.toIdentityMap(processProjectNotMetLinks, ProcessProjectNotMetLink::getId);
LambdaQueryWrapper<ProcessProjectNotMetUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectNotMetUser::getProcessId,projectId);
wrapper.eq(ProcessProjectNotMetUser::getEngineerId,originUserId);
List<ProcessProjectNotMetUser> notMetUserList = processProjectNotMetUserService.list(wrapper);
String userId = CurrentUserUtil.getId();
Date now = new Date();
for (ProcessProjectNotMetUser processProjectNotMetUser : notMetUserList) {
String linkId = processProjectNotMetUser.getLinkId();
ProcessProjectNotMetLink processProjectNotMetLink = stringProcessProjectNotMetLinkMap.get(linkId);
processProjectNotMetUser.setFileId(processProjectNotMetLink.getFileId());
processProjectNotMetUser.setDescription(processProjectNotMetLink.getDescription());
processProjectNotMetUser.setEngineerId(userId);
processProjectNotMetUser.setRealityTime(now);
for (ProcessProjectNotMetLink processProjectNotMetLink : processProjectNotMetLinks) {
processProjectNotMetLink.setFileId(processProjectNotMetLink.getFileId());
processProjectNotMetLink.setDescription(processProjectNotMetLink.getDescription());
processProjectNotMetLink.setRealityTime(now);
}
processProjectNotMetUserService.updateBatchById(notMetUserList);
processProjectNotMetLinkService.updateBatchById(processProjectNotMetLinks);
taskService.complete(taskId);
}
@@ -1,15 +0,0 @@
package com.jero.modules.activiti.process.projectnotmet.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.activiti.process.projectnotmet.entity.ProcessProjectNotMetUser;
import com.jero.modules.activiti.process.projectnotmet.mapper.ProcessProjectNotMetUserMapper;
import org.springframework.stereotype.Service;
/**
* @author liJiaRao
* @date 2023-12-23 19:58
*/
@Service
public class ProcessProjectNotMetUserService extends ServiceImpl<ProcessProjectNotMetUserMapper, ProcessProjectNotMetUser> {
}