refactor(全局): 整理框架
This commit is contained in:
+9
-10
@@ -6,7 +6,6 @@ import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
@@ -160,13 +159,13 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
processAllService.update(updateWrapper);
|
||||
|
||||
// 对接统一平台生成待办任务
|
||||
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
||||
list.add(hiworkTodoAdd);
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
}
|
||||
|
||||
private void taskAssigned(ActivitiEvent event) {
|
||||
@@ -189,24 +188,24 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
if (!Objects.equals(assignee,userId)) {
|
||||
log.info("由"+userId+"转办给"+assignee);
|
||||
// 对接统一平台生成完成任务
|
||||
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
||||
hiworkTodoAdd.setType("2");
|
||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
||||
list.add(hiworkTodoAdd);
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
|
||||
// 对接统一平台生成办结
|
||||
pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
||||
// pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
||||
|
||||
// 生成被转办人的待办
|
||||
list.clear();
|
||||
hiworkTodoAdd.setToUserId(assignee);
|
||||
hiworkTodoAdd.setType("1");
|
||||
list.add(hiworkTodoAdd);
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -284,16 +283,16 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
processAllService.update(updateWrapper);
|
||||
|
||||
// 对接统一平台生成完成任务
|
||||
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
||||
list.add(hiworkTodoAdd);
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
|
||||
// 对接统一平台生成办结
|
||||
pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
||||
// pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
||||
}
|
||||
|
||||
private void activityComplete(ActivitiEvent event) {
|
||||
|
||||
-379
@@ -1,379 +0,0 @@
|
||||
package com.jero.modules.activiti.process.aspect;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.enums.VariableTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.common.EsInspectDelayApplyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.bpmn.model.Process;
|
||||
import org.activiti.bpmn.model.UserTask;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.annotation.AfterReturning;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Before;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @ClassName: 流程aop
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-12-07 15:45
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Aspect
|
||||
@Component
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public class ProcessAspect {
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private HistoryService historyService;
|
||||
@Resource
|
||||
private RepositoryService repositoryService;
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private ProcessNodeService processNodeService;
|
||||
private static final String PROCESS_ALL = "processAll";
|
||||
private static final List<String> SPECIAL_NODE = Arrays.asList(EsInspectPlanCommon.PROCESS_NODE_3);
|
||||
private static final String SAVE_BY_DRAFT = "2";
|
||||
/**
|
||||
* 强制撤回
|
||||
*/
|
||||
private static final String REVOCATION = "3";
|
||||
|
||||
|
||||
// 流程发起
|
||||
@Pointcut("execution(public * com.jero.modules.activiti.process..*Controller.flowStart(..))")
|
||||
public void processServiceFlowStart() {
|
||||
}
|
||||
|
||||
// 流程保存
|
||||
@Pointcut("execution(public * com.jero.modules.activiti.process..*Controller.flowSave(..))")
|
||||
public void processServiceFlowSave() {
|
||||
}
|
||||
|
||||
// 流程审批
|
||||
@Pointcut("execution(public * com.jero.modules.activiti.process..*Controller.flowApproval(..))")
|
||||
public void processServiceFlowApproval() {
|
||||
}
|
||||
|
||||
// 流程转办
|
||||
@Pointcut("execution(public * com.jero.modules.activiti.process..*Controller.flowTransfer(..))")
|
||||
public void processServiceFlowTransfer() {
|
||||
}
|
||||
|
||||
// 流程驳回
|
||||
@Pointcut("execution(public * com.jero.modules.activiti.process..*Controller.flowReject(..))")
|
||||
public void processServiceFlowReject() {
|
||||
}
|
||||
|
||||
@Before("processServiceFlowApproval() || processServiceFlowReject()")
|
||||
public void doBefore(JoinPoint jp) {
|
||||
log.info("==========流程合法性校验前置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
Map<String, Objects> map = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), Map.class);
|
||||
Object object = map.get(PROCESS_ALL);
|
||||
ProcessAll processAll = JSON.parseObject(JSON.toJSONString(object), ProcessAll.class);
|
||||
if (checkTaskExistence(processAll.getTaskId())){
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())){
|
||||
throw new JeroBootException("任务不存在!");
|
||||
}else {
|
||||
throw new JeroBootException("The task does not exist!");
|
||||
}
|
||||
}
|
||||
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (!getTaskAssignee(processAll.getTaskId()).equals(loginUser.getId())){
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())){
|
||||
throw new JeroBootException("非当前节点处理人!");
|
||||
}else {
|
||||
throw new JeroBootException("Not the current node processor!");
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("==========流程合法性校验前置方法结束==========");
|
||||
}
|
||||
|
||||
@Before("processServiceFlowReject()")
|
||||
public void doBeforeCountersignReject(JoinPoint jp){
|
||||
log.info("==========流程会签节点驳回一票否决前置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
Map<String, Objects> map = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), Map.class);
|
||||
Object object = map.get(PROCESS_ALL);
|
||||
ProcessAll processAll = JSON.parseObject(JSON.toJSONString(object), ProcessAll.class);
|
||||
|
||||
Object objectMap = map.get("map");
|
||||
Map<String, Object> stringObjectMap = JSON.parseObject(JSON.toJSONString(objectMap), Map.class);
|
||||
|
||||
if ((stringObjectMap.containsKey("pass") && !(boolean) stringObjectMap.get("pass")) && isMultiTask(processAll.getTaskId())){
|
||||
// 所有会签人数
|
||||
Integer all = (Integer) taskService.getVariable(processAll.getTaskId(), "nrOfInstances");
|
||||
taskService.setVariable(processAll.getTaskId(), "nrOfCompletedInstances", all);
|
||||
// 其他会签人员审批信息,更新状态为未处理
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
|
||||
.eq(ProcessApprovalRecord::getNodeId, processAll.getNodeId())
|
||||
.isNull(ProcessApprovalRecord::getEndTime)
|
||||
.ne(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, CommitFlagEnum.UNDISPOSED.getName())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.SUSPEND.getValue()));
|
||||
}
|
||||
}
|
||||
log.info("==========流程会签节点驳回一票否决前置方法结束==========");
|
||||
}
|
||||
|
||||
@AfterReturning("processServiceFlowReject()")
|
||||
@Order(1)
|
||||
public void doAfter(JoinPoint jp) {
|
||||
log.info("==========流程驳回,若驳回到的节点之前经过转办,则驳回到转办人手里后置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
Map<String, Objects> map = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), Map.class);
|
||||
Object object = map.get(PROCESS_ALL);
|
||||
ProcessAll processAll = JSON.parseObject(JSON.toJSONString(object), ProcessAll.class);
|
||||
|
||||
Object objectMap = map.get("map");
|
||||
Map<String, Object> stringObjectMap = JSON.parseObject(JSON.toJSONString(objectMap), Map.class);
|
||||
// 特殊节点排除
|
||||
if ((stringObjectMap.containsKey("pass") && !(boolean) stringObjectMap.get("pass")) && !SPECIAL_NODE.contains(processAll.getNodeId())){
|
||||
// 驳回的节点
|
||||
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordService.list(
|
||||
new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
|
||||
.orderByDesc(ProcessApprovalRecord::getCreateTime));
|
||||
if (!processApprovalRecordList.isEmpty()){
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordList.get(0);
|
||||
processApprovalRecordList.remove(0);
|
||||
Optional<ProcessApprovalRecord> optional = processApprovalRecordList.stream().filter(v ->
|
||||
v.getTaskName().equals(processApprovalRecord.getTaskName())
|
||||
&& v.getNodeId().equals(processApprovalRecord.getNodeId())).findFirst();
|
||||
optional.ifPresent(v -> {
|
||||
// 是否转办过
|
||||
if (StringUtils.isNotBlank(v.getTransferBy())){
|
||||
// 转办给转办人
|
||||
taskService.setAssignee(processApprovalRecord.getTaskId(), v.getUserId());
|
||||
// 更新流程审批记录表
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processApprovalRecord.getTaskId())
|
||||
.set(ProcessApprovalRecord::getUserId, v.getUserId())
|
||||
.set(ProcessApprovalRecord::getOriginUserId, v.getUserId()));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("==========流程驳回,若驳回到的节点之前经过转办,则驳回到转办人手里后置方法结束==========");
|
||||
}
|
||||
|
||||
@AfterReturning("processServiceFlowSave() || processServiceFlowStart()")
|
||||
public void doAfterFlowSave(JoinPoint jp) {
|
||||
log.info("==========流程保存到草稿后置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
Map<String, Objects> map = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), Map.class);
|
||||
Object processApprovalRecordObject = map.get("processApprovalRecord");
|
||||
String infoJsonStr = String.valueOf(map.get("infoJsonStr"));
|
||||
String saveSource = String.valueOf(map.get("saveSource"));
|
||||
Object processAllObject = map.get(PROCESS_ALL);
|
||||
if (!Objects.isNull(processApprovalRecordObject) && !Objects.isNull(processAllObject)){
|
||||
ProcessApprovalRecord processApprovalRecord = JSON.parseObject(JSON.toJSONString(processApprovalRecordObject), ProcessApprovalRecord.class);
|
||||
ProcessAll processAll = JSON.parseObject(JSON.toJSONString(processAllObject), ProcessAll.class);
|
||||
if (StringUtils.isBlank(processAll.getNodeId()) || SAVE_BY_DRAFT.equals(saveSource)){
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
setProperty(loginUser, infoJsonStr, processApprovalRecord, processAll, processDraft);
|
||||
// 删除旧草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
// 保存新草稿
|
||||
processDraftService.save(processDraft);
|
||||
|
||||
// 保存新草稿(强制撤回用)
|
||||
processDraft.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
processDraft.setSaveSource(REVOCATION);
|
||||
processDraft.setInfoJsonStr(processDraft.getInfoJsonStr().replaceFirst("\\{", "{\"revocation\": true,"));
|
||||
processDraftService.save(processDraft);
|
||||
|
||||
if (jp.getSignature().getName().equals("flowStart")){
|
||||
// 发起后删除草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, REVOCATION)
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("==========流程保存到草稿后置方法结束==========");
|
||||
}
|
||||
|
||||
@AfterReturning("processServiceFlowStart() || processServiceFlowApproval() || processServiceFlowReject()")
|
||||
public void doAfterRemoveDraft(JoinPoint jp) {
|
||||
log.info("==========流程发起、审批、驳回。删除草稿后置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
Map<String, Objects> map = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), Map.class);
|
||||
Object object = map.get(PROCESS_ALL);
|
||||
if (!Objects.isNull(object)){
|
||||
// 发起、审批、驳回
|
||||
ProcessAll processAll = JSON.parseObject(JSON.toJSONString(object), ProcessAll.class);
|
||||
// 删除草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, REVOCATION)
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
}
|
||||
}
|
||||
log.info("==========流程发起、审批、驳回。删除草稿后置方法结束==========");
|
||||
}
|
||||
|
||||
|
||||
@AfterReturning("processServiceFlowTransfer()")
|
||||
public void doAfterFlowTransfer(JoinPoint jp) {
|
||||
log.info("==========流程转办后置方法开始==========");
|
||||
if (!Objects.isNull(jp.getArgs())) {
|
||||
String taskId = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), String.class);
|
||||
String toUserId = JSON.parseObject(JSON.toJSONString(jp.getArgs()[1]), String.class);
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
|
||||
String processInstanceId = processApprovalRecord.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||
Task task = taskService.createTaskQuery().taskId(processApprovalRecord.getTaskId()).singleResult();
|
||||
// 查询节点信息
|
||||
ProcessNode processNode = processNodeService.getOne(
|
||||
new LambdaQueryWrapper<ProcessNode>()
|
||||
.eq(ProcessNode::getProcessDefinitionId, processAll.getProcessDefinitionId())
|
||||
.eq(ProcessNode::getXmlNodeId, processApprovalRecord.getNodeId()));
|
||||
if (!Objects.isNull(processNode) && VariableTypeEnum.STRING.getName().equals(processNode.getVariableType())){
|
||||
runtimeService.setVariable(task.getExecutionId(), processNode.getVariableName(), toUserId);
|
||||
}
|
||||
// 稽查延期申请流程 稽查联络人评估 节点特殊处理
|
||||
if (ProcessTypeEnum.ES_INSPECT_DELAY_APPLY.getValue().equals(processAll.getPrcType())
|
||||
&& EsInspectDelayApplyCommon.PROCESS_NODE_3.equals(processApprovalRecord.getNodeId())){
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
IProcessEsInspectDelayApplyService processEsInspectDelayApplyService = SpringContextUtil.getBean(IProcessEsInspectDelayApplyService.class);
|
||||
processEsInspectDelayApplyService.update(
|
||||
new LambdaUpdateWrapper<ProcessEsInspectDelayApply>()
|
||||
.eq(ProcessEsInspectDelayApply::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessEsInspectDelayApply::getLiaisons, loginUser.getId())
|
||||
.set(ProcessEsInspectDelayApply::getLiaisons, toUserId));
|
||||
}
|
||||
}
|
||||
log.info("==========流程转办后置方法结束==========");
|
||||
}
|
||||
|
||||
private static void setProperty(LoginUser loginUser, String infoJsonStr, ProcessApprovalRecord processApprovalRecord, ProcessAll processAll, ProcessDraft processDraft) {
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processAll, processDraft);
|
||||
processDraft.setCreateBy("");
|
||||
processDraft.setId("");
|
||||
processDraft.setUpdateBy("");
|
||||
Date date = new Date();
|
||||
if (Objects.isNull(processAll.getCreateTime())){
|
||||
processDraft.setCreateTime(date);
|
||||
}else {
|
||||
processDraft.setCreateTime(processAll.getCreateTime());
|
||||
}
|
||||
processDraft.setUpdateBy("");
|
||||
processDraft.setUpdateTime(date);
|
||||
// 保存草稿表
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(processApprovalRecord.getCommitFile())){
|
||||
processDraft.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
}
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(processApprovalRecord.getCommitText())){
|
||||
processDraft.setHandleText(processApprovalRecord.getCommitText());
|
||||
}
|
||||
if (!Objects.isNull(processAll.getDueTime())){
|
||||
processDraft.setProcessDueDate(processAll.getDueTime());
|
||||
}
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(processAll.getPrcMes())){
|
||||
processDraft.setProcessDescription(processAll.getPrcMes());
|
||||
}
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(infoJsonStr)){
|
||||
processDraft.setInfoJsonStr(infoJsonStr);
|
||||
}
|
||||
processDraft.setUserId(loginUser.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否会签节点
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
public boolean isMultiTask(String taskId){
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.taskId(taskId)
|
||||
.singleResult();
|
||||
// 获取流程实例对象
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(task.getProcessInstanceId())
|
||||
.singleResult();
|
||||
// 获取流程定义对象,主要用于判断流程任务结点是否为会签结点
|
||||
Process process = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId())
|
||||
.getProcessById(historicProcessInstance.getProcessDefinitionKey());
|
||||
// 获取当前任务结点
|
||||
Optional<UserTask> userTask = process.getFlowElements().stream()
|
||||
.filter(flowElement -> task.getTaskDefinitionKey().equals(flowElement.getId()))
|
||||
.map(UserTask.class::cast)
|
||||
.findAny();
|
||||
return userTask.isPresent() && !Objects.isNull(userTask.get().getLoopCharacteristics());
|
||||
}
|
||||
|
||||
public boolean checkTaskExistence(String taskId) {
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
return Objects.isNull(task);
|
||||
}
|
||||
|
||||
public String getTaskAssignee(String taskId) {
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
return task.getAssignee();
|
||||
}
|
||||
}
|
||||
+2
-56
@@ -1,12 +1,10 @@
|
||||
package com.jero.modules.activiti.process.common.service;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
@@ -17,14 +15,8 @@ import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.entity.StandTypeVO;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
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.ProcessApprovalRecordService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
@@ -40,7 +32,6 @@ import org.activiti.engine.runtime.Execution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -77,9 +68,6 @@ public class ActFlowCommonService {
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@@ -249,7 +237,6 @@ public class ActFlowCommonService {
|
||||
* 转办
|
||||
*/
|
||||
public void transfer(String taskId, String toUserId) {
|
||||
processHandleService.transfer(taskId, toUserId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -484,56 +471,15 @@ public class ActFlowCommonService {
|
||||
* @param jsonData
|
||||
*/
|
||||
public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) {
|
||||
ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, data);
|
||||
processHandleService.saveToDraft(processInfoVo);
|
||||
|
||||
}
|
||||
|
||||
public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) {
|
||||
ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, jsonData);
|
||||
processHandleService.saveToDraft(processInfoVo);
|
||||
|
||||
}
|
||||
|
||||
public void saveFirstNodeDraftCustomUserId(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData, String userId) {
|
||||
ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, jsonData);
|
||||
processHandleService.saveToDraftCustomUserId(processInfoVo, userId);
|
||||
}
|
||||
|
||||
private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) {
|
||||
// 将archiveData转为Json
|
||||
String dataJson = JSON.toJSONString(data);
|
||||
ProcessInfoVO<ESArchiveDataVO> processInfoVO = new ProcessInfoVO<>();
|
||||
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
|
||||
basicTaskInfoDTO.setHandleFile(common.getCommitFile());
|
||||
basicTaskInfoDTO.setHandleText(common.getCommitText());
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(common.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(common.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessType(processTypeEnum.getValue());
|
||||
basicProcessInfoDTO.setProcessDueDate(common.getDueTime());
|
||||
basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId());
|
||||
processInfoVO.setInfoJsonStr(dataJson);
|
||||
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) {
|
||||
ProcessInfoVO<ESArchiveDataVO> processInfoVO = new ProcessInfoVO<>();
|
||||
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
|
||||
basicTaskInfoDTO.setHandleFile(common.getCommitFile());
|
||||
basicTaskInfoDTO.setHandleText(common.getCommitText());
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(common.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(common.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessType(processTypeEnum.getValue());
|
||||
basicProcessInfoDTO.setProcessDueDate(common.getDueTime());
|
||||
basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId());
|
||||
processInfoVO.setInfoJsonStr(jsonData);
|
||||
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
public void checkStandardState(String standardId) {
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:56
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsDeclareCommon {
|
||||
private EsDeclareCommon(){
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程key
|
||||
*/
|
||||
public static final String KEY = "standard_declare";
|
||||
|
||||
/**
|
||||
* 标准宣贯流程name
|
||||
*/
|
||||
public static final String NAME = "标准宣贯流程";
|
||||
|
||||
/**
|
||||
* 标准宣贯流程节点: 1:发起人发起
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "initiator_start";
|
||||
}
|
||||
-92
@@ -1,92 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IEsDeclareFlowService;
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareController
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:58
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="标准宣贯流程")
|
||||
@RestController
|
||||
@RequestMapping("/esinspect/esDeclareFlowController")
|
||||
@Slf4j
|
||||
public class EsDeclareFlowController {
|
||||
private final IEsDeclareFlowService esDeclareFlowService;
|
||||
|
||||
public EsDeclareFlowController(IEsDeclareFlowService esDeclareFlowService) {
|
||||
this.esDeclareFlowService = esDeclareFlowService;
|
||||
}
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-生成项目id")
|
||||
@ApiOperation(value="标准宣贯流程-生成项目id", notes="标准宣贯流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程发起
|
||||
* @param esDeclareFlowVO 标准宣贯流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-流程发起")
|
||||
@ApiOperation(value="标准宣贯流程-流程发起", notes="标准宣贯流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsDeclareFlowVO esDeclareFlowVO) {
|
||||
esDeclareFlowService.flowStart(esDeclareFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-办理详情")
|
||||
@ApiOperation(value="标准宣贯流程-办理详情", notes="标准宣贯流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsDeclareFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esDeclareFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程保存
|
||||
* @param esDeclareFlowVO 标准宣贯流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-流程保存")
|
||||
@ApiOperation(value="标准宣贯流程-流程保存", notes="标准宣贯流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsDeclareFlowVO esDeclareFlowVO) {
|
||||
esDeclareFlowService.flowSave(esDeclareFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
}
|
||||
-180
@@ -1,180 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="标准宣贯业务表")
|
||||
@RestController
|
||||
@RequestMapping("/esdeclare/processEsDeclare")
|
||||
@Slf4j
|
||||
public class ProcessEsDeclareController extends JeroController<ProcessEsDeclare, IProcessEsDeclareService> {
|
||||
@Autowired
|
||||
private IProcessEsDeclareService processEsDeclareService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-分页列表查询")
|
||||
@ApiOperation(value="标准宣贯业务表-分页列表查询", notes="标准宣贯业务表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<ProcessEsDeclare>> queryPageList(ProcessEsDeclare processEsDeclare,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<ProcessEsDeclare> pageList = processEsDeclareService.queryPage(processEsDeclare, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-列表查询")
|
||||
@ApiOperation(value="标准宣贯业务表-列表查询", notes="标准宣贯业务表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProcessEsDeclare>> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req) {
|
||||
List<ProcessEsDeclare> list = processEsDeclareService.queryList(processEsDeclare, req);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-添加")
|
||||
@ApiOperation(value="标准宣贯业务表-添加", notes="标准宣贯业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsDeclare processEsDeclare) {
|
||||
processEsDeclareService.add(processEsDeclare);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-编辑")
|
||||
@ApiOperation(value="标准宣贯业务表-编辑", notes="标准宣贯业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsDeclare processEsDeclare) {
|
||||
processEsDeclareService.editById(processEsDeclare);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过id删除")
|
||||
@ApiOperation(value="标准宣贯业务表-通过id删除", notes="标准宣贯业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsDeclareService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-批量删除")
|
||||
@ApiOperation(value="标准宣贯业务表-批量删除", notes="标准宣贯业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsDeclareService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过id查询")
|
||||
@ApiOperation(value="标准宣贯业务表-通过id查询", notes="标准宣贯业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsDeclare> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryById(id);
|
||||
if(processEsDeclare==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过项目id查询
|
||||
*
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过项目id查询")
|
||||
@ApiOperation(value="标准宣贯业务表-通过项目id查询", notes="标准宣贯业务表-通过项目id查询")
|
||||
@GetMapping(value = "/queryByProjectId")
|
||||
public Result<ProcessEsDeclare> queryByProjectId(String projectId) {
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryByProjectId(projectId);
|
||||
if(processEsDeclare==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsDeclare
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsDeclare processEsDeclare) {
|
||||
return super.exportXls(request, processEsDeclare, ProcessEsDeclare.class, "标准宣贯业务表");
|
||||
}
|
||||
}
|
||||
-94
@@ -1,94 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_declare")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_declare对象", description="企标宣贯业务表")
|
||||
public class ProcessEsDeclare extends BaseEntity {
|
||||
/**企标id*/
|
||||
@Excel(name = "企标id", width = 15)
|
||||
@ApiModelProperty(value = "企标id")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardId;
|
||||
/**企标编号*/
|
||||
@Excel(name = "企标编号", width = 15)
|
||||
@ApiModelProperty(value = "企标编号")
|
||||
private java.lang.String standardNo;
|
||||
/**企标名称*/
|
||||
@Excel(name = "企标名称", width = 15)
|
||||
@ApiModelProperty(value = "企标名称")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardName;
|
||||
/**宣贯日期*/
|
||||
@Excel(name = "宣贯日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "宣贯日期")
|
||||
private java.util.Date declareDate;
|
||||
/**宣贯人*/
|
||||
@Excel(name = "宣贯人", width = 15)
|
||||
@ApiModelProperty(value = "宣贯人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String declareUser;
|
||||
/**宣贯人 翻译*/
|
||||
@ApiModelProperty(value = "宣贯人 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String declareUserDictText;
|
||||
/**主题*/
|
||||
@Excel(name = "主题", width = 15)
|
||||
@ApiModelProperty(value = "主题")
|
||||
private java.lang.String declareTopic;
|
||||
/**相关材料*/
|
||||
@Excel(name = "相关材料", width = 15)
|
||||
@ApiModelProperty(value = "相关材料")
|
||||
private java.lang.String declareFile;
|
||||
/**内容*/
|
||||
@Excel(name = "内容", width = 15)
|
||||
@ApiModelProperty(value = "内容")
|
||||
private java.lang.String declareContent;
|
||||
/**主送部门*/
|
||||
@Excel(name = "主送部门", width = 15)
|
||||
@ApiModelProperty(value = "主送部门")
|
||||
private java.lang.String mainDepart;
|
||||
/**参宣单位*/
|
||||
@Excel(name = "参宣单位", width = 15)
|
||||
@ApiModelProperty(value = "参宣单位")
|
||||
private java.lang.String attendUnit;
|
||||
/**联络人*/
|
||||
@ApiModelProperty(value = "联络人")
|
||||
private java.lang.String initiator;
|
||||
/**联络人 翻译*/
|
||||
@ApiModelProperty(value = "联络人 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String initiatorDictText;
|
||||
/**紧急程度(1:一般 2:急)*/
|
||||
@Excel(name = "紧急程度(1:一般 2:急)", width = 15)
|
||||
@ApiModelProperty(value = "紧急程度(1:一般 2:急)")
|
||||
@Dict(dicCode = "emergency_degree")
|
||||
private java.lang.String emergencyDegree;
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsDeclareMapper extends BaseMapper<ProcessEsDeclare> {
|
||||
|
||||
}
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esdeclare.mapper.ProcessEsDeclareMapper">
|
||||
</mapper>
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
|
||||
/**
|
||||
* @InterfaceName: IEsDeclareService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 10:11
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsDeclareFlowService {
|
||||
/**
|
||||
* 标准宣贯流程-流程发起
|
||||
* @param esDeclareFlowVO
|
||||
*/
|
||||
void flowStart(EsDeclareFlowVO esDeclareFlowVO);
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程保存
|
||||
* @param esDeclareFlowVO
|
||||
*/
|
||||
void flowSave(EsDeclareFlowVO esDeclareFlowVO);
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-办理详情
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsDeclareFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
}
|
||||
-84
@@ -1,84 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsDeclareService extends IService<ProcessEsDeclare> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsDeclare> queryPage(ProcessEsDeclare processEsDeclare, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsDeclare> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsDeclare processEsDeclare);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsDeclare processEsDeclare);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsDeclare queryById(String id);
|
||||
|
||||
/**
|
||||
* 标准宣贯业务表-通过项目id查询
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
ProcessEsDeclare queryByProjectId(String projectId);
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsDeclareFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_declare", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-264
@@ -1,264 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esdeclare.common.EsDeclareCommon;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IEsDeclareFlowService;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardDeclare;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardDeclareService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 10:11
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class EsDeclareFlowServiceImpl implements IEsDeclareFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsDeclareService processEsDeclareService;
|
||||
private final EnterpriseStandardDeclareService enterpriseStandardDeclareService;
|
||||
private final IOSSFileService ossFileService;
|
||||
private final SendMessageAPI sendMessageAPI;
|
||||
private final ISysUserService sysUserService;
|
||||
|
||||
public EsDeclareFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsDeclareService processEsDeclareService,
|
||||
EnterpriseStandardDeclareService enterpriseStandardDeclareService,
|
||||
IOSSFileService ossFileService,
|
||||
SendMessageAPI sendMessageAPI,
|
||||
ISysUserService sysUserService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsDeclareService = processEsDeclareService;
|
||||
this.enterpriseStandardDeclareService = enterpriseStandardDeclareService;
|
||||
this.ossFileService = ossFileService;
|
||||
this.sendMessageAPI = sendMessageAPI;
|
||||
this.sysUserService = sysUserService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void flowStart(EsDeclareFlowVO esDeclareFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esDeclareFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esDeclareFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esDeclareFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsDeclareCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 保存业务表
|
||||
ProcessEsDeclare processEsDeclares = esDeclareFlowVO.getProcessEsDeclare();
|
||||
processEsDeclareService.saveOrUpdate(processEsDeclares);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.STANDARD_DECLARE.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
|
||||
// 发起即结束
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryByProjectId(processAll.getProjectId());
|
||||
// 保存数据至企标宣贯
|
||||
EnterpriseStandardDeclare enterpriseStandardDeclare = new EnterpriseStandardDeclare();
|
||||
BeanUtils.copyProperties(processEsDeclare, enterpriseStandardDeclare);
|
||||
enterpriseStandardDeclare.setCreateTime(null);
|
||||
enterpriseStandardDeclare.setUpdateTime(null);
|
||||
enterpriseStandardDeclareService.save(enterpriseStandardDeclare);
|
||||
// 保存企标关联文件
|
||||
if (!Objects.isNull(processEsDeclare.getDeclareFile()) && StringUtils.isNotBlank(enterpriseStandardDeclare.getStandardId())){
|
||||
List<String> list = Arrays.asList(processEsDeclare.getDeclareFile().split(","));
|
||||
ossFileService.update(
|
||||
new LambdaUpdateWrapper<OSSFile>()
|
||||
.in(OSSFile::getId, list)
|
||||
.set(OSSFile::getStandardId, enterpriseStandardDeclare.getStandardId())
|
||||
.set(OSSFile::getStandardNo, enterpriseStandardDeclare.getStandardNo())
|
||||
.set(OSSFile::getStandardFileType, "associated_file"));
|
||||
}
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.STANDARD_DECLARE);
|
||||
sendMessageDTO.setToUserId(processEsDeclare.getInitiator());
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("standardNumber", processEsDeclare.getStandardNo());
|
||||
sendMap.put("standardName", processEsDeclare.getStandardName());
|
||||
sendMap.put("declareUser", sysUserService.dictByIdsOrUserNames(processEsDeclare.getDeclareUser(), ""));
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsDeclareFlowVO esDeclareFlowVO) {
|
||||
// 企标宣贯业务表
|
||||
processEsDeclareService.saveOrUpdate(esDeclareFlowVO.getProcessEsDeclare());
|
||||
// 流程信息
|
||||
ProcessAll processAll = esDeclareFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esDeclareFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsDeclareFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsDeclareFlowVO esDeclareFlowVO = new EsDeclareFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
esDeclareFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
esDeclareFlowVO.setProcessAll(processAll);
|
||||
esDeclareFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esDeclareFlowVO;
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
}
|
||||
-156
@@ -1,156 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.mapper.ProcessEsDeclareMapper;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.laws.system.service.ILawsContactManageService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsDeclareServiceImpl extends ServiceImpl<ProcessEsDeclareMapper, ProcessEsDeclare> implements IProcessEsDeclareService {
|
||||
|
||||
private final ISysUserService sysUserService;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final ILawsContactManageService lawsContactManageService;
|
||||
|
||||
public ProcessEsDeclareServiceImpl(ISysUserService sysUserService,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
ILawsContactManageService lawsContactManageService) {
|
||||
this.sysUserService = sysUserService;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.lawsContactManageService = lawsContactManageService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsDeclare> queryPage(ProcessEsDeclare processEsDeclare, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessEsDeclare> queryWrapper = QueryGenerator.initQueryWrapper(processEsDeclare, req.getParameterMap());
|
||||
Page<ProcessEsDeclare> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsDeclare> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(processEsDeclare, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsDeclare processEsDeclare) {
|
||||
Date now = new Date();
|
||||
processEsDeclare.setCreateTime(now);
|
||||
processEsDeclare.setUpdateTime(now);
|
||||
save(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsDeclare processEsDeclare) {
|
||||
Date now = new Date();
|
||||
processEsDeclare.setUpdateTime(now);
|
||||
saveOrUpdate(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsDeclare queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessEsDeclare queryByProjectId(String projectId) {
|
||||
ProcessEsDeclare processEsDeclare = getOne(new LambdaQueryWrapper<ProcessEsDeclare>().eq(ProcessEsDeclare::getProjectId, projectId), false);
|
||||
if (!Objects.isNull(processEsDeclare)){
|
||||
// 标准名称
|
||||
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getOne(
|
||||
new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, processEsDeclare.getStandardNo()), false);
|
||||
if (!Objects.isNull(lawsEnterpriseStandard)){
|
||||
processEsDeclare.setStandardId(lawsEnterpriseStandard.getId());
|
||||
processEsDeclare.setStandardName(lawsEnterpriseStandard.getStandardName());
|
||||
}
|
||||
// 宣贯人
|
||||
processEsDeclare.setDeclareUserDictText(sysUserService.dictByIdsOrUserNames(processEsDeclare.getDeclareUser(), ""));
|
||||
// 联络人
|
||||
processEsDeclare.setInitiatorDictText(sysUserService.dictByIdsOrUserNames(processEsDeclare.getInitiator(), ""));
|
||||
}
|
||||
return processEsDeclare;
|
||||
}
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDEclareFlowVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:57
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsDeclareFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private ProcessEsDeclare processEsDeclare;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
/**
|
||||
* 保存来源
|
||||
*/
|
||||
@ApiModelProperty(value="保存来源(1:待办 2:草稿)")
|
||||
private String saveSource;
|
||||
}
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectCpmmon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 13:47
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsInspectCommon {
|
||||
private EsInspectCommon(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程key
|
||||
*/
|
||||
public static final String KEY = "inspect_process";
|
||||
|
||||
/**
|
||||
* 企标稽查流程name
|
||||
*/
|
||||
public static final String NAME = "企业稽查流程";
|
||||
|
||||
/**
|
||||
* 企标稽查流程节点: 1:稽查负责人发起,2:负责人主管级领导审批,3:稽查负责人上传稽查报告和整改计划,4:负责人主管级领导审批,5:相关人员会签
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "responsible_start";
|
||||
/**
|
||||
* 企标稽查流程节点: 1:稽查负责人发起,2:负责人主管级领导审批,3:稽查负责人上传稽查报告和整改计划,4:负责人主管级领导审批,5:相关人员会签
|
||||
*/
|
||||
public static final String PROCESS_NODE_2 = "leader_approval";
|
||||
/**
|
||||
* 企标稽查流程节点: 1:稽查负责人发起,2:负责人主管级领导审批,3:稽查负责人上传稽查报告和整改计划,4:负责人主管级领导审批,5:相关人员会签
|
||||
*/
|
||||
public static final String PROCESS_NODE_3 = "responsible_upload";
|
||||
/**
|
||||
* 企标稽查流程节点: 1:稽查负责人发起,2:负责人主管级领导审批,3:稽查负责人上传稽查报告和整改计划,4:负责人主管级领导审批,5:相关人员会签
|
||||
*/
|
||||
public static final String PROCESS_NODE_4 = "leader_approval_again";
|
||||
/**
|
||||
* 企标稽查流程节点: 1:稽查负责人发起,2:负责人主管级领导审批,3:稽查负责人上传稽查报告和整改计划,4:负责人主管级领导审批,5:相关人员会签
|
||||
*/
|
||||
public static final String PROCESS_NODE_5 = "involve_countersign";
|
||||
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_1 = "1";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_2 = "2";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_3 = "3";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_4 = "4";
|
||||
}
|
||||
-127
@@ -1,127 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IEsInspectFlowService;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.EsInspectFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectFlowController
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-23 09:22
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="企标稽查流程")
|
||||
@RestController
|
||||
@RequestMapping("/esinspect/esInspectFlowController")
|
||||
@Slf4j
|
||||
public class EsInspectFlowController {
|
||||
private final IEsInspectFlowService esInspectFlowService;
|
||||
|
||||
public EsInspectFlowController(@Lazy IEsInspectFlowService esInspectFlowService) {
|
||||
this.esInspectFlowService = esInspectFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-生成项目id")
|
||||
@ApiOperation(value="企标稽查流程-生成项目id", notes="企标稽查流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程发起
|
||||
* @param esInspectFlowVO 企标稽查流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-流程发起")
|
||||
@ApiOperation(value="企标稽查流程-流程发起", notes="企标稽查流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsInspectFlowVO esInspectFlowVO) {
|
||||
esInspectFlowService.flowStart(esInspectFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程保存
|
||||
* @param esInspectFlowVO 企标稽查流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-流程保存")
|
||||
@ApiOperation(value="企标稽查流程-流程保存", notes="企标稽查流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsInspectFlowVO esInspectFlowVO) {
|
||||
esInspectFlowService.flowSave(esInspectFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 企标稽查流程-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-办理详情")
|
||||
@ApiOperation(value="企标稽查流程-办理详情", notes="企标稽查流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsInspectFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esInspectFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程审批
|
||||
* @param esInspectFlowVO 企标稽查流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-流程审批")
|
||||
@ApiOperation(value="企标稽查流程-流程审批", notes="企标稽查流程-流程审批")
|
||||
@PostMapping(value = "/flowApproval")
|
||||
public Result<T> flowApproval(@RequestBody EsInspectFlowVO esInspectFlowVO) {
|
||||
// TODO: 稽查内容回显通过企标制修订创建的稽查内容
|
||||
esInspectFlowService.flowApproval(esInspectFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-驳回
|
||||
* @param esInspectFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-驳回")
|
||||
@ApiOperation(value="企标稽查流程-驳回", notes="企标稽查流程-驳回")
|
||||
@PostMapping(value = "/flowReject")
|
||||
public Result<T> flowReject(@RequestBody EsInspectFlowVO esInspectFlowVO) {
|
||||
log.info("");
|
||||
esInspectFlowService.flowApproval(esInspectFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程转办
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程-流程转办")
|
||||
@ApiOperation(value="企标稽查流程-流程转办", notes="企标稽查流程-流程转办")
|
||||
@GetMapping(value = "/flowTransfer")
|
||||
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
|
||||
esInspectFlowService.flowTransfer(taskId, userId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-180
@@ -1,180 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="企标稽查流程业务表")
|
||||
@RestController
|
||||
@RequestMapping("/esinspect/processEsInspect")
|
||||
@Slf4j
|
||||
public class ProcessEsInspectController extends JeroController<ProcessEsInspect, IProcessEsInspectService> {
|
||||
private final IProcessEsInspectService processEsInspectService;
|
||||
|
||||
public ProcessEsInspectController(IProcessEsInspectService processEsInspectService) {
|
||||
this.processEsInspectService = processEsInspectService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsInspectVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-分页列表查询")
|
||||
@ApiOperation(value="企标稽查流程业务表-分页列表查询", notes="企标稽查流程业务表-分页列表查询")
|
||||
@GetMapping(value = "/queryByPage")
|
||||
@Translation
|
||||
public Result<IPage<ProcessEsInspectVO>> queryByPage(ProcessEsInspectVO processEsInspectVO,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
return Result.OK(processEsInspectService.queryByPage(processEsInspectVO, pageNo, pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-列表查询")
|
||||
@ApiOperation(value="企标稽查流程业务表-列表查询", notes="企标稽查流程业务表-列表查询")
|
||||
@GetMapping(value = "/queryByList")
|
||||
@Translation
|
||||
public Result<List<ProcessEsInspectVO>> queryByList(ProcessEsInspectVO processEsInspectVO) {
|
||||
return Result.OK(processEsInspectService.queryByList(processEsInspectVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标文件查询
|
||||
*
|
||||
* @param inspectId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-企标文件查询")
|
||||
@ApiOperation(value="企标稽查流程业务表-企标文件查询", notes="企标稽查流程业务表-企标文件查询")
|
||||
@GetMapping(value = "/queryFileByInspectId")
|
||||
@Translation
|
||||
public Result<OSSFile> queryFileByInspectId(String inspectId) {
|
||||
return Result.OK(processEsInspectService.queryFileByInspectId(inspectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-添加")
|
||||
@ApiOperation(value="企标稽查流程业务表-添加", notes="企标稽查流程业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsInspect processEsInspect) {
|
||||
processEsInspectService.add(processEsInspect);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-编辑")
|
||||
@ApiOperation(value="企标稽查流程业务表-编辑", notes="企标稽查流程业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsInspect processEsInspect) {
|
||||
processEsInspectService.editById(processEsInspect);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-通过id删除")
|
||||
@ApiOperation(value="企标稽查流程业务表-通过id删除", notes="企标稽查流程业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsInspectService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-批量删除")
|
||||
@ApiOperation(value="企标稽查流程业务表-批量删除", notes="企标稽查流程业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsInspectService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查流程业务表-通过id查询")
|
||||
@ApiOperation(value="企标稽查流程业务表-通过id查询", notes="企标稽查流程业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsInspect> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsInspect processEsInspect = processEsInspectService.queryById(id);
|
||||
if(processEsInspect==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsInspect);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsInspect
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspect processEsInspect) {
|
||||
return super.exportXls(request, processEsInspect, ProcessEsInspect.class, "企标稽查流程业务表");
|
||||
}
|
||||
}
|
||||
-72
@@ -1,72 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_inspect")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_inspect对象", description="企标稽查流程业务表")
|
||||
public class ProcessEsInspect extends BaseEntity {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
/**企标稽查id*/
|
||||
@Excel(name = "企标稽查id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查id")
|
||||
private java.lang.String inspectId;
|
||||
/**实际稽查完成日期*/
|
||||
@Excel(name = "实际稽查完成日期", width = 15)
|
||||
@ApiModelProperty(value = "实际稽查完成日期")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private Date completeDate;
|
||||
/**实际稽查人*/
|
||||
@Excel(name = "实际稽查人", width = 15)
|
||||
@ApiModelProperty(value = "实际稽查人")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.lang.String actualInspectUser;
|
||||
|
||||
/**稽查内容*/
|
||||
@ApiModelProperty(value = "稽查内容")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList;
|
||||
/**稽查报告*/
|
||||
@ApiModelProperty(value = "稽查报告")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList;
|
||||
/**整改计划*/
|
||||
@ApiModelProperty(value = "整改计划")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList;
|
||||
/**ids 添加用*/
|
||||
@ApiModelProperty(value = "ids 添加用")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String ids;
|
||||
}
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsInspectMapper extends BaseMapper<ProcessEsInspect> {
|
||||
|
||||
/**
|
||||
* 企标稽查流程业务表-分页查询
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectVO> queryByPage(IPage<ProcessEsInspectVO> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectVO> queryWrapper);
|
||||
|
||||
/**
|
||||
* 企标稽查流程业务表-列表查询
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectVO> queryByList(@Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectVO> queryWrapper);
|
||||
}
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esinspect.mapper.ProcessEsInspectMapper">
|
||||
|
||||
<select id="queryByPage" resultType="com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO">
|
||||
<include refid="select_process_es_inspect"/>
|
||||
</select>
|
||||
|
||||
<select id="queryByList" resultType="com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO">
|
||||
<include refid="select_process_es_inspect"/>
|
||||
</select>
|
||||
|
||||
<sql id="select_process_es_inspect">
|
||||
select *
|
||||
from (select pesi.id,
|
||||
pesi.create_by,
|
||||
pesi.create_time,
|
||||
pesi.update_by,
|
||||
pesi.update_time,
|
||||
pesi.del_flag,
|
||||
pesi.project_id,
|
||||
pesi.inspect_id,
|
||||
pesi.complete_date,
|
||||
pesi.actual_inspect_user,
|
||||
inspect_no,
|
||||
(IF(les.standard_number is not null, les.standard_name, inspect_name)) inspect_name,
|
||||
standardization_work_group,
|
||||
belong_dept,
|
||||
plan_inspect_date,
|
||||
inspect_user,
|
||||
standardization_docking_user,
|
||||
inspect_status,
|
||||
group_concat(lesio.plan_inspect_object separator ',') plan_inspect_object,
|
||||
(select count(id) count from laws_enterprise_standard_inspect_content where process_es_inspect_id = pesi.id) standard_inspect_content_count
|
||||
from process_es_inspect pesi
|
||||
left join laws_enterprise_standard_inspect lesi on pesi.inspect_id = lesi.id
|
||||
left join laws_enterprise_standard les on lesi.inspect_no = les.standard_number and les.del_flag = '0'
|
||||
left join laws_enterprise_standard_inspect_object lesio on lesi.id = lesio.inspect_id
|
||||
group by pesi.id) t
|
||||
${ew.customSqlSegment}
|
||||
</sql>
|
||||
</mapper>
|
||||
-46
@@ -1,46 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esinspect.vo.EsInspectFlowVO;
|
||||
|
||||
/**
|
||||
* @InterfaceName: IEsInspectFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-23 09:23
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsInspectFlowService {
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程发起
|
||||
* @param esInspectFlowVO
|
||||
*/
|
||||
void flowStart(EsInspectFlowVO esInspectFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程保存
|
||||
* @param esInspectFlowVO
|
||||
*/
|
||||
void flowSave(EsInspectFlowVO esInspectFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-办理详情
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsInspectFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程审批
|
||||
* @param esInspectFlowVO
|
||||
*/
|
||||
void flowApproval(EsInspectFlowVO esInspectFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程转办
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
}
|
||||
-102
@@ -1,102 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsInspectService extends IService<ProcessEsInspect> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspect> queryPage(ProcessEsInspect processEsInspect, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspect> queryList(ProcessEsInspect processEsInspect, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsInspect processEsInspect);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsInspect processEsInspect);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspect queryById(String id);
|
||||
|
||||
/**
|
||||
* 企标稽查流程业务表-分页查询
|
||||
* @param processEsInspectVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectVO> queryByPage(ProcessEsInspectVO processEsInspectVO, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 企标稽查流程业务表-列表查询
|
||||
* @param processEsInspectVO
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectVO> queryByList(ProcessEsInspectVO processEsInspectVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程业务表-企标文件查询
|
||||
* @param inspectId
|
||||
* @return
|
||||
*/
|
||||
OSSFile queryFileByInspectId(String inspectId);
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_inspect", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-543
@@ -1,543 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esinspect.common.EsInspectCommon;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IEsInspectFlowService;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.EsInspectFlowVO;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.common.EsInspectRectifyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspect;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectContentService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectReportService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectFlowServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-23 09:25
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsInspectService processEsInspectService;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
||||
private final EnterpriseStandardInspectContentService enterpriseStandardInspectContentService;
|
||||
private final EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService;
|
||||
private final EnterpriseStandardInspectReportService enterpriseStandardInspectReportService;
|
||||
private final IEsInspectRectifyFlowService esInspectReportFlowService;
|
||||
private final IProcessEsInspectRectifyService processEsInspectRectifyService;
|
||||
public EsInspectFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsInspectService processEsInspectService,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
||||
EnterpriseStandardInspectContentService enterpriseStandardInspectContentService,
|
||||
EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService,
|
||||
EnterpriseStandardInspectReportService enterpriseStandardInspectReportService,
|
||||
IEsInspectRectifyFlowService esInspectReportFlowService,
|
||||
IProcessEsInspectRectifyService processEsInspectReportService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsInspectService = processEsInspectService;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
||||
this.enterpriseStandardInspectContentService = enterpriseStandardInspectContentService;
|
||||
this.enterpriseStandardInspectRectifyPlanService = enterpriseStandardInspectRectifyPlanService;
|
||||
this.enterpriseStandardInspectReportService = enterpriseStandardInspectReportService;
|
||||
this.esInspectReportFlowService = esInspectReportFlowService;
|
||||
this.processEsInspectRectifyService = processEsInspectReportService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@Override
|
||||
public void flowStart(EsInspectFlowVO esInspectFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectFlowVO);
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
|
||||
// 更新企标稽查状态
|
||||
updateLawsEnterpriseStandardStatus(processAll.getProjectId());
|
||||
}
|
||||
|
||||
private void handleBusinessData(EsInspectFlowVO esInspectFlowVO) {
|
||||
List<ProcessEsInspect> processEsInspectList = esInspectFlowVO.getProcessEsInspectList();
|
||||
// 删除数据
|
||||
if (StringUtils.isNotBlank(esInspectFlowVO.getProcessAllDelIds())){
|
||||
List<String> idList = Arrays.asList(esInspectFlowVO.getProcessAllDelIds().split(","));
|
||||
processEsInspectService.removeByIds(idList);
|
||||
enterpriseStandardInspectContentService.removeByIds(idList);
|
||||
enterpriseStandardInspectReportService.removeByIds(idList);
|
||||
enterpriseStandardInspectRectifyPlanService.removeByIds(idList);
|
||||
}
|
||||
ProcessAll processAll = esInspectFlowVO.getProcessAll();
|
||||
String projectId = processAll.getProjectId();
|
||||
processEsInspectList.stream().map(v -> {
|
||||
if (StringUtils.isBlank(v.getId())){
|
||||
v.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
}
|
||||
v.setProjectId(projectId);
|
||||
return v;
|
||||
}).collect(Collectors.toList()).forEach(v -> log.info(v.toString()));
|
||||
// 重复性校验
|
||||
duplicateCheck(processEsInspectList);
|
||||
processEsInspectService.saveOrUpdateBatch(processEsInspectList);
|
||||
|
||||
for (ProcessEsInspect processEsInspect : processEsInspectList) {
|
||||
// 处理稽查内容
|
||||
if (StringUtils.isBlank(processAll.getNodeId())){
|
||||
// 添加新稽查内容
|
||||
List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList = processEsInspect.getEnterpriseStandardInspectContentList();
|
||||
for (EnterpriseStandardInspectContent enterpriseStandardInspectContent : enterpriseStandardInspectContentList) {
|
||||
enterpriseStandardInspectContent.setProcessEsInspectId(processEsInspect.getId());
|
||||
}
|
||||
enterpriseStandardInspectContentService.saveOrUpdateBatch(enterpriseStandardInspectContentList);
|
||||
}
|
||||
// 处理稽查报告 和 整改计划
|
||||
handleReportAndRectifyPlan(processAll, processEsInspect);
|
||||
}
|
||||
}
|
||||
|
||||
private void duplicateCheck(List<ProcessEsInspect> processEsInspectList) {
|
||||
List<String> inspectIdList = new ArrayList<>();
|
||||
for (ProcessEsInspect processEsInspect : processEsInspectList) {
|
||||
ProcessEsInspect esInspect = processEsInspectService.getOne(
|
||||
new LambdaQueryWrapper<ProcessEsInspect>()
|
||||
.eq(ProcessEsInspect::getInspectId, processEsInspect.getInspectId())
|
||||
.ne(ProcessEsInspect::getId, processEsInspect.getId()));
|
||||
if (!Objects.isNull(esInspect)){
|
||||
int size = processDraftService.count(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, esInspect.getProjectId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (size == 0){
|
||||
inspectIdList.add(processEsInspect.getInspectId());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!inspectIdList.isEmpty()){
|
||||
List<EnterpriseStandardInspect> enterpriseStandardInspectList = enterpriseStandardInspectService.listByIds(inspectIdList);
|
||||
if (!enterpriseStandardInspectList.isEmpty()){
|
||||
String errorMsg = enterpriseStandardInspectList.stream().map(EnterpriseStandardInspect::getInspectNo).collect(Collectors.joining(","));
|
||||
throw new JeroBootException("稽查依据标准号为:" + errorMsg + "的稽查计划企标不可重复发起!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void handleReportAndRectifyPlan(ProcessAll processAll, ProcessEsInspect processEsInspect) {
|
||||
if (EsInspectCommon.PROCESS_NODE_3.equals(processAll.getNodeId())){
|
||||
// 添加新稽查报告
|
||||
List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList = processEsInspect.getEnterpriseStandardInspectReportList();
|
||||
for (EnterpriseStandardInspectReport enterpriseStandardInspectReport : enterpriseStandardInspectReportList) {
|
||||
enterpriseStandardInspectReport.setProcessEsInspectId(processEsInspect.getId());
|
||||
}
|
||||
enterpriseStandardInspectReportService.saveOrUpdateBatch(enterpriseStandardInspectReportList);
|
||||
|
||||
// 添加新整改计划
|
||||
List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList = processEsInspect.getEnterpriseStandardInspectRectifyPlanList();
|
||||
for (EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan : enterpriseStandardInspectRectifyPlanList) {
|
||||
enterpriseStandardInspectRectifyPlan.setProcessEsInspectId(processEsInspect.getId());
|
||||
// 如果整改单位不为空,则同时更新相关稽查内容的整改单位
|
||||
if (StringUtils.isNotBlank(enterpriseStandardInspectRectifyPlan.getResponseDepart())){
|
||||
// 通过整改计划查询稽查报告
|
||||
EnterpriseStandardInspectReport enterpriseStandardInspectReport =
|
||||
enterpriseStandardInspectReportService.getById(
|
||||
enterpriseStandardInspectRectifyPlan.getInspectReportId());
|
||||
if (!Objects.isNull(enterpriseStandardInspectReport)){
|
||||
enterpriseStandardInspectContentService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectContent>()
|
||||
.eq(EnterpriseStandardInspectContent::getId,
|
||||
enterpriseStandardInspectReport.getInspectContentId())
|
||||
.set(EnterpriseStandardInspectContent::getRectificationDepartment,
|
||||
enterpriseStandardInspectRectifyPlan.getResponseDepart()));
|
||||
}
|
||||
}
|
||||
}
|
||||
enterpriseStandardInspectRectifyPlanService.saveOrUpdateBatch(enterpriseStandardInspectRectifyPlanList);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateLawsEnterpriseStandardStatus(String projectId) {
|
||||
List<ProcessEsInspect> list = processEsInspectService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspect>()
|
||||
.eq(ProcessEsInspect::getProjectId, projectId));
|
||||
List<String> processIds = list.stream().map(ProcessEsInspect::getInspectId).collect(Collectors.toList());
|
||||
enterpriseStandardInspectService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspect>()
|
||||
.in(EnterpriseStandardInspect::getId, processIds)
|
||||
.set(EnterpriseStandardInspect::getInspectStatus, EsInspectCommon.INSPECT_STATUS_2));
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void flowSave(EsInspectFlowVO esInspectFlowVO) {
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectFlowVO);
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsInspectFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectFlowVO esInspectFlowVO = new EsInspectFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
esInspectFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
// 业务表数据
|
||||
ProcessEsInspectVO processEsInspectVO = new ProcessEsInspectVO();
|
||||
processEsInspectVO.setProjectId(projectId);
|
||||
List<ProcessEsInspectVO> processEsInspectVOList = processEsInspectService.queryByList(processEsInspectVO);
|
||||
esInspectFlowVO.setProcessEsInspectVOList(processEsInspectVOList);
|
||||
esInspectFlowVO.setProcessAll(processAll);
|
||||
esInspectFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esInspectFlowVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowApproval(EsInspectFlowVO esInspectFlowVO) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectFlowVO.getMap();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
|
||||
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile())
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task!= null) {
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectFlowVO);
|
||||
// 再次更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())){
|
||||
// 企标稽查计划 生成数据 保存企标库
|
||||
saveDataToInspect(processAll.getProjectId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void saveDataToInspect(String projectId) {
|
||||
ProcessEsInspectVO processEsInspectVO = new ProcessEsInspectVO();
|
||||
processEsInspectVO.setProjectId(projectId);
|
||||
// 通过项目id查询企标稽查流程业务表信息
|
||||
List<ProcessEsInspectVO> processEsInspectVOList = processEsInspectService.queryByList(processEsInspectVO);
|
||||
for (ProcessEsInspectVO esInspectVO : processEsInspectVOList) {
|
||||
// 企标稽查id
|
||||
String inspectId = esInspectVO.getInspectId();
|
||||
// 更新企标稽数据
|
||||
enterpriseStandardInspectService.update(new LambdaUpdateWrapper<EnterpriseStandardInspect>()
|
||||
.eq(EnterpriseStandardInspect::getId, inspectId)
|
||||
.set(EnterpriseStandardInspect::getActualInspectUser, esInspectVO.getActualInspectUser())
|
||||
.set(EnterpriseStandardInspect::getCompleteDate, esInspectVO.getCompleteDate())
|
||||
.set(EnterpriseStandardInspect::getInspectStatus, EsInspectCommon.INSPECT_STATUS_3));
|
||||
|
||||
// 查询企标信息
|
||||
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getOne(
|
||||
new LambdaQueryWrapper<LawsEnterpriseStandard>().eq(LawsEnterpriseStandard::getStandardNumber, esInspectVO.getInspectNo()), false);
|
||||
|
||||
// 查询稽查内容
|
||||
List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList = enterpriseStandardInspectContentService.list(
|
||||
new LambdaQueryWrapper<EnterpriseStandardInspectContent>()
|
||||
.eq(EnterpriseStandardInspectContent::getProcessEsInspectId, esInspectVO.getId()));
|
||||
// 查询稽查报告
|
||||
List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList = enterpriseStandardInspectReportService.list(
|
||||
new LambdaQueryWrapper<EnterpriseStandardInspectReport>()
|
||||
.eq(EnterpriseStandardInspectReport::getProcessEsInspectId, esInspectVO.getId()));
|
||||
// 查询整改计划
|
||||
List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList = enterpriseStandardInspectRectifyPlanService.list(
|
||||
new LambdaQueryWrapper<EnterpriseStandardInspectRectifyPlan>()
|
||||
.eq(EnterpriseStandardInspectRectifyPlan::getProcessEsInspectId, esInspectVO.getId()));
|
||||
|
||||
if (!Objects.isNull(lawsEnterpriseStandard)){
|
||||
// 企标内容
|
||||
List<String> idList = enterpriseStandardInspectContentList.stream()
|
||||
.map(EnterpriseStandardInspectContent::getId)
|
||||
.collect(Collectors.toList());
|
||||
if (!idList.isEmpty()){
|
||||
enterpriseStandardInspectContentService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectContent>()
|
||||
.in(EnterpriseStandardInspectContent::getId, idList)
|
||||
.set(EnterpriseStandardInspectContent::getStandardId, lawsEnterpriseStandard.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
if (!enterpriseStandardInspectReportList.isEmpty()){
|
||||
// 稽查报告
|
||||
List<String> idList = enterpriseStandardInspectReportList.stream().map(EnterpriseStandardInspectReport::getId).collect(Collectors.toList());
|
||||
if (!idList.isEmpty()){
|
||||
enterpriseStandardInspectReportService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectReport>()
|
||||
.in(EnterpriseStandardInspectReport::getId, idList)
|
||||
.set(EnterpriseStandardInspectReport::getInspectId, inspectId));
|
||||
}
|
||||
}
|
||||
|
||||
if (!enterpriseStandardInspectRectifyPlanList.isEmpty()){
|
||||
enterpriseStandardInspectRectifyPlanList.forEach(enterpriseStandardInspectRectifyPlan ->
|
||||
// 自动生成企标稽查整改
|
||||
autoEsInspectRectifyPlanFlow(esInspectVO, enterpriseStandardInspectRectifyPlan)
|
||||
);
|
||||
|
||||
// 企标整改计划
|
||||
List<String> idList = enterpriseStandardInspectRectifyPlanList.stream().map(EnterpriseStandardInspectRectifyPlan::getId).collect(Collectors.toList());
|
||||
enterpriseStandardInspectRectifyPlanService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectRectifyPlan>()
|
||||
.in(EnterpriseStandardInspectRectifyPlan::getId, idList)
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getInspectId, inspectId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void autoEsInspectRectifyPlanFlow(ProcessEsInspectVO esInspectVO, EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan) {
|
||||
if (!EsInspectRectifyCommon.INSPECT_RECTIFY_STATUS_1.equals(enterpriseStandardInspectRectifyPlan.getRectifyStatus())){
|
||||
return;
|
||||
}
|
||||
// 自动生成企标稽查整改
|
||||
EsInspectRectifyFlowVO esInspectReportFlowVO = new EsInspectRectifyFlowVO();
|
||||
// 处理流程信息
|
||||
ProcessAll processAll = new ProcessAll();
|
||||
processAll.setProjectId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
// 生成流程名称
|
||||
String prcName = esInspectVO.getInspectNo() + "-" + esInspectVO.getInspectName() + "-稽查整改";
|
||||
processAll.setPrcName(prcName);
|
||||
processAll.setCreateUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
esInspectReportFlowVO.setProcessAll(processAll);
|
||||
|
||||
// 处理流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
esInspectReportFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
|
||||
// 处理业务表数据
|
||||
ProcessEsInspectRectify processEsInspectRectify = new ProcessEsInspectRectify();
|
||||
processEsInspectRectify.setProjectId(processAll.getProjectId());
|
||||
processEsInspectRectify.setInspectRectifyPlanId(enterpriseStandardInspectRectifyPlan.getId());
|
||||
esInspectReportFlowVO.setProcessEsInspectRectify(processEsInspectRectify);
|
||||
processEsInspectRectifyService.save(processEsInspectRectify);
|
||||
|
||||
// 处理人员信息
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("responsible", enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
map.put("leader", "请选择");
|
||||
map.put("responsibleApproval", "请选择");
|
||||
esInspectReportFlowVO.setMap(map);
|
||||
esInspectReportFlowService.createReportFlow(esInspectReportFlowVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowTransfer(String taskId, String userId) {
|
||||
processHandleService.transfer(taskId, userId);
|
||||
}
|
||||
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
}
|
||||
-258
@@ -1,258 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.mapper.ProcessEsInspectMapper;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspect;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectContentService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectReportService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsInspectServiceImpl extends ServiceImpl<ProcessEsInspectMapper, ProcessEsInspect> implements IProcessEsInspectService {
|
||||
|
||||
private final ProcessEsInspectMapper processEsInspectMapper;
|
||||
private final EnterpriseStandardInspectContentService enterpriseStandardInspectContentService;
|
||||
private final EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService;
|
||||
private final EnterpriseStandardInspectReportService enterpriseStandardInspectReportService;
|
||||
private final ISysUserService sysUserService;
|
||||
private final IOSSFileService ossFileService;
|
||||
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
|
||||
public ProcessEsInspectServiceImpl(ProcessEsInspectMapper processEsInspectMapper,
|
||||
EnterpriseStandardInspectContentService enterpriseStandardInspectContentService,
|
||||
EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService,
|
||||
EnterpriseStandardInspectReportService enterpriseStandardInspectReportService,
|
||||
ISysUserService sysUserService,
|
||||
IOSSFileService ossFileService,
|
||||
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService) {
|
||||
this.processEsInspectMapper = processEsInspectMapper;
|
||||
this.enterpriseStandardInspectContentService = enterpriseStandardInspectContentService;
|
||||
this.enterpriseStandardInspectRectifyPlanService = enterpriseStandardInspectRectifyPlanService;
|
||||
this.enterpriseStandardInspectReportService = enterpriseStandardInspectReportService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.ossFileService = ossFileService;
|
||||
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsInspect> queryPage(ProcessEsInspect processEsInspect, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessEsInspect> queryWrapper = QueryGenerator.initQueryWrapper(processEsInspect, req.getParameterMap());
|
||||
Page<ProcessEsInspect> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsInspect> queryList(ProcessEsInspect processEsInspect, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(processEsInspect, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsInspect processEsInspect) {
|
||||
String ids = processEsInspect.getIds();
|
||||
for (String s : ids.split(",")) {
|
||||
int count = count(
|
||||
new LambdaQueryWrapper<ProcessEsInspect>()
|
||||
.eq(ProcessEsInspect::getInspectId, s)
|
||||
.eq(ProcessEsInspect::getProjectId, processEsInspect.getProjectId()));
|
||||
if (count > 0) {
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())){
|
||||
throw new JeroBootException("不能重复添加!");
|
||||
}else {
|
||||
throw new JeroBootException("Cannot repeat add!");
|
||||
}
|
||||
}
|
||||
processEsInspect.setInspectId(s);
|
||||
processEsInspect.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
save(processEsInspect);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspect
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspect processEsInspect) {
|
||||
saveOrUpdate(processEsInspect);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsInspect queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ProcessEsInspectVO> queryByPage(ProcessEsInspectVO processEsInspectVO, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<ProcessEsInspectVO> queryWrapper = getProcessEsInspectVOQueryWrapper(processEsInspectVO);
|
||||
IPage<ProcessEsInspectVO> processEsInspectVOIPage = processEsInspectMapper.queryByPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
setProperty(processEsInspectVOIPage.getRecords());
|
||||
return processEsInspectVOIPage;
|
||||
}
|
||||
|
||||
private void setProperty(List<ProcessEsInspectVO> processEsInspectVOList) {
|
||||
for (ProcessEsInspectVO processEsInspectVO : processEsInspectVOList) {
|
||||
// 稽查内容
|
||||
List<EnterpriseStandardInspectContent> enterpriseStandardInspectContents = enterpriseStandardInspectContentService.queryClauseByEsInspectId(processEsInspectVO.getId());
|
||||
if (CollectionUtils.isNotEmpty(enterpriseStandardInspectContents)){
|
||||
processEsInspectVO.setEnterpriseStandardInspectContentList(enterpriseStandardInspectContents);
|
||||
}
|
||||
// 稽查报告
|
||||
List<EnterpriseStandardInspectReport> enterpriseStandardInspectReports = enterpriseStandardInspectReportService.queryByProcessEsInspectId(processEsInspectVO.getId());
|
||||
if (CollectionUtils.isNotEmpty(enterpriseStandardInspectReports)){
|
||||
processEsInspectVO.setEnterpriseStandardInspectReportList(enterpriseStandardInspectReports);
|
||||
}
|
||||
// 整改计划
|
||||
List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList = enterpriseStandardInspectRectifyPlanService.queryByProcessEsInspectId(processEsInspectVO.getId());
|
||||
if (CollectionUtils.isNotEmpty(enterpriseStandardInspectRectifyPlanList)){
|
||||
processEsInspectVO.setEnterpriseStandardInspectRectifyPlanList(enterpriseStandardInspectRectifyPlanList);
|
||||
}
|
||||
processEsInspectVO.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectVO.getInspectUser(), ""));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessEsInspectVO> queryByList(ProcessEsInspectVO processEsInspectVO) {
|
||||
QueryWrapper<ProcessEsInspectVO> queryWrapper = getProcessEsInspectVOQueryWrapper(processEsInspectVO);
|
||||
List<ProcessEsInspectVO> processEsInspectVOS = processEsInspectMapper.queryByList(queryWrapper);
|
||||
setProperty(processEsInspectVOS);
|
||||
return processEsInspectVOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OSSFile queryFileByInspectId(String inspectId) {
|
||||
EnterpriseStandardInspect enterpriseStandardInspect = enterpriseStandardInspectService.getById(inspectId);
|
||||
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getOne(
|
||||
new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, enterpriseStandardInspect.getInspectNo()), false);
|
||||
if (!Objects.isNull(lawsEnterpriseStandard)){
|
||||
List<OSSFile> list = ossFileService.list(
|
||||
new LambdaQueryWrapper<OSSFile>()
|
||||
.eq(OSSFile::getStandardId, lawsEnterpriseStandard.getId())
|
||||
.orderByDesc(OSSFile::getCreateTime));
|
||||
if (!list.isEmpty()){
|
||||
// 发布稿>修改单>报批稿>送审稿>征求意见稿>草稿
|
||||
String[] fileTypeArr = {FieldCommon.FILE_PUBLISH_OF_ORIGINAL, FieldCommon.FILE_MODIFICATION_LIST,
|
||||
FieldCommon.FILE_DRAFT_FOR_REVIEW, FieldCommon.FILE_DRAFT_FOR_APPROVAL,
|
||||
FieldCommon.FILE_DRAFT_FOR_COMMENT, FieldCommon.FILE_DRAFT};
|
||||
for (String fileType : fileTypeArr) {
|
||||
Optional<OSSFile> optional = list.stream()
|
||||
.filter(v -> fileType.equals(v.getStandardFileType())
|
||||
&& (v.getFileName().endsWith(".pdf")
|
||||
|| v.getFileName().endsWith(".docx")
|
||||
|| v.getFileName().endsWith(".doc"))).findFirst();
|
||||
if (optional.isPresent()){
|
||||
return optional.get();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return new OSSFile();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<ProcessEsInspectVO> getProcessEsInspectVOQueryWrapper(ProcessEsInspectVO processEsInspectVO) {
|
||||
QueryWrapper<ProcessEsInspectVO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectVO.getId()), "t.id", processEsInspectVO.getId());
|
||||
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectVO.getProjectId()), "t.project_id", processEsInspectVO.getProjectId());
|
||||
queryWrapper.eq("t.del_flag", 0);
|
||||
queryWrapper.orderByAsc("t.create_time");
|
||||
return queryWrapper;
|
||||
}
|
||||
}
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: 企标稽查流程VO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:51
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsInspectFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private List<ProcessEsInspect> processEsInspectList;
|
||||
/**业务基本信息 展示用*/
|
||||
@ApiModelProperty(value = "业务基本信息 展示用")
|
||||
private List<ProcessEsInspectVO> processEsInspectVOList;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
/**
|
||||
* 流程全局删除ids
|
||||
*/
|
||||
@ApiModelProperty(value="流程全局删除ids")
|
||||
private String processAllDelIds;
|
||||
}
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspect.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
|
||||
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardInspectVo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName: ProcessEsInspectVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-23 09:20
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessEsInspectVO extends EnterpriseStandardInspectVo {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
/**企标稽查id*/
|
||||
@Excel(name = "企标稽查id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查id")
|
||||
private java.lang.String inspectId;
|
||||
/** 实际稽查完成日期 */
|
||||
@Excel(name = "实际稽查完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "实际稽查完成日期")
|
||||
private Date completeDate;
|
||||
/** 实际稽查人 */
|
||||
@Excel(name = "实际稽查人", width = 15, orderNum = "1")
|
||||
@ApiModelProperty(value = "实际稽查人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
private String actualInspectUser;
|
||||
/**稽查内容数量*/
|
||||
@ApiModelProperty(value = "稽查内容数量")
|
||||
private java.lang.String standardInspectContentCount;
|
||||
|
||||
/** 稽查负责人 翻译*/
|
||||
@ApiModelProperty(value = "稽查负责人 翻译")
|
||||
private String inspectUserDictText;
|
||||
|
||||
/**稽查内容*/
|
||||
@ApiModelProperty(value = "稽查内容")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList;
|
||||
/**稽查报告*/
|
||||
@ApiModelProperty(value = "稽查报告")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList;
|
||||
/**整改计划*/
|
||||
@ApiModelProperty(value = "整改计划")
|
||||
@TableField(exist = false)
|
||||
private List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList;
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectDelayApplyCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 10:13
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsInspectDelayApplyCommon {
|
||||
private EsInspectDelayApplyCommon(){
|
||||
|
||||
}
|
||||
/**
|
||||
* 稽查延期申请流程key
|
||||
*/
|
||||
public static final String KEY = "inspect_delay_apply_process";
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程name
|
||||
*/
|
||||
public static final String NAME = "稽查延期申请流程";
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "responsible_start";
|
||||
/**
|
||||
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_2 = "leader_approval";
|
||||
/**
|
||||
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_3 = "liaisons_assess";
|
||||
/**
|
||||
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_4 = "leader_up_level";
|
||||
}
|
||||
-127
@@ -1,127 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IEsInspectDelayApplyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName: 稽查延期申请流程
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:45
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="稽查延期申请流程")
|
||||
@RestController
|
||||
@RequestMapping("/process/esInspectDelayApplyFlow")
|
||||
@Slf4j
|
||||
public class EsInspectDelayApplyFlowController {
|
||||
private final IEsInspectDelayApplyFlowService esInspectDelayApplyFlowService;
|
||||
|
||||
|
||||
public EsInspectDelayApplyFlowController(@Lazy IEsInspectDelayApplyFlowService esInspectDelayApplyFlowService) {
|
||||
this.esInspectDelayApplyFlowService = esInspectDelayApplyFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-生成项目id")
|
||||
@ApiOperation(value="稽查延期申请流程-生成项目id", notes="稽查延期申请流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程发起
|
||||
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-流程发起")
|
||||
@ApiOperation(value="稽查延期申请流程-流程发起", notes="稽查延期申请流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
esInspectDelayApplyFlowService.flowStart(esInspectDelayApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程保存
|
||||
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-流程保存")
|
||||
@ApiOperation(value="稽查延期申请流程-流程保存", notes="稽查延期申请流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
esInspectDelayApplyFlowService.flowSave(esInspectDelayApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-办理详情")
|
||||
@ApiOperation(value="稽查延期申请流程-办理详情", notes="稽查延期申请流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsInspectDelayApplyFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esInspectDelayApplyFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程审批
|
||||
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-流程审批")
|
||||
@ApiOperation(value="稽查延期申请流程-流程审批", notes="稽查延期申请流程-流程审批")
|
||||
@PostMapping(value = "/flowApproval")
|
||||
public Result<T> flowApproval(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
esInspectDelayApplyFlowService.flowApproval(esInspectDelayApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-驳回
|
||||
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-驳回")
|
||||
@ApiOperation(value="稽查延期申请流程-驳回", notes="稽查延期申请流程-驳回")
|
||||
@PostMapping(value = "/flowReject")
|
||||
public Result<T> flowReject(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
log.info("");
|
||||
esInspectDelayApplyFlowService.flowApproval(esInspectDelayApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程转办
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程-流程转办")
|
||||
@ApiOperation(value="稽查延期申请流程-流程转办", notes="稽查延期申请流程-流程转办")
|
||||
@GetMapping(value = "/flowTransfer")
|
||||
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
|
||||
esInspectDelayApplyFlowService.flowTransfer(taskId, userId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-171
@@ -1,171 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 稽查延期申请流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="稽查延期申请流程业务表")
|
||||
@RestController
|
||||
@RequestMapping("/esinspectdelayapply/processEsInspectDelayApply")
|
||||
@Slf4j
|
||||
public class ProcessEsInspectDelayApplyController extends JeroController<ProcessEsInspectDelayApply, IProcessEsInspectDelayApplyService> {
|
||||
@Autowired
|
||||
private IProcessEsInspectDelayApplyService processEsInspectDelayApplyService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-分页列表查询")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-分页列表查询", notes="稽查延期申请流程业务表-分页列表查询")
|
||||
@GetMapping(value = "/queryByPage")
|
||||
@Translation
|
||||
public Result<IPage<ProcessEsInspectDelayApplyVO>> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
IPage<ProcessEsInspectDelayApplyVO> pageList = processEsInspectDelayApplyService.queryByPage(processEsInspectDelayApplyVO, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-列表查询")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-列表查询", notes="稽查延期申请流程业务表-列表查询")
|
||||
@GetMapping(value = "/queryByList")
|
||||
@Translation
|
||||
public Result<List<ProcessEsInspectDelayApplyVO>> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
|
||||
List<ProcessEsInspectDelayApplyVO> list = processEsInspectDelayApplyService.queryByList(processEsInspectDelayApplyVO);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-添加")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-添加", notes="稽查延期申请流程业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsInspectDelayApply processEsInspectDelayApply) {
|
||||
String ids = processEsInspectDelayApply.getIds();
|
||||
for (String s : ids.split(",")) {
|
||||
processEsInspectDelayApply.setInspectId(s);
|
||||
processEsInspectDelayApply.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
processEsInspectDelayApplyService.add(processEsInspectDelayApply);
|
||||
}
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-编辑")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-编辑", notes="稽查延期申请流程业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsInspectDelayApply processEsInspectDelayApply) {
|
||||
processEsInspectDelayApplyService.editById(processEsInspectDelayApply);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-通过id删除")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-通过id删除", notes="稽查延期申请流程业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsInspectDelayApplyService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-批量删除")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-批量删除", notes="稽查延期申请流程业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsInspectDelayApplyService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "稽查延期申请流程业务表-通过id查询")
|
||||
@ApiOperation(value="稽查延期申请流程业务表-通过id查询", notes="稽查延期申请流程业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsInspectDelayApply> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsInspectDelayApply processEsInspectDelayApply = processEsInspectDelayApplyService.queryById(id);
|
||||
if(processEsInspectDelayApply==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsInspectDelayApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsInspectDelayApply
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspectDelayApply processEsInspectDelayApply) {
|
||||
return super.exportXls(request, processEsInspectDelayApply, ProcessEsInspectDelayApply.class, "稽查延期申请流程业务表");
|
||||
}
|
||||
|
||||
}
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 稽查延期申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_inspect_delay_apply")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_inspect_delay_apply对象", description="稽查延期申请流程")
|
||||
public class ProcessEsInspectDelayApply extends BaseEntity {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
/**企标稽查id*/
|
||||
@Excel(name = "企标稽查id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查id")
|
||||
private String inspectId;
|
||||
/**申请延期日期*/
|
||||
@Excel(name = "申请延期日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "申请延期日期")
|
||||
private Date requestDelayDate;
|
||||
/**延期说明*/
|
||||
@Excel(name = "延期说明", width = 15)
|
||||
@ApiModelProperty(value = "延期说明")
|
||||
private String delayDescription;
|
||||
/**稽查联络人*/
|
||||
@Excel(name = "稽查联络人", width = 15)
|
||||
@ApiModelProperty(value = "稽查联络人")
|
||||
private String liaisons;
|
||||
/**ids 添加用*/
|
||||
@ApiModelProperty(value = "ids 添加用")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String ids;
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 稽查延期申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsInspectDelayApplyMapper extends BaseMapper<ProcessEsInspectDelayApply> {
|
||||
|
||||
List<ProcessEsInspectDelayApplyVO> queryByList(@Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper);
|
||||
|
||||
IPage<ProcessEsInspectDelayApplyVO> queryByPage(IPage<ProcessEsInspectDelayApplyVO> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper);
|
||||
}
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esinspectdelayapply.mapper.ProcessEsInspectDelayApplyMapper">
|
||||
<select id="queryByPage"
|
||||
resultType="com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO">
|
||||
<include refid="select_process_es_inspect_delay_apply"/>
|
||||
</select>
|
||||
|
||||
<select id="queryByList"
|
||||
resultType="com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO">
|
||||
<include refid="select_process_es_inspect_delay_apply"/>
|
||||
</select>
|
||||
|
||||
<sql id="select_process_es_inspect_delay_apply">
|
||||
select *
|
||||
from (SELECT pesida.id,
|
||||
pesida.create_by,
|
||||
pesida.create_time,
|
||||
pesida.update_by,
|
||||
pesida.update_time,
|
||||
pesida.del_flag,
|
||||
pesida.project_id,
|
||||
pesida.inspect_id,
|
||||
pesida.request_delay_date,
|
||||
pesida.delay_description,
|
||||
pesida.liaisons,
|
||||
inspect_no,
|
||||
(IF(les.standard_number is not null, les.standard_name, inspect_name)) inspect_name,
|
||||
standardization_work_group,
|
||||
belong_dept,
|
||||
plan_inspect_date,
|
||||
inspect_user,
|
||||
standardization_docking_user,
|
||||
inspect_status,
|
||||
group_concat(lesio.plan_inspect_object separator ',') plan_inspect_object
|
||||
FROM process_es_inspect_delay_apply pesida
|
||||
LEFT JOIN laws_enterprise_standard_inspect lesi ON pesida.inspect_id = lesi.id
|
||||
LEFT JOIN laws_enterprise_standard les ON lesi.inspect_no = les.standard_number AND les.del_flag = '0'
|
||||
LEFT JOIN laws_enterprise_standard_inspect_object lesio ON lesi.id = lesio.inspect_id
|
||||
group by pesida.id) t
|
||||
${ew.customSqlSegment}
|
||||
</sql>
|
||||
</mapper>
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
|
||||
|
||||
/**
|
||||
* @ClassName: IEsInspectDelayApplyFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-27 18:38
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsInspectDelayApplyFlowService {
|
||||
/**
|
||||
* 稽查延期申请流程-流程发起
|
||||
* @param esInspectDelayApplyFlowVO
|
||||
*/
|
||||
void flowStart(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程保存
|
||||
* @param esInspectDelayApplyFlowVO
|
||||
*/
|
||||
void flowSave(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-办理详情
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsInspectDelayApplyFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程审批
|
||||
* @param esInspectDelayApplyFlowVO
|
||||
*/
|
||||
void flowApproval(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 稽查延期申请流程-流程转办
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
}
|
||||
-75
@@ -1,75 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 稽查延期申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsInspectDelayApplyService extends IService<ProcessEsInspectDelayApply> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectDelayApplyVO> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectDelayApplyVO> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsInspectDelayApply processEsInspectDelayApply);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsInspectDelayApply processEsInspectDelayApply);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectDelayApply queryById(String id);
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectDelayApplyFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_inspect_delay_apply", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-357
@@ -1,357 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esinspect.common.EsInspectCommon;
|
||||
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.common.EsInspectDelayApplyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IEsInspectDelayApplyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspect;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectDelay;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectDelayService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectDelayApplyFlowServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-27 18:38
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public class EsInspectDelayApplyFlowServiceImpl implements IEsInspectDelayApplyFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsInspectService processEsInspectService;
|
||||
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
||||
private final IProcessEsInspectDelayApplyService processEsInspectDelayApplyService;
|
||||
private final EnterpriseStandardInspectDelayService enterpriseStandardInspectDelayService;
|
||||
|
||||
public EsInspectDelayApplyFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsInspectService processEsInspectService,
|
||||
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
||||
IProcessEsInspectDelayApplyService processEsInspectDelayApplyService,
|
||||
EnterpriseStandardInspectDelayService enterpriseStandardInspectDelayService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsInspectService = processEsInspectService;
|
||||
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
||||
this.processEsInspectDelayApplyService = processEsInspectDelayApplyService;
|
||||
this.enterpriseStandardInspectDelayService = enterpriseStandardInspectDelayService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@Override
|
||||
public void flowStart(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectDelayApplyFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectDelayApplyCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_DELAY_APPLY.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectDelayApplyFlowVO);
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
}
|
||||
|
||||
private void handleBusinessData(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
List<ProcessEsInspectDelayApply> processEsInspectDelayApplyList = esInspectDelayApplyFlowVO.getProcessEsInspectDelayApplyList();
|
||||
// 删除数据
|
||||
if (StringUtils.isNotBlank(esInspectDelayApplyFlowVO.getProcessAllDelIds())){
|
||||
List<String> idList = Arrays.asList(esInspectDelayApplyFlowVO.getProcessAllDelIds().split(","));
|
||||
processEsInspectDelayApplyService.removeByIds(idList);
|
||||
}
|
||||
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
|
||||
String projectId = processAll.getProjectId();
|
||||
processEsInspectDelayApplyList.stream().map(v -> {
|
||||
if (StringUtils.isBlank(v.getId())){
|
||||
v.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
}
|
||||
v.setProjectId(projectId);
|
||||
return v;
|
||||
}).collect(Collectors.toList()).forEach(v -> log.info(v.toString()));
|
||||
processEsInspectDelayApplyService.saveOrUpdateBatch(processEsInspectDelayApplyList);
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectDelayApplyFlowVO);
|
||||
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsInspectDelayApplyFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO = new EsInspectDelayApplyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
esInspectDelayApplyFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
// 业务表数据
|
||||
ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO = new ProcessEsInspectDelayApplyVO();
|
||||
processEsInspectDelayApplyVO.setProjectId(projectId);
|
||||
processEsInspectDelayApplyVO.setNodeId(processApprovalRecord.getNodeId());
|
||||
esInspectDelayApplyFlowVO.setProcessEsInspectDelayApplyVOList(processEsInspectDelayApplyService.queryByList(processEsInspectDelayApplyVO));
|
||||
esInspectDelayApplyFlowVO.setProcessAll(processAll);
|
||||
esInspectDelayApplyFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esInspectDelayApplyFlowVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowApproval(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectDelayApplyFlowVO.getMap();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
|
||||
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile())
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task!= null) {
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectDelayApplyFlowVO);
|
||||
// 再次更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())){
|
||||
// 稽查延期申请流程 更新计划稽查日期 生成企业标准稽查延期数据
|
||||
saveDataToInspect(processAll.getProjectId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void saveDataToInspect(String projectId) {
|
||||
List<ProcessEsInspectDelayApply> list = processEsInspectDelayApplyService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspectDelayApply>()
|
||||
.eq(ProcessEsInspectDelayApply::getProjectId, projectId));
|
||||
List<EnterpriseStandardInspectDelay> enterpriseStandardInspectDelayList = new ArrayList<>();
|
||||
for (ProcessEsInspectDelayApply processEsInspectDelayApply : list) {
|
||||
// 查询之前稽查状态
|
||||
String inspectStatus = EsInspectCommon.INSPECT_STATUS_1;
|
||||
ProcessEsInspect processEsInspect = processEsInspectService.getOne(
|
||||
new LambdaQueryWrapper<ProcessEsInspect>()
|
||||
.eq(ProcessEsInspect::getInspectId, processEsInspectDelayApply.getInspectId()), false);
|
||||
if (!Objects.isNull(processEsInspect)){
|
||||
int size = processDraftService.count(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processEsInspect.getProjectId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (size == 0){
|
||||
inspectStatus = EsInspectCommon.INSPECT_STATUS_2;
|
||||
}
|
||||
}
|
||||
enterpriseStandardInspectService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspect>()
|
||||
.eq(EnterpriseStandardInspect::getId, processEsInspectDelayApply.getInspectId())
|
||||
.set(EnterpriseStandardInspect::getPlanInspectDate, processEsInspectDelayApply.getRequestDelayDate())
|
||||
.set(EnterpriseStandardInspect::getInspectStatus, inspectStatus));
|
||||
|
||||
EnterpriseStandardInspectDelay enterpriseStandardInspectDelay = new EnterpriseStandardInspectDelay();
|
||||
enterpriseStandardInspectDelay.setInspectId(processEsInspectDelayApply.getInspectId());
|
||||
enterpriseStandardInspectDelay.setRequestDelayDate(processEsInspectDelayApply.getRequestDelayDate());
|
||||
enterpriseStandardInspectDelay.setDelayDescription(processEsInspectDelayApply.getDelayDescription());
|
||||
enterpriseStandardInspectDelayList.add(enterpriseStandardInspectDelay);
|
||||
}
|
||||
enterpriseStandardInspectDelayService.saveBatch(enterpriseStandardInspectDelayList);
|
||||
}
|
||||
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowTransfer(String taskId, String userId) {
|
||||
processHandleService.transfer(taskId, userId);
|
||||
}
|
||||
}
|
||||
-150
@@ -1,150 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.common.EsInspectDelayApplyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.mapper.ProcessEsInspectDelayApplyMapper;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 稽查延期申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsInspectDelayApplyServiceImpl extends ServiceImpl<ProcessEsInspectDelayApplyMapper, ProcessEsInspectDelayApply> implements IProcessEsInspectDelayApplyService {
|
||||
private final ProcessEsInspectDelayApplyMapper processEsInspectDelayApplyMapper;
|
||||
private final ISysUserService sysUserService;
|
||||
public ProcessEsInspectDelayApplyServiceImpl(ProcessEsInspectDelayApplyMapper processEsInspectDelayApplyMapper,
|
||||
ISysUserService sysUserService) {
|
||||
this.processEsInspectDelayApplyMapper = processEsInspectDelayApplyMapper;
|
||||
this.sysUserService = sysUserService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsInspectDelayApplyVO> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = getProcessEsInspectDelayApplyLambdaQueryWrapper(processEsInspectDelayApplyVO);
|
||||
return processEsInspectDelayApplyMapper.queryByPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectDelayApplyVO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsInspectDelayApplyVO> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
|
||||
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = getProcessEsInspectDelayApplyLambdaQueryWrapper(processEsInspectDelayApplyVO);
|
||||
List<ProcessEsInspectDelayApplyVO> processEsInspectDelayApplyVOS = processEsInspectDelayApplyMapper.queryByList(queryWrapper);
|
||||
setProperty(processEsInspectDelayApplyVOS);
|
||||
return processEsInspectDelayApplyVOS;
|
||||
}
|
||||
|
||||
private void setProperty(List<ProcessEsInspectDelayApplyVO> processEsInspectDelayApplyVOS) {
|
||||
for (ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO : processEsInspectDelayApplyVOS) {
|
||||
// 翻译
|
||||
processEsInspectDelayApplyVO.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectDelayApplyVO.getInspectUser(), ""));
|
||||
processEsInspectDelayApplyVO.setLiaisonsDictText(sysUserService.dictByIdsOrUserNames(processEsInspectDelayApplyVO.getLiaisons(), ""));
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<ProcessEsInspectDelayApplyVO> getProcessEsInspectDelayApplyLambdaQueryWrapper(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectDelayApplyVO.getNodeId()) && EsInspectDelayApplyCommon.PROCESS_NODE_3.equals(processEsInspectDelayApplyVO.getNodeId())){
|
||||
queryWrapper.eq("t.liaisons", sysUser.getId());
|
||||
}
|
||||
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectDelayApplyVO.getProjectId()), "t.project_id", processEsInspectDelayApplyVO.getProjectId());
|
||||
queryWrapper.eq("t.del_flag", 0);
|
||||
queryWrapper.orderByAsc("t.create_time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsInspectDelayApply processEsInspectDelayApply) {
|
||||
Date now = new Date();
|
||||
processEsInspectDelayApply.setCreateTime(now);
|
||||
processEsInspectDelayApply.setUpdateTime(now);
|
||||
save(processEsInspectDelayApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectDelayApply
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspectDelayApply processEsInspectDelayApply) {
|
||||
Date now = new Date();
|
||||
processEsInspectDelayApply.setUpdateTime(now);
|
||||
saveOrUpdate(processEsInspectDelayApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsInspectDelayApply queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
}
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: EsinspectFlowVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-27 18:41
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsInspectDelayApplyFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private List<ProcessEsInspectDelayApply> processEsInspectDelayApplyList;
|
||||
/**业务基本信息 展示用*/
|
||||
@ApiModelProperty(value = "业务基本信息 展示用")
|
||||
private List<ProcessEsInspectDelayApplyVO> processEsInspectDelayApplyVOList;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
/**
|
||||
* 流程全局删除ids
|
||||
*/
|
||||
@ApiModelProperty(value="流程全局删除ids")
|
||||
private String processAllDelIds;
|
||||
/**
|
||||
* 保存来源
|
||||
*/
|
||||
@ApiModelProperty(value="保存来源(1:待办 2:草稿)")
|
||||
private String saveSource;
|
||||
}
|
||||
-61
@@ -1,61 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectdelayapply.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardInspectVo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @ClassName: 稽查延期申请流程VO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-27 18:41
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessEsInspectDelayApplyVO extends EnterpriseStandardInspectVo {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
/**企标稽查id*/
|
||||
@Excel(name = "企标稽查id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查id")
|
||||
private String inspectId;
|
||||
/**申请延期日期*/
|
||||
@Excel(name = "申请延期日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "申请延期日期")
|
||||
private Date requestDelayDate;
|
||||
/**延期说明*/
|
||||
@Excel(name = "延期说明", width = 15)
|
||||
@ApiModelProperty(value = "延期说明")
|
||||
private String delayDescription;
|
||||
/**稽查联络人*/
|
||||
@Excel(name = "稽查联络人", width = 15)
|
||||
@ApiModelProperty(value = "稽查联络人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String liaisons;
|
||||
|
||||
/** 稽查联络人 翻译*/
|
||||
@ApiModelProperty(value = "稽查联络人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String liaisonsDictText;
|
||||
/** 稽查负责人 翻译*/
|
||||
@ApiModelProperty(value = "稽查负责人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String inspectUserDictText;
|
||||
/**节点id*/
|
||||
@ApiModelProperty(value = "节点id")
|
||||
@TableField(exist = false)
|
||||
private String nodeId;
|
||||
}
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 13:47
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsInspectPlanCommon {
|
||||
private EsInspectPlanCommon(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业稽查计划key
|
||||
*/
|
||||
public static final String KEY = "inspect_plan";
|
||||
|
||||
/**
|
||||
* 企业稽查计划流name
|
||||
*/
|
||||
public static final String NAME = "企业稽查计划";
|
||||
|
||||
/**
|
||||
* 企业稽查计划流程节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "liaisons_start";
|
||||
/**
|
||||
* 企业稽查计划流程节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
|
||||
*/
|
||||
public static final String PROCESS_NODE_2 = "opinion_fill";
|
||||
/**
|
||||
* 企业稽查计划流程节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
|
||||
*/
|
||||
public static final String PROCESS_NODE_3 = "liaisons_collect";
|
||||
/**
|
||||
* 企业稽查计划流程节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
|
||||
*/
|
||||
public static final String PROCESS_NODE_4 = "involve_countersign";
|
||||
/**
|
||||
* 企业稽查计划流程节点: 1:稽查联络人发起计划,2:稽查征求意见对象填写意见,3:稽查联络人汇总,4:相关人员会签,5:联络人主管级领导批准
|
||||
*/
|
||||
public static final String PROCESS_NODE_5 = "leader_approval";
|
||||
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_1 = "1";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_2 = "2";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_3 = "3";
|
||||
/**
|
||||
* 稽查状态: 1:进行中,2:稽查中,3:已完成,4:拖期
|
||||
*/
|
||||
public static final String INSPECT_STATUS_4 = "4";
|
||||
}
|
||||
-126
@@ -1,126 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IEsInspectPlanFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName: 企标稽查计划流程
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:45
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="企标稽查计划流程")
|
||||
@RestController
|
||||
@RequestMapping("/process/esInspectPlanFlow")
|
||||
@Slf4j
|
||||
public class EsInspectPlanFlowController {
|
||||
private final IEsInspectPlanFlowService esInspectPlanFlowService;
|
||||
|
||||
public EsInspectPlanFlowController(@Lazy IEsInspectPlanFlowService esInspectPlanFlowService) {
|
||||
this.esInspectPlanFlowService = esInspectPlanFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-生成项目id")
|
||||
@ApiOperation(value="企标稽查计划流程-生成项目id", notes="企标稽查计划流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程发起
|
||||
* @param esInspectPlanFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-流程发起")
|
||||
@ApiOperation(value="企标稽查计划流程-流程发起", notes="企标稽查计划流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
esInspectPlanFlowService.flowStart(esInspectPlanFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程保存
|
||||
* @param esInspectPlanFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-流程保存")
|
||||
@ApiOperation(value="企标稽查计划流程-流程保存", notes="企标稽查计划流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
esInspectPlanFlowService.flowSave(esInspectPlanFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-办理详情")
|
||||
@ApiOperation(value="企标稽查计划流程-办理详情", notes="企标稽查计划流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsInspectPlanFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esInspectPlanFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程审批
|
||||
* @param esInspectPlanFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-流程审批")
|
||||
@ApiOperation(value="企标稽查计划流程-流程审批", notes="企标稽查计划流程-流程审批")
|
||||
@PostMapping(value = "/flowApproval")
|
||||
public Result<T> flowApproval(@RequestBody EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
esInspectPlanFlowService.flowApproval(esInspectPlanFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-驳回
|
||||
* @param esInspectPlanFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-驳回")
|
||||
@ApiOperation(value="企标稽查计划流程-驳回", notes="企标稽查计划流程-驳回")
|
||||
@PostMapping(value = "/flowReject")
|
||||
public Result<T> flowReject(@RequestBody EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
log.info("");
|
||||
esInspectPlanFlowService.flowApproval(esInspectPlanFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程转办
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-流程转办")
|
||||
@ApiOperation(value="企标稽查计划流程-流程转办", notes="企标稽查计划流程-流程转办")
|
||||
@GetMapping(value = "/flowTransfer")
|
||||
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
|
||||
esInspectPlanFlowService.flowTransfer(taskId, userId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-223
@@ -1,223 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
|
||||
import com.jero.modules.system.vo.IdMapBody;
|
||||
import com.jero.modules.system.vo.IdsMapBody;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="企标稽查计划业务表")
|
||||
@RestController
|
||||
@RequestMapping("/process/processEsInspectPlan")
|
||||
@Slf4j
|
||||
public class ProcessEsInspectPlanController extends JeroController<ProcessEsInspectPlan, IProcessEsInspectPlanService> {
|
||||
@Autowired
|
||||
private IProcessEsInspectPlanService processEsInspectPlanService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-分页列表查询")
|
||||
@ApiOperation(value="企标稽查计划业务表-分页列表查询", notes="企标稽查计划业务表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
@Translation
|
||||
public Result<IPage<ProcessEsInspectPlan>> queryPageList(ProcessEsInspectPlan processEsInspectPlan,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
IPage<ProcessEsInspectPlan> pageList = processEsInspectPlanService.queryPage(processEsInspectPlan, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-列表查询")
|
||||
@ApiOperation(value="企标稽查计划业务表-列表查询", notes="企标稽查计划业务表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
@Translation
|
||||
public Result<List<ProcessEsInspectPlan>> queryList(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<ProcessEsInspectPlan> list = processEsInspectPlanService.queryList(processEsInspectPlan);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-添加")
|
||||
@ApiOperation(value="企标稽查计划业务表-添加", notes="企标稽查计划业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsInspectPlan processEsInspectPlan) {
|
||||
processEsInspectPlanService.add(processEsInspectPlan);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-编辑")
|
||||
@ApiOperation(value="企标稽查计划业务表-编辑", notes="企标稽查计划业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsInspectPlan processEsInspectPlan) {
|
||||
processEsInspectPlanService.editById(processEsInspectPlan);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-通过id删除")
|
||||
@ApiOperation(value="企标稽查计划业务表-通过id删除", notes="企标稽查计划业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody IdMapBody map) {
|
||||
if (StringUtils.isBlank(map.getId())){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsInspectPlanService.deleteById(map.getId());
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-批量删除")
|
||||
@ApiOperation(value="企标稽查计划业务表-批量删除", notes="企标稽查计划业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
if (StringUtils.isBlank(map.getIds())){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsInspectPlanService.deleteByIds(Arrays.asList(map.getIds().split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-通过id查询")
|
||||
@ApiOperation(value="企标稽查计划业务表-通过id查询", notes="企标稽查计划业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsInspectPlan> queryById(@ApiParam("id") @RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsInspectPlan processEsInspectPlan = processEsInspectPlanService.queryById(id);
|
||||
if(processEsInspectPlan==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsInspectPlan);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsInspectPlan
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-导出excel")
|
||||
@ApiOperation(value="企标稽查计划业务表-导出excel", notes="企标稽查计划业务表-导出excel")
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspectPlan processEsInspectPlan) {
|
||||
return super.exportXls(request, processEsInspectPlan, ProcessEsInspectPlan.class, "企标稽查计划业务表");
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入模板(稽查联络人发起计划)
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-下载导入模板(稽查联络人发起计划)")
|
||||
@ApiOperation(value="企标稽查计划业务表-下载导入模板(稽查联络人发起计划)", notes="企标稽查计划业务表-下载导入模板(稽查联络人发起计划)")
|
||||
@GetMapping(value = "/templateDownloadByStart")
|
||||
public void templateDownloadByStart(HttpServletResponse response) throws IOException {
|
||||
processEsInspectPlanService.templateDownloadByStart(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见)")
|
||||
@ApiOperation(value="企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见)", notes="企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见)")
|
||||
@GetMapping(value = "/templateDownloadByStartByOpinionFill")
|
||||
public void templateDownloadByStartByOpinionFill(HttpServletResponse response) throws IOException {
|
||||
processEsInspectPlanService.templateDownloadByStartByOpinionFill(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据(稽查联络人发起计划)
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
|
||||
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)", notes="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
|
||||
@PostMapping(value = "/importExcelByStart")
|
||||
@Translation
|
||||
public Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
return processEsInspectPlanService.importExcelByStart(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据(稽查征求意见对象填写意见)
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
|
||||
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)", notes="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
|
||||
@PostMapping(value = "/importExcelByOpinionFill")
|
||||
@Translation
|
||||
public Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
return processEsInspectPlanService.importExcelByOpinionFill(request, response);
|
||||
}
|
||||
}
|
||||
-192
@@ -1,192 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanOpinionService;
|
||||
import com.jero.modules.system.vo.IdMapBody;
|
||||
import com.jero.modules.system.vo.IdsMapBody;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务_意见表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-13
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="企标稽查计划业务_意见表")
|
||||
@RestController
|
||||
@RequestMapping("/process/processEsInspectPlanOpinion")
|
||||
@Slf4j
|
||||
public class ProcessEsInspectPlanOpinionController extends JeroController<ProcessEsInspectPlanOpinion, IProcessEsInspectPlanOpinionService> {
|
||||
@Autowired
|
||||
private IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-分页列表查询")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-分页列表查询", notes="企标稽查计划业务_意见表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<ProcessEsInspectPlanOpinion>> queryPageList(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
IPage<ProcessEsInspectPlanOpinion> pageList = processEsInspectPlanOpinionService.queryPage(processEsInspectPlanOpinion, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-列表查询")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-列表查询", notes="企标稽查计划业务_意见表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProcessEsInspectPlanOpinion>> queryList(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
List<ProcessEsInspectPlanOpinion> list = processEsInspectPlanOpinionService.queryList(processEsInspectPlanOpinion);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-添加")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-添加", notes="企标稽查计划业务_意见表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
processEsInspectPlanOpinionService.add(processEsInspectPlanOpinion);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划业务_意见表-填写意见
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-填写意见")
|
||||
@ApiOperation(value="企标稽查计划业务表-填写意见", notes="企标稽查计划业务表-填写意见")
|
||||
@PostMapping(value = "/fillInOpinion")
|
||||
public Result<T> fillInOpinion(@Validated @RequestBody ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
processEsInspectPlanOpinionService.saveOrUpdate(processEsInspectPlanOpinion);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划业务_意见表-获取最新的填写意见
|
||||
*
|
||||
* @param inspectPlanId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务表-获取当前登陆人最新的填写意见")
|
||||
@ApiOperation(value="企标稽查计划业务表-获取当前登陆人最新的填写意见", notes="企标稽查计划业务表-获取当前登陆人最新的填写意见")
|
||||
@GetMapping(value = "/queryLastOpinionByInspectPlanId")
|
||||
public Result<ProcessEsInspectPlanOpinion> queryLastOpinion(String inspectPlanId) {
|
||||
return Result.OK(processEsInspectPlanOpinionService.queryLastOpinion(inspectPlanId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-编辑")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-编辑", notes="企标稽查计划业务_意见表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
processEsInspectPlanOpinionService.editById(processEsInspectPlanOpinion);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-通过id删除")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-通过id删除", notes="企标稽查计划业务_意见表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody IdMapBody map) {
|
||||
if (StringUtils.isBlank(map.getId())){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsInspectPlanOpinionService.deleteById(map.getId());
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-批量删除")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-批量删除", notes="企标稽查计划业务_意见表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
if (StringUtils.isBlank(map.getIds())){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsInspectPlanOpinionService.deleteByIds(Arrays.asList(map.getIds().split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划业务_意见表-通过id查询")
|
||||
@ApiOperation(value="企标稽查计划业务_意见表-通过id查询", notes="企标稽查计划业务_意见表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsInspectPlanOpinion> queryById(@ApiParam("id") @RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsInspectPlanOpinion processEsInspectPlanOpinion = processEsInspectPlanOpinionService.queryById(id);
|
||||
if(processEsInspectPlanOpinion==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsInspectPlanOpinion);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsInspectPlanOpinion
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
return super.exportXls(request, processEsInspectPlanOpinion, ProcessEsInspectPlanOpinion.class, "企标稽查计划业务_意见表");
|
||||
}
|
||||
}
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_inspect_plan")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_inspect_plan对象", description="企标稽查计划业务表")
|
||||
public class ProcessEsInspectPlan extends BaseEntity {
|
||||
/**项目id*/
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**稽查依据标准号*/
|
||||
@Excel(name = "*稽查依据标准号", width = 15)
|
||||
@ApiModelProperty(value = "稽查依据标准号")
|
||||
private String inspectNo;
|
||||
/**稽查依据标准名称*/
|
||||
@Excel(name = "*稽查依据标准名称", width = 16)
|
||||
@ApiModelProperty(value = "稽查依据标准名称")
|
||||
private String inspectName;
|
||||
/**计划稽查对象*/
|
||||
@Excel(name = "*计划稽查对象", width = 15)
|
||||
@ApiModelProperty(value = "计划稽查对象")
|
||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
||||
private String inspectObject;
|
||||
/**主责标准化工作组*/
|
||||
@Excel(name = "*主责标准化工作组", width = 16)
|
||||
@ApiModelProperty(value = "主责标准化工作组")
|
||||
private String standardizationWorkGroup;
|
||||
/**所属部门*/
|
||||
@Excel(name = "*所属部门", width = 15)
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
||||
private String belongDept;
|
||||
/**计划稽查日期*/
|
||||
// @Excel(name = "计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期")
|
||||
private Date planInspectDate;
|
||||
/**计划稽查日期 导入用*/
|
||||
@Excel(name = "*计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期 导入用")
|
||||
@TableField(exist = false)
|
||||
private String planInspectDates;
|
||||
/**稽查负责人*/
|
||||
@Excel(name = "*稽查负责人", width = 15)
|
||||
@ApiModelProperty(value = "稽查负责人")
|
||||
private String inspectUser;
|
||||
/**稽查负责人 翻译*/
|
||||
@ApiModelProperty(value = "稽查负责人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String inspectUserDictText;
|
||||
/**标准化组对接人*/
|
||||
@Excel(name = "*标准化组对接人", width = 15)
|
||||
@ApiModelProperty(value = "标准化组对接人")
|
||||
private String standardizationDockingUser;
|
||||
/**标准化组对接人 翻译*/
|
||||
@ApiModelProperty(value = "标准化组对接人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String standardizationDockingUserDictText;
|
||||
/**征求意见对象*/
|
||||
@Excel(name = "*征求意见对象", width = 15)
|
||||
@ApiModelProperty(value = "征求意见对象")
|
||||
private String objectOfConsultation;
|
||||
/**征求意见对象 翻译*/
|
||||
@ApiModelProperty(value = "征求意见对象 翻译")
|
||||
@TableField(exist = false)
|
||||
private String objectOfConsultationDictText;
|
||||
/**备注*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String remarks;
|
||||
|
||||
/**意见*/
|
||||
@ApiModelProperty(value = "意见")
|
||||
@TableField(exist = false)
|
||||
private List<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinionList;
|
||||
/**意见*/
|
||||
@ApiModelProperty(value = "意见")
|
||||
@TableField(exist = false)
|
||||
private ProcessEsInspectPlanOpinion processEsInspectPlanOpinion;
|
||||
/**节点id*/
|
||||
@ApiModelProperty(value = "节点id")
|
||||
@TableField(exist = false)
|
||||
private String nodeId;
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务_意见表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-13
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_inspect_plan_opinion")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_inspect_plan_opinion对象", description="企标稽查计划业务_意见表")
|
||||
public class ProcessEsInspectPlanOpinion extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**企标稽查计划业务表Id*/
|
||||
@Excel(name = "企标稽查计划业务表Id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查计划业务表Id")
|
||||
private java.lang.String inspectPlanId;
|
||||
/**意见*/
|
||||
@Excel(name = "意见", width = 15)
|
||||
@ApiModelProperty(value = "意见")
|
||||
private java.lang.String opinion;
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsInspectPlanMapper extends BaseMapper<ProcessEsInspectPlan> {
|
||||
|
||||
/**
|
||||
* 根据流程实例id查询流程变量
|
||||
* @param instanceId
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> findActRuVariableByInstanceId(@Param("instanceId") String instanceId, @Param("key") String key);
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务_意见表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-13
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsInspectPlanOpinionMapper extends BaseMapper<ProcessEsInspectPlanOpinion> {
|
||||
|
||||
/**
|
||||
* 标准化组-根据账号分组查最新
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectPlanOpinion> findLastByGroup(@Param("inspectPlanId") String inspectPlanId);
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanMapper">
|
||||
|
||||
<select id="findActRuVariableByInstanceId" resultType="java.util.Map">
|
||||
select * from ACT_RU_VARIABLE where PROC_INST_ID_ = #{instanceId} and NAME_ = #{key}
|
||||
</select>
|
||||
</mapper>
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanOpinionMapper">
|
||||
|
||||
<select id="findLastByGroup"
|
||||
resultType="com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion">
|
||||
select *
|
||||
from (select create_by, max(id) id
|
||||
from process_es_inspect_plan_opinion
|
||||
where inspect_plan_id = #{inspectPlanId}
|
||||
and del_flag = 0
|
||||
group by create_by) t1
|
||||
left join process_es_inspect_plan_opinion t2 on t1.create_by = t2.create_by and t1.id = t2.id
|
||||
</select>
|
||||
</mapper>
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @InterfaceName: 企标稽查计划流程
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:47
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsInspectPlanFlowService {
|
||||
/**
|
||||
* 企标稽查计划流程-流程发起
|
||||
* @param esInspectPlanFlowVO
|
||||
*/
|
||||
void flowStart(EsInspectPlanFlowVO esInspectPlanFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程保存
|
||||
* @param esInspectPlanFlowVO
|
||||
*/
|
||||
void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-办理详情
|
||||
*
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsInspectPlanFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-人员信息
|
||||
* @return
|
||||
*/
|
||||
List<ProcessNode> queryPersonInfo(String processDefinitionName, String processInstanceId);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程审批
|
||||
* @param esInspectPlanFlowVO
|
||||
*/
|
||||
void flowApproval(EsInspectPlanFlowVO esInspectPlanFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程转办
|
||||
*
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-是否是最后一个节点
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
boolean isLastNode(String processInstanceId);
|
||||
}
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务_意见表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-13
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsInspectPlanOpinionService extends IService<ProcessEsInspectPlanOpinion> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectPlanOpinion> queryPage(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectPlanOpinion> queryList(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectPlanOpinion queryById(String id);
|
||||
|
||||
/**
|
||||
* 企标稽查计划业务表-获取当前登陆人最新的填写意见
|
||||
* @param inspectPlanId
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectPlanOpinion queryLastOpinion(String inspectPlanId);
|
||||
|
||||
/**
|
||||
* 标准化组-根据账号分组查最新
|
||||
* @param inspectPlanId
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectPlanOpinion> findLastByGroup(String inspectPlanId);
|
||||
}
|
||||
-117
@@ -1,117 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsInspectPlanService extends IService<ProcessEsInspectPlan> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectPlan> queryPage(ProcessEsInspectPlan processEsInspectPlan, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectPlan> queryList(ProcessEsInspectPlan processEsInspectPlan);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsInspectPlan processEsInspectPlan);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsInspectPlan processEsInspectPlan);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectPlan queryById(String id);
|
||||
|
||||
/**
|
||||
* 通过流程实例id和参数名查询流程变量
|
||||
*
|
||||
* @param instanceId
|
||||
* @param key
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> findActRuVariableByInstanceId(String instanceId, String key);
|
||||
|
||||
/**
|
||||
* 企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception;
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
* @return
|
||||
*/
|
||||
void templateDownloadByStart(HttpServletResponse response) throws IOException;
|
||||
|
||||
/**
|
||||
* 通过excel导入数据(稽查征求意见对象填写意见)
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception;
|
||||
|
||||
/**
|
||||
* 企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见)
|
||||
* @param response
|
||||
*/
|
||||
void templateDownloadByStartByOpinionFill(HttpServletResponse response) throws IOException;
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectPlanFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_inspect_plan", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-576
@@ -1,576 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esAbolish.entity.ProcessEsAbolish;
|
||||
import com.jero.modules.activiti.process.esAbolish.service.ProcessEsAbolishService;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||
import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IEsInspectPlanFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanOpinionService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspect;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectObject;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectObjectService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.*;
|
||||
import org.activiti.engine.repository.ProcessDefinition;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: 企标稽查计划流程
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:47
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final IProcessEsInspectPlanService processEsInspectPlanService;
|
||||
private final RepositoryService repositoryService;
|
||||
private final ISysUserService sysUserService;
|
||||
private final ProcessNodeService processNodeService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final SendMessageAPI sendMessageAPI;
|
||||
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
||||
private final EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService;
|
||||
private final IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService;
|
||||
private final ProcessEsAbolishService processEsAbolishService;
|
||||
private final ProcessEsArchiveService processEsArchiveService;
|
||||
public EsInspectPlanFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
IProcessEsInspectPlanService processEsInspectPlanService,
|
||||
RepositoryService repositoryService,
|
||||
ISysUserService sysUserService,
|
||||
ProcessNodeService processNodeService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
SendMessageAPI sendMessageAPI,
|
||||
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
||||
EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService,
|
||||
IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService,
|
||||
ProcessEsAbolishService processEsAbolishService,
|
||||
ProcessEsArchiveService processEsArchiveService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processEsInspectPlanService = processEsInspectPlanService;
|
||||
this.repositoryService = repositoryService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.processNodeService = processNodeService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.sendMessageAPI = sendMessageAPI;
|
||||
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
||||
this.enterpriseStandardInspectObjectService = enterpriseStandardInspectObjectService;
|
||||
this.processEsInspectPlanOpinionService = processEsInspectPlanOpinionService;
|
||||
this.processEsAbolishService = processEsAbolishService;
|
||||
this.processEsArchiveService = processEsArchiveService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
private static final String COUNTERSIGN = "countersign";
|
||||
private static final String COUNTERSIGN_TAG = "countersignTag";
|
||||
|
||||
@Override
|
||||
public void flowStart(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectPlanFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectPlanFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectPlanCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息、
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectPlanFlowVO);
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
}
|
||||
|
||||
private void handleBusinessData(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
List<ProcessEsInspectPlan> processEsInspectPlanList = esInspectPlanFlowVO.getProcessEsInspectPlanList();
|
||||
// 删除数据
|
||||
if (StringUtils.isNotBlank(esInspectPlanFlowVO.getProcessAllDelIds())) {
|
||||
List<String> idList = Arrays.asList(esInspectPlanFlowVO.getProcessAllDelIds().split(","));
|
||||
processEsInspectPlanService.removeByIds(idList);
|
||||
processEsInspectPlanOpinionService.removeByIds(idList);
|
||||
}
|
||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||
String projectId = processAll.getProjectId();
|
||||
|
||||
// 废止/封存判断
|
||||
checkout(processEsInspectPlanList);
|
||||
List<ProcessEsInspectPlan> updateProcessEsInspectPlanList = processEsInspectPlanList.stream()
|
||||
.filter(v -> StringUtils.isNotBlank(v.getId()))
|
||||
.map(v -> {
|
||||
v.setProjectId(projectId);
|
||||
return v;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
processEsInspectPlanService.updateBatchById(updateProcessEsInspectPlanList);
|
||||
|
||||
List<ProcessEsInspectPlan> saveProcessEsInspectPlanList = processEsInspectPlanList.stream()
|
||||
.filter(v -> StringUtils.isBlank(v.getId()))
|
||||
.map(v -> {
|
||||
v.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
v.setProjectId(projectId);
|
||||
return v;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
processEsInspectPlanService.saveBatch(saveProcessEsInspectPlanList);
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
// 处理意见
|
||||
if (EsInspectPlanCommon.PROCESS_NODE_2.equals(processAll.getNodeId())) {
|
||||
ArrayList<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinions = new ArrayList<>();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||
if (!Objects.isNull(processEsInspectPlan.getProcessEsInspectPlanOpinion())) {
|
||||
ProcessEsInspectPlanOpinion processEsInspectPlanOpinion = processEsInspectPlan.getProcessEsInspectPlanOpinion();
|
||||
processEsInspectPlanOpinion.setInspectPlanId(processEsInspectPlan.getId());
|
||||
processEsInspectPlanOpinion.setCreateBy(sysUser.getUsername());
|
||||
processEsInspectPlanOpinions.add(processEsInspectPlanOpinion);
|
||||
}
|
||||
}
|
||||
// 保存意见
|
||||
processEsInspectPlanOpinionService.saveOrUpdateBatch(processEsInspectPlanOpinions);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkout(List<ProcessEsInspectPlan> processEsInspectPlanList){
|
||||
List<String> errorList = new ArrayList<>();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||
String inspectNo = processEsInspectPlan.getInspectNo();
|
||||
// 企标废止
|
||||
ProcessEsAbolish processEsAbolish = processEsAbolishService.getOne(
|
||||
new LambdaQueryWrapper<ProcessEsAbolish>()
|
||||
.eq(ProcessEsAbolish::getStandardNumber, inspectNo)
|
||||
.orderByDesc(ProcessEsAbolish::getCreateTime)
|
||||
.last("limit 1"), false);
|
||||
if (!Objects.isNull(processEsAbolish)){
|
||||
ProcessAll processAll = processAllService.getOne(
|
||||
new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processEsAbolish.getProcessInstanceId()));
|
||||
if (!Objects.isNull(processEsAbolish)
|
||||
&& ProcessStatusEnum.INCOMPLETE.getValue().equals(processAll.getPrcStatus())){
|
||||
errorList.add(inspectNo);
|
||||
}
|
||||
}
|
||||
|
||||
// 企标封存
|
||||
ProcessEsArchive processEsArchive = processEsArchiveService.getOne(
|
||||
new LambdaQueryWrapper<ProcessEsArchive>()
|
||||
.eq(ProcessEsArchive::getStandardNumber, inspectNo)
|
||||
.orderByDesc(ProcessEsArchive::getCreateTime)
|
||||
.last("limit 1"), false);
|
||||
if (!Objects.isNull(processEsArchive)){
|
||||
ProcessAll processAll = processAllService.getOne(
|
||||
new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processEsArchive.getProcessInstanceId()));
|
||||
if (!Objects.isNull(processAll)
|
||||
&& ProcessStatusEnum.INCOMPLETE.getValue().equals(processAll.getPrcStatus())){
|
||||
errorList.add(inspectNo);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!errorList.isEmpty()){
|
||||
throw new JeroBootException("企标编号为" + String.join(",", errorList) + "的数据已在企标废止/封存流程进行中,不可发起!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectPlanFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectPlanFlowVO);
|
||||
|
||||
// 稽查联络人汇总节点保存会签信息
|
||||
if (StringUtils.isNotBlank(processAll.getTaskId())){
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (EsInspectPlanCommon.PROCESS_NODE_3.equals(task.getTaskDefinitionKey())){
|
||||
taskService.setVariable(processAll.getTaskId(), COUNTERSIGN, esInspectPlanFlowVO.getCountersign());
|
||||
taskService.setVariable(processAll.getTaskId(), COUNTERSIGN_TAG, esInspectPlanFlowVO.getCountersignTag());
|
||||
}
|
||||
}
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsInspectPlanFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectPlanFlowVO esInspectPlanFlowVO = new EsInspectPlanFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
esInspectPlanFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
// 会签信息
|
||||
countersign(taskId, esInspectPlanFlowVO);
|
||||
// 业务表信息
|
||||
ProcessEsInspectPlan processEsInspectPlan = new ProcessEsInspectPlan();
|
||||
processEsInspectPlan.setProjectId(projectId);
|
||||
processEsInspectPlan.setNodeId(processApprovalRecord.getNodeId());
|
||||
esInspectPlanFlowVO.setProcessEsInspectPlanList(processEsInspectPlanService.queryList(processEsInspectPlan));
|
||||
esInspectPlanFlowVO.setProcessAll(processAll);
|
||||
esInspectPlanFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esInspectPlanFlowVO;
|
||||
}
|
||||
|
||||
private void countersign(String taskId, EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
if (StringUtils.isNotBlank(taskId)){
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if (EsInspectPlanCommon.PROCESS_NODE_3.equals(task.getTaskDefinitionKey())){
|
||||
String countersign = (String) taskService.getVariable(taskId, COUNTERSIGN);
|
||||
String countersignTag = (String) taskService.getVariable(taskId, COUNTERSIGN_TAG);
|
||||
if (StringUtils.isNotBlank(countersign)){
|
||||
esInspectPlanFlowVO.setCountersign(countersign);
|
||||
esInspectPlanFlowVO.setCountersignDictText(sysUserService.dictByIdsOrUserNames(countersign, ""));
|
||||
}
|
||||
if (StringUtils.isNotBlank(countersignTag)){
|
||||
esInspectPlanFlowVO.setCountersignTag(countersignTag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessNode> queryPersonInfo(String processDefinitionName, String processInstanceId) {
|
||||
List<ProcessNode> nodeList = new ArrayList<>();
|
||||
// 查询流程定义
|
||||
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
|
||||
.processDefinitionName(processDefinitionName)
|
||||
.latestVersion()
|
||||
.singleResult();
|
||||
if (!Objects.isNull(processDefinition)) {
|
||||
// 获取流程节点信息
|
||||
List<ProcessNode> processNodeList = processNodeService.list(
|
||||
new LambdaQueryWrapper<ProcessNode>()
|
||||
.eq(ProcessNode::getProcessDefinitionId, processDefinition.getId())
|
||||
.orderByAsc(ProcessNode::getSort));
|
||||
|
||||
// 查询流程实例关联用户
|
||||
for (ProcessNode processNode : processNodeList) {
|
||||
String userIds = "";
|
||||
if (StringUtils.isNotBlank(processInstanceId)) {
|
||||
List<ProcessNodeLink>processNodeLinkList = processNodeLinkService.list(
|
||||
new LambdaQueryWrapper<ProcessNodeLink>()
|
||||
.eq(ProcessNodeLink::getProcessDefinitionId, processDefinition.getId())
|
||||
.eq(ProcessNodeLink::getProcessNodeId, processNode.getId()));
|
||||
if (!processNodeLinkList.isEmpty()){
|
||||
List<String> userIdList = processNodeLinkList.stream().map(ProcessNodeLink::getUserId).collect(Collectors.toList());
|
||||
List<SysUser> sysUserList = sysUserService.listByIds(userIdList);
|
||||
userIds = sysUserList.stream().map(SysUser::getId).collect(Collectors.joining(","));
|
||||
}
|
||||
}
|
||||
processNode.setLinkUserIds(userIds);
|
||||
nodeList.add(processNode);
|
||||
}
|
||||
}
|
||||
return nodeList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowApproval(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectPlanFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectPlanFlowVO.getMap();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
|
||||
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile())
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task != null) {
|
||||
// 稽查联络人汇总节点保存会签信息
|
||||
saveCountersign(esInspectPlanFlowVO, map);
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectPlanFlowVO);
|
||||
// 获取稽查联络人
|
||||
String liaisons = taskService.getVariable(task.getId(), "liaisons", String.class);
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 再次更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 可跳过节点处理
|
||||
if (map.containsKey("pass") && (boolean) map.get("pass")){
|
||||
// 更新流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processAll.getProcessDefinitionId(), processAll.getProcessInstanceId(), listToString(map));
|
||||
}else if (map.containsKey("pass") && !(boolean) map.get("pass")){
|
||||
// 驳回删除可跳过节点人员信息
|
||||
ProcessNode processNode = processNodeService.getOne(new LambdaQueryWrapper<ProcessNode>()
|
||||
.eq(ProcessNode::getProcessDefinitionId, processAll.getProcessDefinitionId())
|
||||
.eq(ProcessNode::getVariableName, "involveList")
|
||||
.orderByDesc(ProcessNode::getCreateTime));
|
||||
processNodeLinkService.update(
|
||||
new LambdaUpdateWrapper<ProcessNodeLink>()
|
||||
.eq(ProcessNodeLink::getProcessDefinitionId, processAll.getProcessDefinitionId())
|
||||
.eq(ProcessNodeLink::getProcessInstanceId, processAll.getProcessInstanceId())
|
||||
.eq(ProcessNodeLink::getProcessNodeId, processNode.getId())
|
||||
.set(ProcessNodeLink::getUserId, null));
|
||||
}
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())
|
||||
&& map.containsKey("pass") && (boolean) map.get("pass")){
|
||||
|
||||
// 企标稽查计划业务表数据
|
||||
List<ProcessEsInspectPlan> processEsInspectPlanList = processEsInspectPlanService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId()));
|
||||
|
||||
// 企标稽查计划 生成数据 保存企标库
|
||||
saveDataToInspect(processEsInspectPlanList);
|
||||
try {
|
||||
// 抄送消息 通过hiwork 给稽查联络人抄送消息
|
||||
sendMessage(processAll, liaisons);
|
||||
}catch (Exception e){
|
||||
log.error("邮件发送失败:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendMessage(ProcessAll processAll, String liaisons) {
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_INSPECT_PLAN);
|
||||
sendMessageDTO.setToUserId(liaisons);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processAll.getProcessInstanceId());
|
||||
sendMap.put("prcNum", process.getPrcNum());
|
||||
sendMap.put("prcName", process.getPrcName());
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
|
||||
private static void saveCountersign(EsInspectPlanFlowVO esInspectPlanFlowVO, Map<String, Object> map) {
|
||||
if (map.containsKey("pass") && (boolean) map.get("pass")){
|
||||
if (StringUtils.isNotBlank(esInspectPlanFlowVO.getCountersign())){
|
||||
map.put(COUNTERSIGN, esInspectPlanFlowVO.getCountersign());
|
||||
}
|
||||
if (StringUtils.isNotBlank(esInspectPlanFlowVO.getCountersignTag())){
|
||||
map.put(COUNTERSIGN_TAG, esInspectPlanFlowVO.getCountersignTag());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void saveDataToInspect(List<ProcessEsInspectPlan> processEsInspectPlanList) {
|
||||
List<EnterpriseStandardInspect> list = new ArrayList<>();
|
||||
List<EnterpriseStandardInspectObject> objectList = new ArrayList<>();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||
EnterpriseStandardInspect enterpriseStandardInspect = new EnterpriseStandardInspect();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processEsInspectPlan, enterpriseStandardInspect);
|
||||
enterpriseStandardInspect.setCreateTime(null);
|
||||
enterpriseStandardInspect.setUpdateTime(null);
|
||||
enterpriseStandardInspect.setCreateBy(null);
|
||||
enterpriseStandardInspect.setUpdateBy(null);
|
||||
enterpriseStandardInspect.setProcessEsInspectPlanId(processEsInspectPlan.getId());
|
||||
// 稽查状态
|
||||
enterpriseStandardInspect.setInspectStatus(EsInspectPlanCommon.INSPECT_STATUS_1);
|
||||
// 计划稽查对象
|
||||
String inspectObject = processEsInspectPlan.getInspectObject();
|
||||
String[] inspectObjectList = inspectObject.split(",");
|
||||
for (String object : inspectObjectList) {
|
||||
EnterpriseStandardInspectObject enterpriseStandardInspectObject = new EnterpriseStandardInspectObject();
|
||||
enterpriseStandardInspectObject.setInspectId(processEsInspectPlan.getId());
|
||||
enterpriseStandardInspectObject.setPlanInspectObject(object);
|
||||
objectList.add(enterpriseStandardInspectObject);
|
||||
}
|
||||
list.add(enterpriseStandardInspect);
|
||||
}
|
||||
// 保存稽查
|
||||
enterpriseStandardInspectService.saveBatch(list);
|
||||
// 保存稽查对象
|
||||
enterpriseStandardInspectObjectService.saveBatch(objectList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowTransfer(String taskId, String userId) {
|
||||
processHandleService.transfer(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
}
|
||||
-157
@@ -1,157 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanOpinionMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanOpinionService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务_意见表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-13
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsInspectPlanOpinionServiceImpl extends ServiceImpl<ProcessEsInspectPlanOpinionMapper, ProcessEsInspectPlanOpinion> implements IProcessEsInspectPlanOpinionService {
|
||||
|
||||
private final ProcessEsInspectPlanOpinionMapper processEsInspectPlanOpinionMapper;
|
||||
private final ISysUserService sysUserService;
|
||||
|
||||
public ProcessEsInspectPlanOpinionServiceImpl(ProcessEsInspectPlanOpinionMapper processEsInspectPlanOpinionMapper,
|
||||
ISysUserService sysUserService) {
|
||||
this.processEsInspectPlanOpinionMapper = processEsInspectPlanOpinionMapper;
|
||||
this.sysUserService = sysUserService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsInspectPlanOpinion> queryPage(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<ProcessEsInspectPlanOpinion> queryWrapper = getProcessEsInspectPlanOpinionQueryWrapper(processEsInspectPlanOpinion);
|
||||
Page<ProcessEsInspectPlanOpinion> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsInspectPlanOpinion> queryList(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
QueryWrapper<ProcessEsInspectPlanOpinion> queryWrapper = getProcessEsInspectPlanOpinionQueryWrapper(processEsInspectPlanOpinion);
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<ProcessEsInspectPlanOpinion> getProcessEsInspectPlanOpinionQueryWrapper(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
QueryWrapper<ProcessEsInspectPlanOpinion> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectPlanOpinion.getInspectPlanId()), "opinion", processEsInspectPlanOpinion.getInspectPlanId());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
Date now = new Date();
|
||||
processEsInspectPlanOpinion.setCreateTime(now);
|
||||
processEsInspectPlanOpinion.setUpdateTime(now);
|
||||
save(processEsInspectPlanOpinion);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectPlanOpinion
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspectPlanOpinion processEsInspectPlanOpinion) {
|
||||
Date now = new Date();
|
||||
processEsInspectPlanOpinion.setUpdateTime(now);
|
||||
saveOrUpdate(processEsInspectPlanOpinion);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsInspectPlanOpinion queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessEsInspectPlanOpinion queryLastOpinion(String inspectPlanId) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaQueryWrapper<ProcessEsInspectPlanOpinion> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProcessEsInspectPlanOpinion::getInspectPlanId, inspectPlanId);
|
||||
queryWrapper.eq(ProcessEsInspectPlanOpinion::getCreateBy, sysUser.getUsername());
|
||||
queryWrapper.orderByDesc(ProcessEsInspectPlanOpinion::getCreateTime);
|
||||
queryWrapper.last("limit 1");
|
||||
return getOne(queryWrapper,false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessEsInspectPlanOpinion> findLastByGroup(String inspectPlanId) {
|
||||
List<ProcessEsInspectPlanOpinion> lastByGroup = processEsInspectPlanOpinionMapper.findLastByGroup(inspectPlanId);
|
||||
for (ProcessEsInspectPlanOpinion processEsInspectPlanOpinion : lastByGroup) {
|
||||
processEsInspectPlanOpinion.setCreateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlanOpinion.getCreateBy()));
|
||||
}
|
||||
return lastByGroup;
|
||||
}
|
||||
}
|
||||
-533
@@ -1,533 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.BeanCopyUtils;
|
||||
import com.jero.common.util.ImportExcelUtil;
|
||||
import com.jero.common.util.IntekeyUtils;
|
||||
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanOpinionService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.vo.ProcessEsInspectPlanExcel;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查计划业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-09
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspectPlanMapper, ProcessEsInspectPlan> implements IProcessEsInspectPlanService {
|
||||
|
||||
private final ProcessEsInspectPlanMapper processEsInspectPlanMapper;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService;
|
||||
private final ISysUserService sysUserService;
|
||||
private final ISysDepartService sysDepartService;
|
||||
|
||||
public ProcessEsInspectPlanServiceImpl(ProcessEsInspectPlanMapper processEsInspectPlanMapper,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService,
|
||||
ISysUserService sysUserService,
|
||||
ISysDepartService sysDepartService) {
|
||||
this.processEsInspectPlanMapper = processEsInspectPlanMapper;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.processEsInspectPlanOpinionService = processEsInspectPlanOpinionService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.sysDepartService = sysDepartService;
|
||||
}
|
||||
|
||||
private static final String ERROR_MESSAGE = "模板错误,按照系统模板导入!";
|
||||
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsInspectPlan> queryPage(ProcessEsInspectPlan processEsInspectPlan, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
|
||||
Page<ProcessEsInspectPlan> page = new Page<>(pageNo, pageSize);
|
||||
Page<ProcessEsInspectPlan> pages = page(page, queryWrapper);
|
||||
fillProperty(pages.getRecords());
|
||||
return pages;
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsInspectPlan> queryList(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
|
||||
List<ProcessEsInspectPlan> list = list(queryWrapper);
|
||||
fillProperty(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void fillProperty(List<ProcessEsInspectPlan> list) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : list) {
|
||||
// 意见
|
||||
List<ProcessEsInspectPlanOpinion> opinionList = processEsInspectPlanOpinionService.findLastByGroup(processEsInspectPlan.getId());
|
||||
for (ProcessEsInspectPlanOpinion processEsInspectPlanOpinion : opinionList) {
|
||||
if (loginUser.getUsername().equals(processEsInspectPlanOpinion.getCreateBy())){
|
||||
processEsInspectPlan.setProcessEsInspectPlanOpinion(processEsInspectPlanOpinion);
|
||||
}
|
||||
// 用户翻译
|
||||
processEsInspectPlanOpinion.setCreateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlanOpinion.getCreateBy()));
|
||||
processEsInspectPlanOpinion.setUpdateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlanOpinion.getUpdateBy()));
|
||||
}
|
||||
processEsInspectPlan.setProcessEsInspectPlanOpinionList(opinionList);
|
||||
// 用户翻译
|
||||
processEsInspectPlan.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getInspectUser(), ""));
|
||||
processEsInspectPlan.setStandardizationDockingUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getStandardizationDockingUser(), ""));
|
||||
processEsInspectPlan.setObjectOfConsultationDictText(sysUserService.dictByIdsOrUserNames(processEsInspectPlan.getObjectOfConsultation(), ""));
|
||||
processEsInspectPlan.setCreateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlan.getCreateBy()));
|
||||
processEsInspectPlan.setUpdateByDictText(sysUserService.dictByIdsOrUserNames("", processEsInspectPlan.getUpdateBy()));
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<ProcessEsInspectPlan> getProcessEsInspectPlanQueryWrapper(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectPlan.getProjectId()), "project_id", processEsInspectPlan.getProjectId());
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getNodeId()) && EsInspectPlanCommon.PROCESS_NODE_2.equals(processEsInspectPlan.getNodeId())){
|
||||
queryWrapper.and(qw ->
|
||||
qw.like("object_of_consultation", loginUser.getId())
|
||||
.or().eq("create_by", loginUser.getUsername()));
|
||||
}
|
||||
queryWrapper.orderByAsc("create_time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
Date now = new Date();
|
||||
processEsInspectPlan.setCreateTime(now);
|
||||
processEsInspectPlan.setUpdateTime(now);
|
||||
save(processEsInspectPlan);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectPlan
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
Date now = new Date();
|
||||
processEsInspectPlan.setUpdateTime(now);
|
||||
saveOrUpdate(processEsInspectPlan);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsInspectPlan queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findActRuVariableByInstanceId(String instanceId, String key) {
|
||||
return processEsInspectPlanMapper.findActRuVariableByInstanceId(instanceId, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
String projectId = request.getParameter("projectId");
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||
// 获取上传文件对象
|
||||
// 解密excel
|
||||
MultipartFile file = IntekeyUtils.autoDecryptFile(entity.getValue());
|
||||
ImportParams params = new ImportParams();
|
||||
params.setNeedSave(true);
|
||||
params.setHeadRows(1);
|
||||
// excel表格头部校验
|
||||
excelHeadVerify(file, ProcessEsInspectPlan.class, 0, 0);
|
||||
List<ProcessEsInspectPlan> lists = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsInspectPlan.class, params);
|
||||
if (CollectionUtils.isEmpty(lists) || lists.size() <= 2) {
|
||||
return Result.error("没有数据可导入!");
|
||||
}
|
||||
lists.remove(0);
|
||||
lists.remove(0);
|
||||
List<ProcessEsInspectPlan> list = BeanCopyUtils.copyBeanList(lists, ProcessEsInspectPlan.class);
|
||||
StringBuilder errorMSG = new StringBuilder();
|
||||
// 字段校验
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
list.get(i).setProjectId(projectId);
|
||||
String head = "第" + (i + 4) + "行:";
|
||||
List<String> firstVerify = firstVerify(list.get(i));
|
||||
List<String> secondVerify = secondVerify(list.get(i));
|
||||
List<String> thirdVerify = thirdVerify(list.get(i));
|
||||
List<String> fifthVerify = fifthVerify(list.get(i));
|
||||
List<String> sixthVerify = sixthVerify(list.get(i));
|
||||
List<String> seventhVerify = seventhVerify(list.get(i));
|
||||
firstVerify.addAll(secondVerify);
|
||||
firstVerify.addAll(thirdVerify);
|
||||
firstVerify.addAll(fifthVerify);
|
||||
firstVerify.addAll(sixthVerify);
|
||||
firstVerify.addAll(seventhVerify);
|
||||
|
||||
if (!firstVerify.isEmpty()){
|
||||
errorMSG.append(head).append(String.join("", firstVerify)).append("<br/>");
|
||||
}
|
||||
}
|
||||
//update-begin-author:taoyan date:20190528 for:批量插入数据
|
||||
//update-end-author:taoyan date:20190528 for:批量插入数据
|
||||
if (errorMSG.length() > 0){
|
||||
throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
|
||||
}else {
|
||||
fillProperty(list);
|
||||
return Result.OK("文件导入成功!数据行数:" + list.size(), list);
|
||||
}
|
||||
}
|
||||
return Result.error("文件导入失败!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void templateDownloadByStart(HttpServletResponse response) throws IOException {
|
||||
ClassPathResource resource = new ClassPathResource("excelTemplate/企标稽查计划导入模板(稽查联络人发起计划).xls");
|
||||
// 设置HTTP响应头,包括文件大小和内容类型
|
||||
response.setContentType("application/vnd.ms-excel"); // 根据实际文件类型设置内容类型
|
||||
response.setHeader("Content-Disposition", "attachment; filename=企标稽查计划导入模板.xls");
|
||||
|
||||
// 将文件内容写入HTTP响应输出流中
|
||||
try (InputStream in = resource.getInputStream();
|
||||
ServletOutputStream out = response.getOutputStream()) {
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
while ((bytesRead = in.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
String projectId = request.getParameter("projectId");
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||
// 获取上传文件对象
|
||||
MultipartFile file = IntekeyUtils.autoDecryptFile(entity.getValue());
|
||||
ImportParams params = new ImportParams();
|
||||
params.setNeedSave(true);
|
||||
params.setHeadRows(1);
|
||||
// excel表格头部校验
|
||||
excelHeadVerify2(file, ProcessEsInspectPlanExcel.class, 0, 0);
|
||||
List<ProcessEsInspectPlanExcel> lists = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsInspectPlanExcel.class, params);
|
||||
if (CollectionUtils.isEmpty(lists) || lists.size() <= 2) {
|
||||
throw new JeroBootException("没有数据可导入!");
|
||||
}
|
||||
lists.remove(0);
|
||||
lists.remove(0);
|
||||
List<ProcessEsInspectPlan> list = BeanCopyUtils.copyBeanList(lists, ProcessEsInspectPlan.class);
|
||||
StringBuilder errorMSG = new StringBuilder();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 字段校验
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
list.get(i).setProjectId(projectId);
|
||||
String head = "第" + (i + 4) + "行:";
|
||||
List<String> firstVerify = firstVerify(list.get(i));
|
||||
List<String> secondVerify = secondVerify(list.get(i));
|
||||
List<String> thirdVerify = thirdVerify(list.get(i));
|
||||
List<String> fifthVerify = fifthVerify(list.get(i));
|
||||
List<String> sixthVerify = sixthVerify(list.get(i));
|
||||
list.get(i).setObjectOfConsultation(loginUser.getId());
|
||||
firstVerify.addAll(secondVerify);
|
||||
firstVerify.addAll(thirdVerify);
|
||||
firstVerify.addAll(fifthVerify);
|
||||
firstVerify.addAll(sixthVerify);
|
||||
|
||||
if (!firstVerify.isEmpty()){
|
||||
errorMSG.append(head).append(String.join("", firstVerify)).append("<br/>");
|
||||
}
|
||||
}
|
||||
//update-begin-author:taoyan date:20190528 for:批量插入数据
|
||||
//update-end-author:taoyan date:20190528 for:批量插入数据
|
||||
if (errorMSG.length() > 0){
|
||||
throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
|
||||
}else {
|
||||
fillProperty(list);
|
||||
return Result.OK("文件导入成功!数据行数:" + list.size(), list);
|
||||
}
|
||||
}
|
||||
return Result.error("文件导入失败!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void templateDownloadByStartByOpinionFill(HttpServletResponse response) throws IOException {
|
||||
ClassPathResource resource = new ClassPathResource("excelTemplate/企标稽查计划导入模板(稽查征求意见对象填写意见).xls");
|
||||
// 设置HTTP响应头,包括文件大小和内容类型
|
||||
response.setContentType("application/vnd.ms-excel"); // 根据实际文件类型设置内容类型
|
||||
response.setHeader("Content-Disposition", "attachment; filename=企标稽查计划导入模板.xls");
|
||||
|
||||
// 将文件内容写入HTTP响应输出流中
|
||||
try (InputStream in = resource.getInputStream();
|
||||
ServletOutputStream out = response.getOutputStream()) {
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
while ((bytesRead = in.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> seventhVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getObjectOfConsultation())){
|
||||
String[] objectOfConsultationArr = processEsInspectPlan.getObjectOfConsultation().split(",");
|
||||
List<String> userList = new ArrayList<>();
|
||||
for (String objectOfConsultation : objectOfConsultationArr) {
|
||||
SysUser sysUser = sysUserService.findUserByCalcNameWorkNo(objectOfConsultation);
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("征求意见对象不存在!");
|
||||
}else {
|
||||
userList.add(sysUser.getId());
|
||||
}
|
||||
}
|
||||
if (!userList.isEmpty()){
|
||||
processEsInspectPlan.setObjectOfConsultation(String.join(",", userList));
|
||||
}
|
||||
}else {
|
||||
errorList.add("征求意见对象不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> sixthVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getStandardizationDockingUser())){
|
||||
SysUser sysUser = sysUserService.findUserByCalcNameWorkNo(processEsInspectPlan.getStandardizationDockingUser());
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("标准化组对接人不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setStandardizationDockingUser(sysUser.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("标准化组对接人不能为空!");
|
||||
}
|
||||
// 填充创建人
|
||||
processEsInspectPlan.setCreateBy(loginUser.getUsername());
|
||||
processEsInspectPlan.setCreateByDictText(loginUser.calcNameWorkNo());
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> fifthVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getPlanInspectDates())){
|
||||
try{
|
||||
Date parse = dateFormat.parse(processEsInspectPlan.getPlanInspectDates());
|
||||
Calendar instance = Calendar.getInstance();
|
||||
instance.setTime(parse);
|
||||
int weekYear = instance.getWeekYear();
|
||||
if (String.valueOf(weekYear).length() > 4){
|
||||
throw new JeroBootException("");
|
||||
}
|
||||
processEsInspectPlan.setPlanInspectDate(parse);
|
||||
}catch (Exception e){
|
||||
errorList.add("计划稽查日期格式不正确!(正确格式:yyyy-MM-dd)");
|
||||
}
|
||||
}else {
|
||||
errorList.add("计划稽查日期不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectUser())){
|
||||
SysUser sysUser = sysUserService.findUserByCalcNameWorkNo(processEsInspectPlan.getInspectUser());
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("稽查负责人不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setInspectUser(sysUser.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("稽查负责人不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> thirdVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getStandardizationWorkGroup())){
|
||||
processEsInspectPlan.setStandardizationWorkGroup(processEsInspectPlan.getStandardizationWorkGroup());
|
||||
}else {
|
||||
errorList.add("主责标准化工作组不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getBelongDept())){
|
||||
List<SysDepart> sysDepart = sysDepartService.list(
|
||||
new LambdaQueryWrapper<SysDepart>()
|
||||
.eq(SysDepart::getDepartName, processEsInspectPlan.getBelongDept()));
|
||||
if (sysDepart.isEmpty()) {
|
||||
errorList.add("所属部门不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setBelongDept(sysDepart.get(0).getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("所属部门不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> secondVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
List<String> departList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectObject())){
|
||||
String[] list = processEsInspectPlan.getInspectObject().split(",");
|
||||
for (String s : list) {
|
||||
List<SysDepart> sysDepart = sysDepartService.list(
|
||||
new LambdaQueryWrapper<SysDepart>()
|
||||
.eq(SysDepart::getDepartName, s));
|
||||
if (sysDepart.isEmpty()) {
|
||||
errorList.add("计划稽查对象不存在!");
|
||||
}else {
|
||||
departList.add(sysDepart.get(0).getId());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
errorList.add("计划稽查对象不能为空!");
|
||||
}
|
||||
if (errorList.isEmpty()){
|
||||
processEsInspectPlan.setInspectObject(String.join(",", departList));
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> firstVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
boolean flag = false;
|
||||
if (StringUtils.isBlank(processEsInspectPlan.getInspectNo())){
|
||||
errorList.add("稽查依据标准号不能为空!");
|
||||
flag = true;
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectName())){
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardName, processEsInspectPlan.getInspectName()));
|
||||
if (list.isEmpty()) {
|
||||
errorList.add("稽查依据标准名称不存在!");
|
||||
}else if (flag){
|
||||
long count = list.stream().filter(v -> v.getStandardNumber().equals(processEsInspectPlan.getInspectNo())
|
||||
&& v.getStandardName().equals(processEsInspectPlan.getInspectName())).count();
|
||||
if (count == 0){
|
||||
errorList.add("稽查依据标准号和稽查依据标准名称不匹配!");
|
||||
}
|
||||
}
|
||||
}else {
|
||||
errorList.add("稽查依据标准名称不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
/**
|
||||
* excel表头校验
|
||||
* @param file
|
||||
* @param carTypeClass
|
||||
* @param titleRows
|
||||
* @param i
|
||||
*/
|
||||
private void excelHeadVerify(MultipartFile file, Class<ProcessEsInspectPlan> carTypeClass, int titleRows, int i) {
|
||||
try {
|
||||
if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, carTypeClass, titleRows, i)){
|
||||
throw new JeroBootException(ERROR_MESSAGE);
|
||||
}
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException(ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* excel表头校验
|
||||
* @param file
|
||||
* @param carTypeClass
|
||||
* @param titleRows
|
||||
* @param i
|
||||
*/
|
||||
private void excelHeadVerify2(MultipartFile file, Class<ProcessEsInspectPlanExcel> carTypeClass, int titleRows, int i) {
|
||||
try {
|
||||
if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, carTypeClass, titleRows, i)){
|
||||
throw new JeroBootException(ERROR_MESSAGE);
|
||||
}
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException(ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowPersonVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-13 14:41
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsInspectPlanFlowPersonVO {
|
||||
private String key;
|
||||
private String value;
|
||||
private String description;
|
||||
}
|
||||
-65
@@ -1,65 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: 企标稽查计划流程VO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-09 11:51
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsInspectPlanFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private List<ProcessEsInspectPlan> processEsInspectPlanList;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
|
||||
/**
|
||||
* 是否会签
|
||||
*/
|
||||
@ApiModelProperty(value="是否会签")
|
||||
private String countersignTag;
|
||||
|
||||
/**
|
||||
* 会签人员
|
||||
*/
|
||||
@ApiModelProperty(value="会签人员")
|
||||
private String countersign;
|
||||
|
||||
/**
|
||||
* 会签人员 翻译
|
||||
*/
|
||||
@ApiModelProperty(value="会签人员 翻译")
|
||||
private String countersignDictText;
|
||||
|
||||
/**
|
||||
* 流程全局删除ids
|
||||
*/
|
||||
@ApiModelProperty(value="流程全局删除ids")
|
||||
private String processAllDelIds;
|
||||
/**
|
||||
* 保存来源
|
||||
*/
|
||||
@ApiModelProperty(value="保存来源(1:待办 2:草稿)")
|
||||
private String saveSource;
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName: FlowRefusalVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-13 18:28
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class FlowRefusalVO {
|
||||
/**任务id*/
|
||||
@ApiModelProperty(value = "任务id")
|
||||
private String taskId;
|
||||
/**备注*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String commitText;
|
||||
}
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName: ProcessEsInspectPlanExcel
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-12-29 17:27
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessEsInspectPlanExcel implements Serializable {
|
||||
/**项目id*/
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**稽查依据标准号*/
|
||||
@Excel(name = "*稽查依据标准号", width = 15)
|
||||
@ApiModelProperty(value = "稽查依据标准号")
|
||||
private String inspectNo;
|
||||
/**稽查依据标准名称*/
|
||||
@Excel(name = "*稽查依据标准名称", width = 16)
|
||||
@ApiModelProperty(value = "稽查依据标准名称")
|
||||
private String inspectName;
|
||||
/**计划稽查对象*/
|
||||
@Excel(name = "*计划稽查对象", width = 15)
|
||||
@ApiModelProperty(value = "计划稽查对象")
|
||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
||||
private String inspectObject;
|
||||
/**主责标准化工作组*/
|
||||
@Excel(name = "*主责标准化工作组", width = 16)
|
||||
@ApiModelProperty(value = "主责标准化工作组")
|
||||
private String standardizationWorkGroup;
|
||||
/**所属部门*/
|
||||
@Excel(name = "*所属部门", width = 15)
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
||||
private String belongDept;
|
||||
/**计划稽查日期*/
|
||||
// @Excel(name = "计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期")
|
||||
private Date planInspectDate;
|
||||
/**计划稽查日期 导入用*/
|
||||
@Excel(name = "*计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期 导入用")
|
||||
@TableField(exist = false)
|
||||
private String planInspectDates;
|
||||
/**稽查负责人*/
|
||||
@Excel(name = "*稽查负责人", width = 15)
|
||||
@ApiModelProperty(value = "稽查负责人")
|
||||
private String inspectUser;
|
||||
/**稽查负责人 翻译*/
|
||||
@ApiModelProperty(value = "稽查负责人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String inspectUserDictText;
|
||||
/**标准化组对接人*/
|
||||
@Excel(name = "*标准化组对接人", width = 15)
|
||||
@ApiModelProperty(value = "标准化组对接人")
|
||||
private String standardizationDockingUser;
|
||||
/**标准化组对接人 翻译*/
|
||||
@ApiModelProperty(value = "标准化组对接人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String standardizationDockingUserDictText;
|
||||
/**征求意见对象*/
|
||||
@ApiModelProperty(value = "征求意见对象")
|
||||
private String objectOfConsultation;
|
||||
/**征求意见对象 翻译*/
|
||||
@ApiModelProperty(value = "征求意见对象 翻译")
|
||||
@TableField(exist = false)
|
||||
private String objectOfConsultationDictText;
|
||||
/**备注*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
|
||||
/**意见*/
|
||||
@ApiModelProperty(value = "意见")
|
||||
@TableField(exist = false)
|
||||
private List<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinionList;
|
||||
/**节点id*/
|
||||
@ApiModelProperty(value = "节点id")
|
||||
@TableField(exist = false)
|
||||
private String nodeId;
|
||||
}
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectReportCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:12
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsInspectRectifyCommon {
|
||||
private EsInspectRectifyCommon(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改key
|
||||
*/
|
||||
public static final String KEY = "inspect_rectify";
|
||||
|
||||
/**
|
||||
* 企标稽查整改流name
|
||||
*/
|
||||
public static final String NAME = "企标稽查整改";
|
||||
|
||||
/**
|
||||
* 企标稽查整改节点: 1:整改负责人上传整改结果,2:负责人主管级领导审批,3:稽查负责人审核
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "responsible_start";
|
||||
/**
|
||||
* 企标稽查整改节点: 1:整改负责人上传整改结果,2:负责人主管级领导审批,3:稽查负责人审核
|
||||
*/
|
||||
public static final String PROCESS_NODE_2 = "leader_approval";
|
||||
/**
|
||||
* 企标稽查整改节点: 1:整改负责人上传整改结果,2:负责人主管级领导审批,3:稽查负责人审核
|
||||
*/
|
||||
public static final String PROCESS_NODE_3 = "responsible_approval";
|
||||
|
||||
/**
|
||||
* 整改状态 1:整改中 2:审核中 3:整改已完成 4:无需整改
|
||||
*/
|
||||
public static final String INSPECT_RECTIFY_STATUS_1 = "1";
|
||||
/**
|
||||
* 整改状态 1:整改中 2:审核中 3:整改已完成 4:无需整改
|
||||
*/
|
||||
public static final String INSPECT_RECTIFY_STATUS_2 = "2";
|
||||
/**
|
||||
* 整改状态 1:整改中 2:审核中 3:整改已完成 4:无需整改
|
||||
*/
|
||||
public static final String INSPECT_RECTIFY_STATUS_3 = "3";
|
||||
/**
|
||||
* 整改状态 1:整改中 2:审核中 3:整改已完成 4:无需整改
|
||||
*/
|
||||
public static final String INSPECT_RECTIFY_STATUS_4 = "4";
|
||||
|
||||
/**
|
||||
* 操作类型 1:提交整改结果 2:申请延期
|
||||
*/
|
||||
public static final String OPERATION_TYPE_1 = "1";
|
||||
/**
|
||||
* 操作类型 1:提交整改结果 2:申请延期
|
||||
*/
|
||||
public static final String OPERATION_TYPE_2 = "2";
|
||||
}
|
||||
-116
@@ -1,116 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.text.ParseException;
|
||||
|
||||
/**
|
||||
* @ClassName: 企标稽查整改
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:15
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="企标稽查整改")
|
||||
@RestController
|
||||
@RequestMapping("/process/esInspectRectifyFlow")
|
||||
@Slf4j
|
||||
public class EsInspectRectifyFlowController {
|
||||
|
||||
private final IEsInspectRectifyFlowService esInspectReportFlowService;
|
||||
|
||||
public EsInspectRectifyFlowController(IEsInspectRectifyFlowService esInspectReportFlowService) {
|
||||
this.esInspectReportFlowService = esInspectReportFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改-流程发起
|
||||
* @param esInspectReportFlowVO 企标稽查整改VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-流程发起")
|
||||
@ApiOperation(value="企标稽查整改-流程发起", notes="企标稽查整改-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
esInspectReportFlowService.flowStart(esInspectReportFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改-流程保存
|
||||
* @param esInspectReportFlowVO 企标稽查整改VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-流程保存")
|
||||
@ApiOperation(value="企标稽查整改-流程保存", notes="企标稽查整改-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
esInspectReportFlowService.flowSave(esInspectReportFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 企标稽查整改-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-办理详情")
|
||||
@ApiOperation(value="企标稽查整改-办理详情", notes="企标稽查整改-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsInspectRectifyFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esInspectReportFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改-流程审批
|
||||
* @param esInspectReportFlowVO 企标稽查整改VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-流程审批")
|
||||
@ApiOperation(value="企标稽查整改-流程审批", notes="企标稽查整改-流程审批")
|
||||
@PostMapping(value = "/flowApproval")
|
||||
public Result<T> flowApproval(@RequestBody EsInspectRectifyFlowVO esInspectReportFlowVO) throws ParseException {
|
||||
esInspectReportFlowService.flowApproval(esInspectReportFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改-驳回
|
||||
* @param esInspectReportFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-驳回")
|
||||
@ApiOperation(value="企标稽查整改-驳回", notes="企标稽查整改-驳回")
|
||||
@PostMapping(value = "/flowReject")
|
||||
public Result<T> flowReject(@RequestBody EsInspectRectifyFlowVO esInspectReportFlowVO) throws ParseException {
|
||||
log.info("");
|
||||
esInspectReportFlowService.flowApproval(esInspectReportFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查整改-流程转办
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改-流程转办")
|
||||
@ApiOperation(value="企标稽查整改-流程转办", notes="企标稽查整改-流程转办")
|
||||
@GetMapping(value = "/flowTransfer")
|
||||
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
|
||||
esInspectReportFlowService.flowTransfer(taskId, userId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-183
@@ -1,183 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查整改业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="企标稽查整改业务表")
|
||||
@RestController
|
||||
@RequestMapping("/esinspectreport/processEsInspectRectify")
|
||||
@Slf4j
|
||||
public class ProcessEsInspectRectifyController extends JeroController<ProcessEsInspectRectify, IProcessEsInspectRectifyService> {
|
||||
@Autowired
|
||||
private IProcessEsInspectRectifyService processEsInspectReportService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-分页列表查询")
|
||||
@ApiOperation(value="企标稽查整改业务表-分页列表查询", notes="企标稽查整改业务表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<ProcessEsInspectRectify>> queryPageList(ProcessEsInspectRectify processEsInspectReport,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<ProcessEsInspectRectify> pageList = processEsInspectReportService.queryPage(processEsInspectReport, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-列表查询")
|
||||
@ApiOperation(value="企标稽查整改业务表-列表查询", notes="企标稽查整改业务表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProcessEsInspectRectify>> queryList(ProcessEsInspectRectify processEsInspectReport, HttpServletRequest req) {
|
||||
List<ProcessEsInspectRectify> list = processEsInspectReportService.queryList(processEsInspectReport, req);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-添加")
|
||||
@ApiOperation(value="企标稽查整改业务表-添加", notes="企标稽查整改业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsInspectRectify processEsInspectReport) {
|
||||
processEsInspectReportService.add(processEsInspectReport);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-编辑")
|
||||
@ApiOperation(value="企标稽查整改业务表-编辑", notes="企标稽查整改业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsInspectRectify processEsInspectReport) {
|
||||
processEsInspectReportService.editById(processEsInspectReport);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-通过id删除")
|
||||
@ApiOperation(value="企标稽查整改业务表-通过id删除", notes="企标稽查整改业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsInspectReportService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-批量删除")
|
||||
@ApiOperation(value="企标稽查整改业务表-批量删除", notes="企标稽查整改业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsInspectReportService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-通过id查询")
|
||||
@ApiOperation(value="企标稽查整改业务表-通过id查询", notes="企标稽查整改业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsInspectRectify> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsInspectRectify esInspectReport = processEsInspectReportService.queryById(id);
|
||||
if(esInspectReport==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(esInspectReport);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过项目id查询
|
||||
*
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "企标稽查整改业务表-通过项目id查询")
|
||||
@ApiOperation(value="企标稽查整改业务表-通过项目id查询", notes="企标稽查整改业务表-通过项目id查询")
|
||||
@GetMapping(value = "/queryByProjectId")
|
||||
@Translation
|
||||
public Result<ProcessEsInspectRectifyVO> queryByProjectId(String projectId) {
|
||||
ProcessEsInspectRectifyVO esInspectReportVO = processEsInspectReportService.queryByProjectId(projectId);
|
||||
if(esInspectReportVO==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(esInspectReportVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsInspectReport
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspectRectify processEsInspectReport) {
|
||||
return super.exportXls(request, processEsInspectReport, ProcessEsInspectRectify.class, "企标稽查整改业务表");
|
||||
}
|
||||
}
|
||||
-65
@@ -1,65 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查整改业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_inspect_rectify")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_inspect_rectify对象", description="企标稽查整改业务表")
|
||||
public class ProcessEsInspectRectify extends BaseEntity {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**企标稽查整改计划id*/
|
||||
@Excel(name = "企标稽查整改计划id", width = 15)
|
||||
@ApiModelProperty(value = "企标稽查整改计划id")
|
||||
private String inspectRectifyPlanId;
|
||||
/**操作类型(1:提交整改结果 2:申请延期)*/
|
||||
@Excel(name = "操作类型(1:提交整改结果 2:申请延期)", width = 15)
|
||||
@ApiModelProperty(value = "操作类型(1:提交整改结果 2:申请延期)")
|
||||
@Dict(dicCode = "report_operation_type")
|
||||
private String operationType;
|
||||
/**整改结果*/
|
||||
@Excel(name = "整改结果", width = 15)
|
||||
@ApiModelProperty(value = "整改结果")
|
||||
private String rectifyResult;
|
||||
/**附件*/
|
||||
@Excel(name = "附件", width = 15)
|
||||
@ApiModelProperty(value = "附件")
|
||||
private String attachment;
|
||||
/**申请延期日期*/
|
||||
@Excel(name = "申请延期日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "申请延期日期")
|
||||
private Date applyDelayDate;
|
||||
/**延期说明*/
|
||||
@Excel(name = "延期说明", width = 15)
|
||||
@ApiModelProperty(value = "延期说明")
|
||||
private String delayDetail;
|
||||
/**是否生成过新的流程(1:是 0:否)*/
|
||||
@Excel(name = "是否生成过新的流程(1:是 0:否)", width = 15)
|
||||
@ApiModelProperty(value = "是否生成过新的流程(1:是 0:否)")
|
||||
private String isDelayCreate;
|
||||
}
|
||||
-129
@@ -1,129 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.job;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.common.EsInspectRectifyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @ClassName: DelayApplyJob
|
||||
* @Description: 企标稽查整改-申请延期生成稽查整改定时任务
|
||||
* @Author: yjz
|
||||
* @Date: 2023-12-26 09:59
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public class DelayApplyJob implements Job {
|
||||
@Resource
|
||||
private IEsInspectRectifyFlowService esInspectRectifyFlowService;
|
||||
@Resource
|
||||
private IProcessEsInspectRectifyService processEsInspectRectifyService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService;
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) throws JeroBootException {
|
||||
log.info("企标稽查整改-申请延期生成稽查整改定时任务开始");
|
||||
long num = 0L;
|
||||
// 需要生成的企标稽查整改
|
||||
Date date = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date parse;
|
||||
try {
|
||||
parse = dateFormat.parse(dateFormat.format(date));
|
||||
} catch (ParseException e) {
|
||||
throw new JeroBootException(e);
|
||||
}
|
||||
List<ProcessEsInspectRectify> list = processEsInspectRectifyService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspectRectify>()
|
||||
.eq(ProcessEsInspectRectify::getIsDelayCreate, YesOrNoEnum.NO.getValue())
|
||||
.eq(ProcessEsInspectRectify::getApplyDelayDate, parse));
|
||||
|
||||
List<String> idList = new ArrayList<>();
|
||||
// 生成新整改流程
|
||||
for (ProcessEsInspectRectify processEsInspectRectify : list) {
|
||||
idList.add(processEsInspectRectify.getId());
|
||||
EsInspectRectifyFlowVO esInspectReportFlowVO = new EsInspectRectifyFlowVO();
|
||||
|
||||
// 更新整改计划完成日期为申请延期日期,整改实际完成时间置空,整改状态为整改中
|
||||
enterpriseStandardInspectRectifyPlanService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectRectifyPlan>()
|
||||
.eq(EnterpriseStandardInspectRectifyPlan::getId, processEsInspectRectify.getInspectRectifyPlanId())
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getPlanCompleteDate, processEsInspectRectify.getApplyDelayDate())
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getActualCompleteDate, null)
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getRectifyStatus, EsInspectRectifyCommon.INSPECT_RECTIFY_STATUS_1));
|
||||
|
||||
// 整改计划
|
||||
EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan =
|
||||
enterpriseStandardInspectRectifyPlanService.getById(processEsInspectRectify.getInspectRectifyPlanId());
|
||||
|
||||
// 处理流程信息
|
||||
ProcessAll oldProcessAll = processAllService.getOne(
|
||||
new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, processEsInspectRectify.getProjectId()));
|
||||
ProcessAll processAll = new ProcessAll();
|
||||
processAll.setProjectId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
processAll.setPrcName(oldProcessAll.getPrcName());
|
||||
processAll.setCreateUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
esInspectReportFlowVO.setProcessAll(processAll);
|
||||
|
||||
// 处理流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
esInspectReportFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
|
||||
// 处理业务表数据
|
||||
ProcessEsInspectRectify newProcessEsInspectRectify = new ProcessEsInspectRectify();
|
||||
newProcessEsInspectRectify.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
newProcessEsInspectRectify.setProjectId(processAll.getProjectId());
|
||||
newProcessEsInspectRectify.setIsDelayCreate(YesOrNoEnum.NO.getValue());
|
||||
newProcessEsInspectRectify.setInspectRectifyPlanId(processEsInspectRectify.getInspectRectifyPlanId());
|
||||
esInspectReportFlowVO.setProcessEsInspectRectify(newProcessEsInspectRectify);
|
||||
processEsInspectRectifyService.save(newProcessEsInspectRectify);
|
||||
|
||||
// 处理人员信息
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("responsible", enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
map.put("leader", "请选择");
|
||||
map.put("responsibleApproval", "请选择");
|
||||
esInspectReportFlowVO.setMap(map);
|
||||
esInspectRectifyFlowService.createReportFlow(esInspectReportFlowVO);
|
||||
num += 1;
|
||||
}
|
||||
|
||||
if (!idList.isEmpty()){
|
||||
// 修改状态
|
||||
processEsInspectRectifyService.update(
|
||||
new LambdaUpdateWrapper<ProcessEsInspectRectify>()
|
||||
.in(ProcessEsInspectRectify::getId, idList)
|
||||
.set(ProcessEsInspectRectify::getIsDelayCreate, YesOrNoEnum.YES.getValue()));
|
||||
}
|
||||
log.info("企标稽查整改-申请延期生成稽查整改定时任务结束");
|
||||
log.info("企标稽查整改-申请延期生成稽查整改{}条", num);
|
||||
}
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查整改业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsInspectRectifyMapper extends BaseMapper<ProcessEsInspectRectify> {
|
||||
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esinspectrectify.mapper.ProcessEsInspectRectifyMapper">
|
||||
|
||||
</mapper>
|
||||
-54
@@ -1,54 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
|
||||
|
||||
import java.text.ParseException;
|
||||
|
||||
/**
|
||||
* @ClassName: IEsInspectReportFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:50
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsInspectRectifyFlowService {
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程发起
|
||||
* @param esInspectReportFlowVO
|
||||
*/
|
||||
void flowStart(EsInspectRectifyFlowVO esInspectReportFlowVO);
|
||||
|
||||
/**
|
||||
* 生成企标稽查整改
|
||||
* @param esInspectReportFlowVO
|
||||
*/
|
||||
void createReportFlow(EsInspectRectifyFlowVO esInspectReportFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程保存
|
||||
* @param esInspectReportFlowVO
|
||||
*/
|
||||
void flowSave(EsInspectRectifyFlowVO esInspectReportFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-办理详情
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsInspectRectifyFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程审批
|
||||
* @param esInspectReportFlowVO
|
||||
*/
|
||||
void flowApproval(EsInspectRectifyFlowVO esInspectReportFlowVO) throws ParseException;
|
||||
|
||||
/**
|
||||
* 企标稽查流程-流程转办
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
}
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查整改业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsInspectRectifyService extends IService<ProcessEsInspectRectify> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsInspectRectify> queryPage(ProcessEsInspectRectify processEsInspectReport, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsInspectRectify> queryList(ProcessEsInspectRectify processEsInspectReport, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsInspectRectify processEsInspectReport);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsInspectRectify processEsInspectReport);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectRectify queryById(String id);
|
||||
|
||||
/**
|
||||
* 企标稽查整改业务表-通过项目id查询
|
||||
*
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
ProcessEsInspectRectifyVO queryByProjectId(String projectId);
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsInspectRectifyFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_inspect_rectify", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-477
@@ -1,477 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.common.EsInspectRectifyCommon;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.UserInfo;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectReportFlowServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:51
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsInspectRectifyService processEsInspectRectifyService;
|
||||
private final EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService;
|
||||
private final ISysUserService sysUserService;
|
||||
|
||||
public EsInspectRectifyFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsInspectRectifyService processEsInspectReportService,
|
||||
EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService,
|
||||
ISysUserService sysUserService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsInspectRectifyService = processEsInspectReportService;
|
||||
this.enterpriseStandardInspectRectifyPlanService = enterpriseStandardInspectRectifyPlanService;
|
||||
this.sysUserService = sysUserService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
private static final String RESPONSIBLE = "responsible";
|
||||
|
||||
@Override
|
||||
public void flowStart(EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectReportFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectReportFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectReportFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectRectifyCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_REPORT.getValue()));
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息、
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectReportFlowVO);
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createReportFlow(EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectReportFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectReportFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectReportFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectRectifyCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_REPORT.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId((String) map.get(RESPONSIBLE));
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.INCOMPLETE.getValue());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 保存新草稿(强制撤回用)
|
||||
saveDraft(esInspectReportFlowVO, processAll, processApprovalRecord);
|
||||
}
|
||||
|
||||
private void saveDraft(EsInspectRectifyFlowVO esInspectReportFlowVO, ProcessAll processAll, ProcessApprovalRecord processApprovalRecord) {
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processAll, processDraft);
|
||||
processDraft.setCreateBy("");
|
||||
processDraft.setId("");
|
||||
processDraft.setUpdateBy("");
|
||||
Date dateNow = new Date();
|
||||
processDraft.setCreateTime(dateNow);
|
||||
processDraft.setUpdateBy("");
|
||||
processDraft.setUpdateTime(dateNow);
|
||||
// 保存草稿表
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitFile())){
|
||||
processDraft.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitText())){
|
||||
processDraft.setHandleText(processApprovalRecord.getCommitText());
|
||||
}
|
||||
if (!Objects.isNull(processAll.getDueTime())){
|
||||
processDraft.setProcessDueDate(processAll.getDueTime());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processAll.getPrcMes())){
|
||||
processDraft.setProcessDescription(processAll.getPrcMes());
|
||||
}
|
||||
if (StringUtils.isNotBlank(esInspectReportFlowVO.getInfoJsonStr())){
|
||||
processDraft.setInfoJsonStr(esInspectReportFlowVO.getInfoJsonStr());
|
||||
}
|
||||
processDraft.setUserId(processApprovalRecord.getUserId());
|
||||
processDraft.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
processDraft.setSaveSource("3");
|
||||
|
||||
// 保存infoJsonStr信息
|
||||
Map<String, Object> map = esInspectReportFlowVO.getMap();
|
||||
map.put("responsible_dictText", sysUserService.dictByIdsOrUserNames(String.valueOf(map.get(RESPONSIBLE)), ""));
|
||||
ProcessEsInspectRectify processEsInspectRectify = esInspectReportFlowVO.getProcessEsInspectRectify();
|
||||
ProcessEsInspectRectifyVO processEsInspectRectifyVO = processEsInspectRectifyService.queryByProjectId(processEsInspectRectify.getProjectId());
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("revocation", true);
|
||||
jsonObject.put("personInfo", map);
|
||||
jsonObject.put("draftData", processEsInspectRectifyVO);
|
||||
processDraft.setInfoJsonStr(jsonObject.toJSONString());
|
||||
processDraftService.save(processDraft);
|
||||
}
|
||||
|
||||
private void handleBusinessData(EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
ProcessEsInspectRectify processEsInspectRectify = esInspectReportFlowVO.getProcessEsInspectRectify();
|
||||
processEsInspectRectifyService.saveOrUpdate(processEsInspectRectify);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectReportFlowVO);
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectReportFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectReportFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsInspectRectifyFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectRectifyFlowVO esInspectReportFlowVO = new EsInspectRectifyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
esInspectReportFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
esInspectReportFlowVO.setProcessAll(processAll);
|
||||
esInspectReportFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esInspectReportFlowVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowApproval(EsInspectRectifyFlowVO esInspectReportFlowVO) throws ParseException {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectReportFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectReportFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esInspectReportFlowVO.getMap();
|
||||
|
||||
// 更新流程总表信息
|
||||
processAllService.updateById(processAll);
|
||||
|
||||
//更新人员信息
|
||||
List<UserInfo> userInfoList = esInspectReportFlowVO.getUserInfo();
|
||||
for (UserInfo userInfo : userInfoList) {
|
||||
processNodeLinkService.update(new LambdaUpdateWrapper<ProcessNodeLink>()
|
||||
.eq(ProcessNodeLink::getProcessNodeId, userInfo.getId())
|
||||
.eq(ProcessNodeLink::getProcessInstanceId, processAll.getProcessInstanceId())
|
||||
.set(ProcessNodeLink::getUserId, userInfo.getLinkUserIds()));
|
||||
}
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esInspectReportFlowVO);
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
|
||||
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile())
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task!= null) {
|
||||
// 如果是第一节点,说明是强制撤回后的,需要更新报错第一个节点人填写的业务信息
|
||||
updateInfoJsonStr(esInspectReportFlowVO);
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 再次更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())){
|
||||
ProcessEsInspectRectifyVO processEsInspectReportVO = processEsInspectRectifyService.queryByProjectId(processAll.getProjectId());
|
||||
Date date = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date parse = dateFormat.parse(dateFormat.format(date));
|
||||
// 是否申请延期
|
||||
if (EsInspectRectifyCommon.OPERATION_TYPE_2.equals(processEsInspectReportVO.getOperationType())){
|
||||
// 更新整改计划完成日期为申请延期日期,整改实际完成时间置空,整改状态为整改中
|
||||
enterpriseStandardInspectRectifyPlanService.update(
|
||||
new LambdaUpdateWrapper<EnterpriseStandardInspectRectifyPlan>()
|
||||
.eq(EnterpriseStandardInspectRectifyPlan::getId, processEsInspectReportVO.getInspectRectifyPlanId())
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getPlanCompleteDate, processEsInspectReportVO.getApplyDelayDate())
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getActualCompleteDate, null)
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getRectifyStatus, EsInspectRectifyCommon.INSPECT_RECTIFY_STATUS_1));
|
||||
|
||||
// 申请延期日期 <= 当前日期 立即生成新流程
|
||||
if (processEsInspectReportVO.getApplyDelayDate().before(parse)
|
||||
|| processEsInspectReportVO.getApplyDelayDate().equals(parse)){
|
||||
// 整改计划
|
||||
EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan =
|
||||
enterpriseStandardInspectRectifyPlanService.getById(processEsInspectReportVO.getInspectRectifyPlanId());
|
||||
// 生成新整改流程
|
||||
EsInspectRectifyFlowVO newEsInspectReportFlowVO = new EsInspectRectifyFlowVO();
|
||||
// 处理流程信息
|
||||
ProcessAll newProcessAll = new ProcessAll();
|
||||
newProcessAll.setProjectId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
newProcessAll.setPrcName(processAll.getPrcName());
|
||||
newProcessAll.setCreateUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
newEsInspectReportFlowVO.setProcessAll(newProcessAll);
|
||||
|
||||
// 处理流程审批信息
|
||||
ProcessApprovalRecord newProcessApprovalRecord = new ProcessApprovalRecord();
|
||||
newProcessApprovalRecord.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
newProcessApprovalRecord.setProjectId(newProcessAll.getProjectId());
|
||||
newProcessApprovalRecord.setUserId(enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
newEsInspectReportFlowVO.setProcessApprovalRecord(newProcessApprovalRecord);
|
||||
|
||||
// 处理业务表数据
|
||||
ProcessEsInspectRectify processEsInspectRectify = new ProcessEsInspectRectify();
|
||||
processEsInspectRectify.setId(String.valueOf(SnowflakeUtils.snowflake()));
|
||||
processEsInspectRectify.setProjectId(newProcessAll.getProjectId());
|
||||
processEsInspectRectify.setIsDelayCreate(YesOrNoEnum.NO.getValue());
|
||||
processEsInspectRectify.setInspectRectifyPlanId(processEsInspectReportVO.getInspectRectifyPlanId());
|
||||
newEsInspectReportFlowVO.setProcessEsInspectRectify(processEsInspectRectify);
|
||||
processEsInspectRectifyService.save(processEsInspectRectify);
|
||||
|
||||
// 处理人员信息
|
||||
Map<String, Object> newMap = new HashMap<>();
|
||||
newMap.put(RESPONSIBLE, enterpriseStandardInspectRectifyPlan.getResponseUser());
|
||||
newMap.put("leader", "请选择");
|
||||
newMap.put("responsibleApproval", "请选择");
|
||||
newEsInspectReportFlowVO.setMap(newMap);
|
||||
createReportFlow(newEsInspectReportFlowVO);
|
||||
|
||||
// 修改状态
|
||||
processEsInspectRectifyService.update(
|
||||
new LambdaUpdateWrapper<ProcessEsInspectRectify>()
|
||||
.in(ProcessEsInspectRectify::getId, processEsInspectReportVO.getId())
|
||||
.set(ProcessEsInspectRectify::getIsDelayCreate, YesOrNoEnum.YES.getValue()));
|
||||
}
|
||||
}else {
|
||||
// 更新整改状态
|
||||
enterpriseStandardInspectRectifyPlanService.update(new LambdaUpdateWrapper<EnterpriseStandardInspectRectifyPlan>()
|
||||
.eq(EnterpriseStandardInspectRectifyPlan::getId, processEsInspectReportVO.getInspectRectifyPlanId())
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getRectifyStatus, EsInspectRectifyCommon.INSPECT_RECTIFY_STATUS_3)
|
||||
.set(EnterpriseStandardInspectRectifyPlan::getActualCompleteDate, parse));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateInfoJsonStr(EsInspectRectifyFlowVO esInspectReportFlowVO) {
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectReportFlowVO.getProcessApprovalRecord();
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getNodeId())
|
||||
&& EsInspectRectifyCommon.PROCESS_NODE_1.equals(processApprovalRecord.getNodeId())){
|
||||
processDraftService.update(
|
||||
new LambdaUpdateWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, esInspectReportFlowVO.getProcessAll().getProjectId())
|
||||
.eq(ProcessDraft::getSaveSource, "3")
|
||||
.set(ProcessDraft::getInfoJsonStr, esInspectReportFlowVO.getInfoJsonStr()
|
||||
.replaceFirst("\\{", "{\"revocation\": true,")));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowTransfer(String taskId, String userId) {
|
||||
processHandleService.transfer(taskId, userId);
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
}
|
||||
-155
@@ -1,155 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
|
||||
import com.jero.modules.activiti.process.esinspect.vo.ProcessEsInspectVO;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.mapper.ProcessEsInspectRectifyMapper;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标稽查整改业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsInspectRectifyServiceImpl extends ServiceImpl<ProcessEsInspectRectifyMapper, ProcessEsInspectRectify> implements IProcessEsInspectRectifyService {
|
||||
|
||||
private final EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService;
|
||||
private final IProcessEsInspectService processEsInspectService;
|
||||
|
||||
public ProcessEsInspectRectifyServiceImpl(EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService,
|
||||
IProcessEsInspectService processEsInspectService) {
|
||||
this.enterpriseStandardInspectRectifyPlanService = enterpriseStandardInspectRectifyPlanService;
|
||||
this.processEsInspectService = processEsInspectService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsInspectRectify> queryPage(ProcessEsInspectRectify processEsInspectReport, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessEsInspectRectify> queryWrapper = QueryGenerator.initQueryWrapper(processEsInspectReport, req.getParameterMap());
|
||||
Page<ProcessEsInspectRectify> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsInspectRectify> queryList(ProcessEsInspectRectify processEsInspectReport, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(processEsInspectReport, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsInspectRectify processEsInspectReport) {
|
||||
Date now = new Date();
|
||||
processEsInspectReport.setCreateTime(now);
|
||||
processEsInspectReport.setUpdateTime(now);
|
||||
save(processEsInspectReport);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsInspectReport
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspectRectify processEsInspectReport) {
|
||||
Date now = new Date();
|
||||
processEsInspectReport.setUpdateTime(now);
|
||||
saveOrUpdate(processEsInspectReport);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsInspectRectify queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessEsInspectRectifyVO queryByProjectId(String projectId) {
|
||||
ProcessEsInspectRectifyVO esInspectReportVO = new ProcessEsInspectRectifyVO();
|
||||
ProcessEsInspectRectify processEsInspectRectify = getOne(
|
||||
new LambdaQueryWrapper<ProcessEsInspectRectify>()
|
||||
.eq(ProcessEsInspectRectify::getProjectId, projectId));
|
||||
BeanUtils.copyProperties(processEsInspectRectify, esInspectReportVO);
|
||||
// 查询企业标准稽查整改计划
|
||||
EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan = enterpriseStandardInspectRectifyPlanService.queryById(processEsInspectRectify.getInspectRectifyPlanId());
|
||||
esInspectReportVO.setEnterpriseStandardInspectRectifyPlan(enterpriseStandardInspectRectifyPlan);
|
||||
// 稽查依据
|
||||
String processEsInspectId = enterpriseStandardInspectRectifyPlan.getProcessEsInspectId();
|
||||
ProcessEsInspectVO processEsInspectVO = new ProcessEsInspectVO();
|
||||
processEsInspectVO.setId(processEsInspectId);
|
||||
List<ProcessEsInspectVO> processEsInspectVOList = processEsInspectService.queryByList(processEsInspectVO);
|
||||
if (!processEsInspectVOList.isEmpty()){
|
||||
esInspectReportVO.setStandardName(processEsInspectVOList.get(0).getInspectName());
|
||||
}
|
||||
return esInspectReportVO;
|
||||
}
|
||||
}
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectReportFlowVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:55
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsInspectRectifyFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private ProcessEsInspectRectify processEsInspectRectify;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**人员信息*/
|
||||
@ApiModelProperty(value = "人员信息")
|
||||
private List<UserInfo> userInfo;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
/**
|
||||
* 保存来源
|
||||
*/
|
||||
@ApiModelProperty(value="保存来源(1:待办 2:草稿)")
|
||||
private String saveSource;
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.vo;
|
||||
|
||||
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectReportVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-28 19:32
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessEsInspectRectifyVO extends ProcessEsInspectRectify {
|
||||
/**稽查依据*/
|
||||
@ApiModelProperty(value = "稽查依据")
|
||||
private String standardName;
|
||||
/**企业标准稽查整改计划*/
|
||||
@ApiModelProperty(value = "企业标准稽查整改计划")
|
||||
private EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan;
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName: UserInfo
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 15:41
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class UserInfo {
|
||||
private String id;
|
||||
private String linkUserIds;
|
||||
}
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.common;
|
||||
|
||||
/**
|
||||
* @ClassName: ProcessEsPermissionApplyCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:41
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class ProcessEsPermissionApplyCommon {
|
||||
private ProcessEsPermissionApplyCommon(){
|
||||
}
|
||||
/**
|
||||
* 权限申请流程key
|
||||
*/
|
||||
public static final String KEY = "permission_apply_process";
|
||||
|
||||
/**
|
||||
* 权限申请流程name
|
||||
*/
|
||||
public static final String NAME = "权限申请流程";
|
||||
|
||||
/**
|
||||
* 权限申请流程节点: 1:发起人申请,2:发起人领导审批,3:标准化审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_1 = "initiator_start";
|
||||
/**
|
||||
* 权限申请流程节点: 1:发起人申请,2:发起人领导审批,3:标准化审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_2 = "leader_approval";
|
||||
/**
|
||||
* 权限申请流程节点: 1:发起人申请,2:发起人领导审批,3:标准化审批
|
||||
*/
|
||||
public static final String PROCESS_NODE_3 = "standard_approval";
|
||||
}
|
||||
-126
@@ -1,126 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.EsPermissionApplyFlowService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName: EsPermissionApplyFlowController
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:42
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="权限申请流程")
|
||||
@RestController
|
||||
@RequestMapping("/process/esPermissionApplyFlow")
|
||||
@Slf4j
|
||||
public class EsPermissionApplyFlowController {
|
||||
private final EsPermissionApplyFlowService esPermissionApplyFlowService;
|
||||
|
||||
public EsPermissionApplyFlowController(@Lazy EsPermissionApplyFlowService esPermissionApplyFlowService) {
|
||||
this.esPermissionApplyFlowService = esPermissionApplyFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-生成项目id")
|
||||
@ApiOperation(value="权限申请流程-生成项目id", notes="权限申请流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程发起
|
||||
* @param esPermissionApplyFlowVO 权限申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-流程发起")
|
||||
@ApiOperation(value="权限申请流程-流程发起", notes="权限申请流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
esPermissionApplyFlowService.flowStart(esPermissionApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程保存
|
||||
* @param esPermissionApplyFlowVO 权限申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-流程保存")
|
||||
@ApiOperation(value="权限申请流程-流程保存", notes="权限申请流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
esPermissionApplyFlowService.flowSave(esPermissionApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 权限申请流程-办理详情
|
||||
* @param projectId 项目id
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-办理详情")
|
||||
@ApiOperation(value="权限申请流程-办理详情", notes="权限申请流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsPermissionApplyFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
|
||||
return Result.OK(esPermissionApplyFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程审批
|
||||
* @param esPermissionApplyFlowVO 权限申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-流程审批")
|
||||
@ApiOperation(value="权限申请流程-流程审批", notes="权限申请流程-流程审批")
|
||||
@PostMapping(value = "/flowApproval")
|
||||
public Result<T> flowApproval(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
esPermissionApplyFlowService.flowApproval(esPermissionApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-驳回
|
||||
* @param esPermissionApplyFlowVO 权限申请流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-驳回")
|
||||
@ApiOperation(value="权限申请流程-驳回", notes="权限申请流程-驳回")
|
||||
@PostMapping(value = "/flowReject")
|
||||
public Result<T> flowReject(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
log.info("");
|
||||
esPermissionApplyFlowService.flowApproval(esPermissionApplyFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程转办
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程-流程转办")
|
||||
@ApiOperation(value="权限申请流程-流程转办", notes="权限申请流程-流程转办")
|
||||
@GetMapping(value = "/flowTransfer")
|
||||
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
|
||||
esPermissionApplyFlowService.flowTransfer(taskId, userId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-220
@@ -1,220 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 权限申请流程业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="权限申请流程业务表")
|
||||
@RestController
|
||||
@RequestMapping("/espermissionapply/processEsPermissionApply")
|
||||
@Slf4j
|
||||
public class ProcessEsPermissionApplyController extends JeroController<ProcessEsPermissionApply, IProcessEsPermissionApplyService> {
|
||||
@Autowired
|
||||
private IProcessEsPermissionApplyService processEsPermissionApplyService;
|
||||
@Autowired
|
||||
private EnterpriseStandardAuthUserService enterpriseStandardAuthUserService;
|
||||
@Autowired
|
||||
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-分页列表查询")
|
||||
@ApiOperation(value="权限申请流程业务表-分页列表查询", notes="权限申请流程业务表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<ProcessEsPermissionApply>> queryPageList(ProcessEsPermissionApply processEsPermissionApply,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<ProcessEsPermissionApply> pageList = processEsPermissionApplyService.queryPage(processEsPermissionApply, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标分页列表查询
|
||||
* @param manyStandardSelectionBoxVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-企标分页列表查询")
|
||||
@ApiOperation(value="权限申请流程业务表-企标分页列表查询", notes="权限申请流程业务表-企标分页列表查询")
|
||||
@GetMapping(value = "/queryEnterpriseByPage")
|
||||
public Result<IPage<ManyStandardSelectionBox>> queryEnterpriseByPage(ManyStandardSelectionBoxVO manyStandardSelectionBoxVO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
IPage<ManyStandardSelectionBox> pageList = processEsPermissionApplyService.queryEnterpriseByPage(manyStandardSelectionBoxVO, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-列表查询")
|
||||
@ApiOperation(value="权限申请流程业务表-列表查询", notes="权限申请流程业务表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProcessEsPermissionApply>> queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req) {
|
||||
List<ProcessEsPermissionApply> list = processEsPermissionApplyService.queryList(processEsPermissionApply, req);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-权限校验")
|
||||
@ApiOperation(value="权限申请流程业务表-权限校验", notes="权限申请流程业务表-权限校验")
|
||||
@PostMapping(value = "/permissionCheck")
|
||||
public Result<T> permissionCheck(@Validated @RequestBody JSONObject jsonObject) {
|
||||
return processEsPermissionApplyService.permissionCheck(jsonObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-添加")
|
||||
@ApiOperation(value="权限申请流程业务表-添加", notes="权限申请流程业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsPermissionApply processEsPermissionApply) {
|
||||
processEsPermissionApplyService.add(processEsPermissionApply);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-编辑")
|
||||
@ApiOperation(value="权限申请流程业务表-编辑", notes="权限申请流程业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsPermissionApply processEsPermissionApply) {
|
||||
processEsPermissionApplyService.editById(processEsPermissionApply);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-通过id删除")
|
||||
@ApiOperation(value="权限申请流程业务表-通过id删除", notes="权限申请流程业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsPermissionApplyService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-批量删除")
|
||||
@ApiOperation(value="权限申请流程业务表-批量删除", notes="权限申请流程业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsPermissionApplyService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-通过id查询")
|
||||
@ApiOperation(value="权限申请流程业务表-通过id查询", notes="权限申请流程业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsPermissionApply> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsPermissionApply processEsPermissionApply = processEsPermissionApplyService.queryById(id);
|
||||
if(processEsPermissionApply==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsPermissionApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过项目id查询
|
||||
*
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "权限申请流程业务表-通过项目id查询")
|
||||
@ApiOperation(value="权限申请流程业务表-通过项目id查询", notes="权限申请流程业务表-通过项目id查询")
|
||||
@GetMapping(value = "/queryByProjectId")
|
||||
public Result<ProcessEsPermissionApplyVO> queryByProjectId(String projectId) {
|
||||
ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(projectId);
|
||||
if(processEsPermissionApplyVO==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsPermissionApplyVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsPermissionApply
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsPermissionApply processEsPermissionApply) {
|
||||
return super.exportXls(request, processEsPermissionApply, ProcessEsPermissionApply.class, "权限申请流程业务表");
|
||||
}
|
||||
}
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 权限申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_permission_apply")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_permission_apply对象", description="权限申请流程")
|
||||
public class ProcessEsPermissionApply extends BaseEntity {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**标准编号*/
|
||||
@Excel(name = "标准编号", width = 15)
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
private String standardNumbers;
|
||||
/**授权到期日期*/
|
||||
@Excel(name = "授权到期日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "授权到期日期")
|
||||
private Date expirationDate;
|
||||
/**申请说明*/
|
||||
@Excel(name = "申请说明", width = 15)
|
||||
@ApiModelProperty(value = "申请说明")
|
||||
private String applyDetail;
|
||||
/**用户id*/
|
||||
@Excel(name = "用户id", width = 15)
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private String userId;
|
||||
/**用户 翻译*/
|
||||
@ApiModelProperty(value = "用户 翻译")
|
||||
@TableField(exist = false)
|
||||
private String userDictText;
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
|
||||
/**
|
||||
* @Description: 权限申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsPermissionApplyMapper extends BaseMapper<ProcessEsPermissionApply> {
|
||||
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.espermissionapply.mapper.ProcessEsPermissionApplyMapper">
|
||||
|
||||
</mapper>
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service;
|
||||
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO;
|
||||
|
||||
/**
|
||||
* @InterfaceName: EsPermissionApplyFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:42
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface EsPermissionApplyFlowService {
|
||||
/**
|
||||
* 权限申请流程-流程发起
|
||||
* @param esPermissionApplyFlowVO
|
||||
*/
|
||||
void flowStart(EsPermissionApplyFlowVO esPermissionApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程保存
|
||||
* @param esPermissionApplyFlowVO
|
||||
*/
|
||||
void flowSave(EsPermissionApplyFlowVO esPermissionApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 权限申请流程-办理详情
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsPermissionApplyFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 权限申请流程-审批
|
||||
* @param esPermissionApplyFlowVO
|
||||
*/
|
||||
void flowApproval(EsPermissionApplyFlowVO esPermissionApplyFlowVO);
|
||||
|
||||
/**
|
||||
* 权限申请流程-流程转办
|
||||
* @param taskId
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
}
|
||||
-106
@@ -1,106 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 权限申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsPermissionApplyService extends IService<ProcessEsPermissionApply> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsPermissionApply> queryPage(ProcessEsPermissionApply processEsPermissionApply, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsPermissionApply> queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsPermissionApply processEsPermissionApply);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsPermissionApply processEsPermissionApply);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsPermissionApply queryById(String id);
|
||||
|
||||
/**
|
||||
* 权限申请流程业务表-通过项目id查询
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
ProcessEsPermissionApplyVO queryByProjectId(String projectId);
|
||||
|
||||
/**
|
||||
* 权限申请流程业务表-企标分页列表查询
|
||||
* @param manyStandardSelectionBoxVO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<ManyStandardSelectionBox> queryEnterpriseByPage(ManyStandardSelectionBoxVO manyStandardSelectionBoxVO, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 权限申请流程业务表-权限校验
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
Result<T> permissionCheck(JSONObject jsonObject);
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service.impl;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @ClassName: EsInspectPlanFlowService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-11 21:19
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
@Service
|
||||
public class EsPermissionApplyFlow implements WorkCenterService {
|
||||
/**
|
||||
* 强制撤回
|
||||
* @param processAll 流程总表
|
||||
*/
|
||||
@Override
|
||||
public void changeToDraft(ProcessAll processAll) {
|
||||
// 删除业务表数据
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.physicalDeleteByProjectId("process_es_permission_apply", processAll.getProjectId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId) {
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId);
|
||||
}
|
||||
}
|
||||
-306
@@ -1,306 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
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.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.common.ProcessEsPermissionApplyCommon;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.EsPermissionApplyFlowService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.entity.LawsStandardTempPermission;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsPermissionApplyFlowServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:42
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsPermissionApplyService processEsPermissionApplyService;
|
||||
public EsPermissionApplyFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsPermissionApplyService processEsPermissionApplyService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsPermissionApplyService = processEsPermissionApplyService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardAuthUserService enterpriseStandardAuthUserService;
|
||||
|
||||
@Override
|
||||
public void flowStart(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esPermissionApplyFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(ProcessEsPermissionApplyCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esPermissionApplyFlowVO);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.PERMISSION_APPLY_PROCESS.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
}
|
||||
|
||||
private void handleBusinessData(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
ProcessEsPermissionApply processEsPermissionApply = esPermissionApplyFlowVO.getProcessEsPermissionApply();
|
||||
if (StringUtils.isNotBlank(processEsPermissionApply.getId())) {
|
||||
processEsPermissionApplyService.updateById(processEsPermissionApply);
|
||||
} else {
|
||||
processEsPermissionApplyService.save(processEsPermissionApply);
|
||||
}
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>) v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esPermissionApplyFlowVO);
|
||||
// 流程信息
|
||||
ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsPermissionApplyFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsPermissionApplyFlowVO esPermissionApplyFlowVO = new EsPermissionApplyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()) {
|
||||
String id = "";
|
||||
if (Objects.isNull(processAll)) {
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
} else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())) {
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())) {
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())) {
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())) {
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())) {
|
||||
esPermissionApplyFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
} else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
esPermissionApplyFlowVO.setProcessAll(processAll);
|
||||
esPermissionApplyFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
return esPermissionApplyFlowVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowApproval(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 流程信息
|
||||
ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esPermissionApplyFlowVO.getMap();
|
||||
|
||||
// 更新流程信息
|
||||
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcName, processAll.getPrcName())
|
||||
.set(ProcessAll::getPrcMes, processAll.getPrcMes())
|
||||
.set(ProcessAll::getDueTime, processAll.getDueTime()));
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
|
||||
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
|
||||
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getCommitFile, processApprovalRecord.getCommitFile())
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task != null) {
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 处理业务表数据
|
||||
handleBusinessData(esPermissionApplyFlowVO);
|
||||
// 再次更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())
|
||||
&& map.containsKey("pass") && (boolean) map.get("pass")) {
|
||||
// 临时权限设置
|
||||
ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(processAll.getProjectId());
|
||||
List<LawsEnterpriseStandard> lawsEnterpriseStandardList = processEsPermissionApplyVO.getLawsEnterpriseStandardList();
|
||||
List<String> idList = lawsEnterpriseStandardList.stream().map(LawsEnterpriseStandard::getId).collect(Collectors.toList());
|
||||
LawsStandardTempPermission lawsStandardTempPermission = new LawsStandardTempPermission();
|
||||
lawsStandardTempPermission.setStandardIds(String.join(",", idList));
|
||||
lawsStandardTempPermission.setUserIds(processEsPermissionApplyVO.getUserId());
|
||||
lawsStandardTempPermission.setAuthDate(processEsPermissionApplyVO.getExpirationDate());
|
||||
enterpriseStandardAuthUserService.saveTempPermissionTwo(lawsStandardTempPermission);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowTransfer(String taskId, String userId) {
|
||||
processHandleService.transfer(taskId, userId);
|
||||
}
|
||||
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
}
|
||||
-230
@@ -1,230 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import com.jero.modules.activiti.process.espermissionapply.mapper.ProcessEsPermissionApplyMapper;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 权限申请流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsPermissionApplyServiceImpl extends ServiceImpl<ProcessEsPermissionApplyMapper, ProcessEsPermissionApply> implements IProcessEsPermissionApplyService {
|
||||
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final EnterpriseStandardAuthUserService enterpriseStandardAuthUserService;
|
||||
private final ISysUserService sysUserService;
|
||||
|
||||
public ProcessEsPermissionApplyServiceImpl(ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
EnterpriseStandardAuthUserService enterpriseStandardAuthUserService,
|
||||
ISysUserService sysUserService) {
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.enterpriseStandardAuthUserService = enterpriseStandardAuthUserService;
|
||||
this.sysUserService = sysUserService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsPermissionApply> queryPage(ProcessEsPermissionApply processEsPermissionApply, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessEsPermissionApply> queryWrapper = QueryGenerator.initQueryWrapper(processEsPermissionApply, req.getParameterMap());
|
||||
Page<ProcessEsPermissionApply> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsPermissionApply> queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(processEsPermissionApply, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsPermissionApply processEsPermissionApply) {
|
||||
Date now = new Date();
|
||||
processEsPermissionApply.setCreateTime(now);
|
||||
processEsPermissionApply.setUpdateTime(now);
|
||||
save(processEsPermissionApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsPermissionApply
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsPermissionApply processEsPermissionApply) {
|
||||
Date now = new Date();
|
||||
processEsPermissionApply.setUpdateTime(now);
|
||||
saveOrUpdate(processEsPermissionApply);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsPermissionApply queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessEsPermissionApplyVO queryByProjectId(String projectId) {
|
||||
ProcessEsPermissionApplyVO processEsPermissionApplyVO = new ProcessEsPermissionApplyVO();
|
||||
// 通过项目id查询
|
||||
ProcessEsPermissionApply processEsPermissionApply = getOne(
|
||||
new LambdaQueryWrapper<ProcessEsPermissionApply>()
|
||||
.eq(ProcessEsPermissionApply::getProjectId, projectId));
|
||||
BeanUtils.copyProperties(processEsPermissionApply, processEsPermissionApplyVO);
|
||||
|
||||
if (StringUtils.isNotBlank(processEsPermissionApply.getStandardNumbers())){
|
||||
List<String> standardNumberList = Arrays.asList(processEsPermissionApply.getStandardNumbers().split(","));
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(
|
||||
new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.in(LawsEnterpriseStandard::getStandardNumber, standardNumberList));
|
||||
// 排序
|
||||
List<LawsEnterpriseStandard> newList = new ArrayList<>();
|
||||
for (String standardNumber : standardNumberList) {
|
||||
Optional<LawsEnterpriseStandard> optionalLawsEnterpriseStandard = list.stream().filter(lawsEnterpriseStandard -> standardNumber.equals(lawsEnterpriseStandard.getStandardNumber())).findFirst();
|
||||
optionalLawsEnterpriseStandard.ifPresent(newList::add);
|
||||
}
|
||||
processEsPermissionApplyVO.setLawsEnterpriseStandardList(newList);
|
||||
}
|
||||
// 翻译
|
||||
if (StringUtils.isNotBlank(processEsPermissionApplyVO.getUserId())){
|
||||
processEsPermissionApplyVO.setUserDictText(sysUserService.dictByIdsOrUserNames(processEsPermissionApplyVO.getUserId(), ""));
|
||||
}
|
||||
return processEsPermissionApplyVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ManyStandardSelectionBox> queryEnterpriseByPage(ManyStandardSelectionBoxVO manyStandardSelectionBoxVO, Integer pageNo, Integer pageSize) {
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(manyStandardSelectionBoxVO.getStandardNumberOrName())){
|
||||
queryWrapper.and(qw ->
|
||||
qw.like(LawsEnterpriseStandard::getStandardNumber, manyStandardSelectionBoxVO.getStandardNumberOrName())
|
||||
.or().like(LawsEnterpriseStandard::getStandardName, manyStandardSelectionBoxVO.getStandardNumberOrName()));
|
||||
}
|
||||
queryWrapper.orderByDesc(LawsEnterpriseStandard::getCreateTime);
|
||||
// 查询企标数据
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(queryWrapper);
|
||||
List<ManyStandardSelectionBox> result = new ArrayList<>();
|
||||
|
||||
// 权限校验
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
for (LawsEnterpriseStandard lawsEnterpriseStandard : list) {
|
||||
boolean b = enterpriseStandardAuthUserService.hasESAuth(loginUser.getId(), Collections.singletonList(lawsEnterpriseStandard.getId()));
|
||||
if (!b){
|
||||
ManyStandardSelectionBox manyStandardSelectionBox = new ManyStandardSelectionBox();
|
||||
BeanUtils.copyProperties(lawsEnterpriseStandard, manyStandardSelectionBox);
|
||||
result.add(manyStandardSelectionBox);
|
||||
}
|
||||
}
|
||||
|
||||
// 手动分页
|
||||
IPage<ManyStandardSelectionBox> page = new Page<>(pageNo ,pageSize);
|
||||
page.setTotal(result.size());
|
||||
page.setRecords(
|
||||
result.stream()
|
||||
.skip((long) (Math.max(1, pageNo) - 1) * pageSize)
|
||||
.limit(pageSize)
|
||||
.collect(Collectors.toList()));
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<T> permissionCheck(JSONObject jsonObject) {
|
||||
String ids = String.valueOf(jsonObject.get("ids"));
|
||||
List<String> list = Arrays.asList(ids.split(","));
|
||||
List<LawsEnterpriseStandard> lawsEnterpriseStandardList = lawsEnterpriseStandardService.listByIds(list);
|
||||
List<String> standardNameList = new ArrayList<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
for (LawsEnterpriseStandard lawsEnterpriseStandard : lawsEnterpriseStandardList) {
|
||||
boolean b = enterpriseStandardAuthUserService.hasESAuth(loginUser.getId(), Collections.singletonList(lawsEnterpriseStandard.getId()));
|
||||
if (b){
|
||||
standardNameList.add(lawsEnterpriseStandard.getStandardName());
|
||||
}
|
||||
}
|
||||
if (!standardNameList.isEmpty()){
|
||||
return Result.error("企标编号为:" + String.join(",", standardNameList) + "已拥有权限,请重新选择没有权限的企标!");
|
||||
}
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: EsPermissionApplyFlowVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:47
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsPermissionApplyFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private ProcessEsPermissionApply processEsPermissionApply;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
/**草稿信息json字符串*/
|
||||
@ApiModelProperty(value = "草稿信息json字符串")
|
||||
private String infoJsonStr;
|
||||
/**
|
||||
* 保存来源
|
||||
*/
|
||||
@ApiModelProperty(value="保存来源(1:待办 2:草稿)")
|
||||
private String saveSource;
|
||||
}
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.vo;
|
||||
|
||||
import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName: ProcessEsPermissionApplyVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-29 18:49
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessEsPermissionApplyVO extends ProcessEsPermissionApply {
|
||||
/**企业标准*/
|
||||
@ApiModelProperty(value = "企业标准")
|
||||
private List<LawsEnterpriseStandard> lawsEnterpriseStandardList;
|
||||
}
|
||||
-90
@@ -1,90 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.modules.activiti.process.common.entity.TransferVO;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbEntryChange;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准法规入库/变更流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-01
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="fb标准法规入库_变更流程")
|
||||
@RestController
|
||||
@RequestMapping("/process/fb/processFbEntryChange")
|
||||
@Slf4j
|
||||
public class ProcessFbEntryChangeController extends JeroController<ProcessFbEntryChange, IProcessFbEntryChangeService> {
|
||||
@Autowired
|
||||
private IProcessFbEntryChangeService processFbEntryChangeService;
|
||||
|
||||
@DictPoint
|
||||
@GetMapping("/queryProcessInfoVO")
|
||||
@AutoLog(value = "标准法规入库_变更流程-查询流程信息")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "draftId", value = "草稿id"),
|
||||
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id"),
|
||||
@ApiImplicitParam(name = "taskId", value = "任务id")
|
||||
})
|
||||
@ApiOperation("标准法规入库_变更流程-查询流程信息")
|
||||
public Result<ProcessInfoVO<ProcessFbEntryChange>> queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId){
|
||||
ProcessInfoVO<ProcessFbEntryChange> processInfoVO = processFbEntryChangeService.queryProcessInfoVO(draftId, processInstanceId, taskId, projectId);
|
||||
return Result.OK(processInfoVO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-发起流程")
|
||||
@ApiOperation(value = "标准法规入库_变更流程-发起流程", notes = "流程处理-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessFbEntryChange> processInfoVO) {
|
||||
processFbEntryChangeService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-同意")
|
||||
@ApiOperation(value="标准法规入库_变更流程-同意", notes="标准法规入库_变更流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessFbEntryChange> processInfoVO) {
|
||||
processFbEntryChangeService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-驳回")
|
||||
@ApiOperation(value="标准法规入库_变更流程-驳回", notes="标准法规入库_变更流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessFbEntryChange> processInfoVO) {
|
||||
processFbEntryChangeService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-转办")
|
||||
@ApiOperation(value="标准法规入库_变更流程-转办", notes="标准法规入库_变更流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<T> transfer(@RequestBody TransferVO transferVO) {
|
||||
processFbEntryChangeService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-保存为草稿")
|
||||
@ApiOperation(value = "标准法规入库_变更流程-保存为草稿", notes = "标准法规入库_变更流程-保存为草稿")
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO<ProcessFbEntryChange> processInfoVO) {
|
||||
processFbEntryChangeService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
}
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.mapper.ProcessNodeMapper;
|
||||
import com.jero.modules.activiti.process.common.common.DraftCommon;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.spire.ms.System.Collections.ArrayList;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.activiti.engine.runtime.Execution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/7 17:20
|
||||
* @Description: 流程信息
|
||||
*/
|
||||
@Api(tags="fb流程信息")
|
||||
@RestController
|
||||
@RequestMapping("/process/fb/processFbInfo")
|
||||
@Slf4j
|
||||
public class ProcessFbInfoController {
|
||||
|
||||
@Resource
|
||||
private ProcessNodeMapper processNodeMapper;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private HistoryService historyService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@DictPoint
|
||||
@GetMapping("/getNodeList")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "processDefinitionKey", value = "流程定义key"),
|
||||
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id(这个参数会去查绑定好的用户)")
|
||||
})
|
||||
@ApiOperation("获得节点列表")
|
||||
public Result<List<ProcessNode>> getNodeList(String processDefinitionKey, String processInstanceId) {
|
||||
String processDefinitionId = processHandleService.getDefinitionIdByKey(processDefinitionKey);
|
||||
//查询节点信息
|
||||
List<ProcessNode> processNodeList = processNodeMapper.selectByIdPdIdAndPiId(processDefinitionId,processInstanceId);
|
||||
return Result.OK(processNodeList);
|
||||
}
|
||||
|
||||
}
|
||||
-98
@@ -1,98 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.common.entity.TransferVO;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessFbStandardConsultationVO;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准征求意见流程表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-07
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="fb标准征求意见流程表")
|
||||
@RestController
|
||||
@RequestMapping("/process/fb/processFbStandardConsultation")
|
||||
@Slf4j
|
||||
public class ProcessFbStandardConsultationController extends JeroController<ProcessFbStandardConsultation, IProcessFbStandardConsultationService> {
|
||||
@Autowired
|
||||
private IProcessFbStandardConsultationService processFbStandardConsultationService;
|
||||
|
||||
@DictPoint
|
||||
@GetMapping("/queryProcessInfoVO")
|
||||
@AutoLog(value = "标准征求意见流程-查询流程信息")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "draftId", value = "草稿id"),
|
||||
@ApiImplicitParam(name = "taskId", value = "任务id"),
|
||||
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id")
|
||||
})
|
||||
@ApiOperation("标准征求意见流程-查询流程信息")
|
||||
public Result<ProcessInfoVO<ProcessFbStandardConsultationVO>> queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId){
|
||||
ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO = processFbStandardConsultationService.queryProcessInfoVO(draftId, processInstanceId, taskId, projectId);
|
||||
return Result.OK(processInfoVO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-发起流程")
|
||||
@ApiOperation(value = "标准征求意见流程-发起流程", notes = "标准征求意见流程-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
|
||||
processFbStandardConsultationService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-同意")
|
||||
@ApiOperation(value="标准征求意见流程-同意", notes="标准征求意见流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
|
||||
processFbStandardConsultationService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-驳回")
|
||||
@ApiOperation(value="标准征求意见流程-驳回", notes="标准征求意见流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
|
||||
processFbStandardConsultationService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-提交")
|
||||
@ApiOperation(value="标准征求意见流程-提交", notes="标准征求意见流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
|
||||
processFbStandardConsultationService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-保存为草稿")
|
||||
@ApiOperation(value = "标准征求意见流程-保存为草稿", notes = "标准征求意见流程-保存为草稿")
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
|
||||
processFbStandardConsultationService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "标准征求意见流程-转办")
|
||||
@ApiOperation(value="标准征求意见流程-转办", notes="标准征求意见流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<T> transfer(@RequestBody TransferVO transferVO) {
|
||||
processFbStandardConsultationService.transfer(transferVO.getTaskId(), transferVO.getUserId(), transferVO.getProjectId());
|
||||
return Result.OK();
|
||||
}
|
||||
}
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.entity.TransferVO;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardPurchase;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardPurchaseService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 法规采购流程表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-14
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags = "法规采购流程表")
|
||||
@RestController
|
||||
@RequestMapping("/process/fb/processFbStandardPurchase")
|
||||
@Slf4j
|
||||
public class ProcessFbStandardPurchaseController extends JeroController<ProcessFbStandardPurchase, IProcessFbStandardPurchaseService> {
|
||||
|
||||
@Resource
|
||||
private IProcessFbStandardPurchaseService processFbStandardPurchaseService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@GetMapping("/queryProcessInfoVO")
|
||||
@AutoLog(value = "法规采购流程表-查询流程信息")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "draftId", value = "草稿id"),
|
||||
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id"),
|
||||
@ApiImplicitParam(name = "taskId", value = "任务id")
|
||||
})
|
||||
@ApiOperation("法规采购流程表-查询流程信息")
|
||||
public Result<?> queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId) {
|
||||
ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.FB_STANDARD_PURCHASE);
|
||||
if (draft != null) {
|
||||
return Result.OK(draft);
|
||||
}
|
||||
ProcessInfoVO<List<ProcessFbStandardPurchase>> processInfoVO = processFbStandardPurchaseService.queryProcessInfoVO(draftId, processInstanceId, taskId, projectId);
|
||||
return Result.OK(processInfoVO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-发起流程")
|
||||
@ApiOperation(value = "法规采购流程表-发起流程", notes = "流程处理-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<List<ProcessFbStandardPurchase>> processInfoVO) {
|
||||
processFbStandardPurchaseService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-同意")
|
||||
@ApiOperation(value = "法规采购流程表-同意", notes = "法规采购流程表-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<List<ProcessFbStandardPurchase>> processInfoVO) {
|
||||
processFbStandardPurchaseService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-驳回")
|
||||
@ApiOperation(value = "法规采购流程表-驳回", notes = "法规采购流程表-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<List<ProcessFbStandardPurchase>> processInfoVO) {
|
||||
processFbStandardPurchaseService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-转办")
|
||||
@ApiOperation(value = "法规采购流程表-转办", notes = "法规采购流程表-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<T> transfer(@RequestBody TransferVO transferVO) {
|
||||
processFbStandardPurchaseService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-保存为草稿")
|
||||
@ApiOperation(value = "法规采购流程表-保存为草稿", notes = "法规采购流程表-保存为草稿")
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO<List<ProcessFbStandardPurchase>> processInfoVO) {
|
||||
processFbStandardPurchaseService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-导出")
|
||||
@ApiOperation(value = "法规采购流程表-导出", notes = "法规采购流程表-导出")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(@RequestParam(name = "businessId") String businessId) {
|
||||
return processFbStandardPurchaseService.exportXls(businessId);
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规采购流程表-抄送")
|
||||
@ApiOperation(value = "法规采购流程表-抄送", notes = "法规采购流程表-抄送")
|
||||
@GetMapping(value = "/carbonCopy")
|
||||
public Result<T> carbonCopy(@RequestParam(name = "taskId") String taskId,
|
||||
@RequestParam(name = "userId") String userIds) {
|
||||
processFbStandardPurchaseService.carbonCopy(taskId, userIds);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
}
|
||||
-105
@@ -1,105 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.entity;
|
||||
|
||||
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 com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准征求意见流程-征求意见列表表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-07
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_fb_consultation_list")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_fb_consultation_list对象", description="标准征求意见流程-征求意见列表表")
|
||||
public class ProcessFbConsultationList implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键ID*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private java.lang.String id;
|
||||
/**业务id*/
|
||||
@Excel(name = "业务id", width = 15)
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private java.lang.String businessId;
|
||||
/**用户关联表id*/
|
||||
@Excel(name = "用户关联表id", width = 15)
|
||||
@ApiModelProperty(value = "用户关联表id")
|
||||
private java.lang.String userLinkId;
|
||||
/**序号*/
|
||||
@Excel(name = "序号", width = 15)
|
||||
@ApiModelProperty(value = "序号")
|
||||
private java.lang.String serialNumber;
|
||||
/**章节id*/
|
||||
@Excel(name = "章节id", width = 15)
|
||||
@ApiModelProperty(value = "章节id")
|
||||
private java.lang.String chapterId;
|
||||
/**章节编号*/
|
||||
@Excel(name = "章节编号", width = 15)
|
||||
@ApiModelProperty(value = "章节编号")
|
||||
private java.lang.String chapterNumber;
|
||||
/**章节名称*/
|
||||
@Excel(name = "章节名称", width = 15)
|
||||
@ApiModelProperty(value = "章节名称")
|
||||
private java.lang.String chapterName;
|
||||
/**修改前*/
|
||||
@Excel(name = "修改前", width = 15)
|
||||
@ApiModelProperty(value = "修改前")
|
||||
private java.lang.String modificationBefore;
|
||||
/**修改后*/
|
||||
@Excel(name = "修改后", width = 15)
|
||||
@ApiModelProperty(value = "修改后")
|
||||
private java.lang.String modificationAfter;
|
||||
/**修改理由*/
|
||||
@Excel(name = "修改理由", width = 15)
|
||||
@ApiModelProperty(value = "修改理由")
|
||||
private java.lang.String modificationReason;
|
||||
/**模块负责人意见(1采纳,2部分采纳,3不采纳)*/
|
||||
@Excel(name = "模块负责人意见(1采纳,2部分采纳,3不采纳)", width = 15)
|
||||
@ApiModelProperty(value = "模块负责人意见(1采纳,2部分采纳,3不采纳)")
|
||||
@Dict(dicCode = "consultation_opinion")
|
||||
private java.lang.String isAdopt;
|
||||
@TableField(exist = false)
|
||||
private java.lang.String isAdopt_dictText;
|
||||
/**依据描述*/
|
||||
@Excel(name = "依据描述", width = 15)
|
||||
@ApiModelProperty(value = "依据描述")
|
||||
private java.lang.String basisDescription;
|
||||
/**依据材料*/
|
||||
@Excel(name = "依据材料", width = 15)
|
||||
@ApiModelProperty(value = "依据材料")
|
||||
private java.lang.String basisFile;
|
||||
/**依据材料名称*/
|
||||
@Excel(name = "依据材料名称", width = 15)
|
||||
@ApiModelProperty(value = "依据材料名称")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String basisFileName;
|
||||
/**设计工程师名称*/
|
||||
@Excel(name = "设计工程师名称", width = 15)
|
||||
@ApiModelProperty(value = "设计工程师名称")
|
||||
private java.lang.String designEngineerName;
|
||||
/**设计工程师id*/
|
||||
@Excel(name = "设计工程师id", width = 15)
|
||||
@ApiModelProperty(value = "设计工程师id")
|
||||
private java.lang.String designEngineerId;
|
||||
/**提出部门*/
|
||||
@Excel(name = "提出部门", width = 15)
|
||||
@ApiModelProperty(value = "提出部门")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String depart;
|
||||
}
|
||||
-75
@@ -1,75 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.entity;
|
||||
|
||||
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 io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准征求意见流程-用户关联表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-07
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_fb_consultation_user_link")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_fb_consultation_user_link对象", description="标准征求意见流程-用户关联表")
|
||||
public class ProcessFbConsultationUserLink implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键ID*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private java.lang.String id;
|
||||
/**业务id*/
|
||||
@Excel(name = "业务id", width = 15)
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private java.lang.String businessId;
|
||||
/**部门主管级领导*/
|
||||
@Excel(name = "部门主管级领导", width = 15)
|
||||
@ApiModelProperty(value = "部门主管级领导")
|
||||
private java.lang.String departLeaderId;
|
||||
/**模块负责人*/
|
||||
@Excel(name = "模块负责人", width = 15)
|
||||
@ApiModelProperty(value = "模块负责人")
|
||||
private java.lang.String moduleOwnerId;
|
||||
@TableField(exist = false)
|
||||
private java.lang.String moduleOwnerId_dictText;
|
||||
/**设计工程师*/
|
||||
@Excel(name = "设计工程师", width = 15)
|
||||
@ApiModelProperty(value = "设计工程师")
|
||||
private java.lang.String designEngineerId;
|
||||
@TableField(exist = false)
|
||||
private java.lang.String designEngineerId_dictText;
|
||||
/**下发人员类型(1模块负责人、2设计工程师)*/
|
||||
@Excel(name = "下发人员类型(1模块负责人、2设计工程师)", width = 15)
|
||||
@ApiModelProperty(value = "下发人员类型(1模块负责人、2设计工程师)")
|
||||
private java.lang.String userType;
|
||||
/**父执行实例流id*/
|
||||
@Excel(name = "父执行实例流id", width = 15)
|
||||
@ApiModelProperty(value = "父执行实例流id")
|
||||
private java.lang.String parentExecutionId;
|
||||
/**部门主管级领导原始办理人*/
|
||||
@Excel(name = "部门主管级领导原始办理人", width = 15)
|
||||
@ApiModelProperty(value = "部门主管级领导原始办理人")
|
||||
private java.lang.String originDepartLeaderId;
|
||||
/**模块负责人原始办理人*/
|
||||
@Excel(name = "模块负责人原始办理人", width = 15)
|
||||
@ApiModelProperty(value = "模块负责人原始办理人")
|
||||
private java.lang.String originModuleOwnerId;
|
||||
/**设计工程师原始办理人*/
|
||||
@Excel(name = "设计工程师原始办理人", width = 15)
|
||||
@ApiModelProperty(value = "设计工程师原始办理人")
|
||||
private java.lang.String originDesignEngineerId;
|
||||
}
|
||||
-95
@@ -1,95 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.entity;
|
||||
|
||||
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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准法规入库/变更流程
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-01
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_fb_entry_change")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_fb_entry_change对象", description="标准法规入库_变更流程")
|
||||
public class ProcessFbEntryChange implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键ID*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private java.lang.String id;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
/**所属部门*/
|
||||
@Excel(name = "所属部门", width = 15)
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private java.lang.String orgCode;
|
||||
/**0表示未删除,1表示删除*/
|
||||
@Excel(name = "0表示未删除,1表示删除", width = 15)
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
private java.lang.Integer delFlag;
|
||||
|
||||
/**来源(1国内、2海外)*/
|
||||
@Excel(name = "来源(1国内、2海外)", width = 15)
|
||||
@ApiModelProperty(value = "来源(1国内、2海外)")
|
||||
private java.lang.String source;
|
||||
/**来源(1国内、2海外) 翻译*/
|
||||
@ApiModelProperty(value = "来源(1国内、2海外) 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String source_dictText;
|
||||
/**操作类型(1标准法规入库、2标准法规变更)*/
|
||||
@Excel(name = "操作类型(1标准法规入库、2标准法规变更)", width = 15)
|
||||
@ApiModelProperty(value = "操作类型(1标准法规入库、2标准法规变更)")
|
||||
private java.lang.String operateType;
|
||||
/**操作类型(1标准法规入库、2标准法规变更)*/
|
||||
@ApiModelProperty(value = "操作类型(1标准法规入库、2标准法规变更) 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String operateType_dictText;
|
||||
/**标准编号*/
|
||||
@Excel(name = "标准编号", width = 15)
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
private java.lang.String standardNumber;
|
||||
/**用户id*/
|
||||
@Excel(name = "用户id", width = 15)
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private java.lang.String userId;
|
||||
/**JSON字符串*/
|
||||
@Excel(name = "JSON字符串", width = 15)
|
||||
@ApiModelProperty(value = "JSON字符串")
|
||||
private java.lang.String businessJson;
|
||||
|
||||
@ApiModelProperty(value = "法规数据")
|
||||
@TableField(exist = false)
|
||||
private Map<String, Object> businessMap;
|
||||
}
|
||||
-124
@@ -1,124 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.entity;
|
||||
|
||||
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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准征求意见流程表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-07
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_fb_standard_consultation")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_fb_standard_consultation对象", description="标准征求意见流程表")
|
||||
public class ProcessFbStandardConsultation implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键ID*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private java.lang.String id;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
/**所属部门*/
|
||||
@Excel(name = "所属部门", width = 15)
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private java.lang.String orgCode;
|
||||
/**0表示未删除,1表示删除*/
|
||||
@Excel(name = "0表示未删除,1表示删除", width = 15)
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
private java.lang.Integer delFlag;
|
||||
|
||||
/**标准编号*/
|
||||
@Excel(name = "标准编号", width = 15)
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
private java.lang.String standardNumber;
|
||||
/**标准名称*/
|
||||
@Excel(name = "标准名称", width = 15)
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private java.lang.String standardName;
|
||||
/**标准文本*/
|
||||
@Excel(name = "标准文本", width = 15)
|
||||
@ApiModelProperty(value = "标准文本")
|
||||
private java.lang.String standardText;
|
||||
/**标准文本文件*/
|
||||
@Excel(name = "标准文本文件", width = 15)
|
||||
@ApiModelProperty(value = "标准文本文件")
|
||||
private java.lang.String standardTextFileId;
|
||||
/**相关文件*/
|
||||
@Excel(name = "相关文件", width = 15)
|
||||
@ApiModelProperty(value = "相关文件")
|
||||
private java.lang.String relatedFile;
|
||||
/**征求意见结束日期*/
|
||||
@Excel(name = "征求意见结束日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "征求意见结束日期")
|
||||
private java.util.Date consultationDueDate;
|
||||
|
||||
/**征求意见开始日期(征求意见周期)*/
|
||||
@Excel(name = "征求意见开始日期(征求意见周期)", width = 15)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "征求意见开始日期(征求意见周期)")
|
||||
private java.util.Date consultationBeginDate;
|
||||
|
||||
/**征求意见结束日期(征求意见周期)*/
|
||||
@Excel(name = "征求意见结束日期(征求意见周期)", width = 15)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "征求意见结束日期(征求意见周期)")
|
||||
private java.util.Date consultationEndDate;
|
||||
|
||||
/**征求意见周期*/
|
||||
@Excel(name = "征求意见周期", width = 15)
|
||||
@ApiModelProperty(value = "征求意见周期")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String consultationPeriod;
|
||||
|
||||
/**标准名称/编号*/
|
||||
@Excel(name = "标准名称/编号", width = 15)
|
||||
@ApiModelProperty(value = "标准名称/编号")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardNameNumber;
|
||||
|
||||
/**收准来源(1国内、2海外、3企标)*/
|
||||
@ApiModelProperty(value = "标准来源(1国内、2海外、3企标)")
|
||||
@TableField(exist = false)
|
||||
private String source;
|
||||
|
||||
/**标准id*/
|
||||
@Excel(name = "标准id", width = 15)
|
||||
@ApiModelProperty(value = "标准id")
|
||||
private java.lang.String standardId;
|
||||
}
|
||||
-74
@@ -1,74 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 法规采购流程表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-14
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_fb_standard_purchase")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_fb_standard_purchase对象", description="法规采购流程表")
|
||||
public class ProcessFbStandardPurchase implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键ID*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private java.lang.String id;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
/**所属部门*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private java.lang.String orgCode;
|
||||
/**0表示未删除,1表示删除*/
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
private java.lang.Integer delFlag;
|
||||
/**业务id*/
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private java.lang.String businessId;
|
||||
/**排序*/
|
||||
@ApiModelProperty(value = "排序")
|
||||
private java.lang.Integer sort;
|
||||
/**标准编号*/
|
||||
@Excel(name = "标准号", width = 15)
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
private java.lang.String standardNumber;
|
||||
/**标准名称*/
|
||||
@Excel(name = "标准名称", width = 15)
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private java.lang.String standardName;
|
||||
/**采购理由*/
|
||||
@ApiModelProperty(value = "采购理由")
|
||||
private java.lang.String purchaseReason;
|
||||
}
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
package com.jero.modules.activiti.process.fb.job;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
|
||||
import com.jero.modules.activiti.process.fb.common.FbCommon;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
|
||||
import com.jero.modules.activiti.process.fb.vo.NodeDispose;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.*;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: DesignEngineerOverDueJob3
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2024-01-31 10:59
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public class DepartLeaderStartOverDueJob implements Job {
|
||||
@Resource
|
||||
private IProcessFbStandardConsultationService processFbStandardConsultationService;
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
/**
|
||||
* 征求意见流程-超过征求意见结束日期,各部所主管级领导未分发时
|
||||
* @param jobExecutionContext
|
||||
* @throws JobExecutionException
|
||||
*/
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) {
|
||||
log.info("征求意见流程-超过征求意见结束日期,各部所主管级领导 部分/全部 未分发时任务开始");
|
||||
long num = 0L;
|
||||
// 查询超过征求意见结束日期的各部所主管级领导未分发节点情况
|
||||
List<NodeDispose> nodeDisposeCount =
|
||||
processFbStandardConsultationService.findNodeDisposeCount(ConsultationTaskKey.DEPART_LEADER_START_1);
|
||||
if (CollectionUtils.isNotEmpty(nodeDisposeCount)){
|
||||
List<String> processInstanceIdList = nodeDisposeCount.stream()
|
||||
.map(NodeDispose::getProcessInstanceId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 未完成审批数据
|
||||
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordService.list(
|
||||
new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.in(ProcessApprovalRecord::getProcessInstanceId, processInstanceIdList)
|
||||
.eq(ProcessApprovalRecord::getNodeId, ConsultationTaskKey.DEPART_LEADER_START_1)
|
||||
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
|
||||
.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue()));
|
||||
|
||||
// 更新超期标识
|
||||
if (!processApprovalRecordList.isEmpty()){
|
||||
List<String> idList = processApprovalRecordList.stream()
|
||||
.map(ProcessApprovalRecord::getId).collect(Collectors.toList());
|
||||
processApprovalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.in(ProcessApprovalRecord::getId, idList)
|
||||
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
|
||||
.set(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue()));
|
||||
}
|
||||
|
||||
for (ProcessApprovalRecord processApprovalRecord : processApprovalRecordList) {
|
||||
num += 1;
|
||||
// 设置网关条件
|
||||
runtimeService.setVariableLocal(processApprovalRecord.getProcessInstanceId(),
|
||||
FbCommon.VARIABLE_PASS_FIRST, 3);
|
||||
|
||||
// 完成任务
|
||||
taskService.complete(processApprovalRecord.getTaskId());
|
||||
}
|
||||
}
|
||||
log.info("征求意见流程-超过征求意见结束日期,各部所主管级领导 部分/全部 未分发时任务结束");
|
||||
log.info("征求意见流程-超过征求意见结束日期,任务数量{}", num);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user