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 7cf34f27..0b871ef2 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 @@ -83,7 +83,7 @@ public class OcrAiApprovalTools { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - ResultVo toolscount = iocrsearchhistoryservice.toolsTaskApprovalCount(tenantId,userToken.getUserid(),request); + ResultVo toolscount = iocrsearchhistoryservice.toolsTaskApprovalCount(tenantId,userToken,request); return toolscount; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildDubiousFileController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildDubiousFileController.java index a75020c6..67f73bb3 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildDubiousFileController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildDubiousFileController.java @@ -168,6 +168,13 @@ public class OcrTaskchildDubiousFileController { List list=new ArrayList<>(); String[] taskchildid1 = pictureid.toString().split(","); for (String asd:taskchildid1){ + //判断当前任务审批人是否是当前登录用户 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("PICTUREID",asd); + OcrTaskchildPicture one = ocrtaskchildpictureservice.getOne(wrapper); + if(one != null && !one.getAssignee().equals(userToken.getLoginname())){ + return ResultVoUtil.error("勾选存在无权限审批的任务,不能添加可疑文件!"); + } QueryWrapper filewrapper = new QueryWrapper<>(); filewrapper.eq("picture_id",asd).eq("userid",userToken.getUserid()); @@ -178,11 +185,6 @@ public class OcrTaskchildDubiousFileController { ocrtaskchilddubiousfile.setTenantid(Long.parseLong(tenantId)); ocrtaskchilddubiousfile.setUserid(Long.parseLong(userToken.getUserid())); ocrtaskchilddubiousfile.setCreatedate(System.currentTimeMillis()); - - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("PICTUREID",asd); - OcrTaskchildPicture one = ocrtaskchildpictureservice.getOne(wrapper); ocrtaskchilddubiousfile.setTaskchildId(one.getId()); UpdateWrapper updatewrapper = new UpdateWrapper<>(); @@ -198,11 +200,6 @@ public class OcrTaskchildDubiousFileController { ocrtaskchilddubiousfile.setTenantid(Long.parseLong(tenantId)); ocrtaskchilddubiousfile.setUserid(Long.parseLong(userToken.getUserid())); ocrtaskchilddubiousfile.setCreatedate(System.currentTimeMillis()); - - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("PICTUREID",asd); - OcrTaskchildPicture one = ocrtaskchildpictureservice.getOne(wrapper); ocrtaskchilddubiousfile.setTaskchildId(one.getId()); UpdateWrapper updatewrapper = new UpdateWrapper<>(); 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 249872c4..418307a6 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 @@ -2,6 +2,7 @@ package cn.jyjz.xiaoyao.ocr.dataDao; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; +import cn.jyjz.xiaoyao.ocr.vo.OaUserApproveVo; import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -41,6 +42,20 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper listmytask(Map query); + + /** + * 查询当前用户审批节点 + */ + public List queryApprovalNode(@Param("userId") String userId); + /** + * 查询当前用户待审批任务 + */ + public List queryPendingApproval(@Param("loginName") String loginName, @Param("tenantId") String tenantId); + + /** + * 查询当前用户已审批任务 + */ + public List queryExamineApprove(@Param("tenantId") String tenantId, @Param("id") Long id); /** * 查询我的待办、已经办理任务数量 * @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 5ceb1091..41e32894 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 @@ -2,6 +2,7 @@ package cn.jyjz.xiaoyao.ocr.service; import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; import com.baomidou.mybatisplus.extension.service.IService; @@ -22,7 +23,7 @@ public interface IOcrSearchHistoryService extends IService { ResultVo toolscount(String tenantid, String userId, HttpServletRequest request); - ResultVo toolsTaskApprovalCount(String tenantid, String userId, HttpServletRequest request); + ResultVo toolsTaskApprovalCount(String tenantid, UserToken userToken, HttpServletRequest request); Map selectaisp(String userid,String id,Integer nodeType); 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 adfa1b24..3aea40fe 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 @@ -113,7 +113,6 @@ public interface OcrTaskchildPictureService extends BaseService ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils); resultVo = new ResultVo<>(); @@ -178,9 +180,10 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl> resultVo = null; + String userId = userToken.getUserid(); try { //系统中记录的ai统计租户id String counttenantid = iCacheManager.get(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId); @@ -191,46 +194,79 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl oaUserApproveVoList = taskchildPictureMybatisDao.queryApprovalNode(userId); + List ocrTaskchildPictureApproList = new ArrayList<>(); + List ocrTaskchildPictureApproListNew1 = new ArrayList<>(); + 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); + } + } + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid); + for (Long formId : formIdToVoMap.keySet()) { + // 判断 formId 是否在 ocrTaskchildPictureApproList 中存在 + boolean containsFormId = false; + for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { + if (Long.parseLong(ocrTaskchildPictureAppro.getId()) == formId) { + containsFormId = true; + ocrTaskchildPictureApproListNew1.add(ocrTaskchildPictureAppro); + // 如果 formId 在 formIdToVoMap 中存在,则将 formId 对应的 STATSHIS 赋值给 ocrTaskchildPictureAppro 的 STATSHIS 字段 + ocrTaskchildPictureAppro.setStatshis(formIdToVoMap.get(formId).getStatsHis()); + break; + } + } + if(!containsFormId){ + List ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formId); + if(ocrTaskchildPictureApproListNew.size()>0){ + OcrTaskchildPictureAppro ocrTaskchildPictureAppro = ocrTaskchildPictureApproListNew.get(0); + ocrTaskchildPictureAppro.setStatshis(formIdToVoMap.get(formId).getStatsHis()); + ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro); + } + } + } + }else { + ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid); + for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { + ocrTaskchildPictureAppro.setStatshis(1); + } } - User user = this.userService.getSessionUser(request); - PageUtils pageUtils = new PageUtils(); - pageUtils.setPageSize(9999); - pageUtils.setCurrPage(1); - List ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils); + System.out.println("ocrTaskchildPictureApproListNew"+ocrTaskchildPictureApproListNew1.size()); resultVo = new ResultVo<>(); int pendingApprovalCount = 0; // 待审批的数量 int approvedCount = 0; // 通过的数量 int notGoCount = 0; // 不通过的数量 int repeat = 0; // 重复数量 int repeatedNodulesCount = 0; //重复小结数 - for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { - if(ocrTaskchildPictureAppro.getIsRepeat() != null && ocrTaskchildPictureAppro.getIsRepeat() == 1){ - repeat++; - } - if(ocrTaskchildPictureAppro.getIsRepeatedNodules() !=null && ocrTaskchildPictureAppro.getIsRepeatedNodules() == 1){ - repeatedNodulesCount++; - } - if (ocrTaskchildPictureAppro.getStatshis() != null) { - switch (ocrTaskchildPictureAppro.getStatshis()) { - case 1: - pendingApprovalCount++; - break; - case 2: - approvedCount++; - break; - case 3: - notGoCount++; - break; - default: - break; + if(ocrTaskchildPictureApproList.size()>0){ + for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { + if(ocrTaskchildPictureAppro.getIsRepeat() != null && ocrTaskchildPictureAppro.getIsRepeat() == 1){ + repeat++; + } + if(ocrTaskchildPictureAppro.getIsRepeatedNodules() !=null && ocrTaskchildPictureAppro.getIsRepeatedNodules() == 1){ + repeatedNodulesCount++; + } + if (ocrTaskchildPictureAppro.getStatshis() != null) { + switch (ocrTaskchildPictureAppro.getStatshis()) { + case 1: + pendingApprovalCount++; + break; + case 2: + approvedCount++; + break; + case 3: + notGoCount++; + break; + default: + break; + } + } else { + //暂定,后期修改 + pendingApprovalCount++; } - } else { - //暂定,后期修改 - pendingApprovalCount++; } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java index e8c97480..2d622c09 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java @@ -31,6 +31,7 @@ import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; +import cn.jyjz.xiaoyao.ocr.vo.OaUserApproveVo; import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo; import com.alibaba.fastjson.JSON; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUsersearchchildServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUsersearchchildServiceImpl.java index 4b31ba1a..98349991 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUsersearchchildServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUsersearchchildServiceImpl.java @@ -85,9 +85,9 @@ public class OcrUsersearchchildServiceImpl extends BaseServiceImpl + - + +