From f46e87214df34cf6f6936b121a1e0707871fd779 Mon Sep 17 00:00:00 2001 From: admin <149470858@qq.com> Date: Mon, 15 Apr 2024 23:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E4=BD=9C=E6=B5=81?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E7=BB=84=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FlowTaskController.java | 6 +++-- .../cn/jyjz/flowable/entity/FlowApprove.java | 2 ++ .../service/IFlowInstanceService.java | 4 ++-- .../flowable/service/IFlowTaskService.java | 6 ++--- .../service/impl/FlowInstanceServiceImpl.java | 8 +++---- .../service/impl/FlowTaskServiceImpl.java | 21 +++++++++-------- .../oa/from/service/CandidateuserService.java | 2 +- .../impl/CandidateuserServiceImpl.java | 23 +++---------------- .../service/OcrTaskchildPictureService.java | 2 +- .../impl/OcrCheckDuplicateServiceImpl.java | 2 +- .../service/impl/OcrPictureServiceImpl.java | 6 +++-- .../impl/OcrTaskchildPictureServiceImpl.java | 5 ++-- 12 files changed, 39 insertions(+), 48 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java index b523fdf5..c59c17ce 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java @@ -629,7 +629,8 @@ public class FlowTaskController extends BaseController { public ResultVo removeTask(HttpServletRequest request) { String fromid = request.getParameter("fromid"); String taskid = request.getParameter("taskid"); - return flowTaskService.removeTask(fromid, taskid); + String deptid = request.getParameter("deptid"); + return flowTaskService.removeTask(fromid, taskid,deptid); //return ResultVoUtil.success(); } @@ -649,7 +650,8 @@ public class FlowTaskController extends BaseController { public ResultVo historyTask(HttpServletRequest request) { String fromid = request.getParameter("fromid"); String taskid = request.getParameter("buessinessno"); - return flowTaskService.removeTask(fromid, taskid); + String deptid = request.getParameter("deptid"); + return flowTaskService.removeTask(fromid, taskid,deptid); //return ResultVoUtil.success(); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/entity/FlowApprove.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/entity/FlowApprove.java index f7c81fc1..765fadb4 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/entity/FlowApprove.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/entity/FlowApprove.java @@ -30,6 +30,8 @@ public class FlowApprove { */ private String failCauseId; + //公司主键,原机构主键 + private String deptid; /** * 处理方式 */ diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowInstanceService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowInstanceService.java index 81a5276f..387bce19 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowInstanceService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowInstanceService.java @@ -22,7 +22,7 @@ public interface IFlowInstanceService { * @param servicename * @return */ - public boolean startProcessInstanceById(String procDefId, Map variables, HttpServletRequest request,String formid,String servicename); + public boolean startProcessInstanceById(String procDefId, Map variables, HttpServletRequest request,String formid,String servicename,String deptid); /** * 启动流程实例 @@ -32,5 +32,5 @@ public interface IFlowInstanceService { * @param servicename * @return */ - public boolean startProcessInstanceById(String procDefId,String userName,String createuser, String formid,String servicename); + public boolean startProcessInstanceById(String procDefId,String userName,String createuser, String formid,String servicename,String deptid); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java index f5759811..56f229fe 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java @@ -54,7 +54,7 @@ public interface IFlowTaskService { * @param * @param processDefinition */ - public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition); + public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition,String deptid); void sendMsg(OcrTaskchildPicture model, UserToken userToken); void finishedList(PageUtils pageUtils, HttpServletRequest request); @@ -142,7 +142,7 @@ public interface IFlowTaskService { * * @param processInstanceId */ - public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId); + public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId,String deptid); /** * 查看当前执行人列表 @@ -170,7 +170,7 @@ public interface IFlowTaskService { * * @param fromid 任务表主键 */ - public ResultVo removeTask(String fromid, String taskid); + public ResultVo removeTask(String fromid, String taskid,String deptid); /** * 查询重复流程 diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowInstanceServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowInstanceServiceImpl.java index 21031f31..27a2d465 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowInstanceServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowInstanceServiceImpl.java @@ -45,7 +45,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow private UserViewapproeService userViewApproeService; @Override - public boolean startProcessInstanceById(String procDefId, Map variables, HttpServletRequest request, String formid, String servicename) { + public boolean startProcessInstanceById(String procDefId, Map variables, HttpServletRequest request, String formid, String servicename,String deptid) { IFormCustomService iFormCustomService = null; if (StringUtils.isNotBlank(servicename)) { @@ -87,7 +87,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables); if (null != iFormCustomService) { - FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); + FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId(),deptid); if (null == flowTaskCompleteVO) { throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); @@ -128,7 +128,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow } @Override - public boolean startProcessInstanceById(String procDefId, String userName, String createuser, String formid, String servicename) { + public boolean startProcessInstanceById(String procDefId, String userName, String createuser, String formid, String servicename,String depti) { IFormCustomService iFormCustomService = null; if (StringUtils.isNotBlank(servicename)) { @@ -159,7 +159,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables); if (null != iFormCustomService) { - FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); + FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId(),depti); if (null == flowTaskCompleteVO) { throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java index 975d4a8b..f74bdaeb 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java @@ -454,7 +454,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask variables.put("approvd", approve.getResult()); OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(flowTaskInfo.getFormId())); if (approve.getResult()) { - disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken, approve); + disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken, approve,approve.getDeptid()); } else { disposeFailureTask(task, flowTaskInfo.getFormId(), variables, approve); @@ -474,10 +474,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask /** * 处理审批成功任务 */ - private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map variables, OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve) throws Exception { + private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map variables, + OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve,String deptid) throws Exception { //进入下一个节点 taskService.complete(task.getId(), variables); - updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition); + updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition,deptid); String category = processDefinition.getCategory(); Category categoryDto = this.categoryService.getCategory(category); IFormCustomService iFormCustomService = SpringUtils.getBean(categoryDto.getServicename()); @@ -581,10 +582,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask * * @param processDefinition */ - public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition) { + public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition,String deptid) { //如果是多个候选人或者是候选组,做任务拾取 - FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId); + FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId,deptid); if (null != flowTaskCompleteVO) { @@ -673,7 +674,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask * * @param processInstanceId */ - public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId) { + public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId,String deptid) { FlowTaskCompleteVO flowTaskCompleteVO = null; BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); @@ -710,7 +711,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask //发起人员登录账号 String startUserId = hi.getStartUserId(); //通过候选组主键,查询审批人员信息,并自动拾取 - loginuser = candidateuserService.getClaimUser(startUserId, groupid); + loginuser = candidateuserService.getClaimUser(startUserId, groupid,deptid); if (StringUtils.isNotBlank(loginuser)) { taskService.claim(task.getId(), loginuser); } @@ -1764,7 +1765,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } - public ResultVo removeTask(String fromid, String taskid) { + public ResultVo removeTask(String fromid, String taskid,String deptid) { // 获取当前任务 OcrTaskchildPicture ocrTaskchildPicture = this.ocrTaskchildPictureService.selectDtoById(Long.parseLong(fromid)); @@ -1783,7 +1784,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask String historyProcessDefinitionId = terminatedInstances.get(0).getProcessDefinitionId(); boolean isStart = iFlowInstanceService.startProcessInstanceById(historyProcessDefinitionId, ocrTaskchildPicture.getCreateusername(), - ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename()); + ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename(),deptid); if (isStart) { ResultVoUtil.success(); @@ -1803,7 +1804,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask Category category = this.categoryService.getById(ocrTaskchildPicture.getCategoryid()); boolean isStart = iFlowInstanceService.startProcessInstanceById(task.getProcessDefinitionId(), ocrTaskchildPicture.getCreateusername(), - ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename()); + ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename(),deptid); if (isStart) { ResultVoUtil.success(); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/CandidateuserService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/CandidateuserService.java index f0e0db75..20d8d1c2 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/CandidateuserService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/CandidateuserService.java @@ -46,5 +46,5 @@ public interface CandidateuserService extends BaseService { * @param candidateid 候选组主键 * @return */ - public String getClaimUser(String startUserId,String candidateid); + public String getClaimUser(String startUserId,String candidateid,String deptid); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/CandidateuserServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/CandidateuserServiceImpl.java index d21854cd..2a132f8a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/CandidateuserServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/CandidateuserServiceImpl.java @@ -116,7 +116,7 @@ public class CandidateuserServiceImpl extends BaseServiceImpl userdistionaryList = userdistionaryService.selectListByCandidateid(candidateid,loginname); @@ -135,14 +135,10 @@ public class CandidateuserServiceImpl extends BaseServiceImpl list = userdistionaryService.selectListByLoginname(loginname); - - //以店面作为主键 - Map userdistionaryMap = list.stream().collect(Collectors.toMap(Userdistionary::getDeptidDis, Function.identity(),(key1,key2) ->key2)); + //如果候选组有多个人,优先确定是否在同一个店面, for(Userdistionary userdistionary:userdistionaryList){ - if(null != userdistionaryMap.get(userdistionary.getDeptidDis())){ + if(userdistionary.getDeptid().toString().equals(deptid)){ //如果user不为空,说明有存在 if(null != user){ user = null; @@ -157,19 +153,6 @@ public class CandidateuserServiceImpl extends BaseServiceImpl userdistionaryDeptMap = list.stream().collect(Collectors.toMap(Userdistionary::getDeptid, Function.identity(),(key1,key2) ->key2)); - //如果在同一个店面,也是多个人优先选同部门 - for(Userdistionary userdistionary:userdistionaryList){ - if(null != userdistionaryDeptMap.get(userdistionary.getDeptid())){ - //如果user不为空,说明有存在 - if(null != user){ - user = null; - break; - } - user = this.userService.selectDtoById(userdistionary.getUserid()); - } - } //如果user不为空,说明只有一个审批人员 if(null != user){ return user.getLoginname(); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java index 2a7e3059..18fd1fc6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java @@ -38,7 +38,7 @@ public interface OcrTaskchildPictureService extends BaseService ocrPictureList, String tenantId,UserToken sysUser); + public void createTask(List ocrPictureList, String tenantId,UserToken sysUser,String deptid); /** diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java index dfa6beef..0cad437e 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java @@ -337,7 +337,7 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl ocrPictureList, String tenantId, UserToken userToken) { + public void createTask(List ocrPictureList, String tenantId, UserToken userToken,String deptid) { if (null != ocrPictureList && !ocrPictureList.isEmpty()) { //用于标记相似度是否存在百分百的情况 for (OcrPicture ocrPicture : ocrPictureList) { @@ -339,7 +339,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl