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 39448850..b4d9dff7 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 @@ -158,7 +158,7 @@ public class FlowTaskController extends BaseController { @ResponseBody public ResultVo completeBatch(@RequestBody FlowApprove approve, HttpServletRequest request) { String tenantId = request.getHeader("X-Tenant-Id"); - if(StringUtils.isBlank(tenantId)){ + if (StringUtils.isBlank(tenantId)) { return ResultVoUtil.error("租户主键不能为空"); } approve.setDeptid(tenantId); @@ -317,8 +317,8 @@ public class FlowTaskController extends BaseController { } //获取用户预设检索条件id,如果存在检索条件,则高级检索失效 - String userSearchId = ""; - if(StringUtils.isBlank(taskName)){ + String userSearchId = ""; + if (StringUtils.isBlank(taskName)) { userSearchId = request.getParameter("userSearchId"); } @@ -327,7 +327,7 @@ public class FlowTaskController extends BaseController { flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils); } else { - flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils,userSearchId); + flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils, userSearchId); //待办信息,增加是否查看标记 // if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){ @@ -401,8 +401,8 @@ public class FlowTaskController extends BaseController { searchQuery.addEqual("fromuserid", izupuser); } } - if(StringUtils.isNotBlank(taskName)){ - searchQuery.addLike("fromtaskname",taskName); + if (StringUtils.isNotBlank(taskName)) { + searchQuery.addLike("fromtaskname", taskName); } if (org.springframework.util.StringUtils.hasText(izproject)) { if (izproject.contains(",")) { @@ -432,13 +432,9 @@ public class FlowTaskController extends BaseController { } else { searchQuery.addEqual("states", izstatus); } - }else{ - if(Boolean.parseBoolean(isFail)){ - searchQuery.addEqual("isFail","1"); - searchQuery.addIn("states", Arrays.asList("2","3","5")); - }else{ - searchQuery.addIn("states", Arrays.asList("2","3")); - } + } + if (Boolean.parseBoolean(isFail)) { + searchQuery.addEqual("isFail", "1"); } if (org.springframework.util.StringUtils.hasText(iztaskrrom)) { if (iztaskrrom.contains(",")) { @@ -643,7 +639,7 @@ public class FlowTaskController extends BaseController { String fromid = request.getParameter("fromid"); String taskid = request.getParameter("taskid"); String deptid = request.getParameter("deptid"); - return flowTaskService.removeTask(fromid, taskid,deptid); + return flowTaskService.removeTask(fromid, taskid, deptid); //return ResultVoUtil.success(); } @@ -664,7 +660,7 @@ public class FlowTaskController extends BaseController { String fromid = request.getParameter("fromid"); String taskid = request.getParameter("buessinessno"); String deptid = request.getParameter("deptid"); - return flowTaskService.removeTask(fromid, taskid,deptid); + return flowTaskService.removeTask(fromid, taskid, deptid); //return ResultVoUtil.success(); } 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} +