feat: UAT 征求意见截止时间

This commit is contained in:
2024-07-10 15:09:17 +08:00
parent fade5b945d
commit 487500e6b6
3 changed files with 29 additions and 37 deletions
+3
View File
@@ -178,3 +178,6 @@ update sys_depart set es_select_flag = 1 where parent_id = '1000000000';
#
update sys_depart set es_select_flag = 1 where parent_id = '1005000000';
-- 2024-07-10 征求意见截止时间
ALTER TABLE `process_es_revision`
ADD COLUMN `total_advice_deadline` datetime NULL COMMENT '征求意见总截至日期' AFTER `review_user`;
@@ -5,10 +5,6 @@ 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 java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import com.jero.modules.activiti.process.esRevision.entity.vo.InspectContentVO;
@@ -18,6 +14,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
* @TableName process_es_revision
@@ -315,6 +315,14 @@ public class ProcessEsRevision implements Serializable {
@ApiModelProperty(value = "意见汇总")
private String commentsSummary;
/**
* 征求意见截止日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "征求意见截止日期")
private Date totalAdviceDeadline;
/**
* 自动发起标识
*/
@@ -322,17 +330,6 @@ public class ProcessEsRevision implements Serializable {
@ApiModelProperty(value = "自动发起标识")
private boolean autoStartFlag;
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);
@@ -20,7 +20,6 @@ import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.common.DraftCommon;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
@@ -28,13 +27,13 @@ import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
import com.jero.modules.activiti.process.esRevision.entity.*;
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
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.ESRevisionDataVO;
import com.jero.modules.activiti.process.esRevision.entity.vo.ReviewMeetingDetailVO;
import com.jero.modules.activiti.process.esRevision.mapper.EsRevisionMapper;
import com.jero.modules.activiti.process.esRevision.service.EsRevisionAdviceService;
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;
@@ -509,6 +508,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
data = revisionData.getData();
boolean adviceFlag = !data.getAdviceFlag().equals("0");
if (adviceFlag) {
// 保存征求意见截止时间
saveOrUpdate(data);
List<String> contactUserList = Arrays.asList(data.getContactUser().split(","));
taskService.setVariable(taskId, "contactUserList", contactUserList);
taskService.setVariable(taskId, "open", true);
@@ -524,10 +525,19 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
break;
case CONTACT_USER_DISTRIBUTE:
data = revisionData.getData();
Date totalAdviceDeadline = data.getTotalAdviceDeadline();
Date adviceDeadline = data.getAdviceDeadline();
// 征求意见截至日期不能晚于总截止时间
if (totalAdviceDeadline != null) {
if (adviceDeadline.getTime() > totalAdviceDeadline.getTime()) {
log.error("总截止时间:{} 当前提交征求意见截止时间{}", totalAdviceDeadline, adviceDeadline);
throw new JeroBootException("各部门联络人设置的截止时间不能晚于标准化设置的征求意见截止时间!");
}
}
String workGroup = data.getWorkGroup();
List<String> adviceUserList = Arrays.asList(workGroup.split(","));
runtimeService.setVariableLocal(executionId, "adviceUserList", adviceUserList);
runtimeService.setVariable(executionId, executionId + "-adviceDeadline", data.getAdviceDeadline());
runtimeService.setVariable(executionId, executionId + "-adviceDeadline", adviceDeadline);
runtimeService.setVariable(executionId, "contactExecutionId", executionId);
userMap.put("adviceUserList", workGroup);
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
@@ -620,24 +630,6 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
saveOrUpdate(data);
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
break;
case OTHER_DRAFT_USER_CHECK:
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
if (!pass) {
// actFlowCommonService.updateOtherCountersignRecodeStatus(processInstanceId, CounterSignNodeNameConstants.ES_REVISION_OTHER_DRAFT_USER_CHECK_NODE_NAME);
}
break;
case LEADER_APPROVAL:
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
if (!pass) {
// actFlowCommonService.updateOtherCountersignRecodeStatus(processInstanceId, CounterSignNodeNameConstants.ES_REVISION_LEADER_APPROVAL_NODE_NAME);
}
break;
case RELATED_LEADER_APPROVAL:
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
if (!pass) {
// actFlowCommonService.updateOtherCountersignRecodeStatus(processInstanceId, CounterSignNodeNameConstants.ES_REVISION_RELATED_LEADER_APPROVAL_NODE_NAME);
}
break;
case MAIN_DRAFT_USER_RELEASE:
data = revisionData.getData();
curUserId = UserUtils.getUserId();