From 9496eb6892c2a423e1f11d394edf25052ca7c8a7 Mon Sep 17 00:00:00 2001 From: DELL Date: Wed, 17 Apr 2024 22:01:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:1=E3=80=81=E8=A7=A3=E5=86=B3=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8C=85=E7=9B=B8=E4=BC=BC=E5=BA=A6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8F=96=E4=B8=8D=E5=88=B0=E7=9B=B8=E4=BC=BC?= =?UTF-8?q?=E5=BA=A6=E5=80=BCbug=EF=BC=9B2=E3=80=81=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?3=E3=80=81=E7=A7=BB=E5=85=A5=E5=8F=AF=E7=96=91=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9=E4=BA=BA=E4=B8=8D=E6=98=AF?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=EF=BC=8C=E5=88=99=E4=B8=8D?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E7=A7=BB=E5=85=A5=E5=8F=AF=E7=96=91=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/controller/OcrAiApprovalTools.java | 2 +- .../OcrTaskchildDubiousFileController.java | 17 ++- .../OcrTaskchildPictureMybatisDao.java | 15 +++ .../ocr/service/IOcrSearchHistoryService.java | 3 +- .../service/OcrTaskchildPictureService.java | 1 - .../impl/OcrSearchHistoryServiceImpl.java | 104 ++++++++++++------ .../impl/OcrTaskchildPictureServiceImpl.java | 1 + .../impl/OcrUsersearchchildServiceImpl.java | 6 +- .../jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java | 39 +++++++ .../mapper/oa/OcrTaskchildPictureMapper.xml | 37 ++++++- 10 files changed, 174 insertions(+), 51 deletions(-) create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java 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 + - + +