feat: 企标制修订-主流程审批及回显
This commit is contained in:
+156
@@ -0,0 +1,156 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName process_es_revision_advice
|
||||
*/
|
||||
@TableName(value ="process_es_revision_advice")
|
||||
@Data
|
||||
public class EsRevisionAdvice implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 流程实例Id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 条款号
|
||||
*/
|
||||
private String clauseNum;
|
||||
|
||||
/**
|
||||
* 条款名称
|
||||
*/
|
||||
private String clauseName;
|
||||
|
||||
/**
|
||||
* 修改意见内容(包括修改理由和依据)
|
||||
*/
|
||||
private String editAdvice;
|
||||
|
||||
/**
|
||||
* 意见提出人
|
||||
*/
|
||||
private String createUserId;
|
||||
|
||||
/**
|
||||
* 1采纳 2部分采纳 3不采纳
|
||||
*/
|
||||
private String handleAdvice;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (this == that) {
|
||||
return true;
|
||||
}
|
||||
if (that == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != that.getClass()) {
|
||||
return false;
|
||||
}
|
||||
EsRevisionAdvice other = (EsRevisionAdvice) that;
|
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
|
||||
&& (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
|
||||
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
|
||||
&& (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
|
||||
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
|
||||
&& (this.getOrgCode() == null ? other.getOrgCode() == null : this.getOrgCode().equals(other.getOrgCode()))
|
||||
&& (this.getProcessInstanceId() == null ? other.getProcessInstanceId() == null : this.getProcessInstanceId().equals(other.getProcessInstanceId()))
|
||||
&& (this.getExecutionId() == null ? other.getExecutionId() == null : this.getExecutionId().equals(other.getExecutionId()))
|
||||
&& (this.getClauseNum() == null ? other.getClauseNum() == null : this.getClauseNum().equals(other.getClauseNum()))
|
||||
&& (this.getClauseName() == null ? other.getClauseName() == null : this.getClauseName().equals(other.getClauseName()))
|
||||
&& (this.getEditAdvice() == null ? other.getEditAdvice() == null : this.getEditAdvice().equals(other.getEditAdvice()))
|
||||
&& (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()))
|
||||
&& (this.getHandleAdvice() == null ? other.getHandleAdvice() == null : this.getHandleAdvice().equals(other.getHandleAdvice()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
|
||||
result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
|
||||
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
|
||||
result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
|
||||
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
|
||||
result = prime * result + ((getOrgCode() == null) ? 0 : getOrgCode().hashCode());
|
||||
result = prime * result + ((getProcessInstanceId() == null) ? 0 : getProcessInstanceId().hashCode());
|
||||
result = prime * result + ((getExecutionId() == null) ? 0 : getExecutionId().hashCode());
|
||||
result = prime * result + ((getClauseNum() == null) ? 0 : getClauseNum().hashCode());
|
||||
result = prime * result + ((getClauseName() == null) ? 0 : getClauseName().hashCode());
|
||||
result = prime * result + ((getEditAdvice() == null) ? 0 : getEditAdvice().hashCode());
|
||||
result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
|
||||
result = prime * result + ((getHandleAdvice() == null) ? 0 : getHandleAdvice().hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(getClass().getSimpleName());
|
||||
sb.append(" [");
|
||||
sb.append("Hash = ").append(hashCode());
|
||||
sb.append(", id=").append(id);
|
||||
sb.append(", createBy=").append(createBy);
|
||||
sb.append(", createTime=").append(createTime);
|
||||
sb.append(", updateBy=").append(updateBy);
|
||||
sb.append(", updateTime=").append(updateTime);
|
||||
sb.append(", orgCode=").append(orgCode);
|
||||
sb.append(", processInstanceId=").append(processInstanceId);
|
||||
sb.append(", executionId=").append(executionId);
|
||||
sb.append(", clauseNum=").append(clauseNum);
|
||||
sb.append(", clauseName=").append(clauseName);
|
||||
sb.append(", editAdvice=").append(editAdvice);
|
||||
sb.append(", createUserId=").append(createUserId);
|
||||
sb.append(", handleAdvice=").append(handleAdvice);
|
||||
sb.append(", serialVersionUID=").append(serialVersionUID);
|
||||
sb.append("]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
+68
-4
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -7,9 +8,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ReviewMeetingDetailVO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -75,6 +77,24 @@ public class ProcessEsRevision implements Serializable {
|
||||
@ApiModelProperty(value = "业务JSON数据")
|
||||
private String businessJson;
|
||||
|
||||
/**
|
||||
* 其他起草人上传文件JSON
|
||||
*/
|
||||
@ApiModelProperty(value = "其他起草人上传文件JSON")
|
||||
private String otherDrafterUploadFileJson;
|
||||
|
||||
/**
|
||||
* 稽查内容JSON
|
||||
*/
|
||||
@ApiModelProperty(value = "稽查内容JSON")
|
||||
private String inspectContentJson;
|
||||
|
||||
/**
|
||||
* 评审会评分细节JSON
|
||||
*/
|
||||
@ApiModelProperty(value = "评审会评分细节JSON")
|
||||
private String reviewMeetingDetailJson;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
@@ -188,11 +208,55 @@ public class ProcessEsRevision implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "其他起草人")
|
||||
private List<OtherDraftUser> otherDraftUsers;
|
||||
private List<OtherDraftUserVO> otherDraftUserVOS;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "稽查内容")
|
||||
private List<EnterpriseStandardInspectContent> inspectContents;
|
||||
private List<InspectContentVO> inspectContents;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "评审结果")
|
||||
private List<ReviewMeetingDetailVO> reviewMeetingDetails;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "意见列表")
|
||||
private List<EsRevisionAdvice> advices;
|
||||
|
||||
public void setOtherDrafterUploadFileJson(String otherDrafterUploadFileJson) {
|
||||
this.otherDrafterUploadFileJson = otherDrafterUploadFileJson;
|
||||
}
|
||||
|
||||
public void setInspectContentJson(String inspectContentJson) {
|
||||
this.inspectContentJson = inspectContentJson;
|
||||
}
|
||||
|
||||
public void setReviewMeetingDetailJson(String reviewMeetingDetailJson) {
|
||||
this.reviewMeetingDetailJson = reviewMeetingDetailJson;
|
||||
}
|
||||
|
||||
public void setOtherDrafterUploadFileJson(List<OtherDraftUserVO> otherDraftUserVOS) {
|
||||
this.otherDrafterUploadFileJson = JSON.toJSONString(otherDraftUserVOS);
|
||||
}
|
||||
|
||||
public void setInspectContentJson(List<InspectContentVO> inspectContents) {
|
||||
this.inspectContentJson = JSON.toJSONString(inspectContents);
|
||||
}
|
||||
|
||||
public void setReviewMeetingDetailJson(List<ReviewMeetingDetailVO> reviewMeetingDetails) {
|
||||
this.reviewMeetingDetailJson = JSON.toJSONString(reviewMeetingDetails);
|
||||
}
|
||||
|
||||
public List<OtherDraftUserVO> parseOtherDraftUserVOS() {
|
||||
return JSON.parseArray(this.otherDrafterUploadFileJson, OtherDraftUserVO.class);
|
||||
}
|
||||
|
||||
public List<InspectContentVO> parseInspectContents() {
|
||||
return JSON.parseArray(this.inspectContentJson, InspectContentVO.class);
|
||||
}
|
||||
|
||||
public List<ReviewMeetingDetailVO> parseReviewMeetingDetails() {
|
||||
return JSON.parseArray(this.reviewMeetingDetailJson, ReviewMeetingDetailVO.class);
|
||||
}
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/19 15:14
|
||||
*/
|
||||
public class RevisionTaskNodeIdConstant {
|
||||
|
||||
/** 主起草人分发 */
|
||||
public static final String MAIN_DRAFT_USER_DISTRIBUTE = "Activity_0v98tow";
|
||||
/** 其他起草人上传企标 */
|
||||
public static final String OTHER_DRAFT_USER_UPLOAD = "Activity_1dz3u0m";
|
||||
/** 主起草人汇总 */
|
||||
public static final String MAIN_DRAFT_USER_COLLECT_FIRST = "Activity_1d2la4l";
|
||||
/** 标准化审批 */
|
||||
public static final String STANDARDIZATION_CHECK = "Activity_0m576ex";
|
||||
/** 评分人评分 */
|
||||
public static final String RATER_RATE = "Activity_1qhpnpa";
|
||||
/** 标准化确认是否开启征求意见 */
|
||||
public static final String CONFIRM_ADVISE = "Activity_1siuksf";
|
||||
/** 部门联络人下发 */
|
||||
public static final String CONTACT_USER_DISTRIBUTE = "Activity_1ns6olf";
|
||||
/** 征求意见对象填写意见 */
|
||||
public static final String ADVICE = "Activity_04m430n";
|
||||
/** 部门联络人汇总数据 */
|
||||
public static final String CONTACT_USER_COLLECT = "Activity_1riqzkp";
|
||||
/** 部所联络人主管级领导审批 */
|
||||
public static final String CONTACT_USER_LEADER_APPROVAL = "Activity_1ralk8e";
|
||||
/** 主起草人汇总 */
|
||||
public static final String MAIN_DRAFT_USER_COLLECT_SECOND = "Activity_1hb9aun";
|
||||
/** 主起草人上传会议纪要 */
|
||||
public static final String MAIN_DRAFT_USER_UPLOAD = "Activity_11uuyg0";
|
||||
/** 其它起草人校对 */
|
||||
public static final String OTHER_DRAFT_USER_CHECK = "Activity_1seways";
|
||||
/** 主管级领导审批 */
|
||||
public static final String LEADER_APPROVAL = "Activity_1l028rz";
|
||||
/** 标准化审批 */
|
||||
public static final String STANDARDIZATION_APPROVAL = "Activity_0uxua0b";
|
||||
/** 相关部门领导会签 */
|
||||
public static final String RELATED_LEADER_APPROVAL = "Activity_05pybsc";
|
||||
/** 总工程师审批 */
|
||||
public static final String CHIEF_ENGINEER_APPROVAL = "Activity_1yr56ac";
|
||||
/** 主起草人发布 */
|
||||
public static final String MAIN_DRAFT_USER_RELEASE = "Activity_0n0h60s";
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/20 17:46
|
||||
*/
|
||||
public class InspectContentVO {
|
||||
|
||||
/** 条款 */
|
||||
@JSONField(name = "clause")
|
||||
@ApiModelProperty(value = "条款")
|
||||
private String clause;
|
||||
|
||||
/** 标准内容或要求 */
|
||||
@JSONField(name = "requirement")
|
||||
@ApiModelProperty(value = "标准内容或要求")
|
||||
private String requirement;
|
||||
|
||||
@JSONField(name = "rectificationDepartment")
|
||||
@ApiModelProperty(value = "整改部门")
|
||||
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
private String rectificationDepartment;
|
||||
}
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity;
|
||||
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -11,7 +11,7 @@ import java.util.Date;
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class OtherDraftUser {
|
||||
public class OtherDraftUserVO {
|
||||
|
||||
@ApiModelProperty(value = "起草人责任单位")
|
||||
private String dept;
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/20 16:13
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class ReviewMeetingDetailVO {
|
||||
|
||||
/**评分项目*/
|
||||
@ApiModelProperty(value = "评分项目")
|
||||
private String evaluateItem;
|
||||
|
||||
/**评分分值*/
|
||||
@ApiModelProperty(value = "评分分值")
|
||||
private String evaluateScore;
|
||||
|
||||
/**评分人id*/
|
||||
@ApiModelProperty(value = "评分人id")
|
||||
private String adjudicatorId;
|
||||
|
||||
/**扣分理由*/
|
||||
@ApiModelProperty(value = "扣分理由")
|
||||
private String deductionScoreReason;
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esRevision.listener;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/19 15:14
|
||||
*/
|
||||
public class RevisionTaskNameConstant {
|
||||
|
||||
public static final String MAIN_DRAFT_USER_DISTRIBUTE = "主起草人起草分发";
|
||||
public static final String OTHER_DRAFT_USER_UPLOAD = "其他起草人上传企标";
|
||||
public static final String STANDARDIZATION_CHECK = "标准化审核";
|
||||
public static final String RATER_RATE = "评分人打分";
|
||||
public static final String CONFIRM_ADVISE = "标准化确认是否开启征求意见";
|
||||
public static final String CONTACT_USER_DISTRIBUTE = "部所联络人下发";
|
||||
public static final String ADVICE = "征求意见对象填写意见";
|
||||
public static final String CONTACT_USER_COLLECT = "部所联络人汇总数据";
|
||||
public static final String CONTACT_USER_LEADER_APPROVAL = "部所联络人主管级领导审批";
|
||||
public static final String MAIN_DRAFT_USER_COLLECT = "主起草人汇总";
|
||||
public static final String MAIN_DRAFT_USER_UPLOAD = "主起草人上传会议纪要";
|
||||
public static final String LEADER_APPROVAL = "主管级领导审批";
|
||||
public static final String STANDARDIZATION_APPROVAL = "标准化审批";
|
||||
public static final String RELATED_LEADER_APPROVAL = "相关部门领导会签";
|
||||
public static final String CHIEF_ENGINEER_APPROVAL = "总工程师审批";
|
||||
public static final String MAIN_DRAFT_USER_RELEASE = "主起草人发布";
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.process.esRevision.mapper;
|
||||
|
||||
import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_revision_advice】的数据库操作Mapper
|
||||
* @createDate 2023-12-20 17:17:56
|
||||
* @Entity com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice
|
||||
*/
|
||||
public interface EsRevisionAdviceMapper extends BaseMapper<EsRevisionAdvice> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.jero.modules.activiti.process.esRevision.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_revision_advice】的数据库操作Service
|
||||
* @createDate 2023-12-20 17:17:56
|
||||
*/
|
||||
public interface EsRevisionAdviceService extends IService<EsRevisionAdvice> {
|
||||
|
||||
}
|
||||
+1
-1
@@ -16,7 +16,7 @@ public interface EsRevisionService extends IService<ProcessEsRevision> {
|
||||
|
||||
ESRevisionDataVO getHandleData(String taskId);
|
||||
|
||||
void autoStartProcess(ESRecheckDataVO recheckData);
|
||||
void autoStartProcess(ESRevisionDataVO revisionData);
|
||||
|
||||
void saveToDraft(ProcessInfoVO<ESRevisionDataVO> processInfoVO);
|
||||
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.jero.modules.activiti.process.esRevision.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice;
|
||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionAdviceService;
|
||||
import com.jero.modules.activiti.process.esRevision.mapper.EsRevisionAdviceMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_revision_advice】的数据库操作Service实现
|
||||
* @createDate 2023-12-20 17:17:56
|
||||
*/
|
||||
@Service
|
||||
public class EsRevisionAdviceServiceImpl extends ServiceImpl<EsRevisionAdviceMapper, EsRevisionAdvice>
|
||||
implements EsRevisionAdviceService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+166
-10
@@ -1,26 +1,35 @@
|
||||
package com.jero.modules.activiti.process.esRevision.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckDataVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.OtherDraftUser;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ReviewMeetingDetailVO;
|
||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
||||
import com.jero.modules.activiti.process.esRevision.mapper.EsRevisionMapper;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -28,6 +37,8 @@ import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.process.esRevision.entity.RevisionTaskNodeIdConstant.*;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_revision】的数据库操作Service实现
|
||||
@@ -51,6 +62,12 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
|
||||
@Override
|
||||
public void startProcess(ESRevisionDataVO revisionData) {
|
||||
@@ -95,12 +112,12 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
Map<String, Object> flowUser = revisionData.getFlowUser();
|
||||
ProcessEsRevision data = revisionData.getData();
|
||||
actVariables.put("mainDraftUser", flowUser.get("mainDraftUser"));
|
||||
List<OtherDraftUser> otherDraftUsers = data.getOtherDraftUsers();
|
||||
if (otherDraftUsers == null || otherDraftUsers.isEmpty()) {
|
||||
List<OtherDraftUserVO> otherDraftUserVOS = data.getOtherDraftUserVOS();
|
||||
if (otherDraftUserVOS == null || otherDraftUserVOS.isEmpty()) {
|
||||
actVariables.put("distribute", false);
|
||||
} else {
|
||||
actVariables.put("distribute", true);
|
||||
actVariables.put("otherDraftUserList", otherDraftUsers.stream().map(OtherDraftUser::getUser)
|
||||
actVariables.put("otherDraftUserList", otherDraftUserVOS.stream().map(OtherDraftUserVO::getUser)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
// 获取分发人
|
||||
@@ -109,9 +126,10 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
|
||||
private Map<String, Object> getUserMap(Map<String, Object> variables) {
|
||||
// 转成逗号拼接
|
||||
variables.put("mainDraftUser", Optional.ofNullable((HashSet<String>) variables.get("contactUserList"))
|
||||
variables.put("otherDraftUserList", Optional.ofNullable((ArrayList<String>) variables.get("otherDraftUserList"))
|
||||
.map(list -> String.join(",", list))
|
||||
.orElse(""));
|
||||
variables.remove("distribute");
|
||||
return variables;
|
||||
}
|
||||
|
||||
@@ -120,18 +138,156 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autoStartProcess(ESRecheckDataVO recheckData) {
|
||||
public void autoStartProcess(ESRevisionDataVO revisionData) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ESRevisionDataVO getHandleData(String taskId) {
|
||||
return null;
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
String executionId = taskService.createTaskQuery().taskId(taskId).singleResult().getExecutionId();
|
||||
// 根据当前执行Id获取所有子执行Id
|
||||
List<String> executionIdList = actFlowCommonService.getAllChildExecutionIds(executionId);
|
||||
executionIdList.add(executionId);
|
||||
ESRevisionDataVO revisionDataVO = new ESRevisionDataVO();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
CommonVO commonVO = new CommonVO();
|
||||
commonVO.setPrcName(process.getPrcName());
|
||||
commonVO.setTaskId(process.getTaskId());
|
||||
commonVO.setPrcMes(process.getPrcMes());
|
||||
commonVO.setDueTime(process.getDueTime());
|
||||
commonVO.setNodeId(process.getNodeId());
|
||||
revisionDataVO.setCommon(commonVO);
|
||||
// 获取流程实例数据
|
||||
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
revisionDataVO.setData(getOne(wrapper));
|
||||
return revisionDataVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void approval(ESRevisionDataVO revisionData, boolean pass) {
|
||||
|
||||
CommonVO commonVO = revisionData.getCommon();
|
||||
String taskId = commonVO.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
||||
LambdaUpdateWrapper<ProcessEsRevision> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
wrapper.eq(ProcessEsRevision::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
updateWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
updateWrapper.eq(ProcessEsRevision::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
// 获取当前流程
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
ProcessEsRevision data;
|
||||
switch (xmlNodeId) {
|
||||
case MAIN_DRAFT_USER_DISTRIBUTE:
|
||||
// TODO 判断是否分发 设置流程变量 别忘了时间边界变量
|
||||
break;
|
||||
case OTHER_DRAFT_USER_UPLOAD:
|
||||
// TODO
|
||||
break;
|
||||
case MAIN_DRAFT_USER_COLLECT_FIRST:
|
||||
// 判断是否需要稽查 设置流程变量 保存稽查列表
|
||||
data = revisionData.getData();
|
||||
boolean inspectFlag = !data.getInspectFlag().equals("0");
|
||||
if (inspectFlag) {
|
||||
List<InspectContentVO> inspectContents = data.getInspectContents();
|
||||
data.setInspectContentJson(inspectContents);
|
||||
}
|
||||
// 保存流程数据
|
||||
saveOrUpdate(data);
|
||||
break;
|
||||
case STANDARDIZATION_CHECK:
|
||||
// 判断是否可以评审
|
||||
data = revisionData.getData();
|
||||
boolean reviewMeetingFlag = !data.getReviewMeetingFlag().equals("0");
|
||||
if (reviewMeetingFlag) {
|
||||
List<String> raterList = Arrays.asList(data.getRaters().split(","));
|
||||
taskService.setVariable(taskId, "raterList", raterList);
|
||||
// 保存流程数据
|
||||
saveOrUpdate(data);
|
||||
}
|
||||
break;
|
||||
case RATER_RATE:
|
||||
// 保存打分记录
|
||||
data = revisionData.getData();
|
||||
List<ReviewMeetingDetailVO> reviewMeetingDetails = data.getReviewMeetingDetails();
|
||||
ProcessEsRevision revisionDb = getById(data.getId());
|
||||
List<ReviewMeetingDetailVO> reviewMeetingDetailsDb = revisionDb.parseReviewMeetingDetails();
|
||||
reviewMeetingDetailsDb.addAll(reviewMeetingDetails);
|
||||
data.setReviewMeetingDetailJson(reviewMeetingDetailsDb);
|
||||
saveOrUpdate(data);
|
||||
break;
|
||||
case CONFIRM_ADVISE:
|
||||
// 判断是否开启征求意见子流程 设置流程变量
|
||||
data = revisionData.getData();
|
||||
boolean adviceFlag = !data.getAdviceFlag().equals("0");
|
||||
if (adviceFlag) {
|
||||
List<String> contactUserList = Arrays.asList(data.getContactUser().split(","));
|
||||
taskService.setVariable(taskId, "contactUserList", contactUserList);
|
||||
// 保存流程数据
|
||||
saveOrUpdate(data);
|
||||
}
|
||||
break;
|
||||
case CONTACT_USER_DISTRIBUTE:
|
||||
break;
|
||||
case ADVICE:
|
||||
break;
|
||||
case CONTACT_USER_COLLECT:
|
||||
break;
|
||||
case CONTACT_USER_LEADER_APPROVAL:
|
||||
break;
|
||||
case MAIN_DRAFT_USER_COLLECT_SECOND:
|
||||
break;
|
||||
case MAIN_DRAFT_USER_UPLOAD:
|
||||
// 设置后续节点的办理人
|
||||
data = revisionData.getData();
|
||||
List<String> proofreaderList = Arrays.asList(data.getProofreader().split(","));
|
||||
List<String> approvalUserList = Arrays.asList(data.getApprovalUser().split(","));
|
||||
String approvalUserStandard = data.getApprovalUserStandard();
|
||||
List<String> relatedLeaderList = Arrays.asList(data.getRelatedLeader().split(","));
|
||||
String chiefEngineer = data.getChiefEngineer();
|
||||
userMap.put("proofreaderList", proofreaderList);
|
||||
userMap.put("approvalUserList", approvalUserList);
|
||||
userMap.put("approvalUserStandard", approvalUserStandard);
|
||||
userMap.put("relatedLeaderList", relatedLeaderList);
|
||||
userMap.put("chiefEngineer", chiefEngineer);
|
||||
taskService.setVariables(taskId, userMap);
|
||||
saveOrUpdate(data);
|
||||
break;
|
||||
case MAIN_DRAFT_USER_RELEASE:
|
||||
// do nothing now
|
||||
break;
|
||||
}
|
||||
if (pass) {
|
||||
runtimeService.setVariable(processInstanceId, "pass", true);
|
||||
} else {
|
||||
// 设置流程变量
|
||||
runtimeService.setVariable(processInstanceId, "pass", false);
|
||||
}
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -78,7 +79,7 @@ public class EnterpriseStandardRmrEvaluateDetail implements Serializable {
|
||||
/**评分人名称*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "评分人名称")
|
||||
private String adjudicatorName;;
|
||||
private String adjudicatorName;
|
||||
|
||||
/**扣分理由*/
|
||||
@ApiModelProperty(value = "扣分理由")
|
||||
|
||||
Reference in New Issue
Block a user