diff --git a/jyjz-common/jyjz-common-base/src/main/java/cn/jyjz/xiaoyao/common/base/util/requestFormat/SearchQuery.java b/jyjz-common/jyjz-common-base/src/main/java/cn/jyjz/xiaoyao/common/base/util/requestFormat/SearchQuery.java index be1fb6b9..6d7fb60b 100644 --- a/jyjz-common/jyjz-common-base/src/main/java/cn/jyjz/xiaoyao/common/base/util/requestFormat/SearchQuery.java +++ b/jyjz-common/jyjz-common-base/src/main/java/cn/jyjz/xiaoyao/common/base/util/requestFormat/SearchQuery.java @@ -95,6 +95,9 @@ public class SearchQuery implements java.io.Serializable{ public void addGreater(String field,Integer value){ addQuery(field,value, SearchQueryConstant.SEARCH_GREATER); } + public void addGreater(String field,String value){ + addQuery(field,value, SearchQueryConstant.SEARCH_GREATER); + } public void addGreater(String field,Long value){ addQuery(field,value, SearchQueryConstant.SEARCH_GREATER); @@ -111,6 +114,9 @@ public class SearchQuery implements java.io.Serializable{ public void addGreaterEqual(String field,Integer value){ addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL); } + public void addGreaterEqual(String field,String value){ + addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL); + } public void addGreaterEqual(String field,BigDecimal value){ addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL); @@ -121,6 +127,9 @@ public class SearchQuery implements java.io.Serializable{ public void addLess(String field,Integer value){ addQuery(field,value, SearchQueryConstant.SEARCH_LESS); } + public void addLess(String field,String value){ + addQuery(field,value, SearchQueryConstant.SEARCH_LESS); + } public void addLess(String field,Long value){ addQuery(field,value, SearchQueryConstant.SEARCH_LESS); @@ -134,6 +143,9 @@ public class SearchQuery implements java.io.Serializable{ public void addLessEqual(String field,Integer value){ addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); } + public void addLessEqual(String field,String value){ + addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); + } public void addLessEqual(String field,BigDecimal value){ addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL); 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 f5dff51c..6955fe28 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 @@ -22,6 +22,7 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken; 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.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild; @@ -29,9 +30,11 @@ 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.vo.OcrTaskChildPictureVo; import com.alanpoi.common.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.*; import org.apache.commons.collections4.CollectionUtils; import org.springframework.http.MediaType; @@ -307,13 +310,16 @@ public class FlowTaskController extends BaseController { searchQuery.addLike("fromtaskname", taskName); } + //获取用户预设检索条件id + String userSearchId = request.getParameter("userSearchId"); + User user = this.userService.getSessionUser(request); if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) { flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils); } else { - flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils); + flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils,userSearchId); //待办信息,增加是否查看标记 // if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){ @@ -391,9 +397,9 @@ public class FlowTaskController extends BaseController { String[] projectIds = izproject.split(","); // 以逗号拆分字符串 List arrayData = Arrays.asList(projectIds); SearchQueryForm searchQueryForm = new SearchQueryForm(); - searchQuery.addIn("fromprojectid", arrayData); + searchQuery.addIn("fromprojectname", arrayData); } else { - searchQuery.addEqual("fromprojectid", izproject); + searchQuery.addEqual("fromprojectname", izproject); } } if (org.springframework.util.StringUtils.hasText(izplan)) { @@ -672,6 +678,7 @@ public class FlowTaskController extends BaseController { @ResponseBody public ResultVo repetitionTaskList(@RequestParam(name = "pageNo") Integer pageNo, @RequestParam(name = "pageSize") Integer pageSize) { - return flowTaskService.repetitionTaskList(pageNo, pageSize); + IPage result = flowTaskService.repetitionTaskList(pageNo, pageSize); + return ResultVoUtil.success(result); } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java index 3a485c3f..ed0fe759 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java @@ -13,9 +13,13 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; +import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; +import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; +import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.task.api.Task; @@ -70,7 +74,7 @@ public interface IFlowTaskService { * @param tenantId * @param pageUtils */ - public void getMyProcessInstances(User user,String tenantId, Map query,PageUtils pageUtils); + public void getMyProcessInstances(User user,String tenantId, Map query,PageUtils pageUtils,String userSearchId); /** * 查询我的待办、已经办理任务 @@ -175,5 +179,5 @@ public interface IFlowTaskService { */ ResultVo repetitionTask(); - ResultVo repetitionTaskList(Integer pageNo, Integer pageSize); + IPage repetitionTaskList(Integer pageNo, Integer pageSize); } 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 15f4dd1d..7fa97212 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 @@ -10,6 +10,7 @@ import cn.jyjz.flowable.entity.FlowTaskInfo; import cn.jyjz.flowable.service.IFlowInstanceService; import cn.jyjz.xiaoyao.common.base.language.SystemMessage; import cn.jyjz.xiaoyao.common.base.service.UserTokenService; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.oa.from.dataDao.FlowableccMybatisDao; @@ -32,6 +33,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc; import cn.jyjz.xiaoyao.oa.from.service.*; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; +import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo; import cn.jyjz.xiaoyao.ocr.dataobject.*; import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting; @@ -439,7 +441,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) { List flowTaskInfoList = approve.getFlowTaskInfoList(); for (FlowTaskInfo flowTaskInfo : flowTaskInfoList) { - if(!formIds.contains(flowTaskInfo.getFormId())){ + if (!formIds.contains(flowTaskInfo.getFormId())) { continue; } // 当前要处理的任务 @@ -1289,7 +1291,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask * @param tenantId * @param pageUtils */ - public void getMyProcessInstances(User user, String tenantId, Map searchQuery, PageUtils pageUtils) { + public void getMyProcessInstances(User user, String tenantId, Map searchQuery, PageUtils pageUtils, String userSearchId) { ParamterPage paramterPage = new ParamterPage(); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize()); @@ -1314,6 +1316,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask query.put("searchassignee", user.getLoginname()); query.putAll(searchQuery); + if (!StringUtils.isBlank(userSearchId)) { + OcrUsersearch ocrUsersearch = ocrUsersearchService.selectByUserSearchId(userSearchId); + SearchQuery additionalQuery = new SearchQuery(); + for (OcrUsersearchchild usersearchchild : ocrUsersearch.getOcrUsersearchchildList()) { + this.formattingSearchChild1(additionalQuery, usersearchchild); + } + query.putAll(additionalQuery.getQuery()); + } + Long count = ocrTaskchildPictureService.listmytaskCount(query); query.put("page", paramterPage); @@ -1804,10 +1815,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } @Override - public ResultVo repetitionTaskList(Integer pageNo, Integer pageSize) { - Page page = new Page<>(pageNo, pageSize); - - return ResultVoUtil.success(flowableccMybatisDao.repetitionTaskList(page)); + public IPage repetitionTaskList(Integer pageNo, Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + List result = flowableccMybatisDao.repetitionTaskList(); + List collect = result.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); + page.setRecords(collect); + page.setTotal(result.size()); + return page; } /** @@ -1937,5 +1951,132 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return queryWrapper; } + private SearchQuery formattingSearchChild1(SearchQuery searchQuery, OcrUsersearchchild usersearchchild) { + switch (usersearchchild.getSearchRelationType()) { + case "where": + // 添加 "where" 查询条件 + this.formattingSearchType1(searchQuery, usersearchchild); + break; + case "and": + // 添加 "and" 查询条件 + searchQuery.addRulesOp(usersearchchild.getSearchfield(),"and"); + SearchQuery andQuery = this.formattingSearchType1(searchQuery, usersearchchild); + searchQuery.setSearchQuery(andQuery); + break; + case "or": + // 添加 "or" 查询条件 + searchQuery.addRulesOp(usersearchchild.getSearchfield(),"or"); + SearchQuery orQuery = this.formattingSearchType1(searchQuery, usersearchchild); + searchQuery.setSearchQuery(orQuery); + break; + default: + break; + } + return searchQuery; + } + + private SearchQuery formattingSearchType1(SearchQuery searchQuery, OcrUsersearchchild usersearchchild) { + //查询类型 相等true 不相等fase + boolean queryType = "eq".equals(usersearchchild.getSearchtype()); + + // 1.获取检查数据,确定数据类型 + String valueType = SearchParaFormatting.clickSearchValue(usersearchchild.getSearchvalue()); + List arrayData = null; //集合型数据 + List sectionInts = null; //纯数字区间型数据 + String[] sections = null; //字符串区间型数据 + DateTime beginTime = null; //日期时间区间型数据 + DateTime endTime = null; //日期时间区间型数据 + + // 2.根据数据类型,解构数据 + switch (valueType) { + case "array": + //处理多文件 + String[] datas = usersearchchild.getSearchvalue().split(","); + arrayData = Arrays.asList(datas); + break; + case "section": + //格式化数据,仅在做区间的时候去除空格,其他地方不进行空格去除. + sections = usersearchchild.getSearchvalue().trim().replaceAll("\\s+", "").split("-"); + //校验是否纯数字,纯数字的话,要转成int,否则比对时会有问题 + sectionInts = new ArrayList<>(); + for (String data : sections) { + if (data.matches("\\d+")) { + sectionInts.add(Integer.parseInt(data)); + } + } + break; + case "time": + //格式化时间数据 + String[] times = usersearchchild.getSearchvalue().trim().replaceAll("\\s+", "").split("-"); + beginTime = DateUtil.parse(times[0], "yyyy/MM/dd"); + endTime = DateUtil.parse(times[1], "yyyy/MM/dd"); + break; + default: + } + + // 3.根据查询类型 组装查询条件 相等 + switch (valueType) { + case "array": + //集合数据 + //相等 + if (queryType) { + searchQuery.addIn(usersearchchild.getSearchfield(), arrayData); + break; + } + //不相等 + searchQuery.addNotIn(usersearchchild.getSearchfield(), arrayData); + break; + + case "section": + //数字区间查询 + if (sectionInts != null && sectionInts.size() == 2) { + if (queryType) { + //相等 + searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), sectionInts.get(0)); + searchQuery.addLessEqual(usersearchchild.getSearchfield(), sectionInts.get(1)); + break; + } + //不相等 + searchQuery.addLess(usersearchchild.getSearchfield(), sectionInts.get(0)); + searchQuery.addGreater(usersearchchild.getSearchfield(), sectionInts.get(1)); + break; + } + + //字符串区间查询 + if (queryType) { + //相等 + searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), sections[0]); + searchQuery.addLessEqual(usersearchchild.getSearchfield(), sections[1]); + break; + } + //不相等 + searchQuery.addLess(usersearchchild.getSearchfield(), sections[0]); + searchQuery.addGreater(usersearchchild.getSearchfield(), sections[1]); + break; + + + case "time": + //时间区间数据 + //相等 + if (queryType) { + searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), beginTime); + searchQuery.addLessEqual(usersearchchild.getSearchfield(), endTime); + break; + } + //不相等 + searchQuery.addLess(usersearchchild.getSearchfield(), beginTime); + searchQuery.addGreater(usersearchchild.getSearchfield(), endTime); + break; + + default: + if (queryType) { + searchQuery.addEqual(usersearchchild.getSearchfield(), usersearchchild.getSearchvalue()); + break; + } + searchQuery.addNotEqual(usersearchchild.getSearchfield(), usersearchchild.getSearchvalue()); + } + return searchQuery; + } + } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java index 925d58b2..305d5315 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java @@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo; import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo; import cn.jyjz.xiaoyao.oa.from.vo.UserDistionaryVo; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -42,5 +43,5 @@ public interface FlowableccMybatisDao extends BaseMapper { List repetitionTask(); - Page repetitionTaskList(Page page); + List repetitionTaskList(); } 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 4a394999..8af318b2 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 @@ -166,11 +166,10 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl selectaisp(String userid, String id,Integer nodeType) { List> resultList = ocrsearchhistorymapper.selectaispList(id); + Map mappedResults = new LinkedHashMap<>(); if (resultList == null || resultList.isEmpty()) { return Collections.emptyMap(); } - - Map mappedResults = new LinkedHashMap<>(); String selectaiuser = ocrsearchhistorymapper.selectaiuser(userid); mappedResults.put("packageId", id); mappedResults.put("tenantUserName", selectaiuser); @@ -179,30 +178,32 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl pictureIds = new ArrayList<>(); // 存储所有的pictureId for (Map selectaisp : resultList) { - Object pictureResult = selectaisp.get("pictureResult"); - String pictureResultStr = pictureResult.toString(); - if ("100.0".equals(pictureResultStr)) { - similarComplete++; - Long pictureId = (Long) selectaisp.get("pictureId"); - if (pictureId != null) { - pictureIds.add(String.valueOf(pictureId)); // 转换为String + if(selectaisp.size()!=0){ + Object pictureResult = selectaisp.get("pictureResult"); + String pictureResultStr = pictureResult.toString(); + if ("100.0".equals(pictureResultStr)) { + similarComplete++; + Long pictureId = (Long) selectaisp.get("pictureId"); + if (pictureId != null) { + pictureIds.add(String.valueOf(pictureId)); // 转换为String + } } } - } - if(similarComplete==0){ - return Collections.emptyMap(); + } List pendingApprovalList = new ArrayList<>(); // 存储待审批的pictureId集合 List approvedList = new ArrayList<>(); // 存储通过的pictureId集合 List failedList = new ArrayList<>(); // 存储不通过的pictureId集合 - List failedPictureIds = ocrPictureService.getPictureNodeStatesList(pictureIds, nodeType); - for (OcrPicture picture : failedPictureIds) { - if (picture.getHistoryStates() == 3) { - failedList.add(picture.getRemark()); - } else if (picture.getHistoryStates() == 1) { - pendingApprovalList.add(picture.getRemark()); - } else if (picture.getHistoryStates() == 2) { - approvedList.add(picture.getRemark()); + if(pictureIds.size()!=0){ + List failedPictureIds = ocrPictureService.getPictureNodeStatesList(pictureIds, nodeType); + for (OcrPicture picture : failedPictureIds) { + if (picture.getHistoryStates() == 3) { + failedList.add(picture.getRemark()); + } else if (picture.getHistoryStates() == 1) { + pendingApprovalList.add(picture.getRemark()); + } else if (picture.getHistoryStates() == 2) { + approvedList.add(picture.getRemark()); + } } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchParaFormatting.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchParaFormatting.java index 029f8224..c0e35ac8 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchParaFormatting.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchParaFormatting.java @@ -146,10 +146,24 @@ public class SearchParaFormatting { } }catch (Exception e){ } - return "section"; } + //如果不是数字区间,则按字符串处理 + if(!isInRange(searchvalue)){ + return "text"; + } + return "section"; } //3.都不是就按text文本处理 return "text"; } + + /** + * 校验是否是纯数字区间,不是就 + * @param number + * @return + */ + public static boolean isInRange(String number) { + String regex = "\\b(100|[1-9]?\\d)-\\b(100|[1-9]?\\d)"; + return number.matches(regex); + } } diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/FlowableccMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/FlowableccMapper.xml index 7e940e2c..4edb1b66 100644 --- a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/FlowableccMapper.xml +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/FlowableccMapper.xml @@ -223,20 +223,20 @@ LEFT JOIN ocr_picture t3 on t1.content = t3.field8 - + SELECT t2.* + + + + + + + + + + + + from (select field8 content, ID id, imgUrl FROM ocr_picture where ID in (select child.PICTUREID from oa_userfinal_t final left join ocr_taskchild_picture child on final.FORMID = child.ID) 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 de875ab9..b8d4b346 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 @@ -39,6 +39,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -139,6 +184,7 @@ + and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} @@ -260,6 +306,7 @@ + and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} @@ -450,7 +497,7 @@ where tc.STATES = 5 ) as tcp left join ocr_picture pic - on tcp.PICTUREID = pic.ID and pic.suspiciousfile =0 + on tcp.PICTUREID = pic.ID and pic.suspiciousfile = 0 @@ -472,15 +519,16 @@ from ocr_taskchild_picture tc, OA_USERFINAL_T uf, ocr_picture p - where tc.ID = uf.FORMID and p.ID = tc.PICTUREID and p.suspiciousfile =0 + where tc.ID = uf.FORMID + and p.ID = tc.PICTUREID + and p.suspiciousfile = 0 and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend} UNION select tc.* - from ocr_taskchild_picture tc, - ocr_picture p + from ocr_taskchild_picture tc, ocr_picture p where tc.STATES = 5 and p.suspiciousfile =0 ) as tcp @@ -498,7 +546,7 @@ uf.TASKNO from ocr_taskchild_picture tc LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID - left join ocr_picture op on tc.PICTUREID = op.ID and op.suspiciousfile =0 + left join ocr_picture op on tc.PICTUREID = op.ID and op.suspiciousfile = 0 where tc.ASSIGNEE = #{searchassignee} and tc.TENANTID = #{searchtenantid} and tc.STATES = 2 @@ -511,8 +559,10 @@ uf.TASKNO from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, - ocr_picture op - where tc.ID = uf.FORMID and tc.PICTUREID = op.ID and op.suspiciousfile =0 + ocr_picture op + where tc.ID = uf.FORMID + and tc.PICTUREID = op.ID + and op.suspiciousfile = 0 and tc.TENANTID = #{searchtenantid} and uf.USERID = #{thisLoginUserid} @@ -591,12 +641,13 @@ ifnull(t3.STATSHIS, 1) historyStates, t1.submit_date_timestamp submitDateTimestamp, t1.photo_date_timestamp photoDateTimestamp, - t1.similarity_score similarityScore + t1.similarity_score similarityScore FROM ocr_picture t1 LEFT JOIN ocr_taskchild_picture t2 on t1.ID = t2.PICTUREID LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}' - where t1.suspiciousfile = 0 and t1.ID in + where t1.suspiciousfile = 0 + and t1.ID in #{item} @@ -660,10 +711,11 @@ LEFT JOIN ocr_picture_info t2 on t1.ID = t2.picture_id LEFT JOIN ocr_taskchild_picture t3 on t1.ID = t3.PICTUREID LEFT JOIN oa_userapprove_t t4 on t4.FORMID = t3.ID - where t1.ID = #{pictureId} and t1.suspiciousfile = 0 + where t1.ID = #{pictureId} + and t1.suspiciousfile = 0 - SELECT t3.ID id, t3.PICTUREID pictureId, t3.STATES states, @@ -697,12 +749,15 @@ t2.photo_date_timestamp photoDateTimestamp, t2.server_thumbnail_url serverThumbnailUrl, t1.max_similarity maxSimilarity, - ifnull(t4.STATSHIS, 1) historyStates + ifnull(t4.STATSHIS, 1) historyStates, + t5.* FROM ocr_check_duplicate_result t1 LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID LEFT JOIN oa_userapprove_t t4 ON t3.ID = t4.FORMID and t4.TASKNAME = '${taskname}' - WHERE t1.check_duplicate_id = #{checkDuplicateId} and t2.suspiciousfile = 0 + left join ocr_picture_info t5 on t2.ID = t5.picture_id + WHERE t1.check_duplicate_id = #{checkDuplicateId} + and t2.suspiciousfile = 0 and t1.picture_id != #{pictureId}