From 8c7d2751efda86780161e7826c1fbc3ee7d877aa Mon Sep 17 00:00:00 2001 From: DELL Date: Thu, 18 Apr 2024 17:54:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E7=BB=9F=E8=AE=A1=E6=8E=A5=E5=8F=A3=E5=81=9A?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E8=8A=82=E7=82=B9=E9=9A=94=E7=A6=BB=EF=BC=9B?= =?UTF-8?q?ai=E7=BB=9F=E8=AE=A1=E5=BC=B9=E7=AA=97=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=92=8C=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9B=B8=E5=90=8C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/controller/OcrAiApprovalTools.java | 2 +- .../OcrTaskchildPictureMybatisDao.java | 4 +- .../ocr/service/IOcrSearchHistoryService.java | 2 +- .../impl/OcrSearchHistoryServiceImpl.java | 88 ++++++++++++------- .../mapper/oa/OcrTaskchildPictureMapper.xml | 8 +- 5 files changed, 66 insertions(+), 38 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java index 0b871ef2..6a0b96dc 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java @@ -61,7 +61,7 @@ public class OcrAiApprovalTools { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid(),request); + ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken,request); return toolscount; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java index 418307a6..8b295f38 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java @@ -50,12 +50,12 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper queryPendingApproval(@Param("loginName") String loginName, @Param("tenantId") String tenantId); + public List queryPendingApproval(@Param("loginName") String loginName, @Param("tenantId") String tenantId, @Param("taskNode") String taskNode); /** * 查询当前用户已审批任务 */ - public List queryExamineApprove(@Param("tenantId") String tenantId, @Param("id") Long id); + public List queryExamineApprove(@Param("tenantId") String tenantId, @Param("formIdList") List formIdList); /** * 查询我的待办、已经办理任务数量 * @param query diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java index 41e32894..9b7c3f2d 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java @@ -21,7 +21,7 @@ import java.util.Map; public interface IOcrSearchHistoryService extends IService { Map>> selectsearch(String search, String assignee, String userId, String tenantId); - ResultVo toolscount(String tenantid, String userId, HttpServletRequest request); + ResultVo toolscount(String tenantid, UserToken userToken, HttpServletRequest request); ResultVo toolsTaskApprovalCount(String tenantid, UserToken userToken, HttpServletRequest request); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java index f2b69da7..94d62096 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java @@ -113,8 +113,9 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl> resultVo = null; + String userId = userToken.getUserid(); try { //系统中记录的ai统计租户id @@ -126,16 +127,42 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl oaUserApproveVoList = taskchildPictureMybatisDao.queryApprovalNode(userId); + List ocrTaskchildPictureApproList = new ArrayList<>(); + //定义第一审批节点 + String taskNodeOne = ""; + if (oaUserApproveVoList.size() > 0) { + Map formIdToVoMap = new HashMap<>(); + for (OaUserApproveVo vo : oaUserApproveVoList) { + Long formId = vo.getFormId(); + Integer taskNode = vo.getTaskNode(); + if (!formIdToVoMap.containsKey(formId) || taskNode < formIdToVoMap.get(formId).getTaskNode()) { + formIdToVoMap.put(formId, vo); + } + } + //获取该用户第一节点 + Iterator> iterator = formIdToVoMap.entrySet().iterator(); + Map.Entry firstEntry = iterator.next(); + taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode()); + //获取已经审批的任务ID + List formIdList = new ArrayList<>(formIdToVoMap.keySet()); + //查询该用户第一节点所有待审任务列表 + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne); + //查询第一节点已经审批的任务列表数据 + List ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formIdList); + if(ocrTaskchildPictureApproListNew.size()>0){ + for(OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproListNew){ + OaUserApproveVo oaUserApproveVo = formIdToVoMap.get(Long.parseLong(ocrTaskchildPictureAppro.getId())); + ocrTaskchildPictureAppro.setStatshis(oaUserApproveVo.getStatsHis()); + ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro); + } + } + }else { + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne); + for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { + ocrTaskchildPictureAppro.setStatshis(1); + } } - User user = this.userService.getSessionUser(request); - PageUtils pageUtils = new PageUtils(); - pageUtils.setPageSize(9999999); - pageUtils.setCurrPage(1); - List ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils); resultVo = new ResultVo<>(); int pendingApprovalCount = 0; // 待审批的数量 int approvedCount = 0; // 通过的数量 @@ -196,7 +223,8 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl oaUserApproveVoList = taskchildPictureMybatisDao.queryApprovalNode(userId); List ocrTaskchildPictureApproList = new ArrayList<>(); - List ocrTaskchildPictureApproListNew1 = new ArrayList<>(); + //定义第一审批节点 + String taskNodeOne = ""; if (oaUserApproveVoList.size() > 0) { Map formIdToVoMap = new HashMap<>(); for (OaUserApproveVo vo : oaUserApproveVoList) { @@ -206,35 +234,29 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formId); - if(ocrTaskchildPictureApproListNew.size()>0){ - OcrTaskchildPictureAppro ocrTaskchildPictureAppro = ocrTaskchildPictureApproListNew.get(0); - ocrTaskchildPictureAppro.setStatshis(formIdToVoMap.get(formId).getStatsHis()); - ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro); - } + //获取该用户第一节点 + Iterator> iterator = formIdToVoMap.entrySet().iterator(); + Map.Entry firstEntry = iterator.next(); + taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode()); + //获取已经审批的任务ID + List formIdList = new ArrayList<>(formIdToVoMap.keySet()); + //查询该用户第一节点所有待审任务列表 + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne); + //查询第一节点已经审批的任务列表数据 + List ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formIdList); + if(ocrTaskchildPictureApproListNew.size()>0){ + for(OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproListNew){ + OaUserApproveVo oaUserApproveVo = formIdToVoMap.get(Long.parseLong(ocrTaskchildPictureAppro.getId())); + ocrTaskchildPictureAppro.setStatshis(oaUserApproveVo.getStatsHis()); + ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro); } } }else { - ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid); + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne); for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { ocrTaskchildPictureAppro.setStatshis(1); } } - System.out.println("ocrTaskchildPictureApproListNew"+ocrTaskchildPictureApproListNew1.size()); resultVo = new ResultVo<>(); int pendingApprovalCount = 0; // 待审批的数量 int approvedCount = 0; // 通过的数量 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 dfee42dd..baed6175 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 @@ -738,7 +738,10 @@ left join ocr_picture op on tc.PICTUREID = op.ID where tc.TENANTID = #{tenantId} and op.suspiciousfile = 0 - and tc.ID = #{id} + and tc.ID IN + + #{formId} +