From d3f3fc980465f08d5a13ccf381418ae38f8e6d50 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Tue, 23 Jul 2024 17:45:19 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E4=BB=BB=E5=8A=A1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FlowTaskController.java | 18 ++++++++++++------ .../service/impl/FlowTaskServiceImpl.java | 13 +++++++++++-- .../mapper/oa/OcrTaskchildPictureMapper.xml | 8 +++++--- 3 files changed, 28 insertions(+), 11 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 89217351..f4ebeef5 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 @@ -23,13 +23,11 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild; -import cn.jyjz.xiaoyao.ocr.service.OcrSearchmanagerService; -import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; -import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService; -import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService; +import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import com.alanpoi.common.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -39,6 +37,7 @@ import io.swagger.annotations.*; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; @@ -75,6 +74,9 @@ public class FlowTaskController extends BaseController { @Resource private OcrUsersearchchildService usersearchchildService; + + @Autowired + private OcrContractorTaskService contractorTaskService; // /** // * 查询我的待办任务 // * @return @@ -488,6 +490,7 @@ public class FlowTaskController extends BaseController { } else { searchQuery.addEqual("thisLoginUserid", user.getLoginname()); searchQuery.addEqual("tenantid", tenantId); + } String searchId = request.getParameter("searchId"); @@ -497,10 +500,13 @@ public class FlowTaskController extends BaseController { disSearchQuery(searchQuery, userSearch); } } - + List contractorTask = contractorTaskService.list(new LambdaQueryWrapper().eq(OcrContractorTask::getTenantId,tenantId )); + if (!org.springframework.util.CollectionUtils.isEmpty(contractorTask)) { + OcrContractorTask ocrContractorTask = contractorTask.get(0); + searchQuery.addEqual("contractor", ocrContractorTask.getField()); + } Map query = searchQuery.getQuery(); - flowTaskService.getFinalProcessInstances(query, pageUtils, user); return ResultVoUtil.success(pageUtils); } 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 710828ed..63d6e455 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 @@ -911,12 +911,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask OcrPicture first = ocrPictureService.getOne(new LambdaQueryWrapper().eq(OcrPicture::getId, taskchildPicture.getPictureid())); List contractorList = contractorTaskService.list(new LambdaQueryWrapper().eq(OcrContractorTask::getTenantId, taskchildPicture.getTenantid())); if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractorList)) { + List userList = contractorList.stream().map(OcrContractorTask::getTaskUserAssignee).collect(Collectors.toList()); Class aClass = first.getClass(); Field field = aClass.getDeclaredField(contractorList.get(0).getField()); field.setAccessible(true); String fieldValue = (String) field.get(first); - log.info("厂商名称------{}",fieldValue); + log.info("厂商名称------{}", fieldValue); List collect = contractorList.stream().filter(contractorTask -> contractorTask.getContractor().equals(fieldValue)).map(OcrContractorTask::getTaskUserAssignee).collect(Collectors.toList()); + List assignees = new ArrayList<>(); List assigneeList = new ArrayList<>(); for (String str : candidateUsers) { if (collect.contains(str)) { @@ -925,7 +927,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(assigneeList)) { taskService.claim(task.getId(), assigneeList.get(rand.nextInt(assigneeList.size()))); - }else { + } + if (CollectionUtils.isEmpty(assigneeList) && org.apache.commons.collections4.CollectionUtils.isNotEmpty(userList)) { + List userCcollect = candidateUsers.stream().filter(o -> !userList.contains(o)).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(userCcollect)) { + userCcollect = candidateUsers; + } + taskService.claim(task.getId(), userCcollect.get(rand.nextInt(userCcollect.size()))); + } else { taskService.claim(task.getId(), candidateUsers.get(rand.nextInt(candidateUsers.size()))); } } else { diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml index 6660afcb..3a4861b4 100644 --- a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml @@ -1016,7 +1016,7 @@