fix: 企标制修订流程-其他主起草人上传节点不显示列表
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/22 15:04
|
||||
*/
|
||||
public enum OperateTypeEnum {
|
||||
|
||||
CANNOT_OPERATE("不能操作显示", "1"),
|
||||
UPLOAD_AND_CHANGE_DRAFT_USER("可以上传并且将起草人改为‘我’", "2"),
|
||||
UPLOAD("可以上传起草人字段维持不变", "3");
|
||||
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
OperateTypeEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -9,9 +9,9 @@ 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 OTHER_DRAFT_USER_UPLOAD = "Activity_1d2la4l";
|
||||
/** 主起草人汇总 */
|
||||
public static final String MAIN_DRAFT_USER_COLLECT_FIRST = "Activity_1d2la4l";
|
||||
public static final String MAIN_DRAFT_USER_COLLECT_FIRST = "Activity_1dz3u0m";
|
||||
/** 标准化审批 */
|
||||
public static final String STANDARDIZATION_CHECK = "Activity_0m576ex";
|
||||
/** 评分人评分 */
|
||||
|
||||
+6
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -16,9 +17,11 @@ import java.util.Date;
|
||||
@Data
|
||||
public class OtherDraftUserVO {
|
||||
|
||||
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
@ApiModelProperty(value = "起草人责任单位")
|
||||
private String dept;
|
||||
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
|
||||
@ApiModelProperty(value = "起草人")
|
||||
private String user;
|
||||
|
||||
@@ -33,6 +36,9 @@ public class OtherDraftUserVO {
|
||||
@ApiModelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
@ApiModelProperty(value = "1:不能操作显示/2:可以上传并且将起草人改为‘我’/3:可以上传起草人字段维持不变")
|
||||
private String operateType;
|
||||
|
||||
public String getISODeadlineTime() {
|
||||
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
||||
return isoFormat.format(this.deadline);
|
||||
|
||||
+30
-1
@@ -14,6 +14,7 @@ import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.EsRevisionAdvice;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.OperateTypeEnum;
|
||||
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;
|
||||
@@ -108,6 +109,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(actVariables));
|
||||
// 保存数据
|
||||
data.setProcessInstanceId(processInstanceId);
|
||||
data.setOtherDrafterUploadFileJson(data.getOtherDraftUserVOS());
|
||||
save(data);
|
||||
// 根据流程实例id更新流程总表
|
||||
String prcName = commonVO.getPrcName();
|
||||
@@ -209,7 +211,6 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
commonVO.setNodeId(process.getNodeId());
|
||||
revisionDataVO.setCommon(commonVO);
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 获取流程实例数据
|
||||
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<EsRevisionAdvice> advicesWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -218,7 +219,31 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
List<EsRevisionAdvice> adviceList = adviceService.list(advicesWrapper);
|
||||
wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
ProcessEsRevision data = getOne(wrapper);
|
||||
List<OtherDraftUserVO> otherDraftUserVOS = data.parseOtherDraftUserVOS();
|
||||
List<InspectContentVO> inspectContentVOS = data.parseInspectContents();
|
||||
data.setAdvices(adviceList);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 某些节点需要对数据进行特殊处理
|
||||
switch (xmlNodeId) {
|
||||
case OTHER_DRAFT_USER_UPLOAD:
|
||||
String curUserId = UserUtils.getUserId();
|
||||
for (OtherDraftUserVO o : otherDraftUserVOS) {
|
||||
if (o.getUser().equals(curUserId)) {
|
||||
o.setOperateType(OperateTypeEnum.UPLOAD_AND_CHANGE_DRAFT_USER.getValue());
|
||||
continue;
|
||||
}
|
||||
if (o.getUser().equals(userId)) {
|
||||
o.setOperateType(OperateTypeEnum.UPLOAD.getValue());
|
||||
continue;
|
||||
}
|
||||
o.setOperateType(OperateTypeEnum.CANNOT_OPERATE.getValue());
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
data.setOtherDraftUserVOS(otherDraftUserVOS);
|
||||
data.setInspectContents(inspectContentVOS);
|
||||
revisionDataVO.setData(data);
|
||||
return revisionDataVO;
|
||||
}
|
||||
@@ -267,6 +292,9 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
otherDraftUserVOS.forEach(otherDraftUserVO -> deadlineMap
|
||||
.put(otherDraftUserVO.getUser() + "-deadline", otherDraftUserVO.getISODeadlineTime()));
|
||||
taskService.setVariables(taskId, deadlineMap);
|
||||
data.setOtherDraftUserVOS(otherDraftUserVOS);
|
||||
data.setOtherDrafterUploadFileJson(otherDraftUserVOS);
|
||||
saveOrUpdate(data);
|
||||
}
|
||||
break;
|
||||
case OTHER_DRAFT_USER_UPLOAD:
|
||||
@@ -330,6 +358,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
List<String> adviceUserList = Arrays.asList(adviceUsers.split(","));
|
||||
taskService.setVariable(taskId, "adviceUserList", adviceUserList);
|
||||
userMap.put("adviceUserList", adviceUserList);
|
||||
// 设置截止时间
|
||||
saveOrUpdate(data);
|
||||
break;
|
||||
case ADVICE:
|
||||
|
||||
Reference in New Issue
Block a user