fix: 制修订流程征求意见子流程BUG
This commit is contained in:
+2
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -91,6 +92,7 @@ public class EsRevisionAdvice implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 意见提出人
|
* 意见提出人
|
||||||
*/
|
*/
|
||||||
|
@Dict(dictTable = "sys_user", dicText = "CONCAT(realname, '(', username, ')')", dicCode = "id")
|
||||||
@ApiModelProperty(value = "意见提出人")
|
@ApiModelProperty(value = "意见提出人")
|
||||||
private String createUserId;
|
private String createUserId;
|
||||||
|
|
||||||
|
|||||||
+15
-8
@@ -216,13 +216,10 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessEsRevision> wrapper = new LambdaQueryWrapper<>();
|
||||||
LambdaQueryWrapper<EsRevisionAdvice> advicesWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EsRevisionAdvice> advicesWrapper = new LambdaQueryWrapper<>();
|
||||||
advicesWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
|
advicesWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
|
||||||
advicesWrapper.eq(EsRevisionAdvice::getExecutionId, executionId);
|
|
||||||
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<OtherDraftUserVO> otherDraftUserVOS = data.parseOtherDraftUserVOS();
|
||||||
List<InspectContentVO> inspectContentVOS = data.parseInspectContents();
|
List<InspectContentVO> inspectContentVOS = data.parseInspectContents();
|
||||||
data.setAdvices(adviceList);
|
|
||||||
String xmlNodeId = record.getNodeId();
|
String xmlNodeId = record.getNodeId();
|
||||||
// 某些节点需要对数据进行特殊处理
|
// 某些节点需要对数据进行特殊处理
|
||||||
switch (xmlNodeId) {
|
switch (xmlNodeId) {
|
||||||
@@ -239,10 +236,14 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
}
|
}
|
||||||
o.setOperateType(OperateTypeEnum.CANNOT_OPERATE.getValue());
|
o.setOperateType(OperateTypeEnum.CANNOT_OPERATE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case CONTACT_USER_COLLECT:
|
||||||
|
case CONTACT_USER_LEADER_APPROVAL:
|
||||||
|
advicesWrapper.eq(EsRevisionAdvice::getExecutionId, executionId);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
List<EsRevisionAdvice> adviceList = adviceService.list(advicesWrapper);
|
||||||
|
data.setAdvices(adviceList);
|
||||||
data.setOtherDraftUserVOS(otherDraftUserVOS);
|
data.setOtherDraftUserVOS(otherDraftUserVOS);
|
||||||
data.setInspectContents(inspectContentVOS);
|
data.setInspectContents(inspectContentVOS);
|
||||||
revisionDataVO.setData(data);
|
revisionDataVO.setData(data);
|
||||||
@@ -279,6 +280,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
List<EsRevisionAdvice> advices;
|
List<EsRevisionAdvice> advices;
|
||||||
ProcessEsRevision data;
|
ProcessEsRevision data;
|
||||||
Map<String, Object> flowUser;
|
Map<String, Object> flowUser;
|
||||||
|
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
||||||
switch (xmlNodeId) {
|
switch (xmlNodeId) {
|
||||||
case MAIN_DRAFT_USER_DISTRIBUTE:
|
case MAIN_DRAFT_USER_DISTRIBUTE:
|
||||||
// 判断是否分发 设置流程变量
|
// 判断是否分发 设置流程变量
|
||||||
@@ -350,8 +352,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
reviewMeetingDetailsDb = new ArrayList<>();
|
reviewMeetingDetailsDb = new ArrayList<>();
|
||||||
}
|
}
|
||||||
reviewMeetingDetailsDb.addAll(reviewMeetingDetails);
|
reviewMeetingDetailsDb.addAll(reviewMeetingDetails);
|
||||||
data.setReviewMeetingDetailJson(reviewMeetingDetailsDb);
|
revisionDb.setReviewMeetingDetailJson(reviewMeetingDetailsDb);
|
||||||
saveOrUpdate(data);
|
saveOrUpdate(revisionDb);
|
||||||
break;
|
break;
|
||||||
case CONFIRM_ADVISE:
|
case CONFIRM_ADVISE:
|
||||||
// 判断是否开启征求意见子流程 设置流程变量
|
// 判断是否开启征求意见子流程 设置流程变量
|
||||||
@@ -376,6 +378,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
List<String> adviceUserList = Arrays.asList(adviceUsers.split(","));
|
List<String> adviceUserList = Arrays.asList(adviceUsers.split(","));
|
||||||
runtimeService.setVariable(executionId, "adviceUserList", adviceUserList);
|
runtimeService.setVariable(executionId, "adviceUserList", adviceUserList);
|
||||||
runtimeService.setVariable(executionId, "adviceDeadline", data.getAdviceDeadline());
|
runtimeService.setVariable(executionId, "adviceDeadline", data.getAdviceDeadline());
|
||||||
|
runtimeService.setVariable(executionId, contactUser + "-ExecutionId", executionId);
|
||||||
userMap.put("adviceUserList", adviceUsers);
|
userMap.put("adviceUserList", adviceUsers);
|
||||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||||
// 设置截止时间
|
// 设置截止时间
|
||||||
@@ -386,12 +389,16 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
|||||||
advices = data.getAdvices();
|
advices = data.getAdvices();
|
||||||
advices.forEach(advice -> advice.setCreateUserId(userId));
|
advices.forEach(advice -> advice.setCreateUserId(userId));
|
||||||
advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId));
|
advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId));
|
||||||
advices.forEach(advice -> advice.setExecutionId(executionId));
|
String contactUserExecutionId = (String) runtimeService.getVariable(executionId, contactUser + "-ExecutionId");
|
||||||
|
advices.forEach(advice -> advice.setExecutionId(contactUserExecutionId));
|
||||||
adviceService.saveBatch(advices);
|
adviceService.saveBatch(advices);
|
||||||
break;
|
break;
|
||||||
case CONTACT_USER_COLLECT:
|
case CONTACT_USER_COLLECT:
|
||||||
data = revisionData.getData();
|
data = revisionData.getData();
|
||||||
|
runtimeService.setVariable(executionId, "contactUserLeader", data.getContactUserLeader());
|
||||||
userMap.put("contactUserLeader", data.getContactUserLeader());
|
userMap.put("contactUserLeader", data.getContactUserLeader());
|
||||||
|
advices = data.getAdvices();
|
||||||
|
adviceService.saveOrUpdateBatch(advices);
|
||||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||||
case CONTACT_USER_LEADER_APPROVAL:
|
case CONTACT_USER_LEADER_APPROVAL:
|
||||||
// 保存流程数据
|
// 保存流程数据
|
||||||
|
|||||||
Reference in New Issue
Block a user