diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java index 12d7e915..cf2bd773 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java @@ -1,6 +1,5 @@ package com.jero.modules.activiti.process.esinspectplan.service.impl; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -37,7 +36,6 @@ 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.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -97,6 +95,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService { RuntimeService runtimeService = processEngine.getRuntimeService(); @Resource private TaskService taskService; + private static final String COUNTERSIGN = "countersign"; + private static final String COUNTERSIGN_TAG = "countersignTag"; @Override public void flowStart(EsInspectPlanFlowVO esInspectPlanFlowVO) { @@ -189,6 +189,14 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService { .eq(ProcessDraft::getUserId, loginUser.getId())); // 保存新草稿 processDraftService.save(processDraft); + // 稽查联络人汇总节点保存会签信息 + 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()); + } + } } private Map listToString(Map map) { @@ -248,24 +256,30 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService { .eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId) , false); } - if (StringUtils.isNotBlank(taskId)){ - Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); - if (EsInspectPlanCommon.PROCESS_NODE_3.equals(task.getTaskDefinitionKey())){ - Object obj = taskService.getVariable(taskId, "involveList"); - List involveList = JSON.parseObject(JSON.toJSONString(obj), List.class); - if (!CollectionUtils.isEmpty(involveList)){ - HashMap stringObjectHashMap = new HashMap<>(); - String join = String.join(",", involveList); - esInspectPlanFlowVO.setCountersign(join); - esInspectPlanFlowVO.setCountersignDictText(sysUserService.dictByIdsOrUserNames(join, "")); - } - } - } + // 会签信息 + countersign(taskId, esInspectPlanFlowVO); 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 queryPersonInfo(String processDefinitionName, String processInstanceId) { List nodeList = new ArrayList<>(); @@ -326,6 +340,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService { Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult(); if (task != null) { + // 稽查联络人汇总节点保存会签信息 + saveCountersign(esInspectPlanFlowVO, map, task); // 完成任务 taskService.complete(task.getId(), map); // 判断是否是最后一个节点 @@ -353,6 +369,17 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService { } } + private static void saveCountersign(EsInspectPlanFlowVO esInspectPlanFlowVO, Map map, Task task) { + if (EsInspectPlanCommon.PROCESS_NODE_3.equals(task.getTaskDefinitionKey()) && 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(String projectId) { // 企标稽查计划业务表数据 List processEsInspectPlanList = processEsInspectPlanService.list( diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/vo/EsInspectPlanFlowVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/vo/EsInspectPlanFlowVO.java index 16610516..13288514 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/vo/EsInspectPlanFlowVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/vo/EsInspectPlanFlowVO.java @@ -31,6 +31,12 @@ public class EsInspectPlanFlowVO { @ApiModelProperty(value = "map") private Map map; + /** + * 是否会签 + */ + @ApiModelProperty(value="是否会签") + private String countersignTag; + /** * 会签人员 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java index adb70605..10e52c5f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java @@ -26,6 +26,8 @@ import com.jero.modules.laws.standardization.entity.LawsStandardization; import com.jero.modules.laws.standardization.entity.LawsStandardizationMeeting; import com.jero.modules.laws.standardization.service.ILawsStandardizationService; import com.jero.modules.laws.standardization.vo.StandardizationVO; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RuntimeService; @@ -58,6 +60,7 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService { private final IProcessMeetingManageService processMeetingManageService; private final IProcessMeetingManagePersonnelService processMeetingManagePersonnelService; private final ILawsStandardizationService lawsStandardizationService; + private final ISysUserService sysUserService; public MeetingManageFlowServiceImpl(ProcessAllService processAllService, ProcessApprovalRecordService processApprovalRecordService, @@ -65,7 +68,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService { ProcessNodeLinkService processNodeLinkService, IProcessMeetingManageService processMeetingManageService, IProcessMeetingManagePersonnelService processMeetingManagePersonnelService, - ILawsStandardizationService lawsStandardizationService) { + ILawsStandardizationService lawsStandardizationService, + ISysUserService sysUserService) { this.processAllService = processAllService; this.processApprovalRecordService = processApprovalRecordService; this.processDraftService = processDraftService; @@ -73,6 +77,7 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService { this.processMeetingManageService = processMeetingManageService; this.processMeetingManagePersonnelService = processMeetingManagePersonnelService; this.lawsStandardizationService = lawsStandardizationService; + this.sysUserService = sysUserService; } ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); @@ -308,6 +313,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService { lawsStandardizationMeeting.setPersonnelId(meetingManagePersonnel.getPersonnelId()); lawsStandardizationMeeting.setMeetingData(meetingManagePersonnel.getFileId()); lawsStandardizationMeeting.setSource("2"); + SysUser sysUser = sysUserService.getById(meetingManagePersonnel.getPersonnelId()); + lawsStandardizationMeeting.setCreateBy(sysUser.getUsername()); lawsStandardizationMeetingList.add(lawsStandardizationMeeting); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java index 78494da0..d375c62b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java @@ -1,8 +1,12 @@ package com.jero.modules.laws.dataCenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.jero.modules.laws.common.constant.FieldCommon; +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.ResultCommon; +import com.jero.common.exception.JeroBootException; +import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.util.CurrentUserUtil; import com.jero.modules.laws.common.util.DateUtil; import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile; @@ -18,15 +22,10 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.jero.common.exception.JeroBootException; import java.util.Arrays; import java.util.List; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - /** * @Description: 资料中心-文件数据 @@ -90,9 +89,11 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl sysDeparts = sysDepartService.queryDepartsByUsername(standardizationMeeting.getCreateBy()); + SysUser sysUser = sysUserService.getUserByName(standardizationMeeting.getCreateBy()); + List orgCodeList = sysDeparts.stream().map(SysDepart::getOrgCode).collect(Collectors.toList()); + lawsDataCenterFile.setOwnerId(sysUser.getId()); + lawsDataCenterFile.setUploader(sysUser.calcNameWorkNo()); + lawsDataCenterFile.setOrgCode(String.join(",", orgCodeList)); lawsDataCenterFileService.add(lawsDataCenterFile); } } else {