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 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";
|
public static final String STANDARDIZATION_CHECK = "Activity_0m576ex";
|
||||||
/** 评分人评分 */
|
/** 评分人评分 */
|
||||||
|
|||||||
+6
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
package com.jero.modules.activiti.process.esRevision.entity.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
@@ -16,9 +17,11 @@ import java.util.Date;
|
|||||||
@Data
|
@Data
|
||||||
public class OtherDraftUserVO {
|
public class OtherDraftUserVO {
|
||||||
|
|
||||||
|
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||||
@ApiModelProperty(value = "起草人责任单位")
|
@ApiModelProperty(value = "起草人责任单位")
|
||||||
private String dept;
|
private String dept;
|
||||||
|
|
||||||
|
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
|
||||||
@ApiModelProperty(value = "起草人")
|
@ApiModelProperty(value = "起草人")
|
||||||
private String user;
|
private String user;
|
||||||
|
|
||||||
@@ -33,6 +36,9 @@ public class OtherDraftUserVO {
|
|||||||
@ApiModelProperty(value = "文件ID")
|
@ApiModelProperty(value = "文件ID")
|
||||||
private String fileId;
|
private String fileId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1:不能操作显示/2:可以上传并且将起草人改为‘我’/3:可以上传起草人字段维持不变")
|
||||||
|
private String operateType;
|
||||||
|
|
||||||
public String getISODeadlineTime() {
|
public String getISODeadlineTime() {
|
||||||
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
||||||
return isoFormat.format(this.deadline);
|
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.common.service.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
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.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.InspectContentVO;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.vo.OtherDraftUserVO;
|
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.ProcessEsRevision;
|
||||||
@@ -108,6 +109,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(actVariables));
|
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(actVariables));
|
||||||
// 保存数据
|
// 保存数据
|
||||||
data.setProcessInstanceId(processInstanceId);
|
data.setProcessInstanceId(processInstanceId);
|
||||||
|
data.setOtherDrafterUploadFileJson(data.getOtherDraftUserVOS());
|
||||||
save(data);
|
save(data);
|
||||||
// 根据流程实例id更新流程总表
|
// 根据流程实例id更新流程总表
|
||||||
String prcName = commonVO.getPrcName();
|
String prcName = commonVO.getPrcName();
|
||||||
@@ -209,7 +211,6 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
commonVO.setNodeId(process.getNodeId());
|
commonVO.setNodeId(process.getNodeId());
|
||||||
revisionDataVO.setCommon(commonVO);
|
revisionDataVO.setCommon(commonVO);
|
||||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||||
String xmlNodeId = record.getNodeId();
|
|
||||||
// 获取流程实例数据
|
// 获取流程实例数据
|
||||||
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
||||||
LambdaQueryWrapper<EsRevisionAdvice> advicesWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EsRevisionAdvice> advicesWrapper = new LambdaQueryWrapper<>();
|
||||||
@@ -218,7 +219,31 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
List<EsRevisionAdvice> adviceList = adviceService.list(advicesWrapper);
|
List<EsRevisionAdvice> adviceList = adviceService.list(advicesWrapper);
|
||||||
wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||||
ProcessEsRevision data = getOne(wrapper);
|
ProcessEsRevision data = getOne(wrapper);
|
||||||
|
List<OtherDraftUserVO> otherDraftUserVOS = data.parseOtherDraftUserVOS();
|
||||||
|
List<InspectContentVO> inspectContentVOS = data.parseInspectContents();
|
||||||
data.setAdvices(adviceList);
|
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);
|
revisionDataVO.setData(data);
|
||||||
return revisionDataVO;
|
return revisionDataVO;
|
||||||
}
|
}
|
||||||
@@ -267,6 +292,9 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
otherDraftUserVOS.forEach(otherDraftUserVO -> deadlineMap
|
otherDraftUserVOS.forEach(otherDraftUserVO -> deadlineMap
|
||||||
.put(otherDraftUserVO.getUser() + "-deadline", otherDraftUserVO.getISODeadlineTime()));
|
.put(otherDraftUserVO.getUser() + "-deadline", otherDraftUserVO.getISODeadlineTime()));
|
||||||
taskService.setVariables(taskId, deadlineMap);
|
taskService.setVariables(taskId, deadlineMap);
|
||||||
|
data.setOtherDraftUserVOS(otherDraftUserVOS);
|
||||||
|
data.setOtherDrafterUploadFileJson(otherDraftUserVOS);
|
||||||
|
saveOrUpdate(data);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case OTHER_DRAFT_USER_UPLOAD:
|
case OTHER_DRAFT_USER_UPLOAD:
|
||||||
@@ -330,6 +358,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
List<String> adviceUserList = Arrays.asList(adviceUsers.split(","));
|
List<String> adviceUserList = Arrays.asList(adviceUsers.split(","));
|
||||||
taskService.setVariable(taskId, "adviceUserList", adviceUserList);
|
taskService.setVariable(taskId, "adviceUserList", adviceUserList);
|
||||||
userMap.put("adviceUserList", adviceUserList);
|
userMap.put("adviceUserList", adviceUserList);
|
||||||
|
// 设置截止时间
|
||||||
saveOrUpdate(data);
|
saveOrUpdate(data);
|
||||||
break;
|
break;
|
||||||
case ADVICE:
|
case ADVICE:
|
||||||
|
|||||||
Reference in New Issue
Block a user