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 4aaa606c..88247176 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 @@ -383,10 +383,10 @@ public class FlowTaskController extends BaseController { @RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus, @RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom, @RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime, + @RequestParam(name = "isFail", defaultValue = "false", required = false) String isFail, HttpServletRequest request) { SearchQuery searchQuery = new SearchQuery(); if (org.springframework.util.StringUtils.hasText(izupuser)) { -// searchQuery.addEqual("fromuserid",izupuser); if (izupuser.contains(",")) { String[] userIds = izupuser.split(","); List arrayData = Arrays.asList(userIds); @@ -422,17 +422,22 @@ public class FlowTaskController extends BaseController { if (izstatus.contains(",")) { String[] statusIds = izstatus.split(","); // 以逗号拆分字符串 List arrayData = Arrays.asList(statusIds); - SearchQueryForm searchQueryForm = new SearchQueryForm(); searchQuery.addIn("states", arrayData); } 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 (org.springframework.util.StringUtils.hasText(iztaskrrom)) { if (iztaskrrom.contains(",")) { String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串 List arrayData = Arrays.asList(taskrromIds); - SearchQueryForm searchQueryForm = new SearchQueryForm(); searchQuery.addIn("fromsourceid", arrayData); } else { searchQuery.addEqual("fromsourceid", iztaskrrom); @@ -474,7 +479,7 @@ public class FlowTaskController extends BaseController { User user = this.userService.getSessionUser(request); if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) { } else { - searchQuery.addEqual("thisLoginUserid", user.getId().toString()); + searchQuery.addEqual("thisLoginUserid", user.getLoginname()); searchQuery.addEqual("tenantid", tenantId); } String searchId = request.getParameter("searchId"); 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 251afd20..ca77406f 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 @@ -500,6 +500,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } else { //判断节点上的描述字段,是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录 if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) { + childPicture.setIsFinal(1); User user = userService.findByLoginname(formData.getAssignee()); userFinalService.save(user.getId().toString(), formId); } @@ -545,6 +546,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask executions.forEach(execution -> executionIds.add(execution.getId())); OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId)); taskchildPicture.setFinishtime(System.currentTimeMillis()); + taskchildPicture.setIsFinal(1); ocrTaskchildPictureService.updateById(taskchildPicture); OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid()); ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve); @@ -982,6 +984,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ParamterPage paramterPage = new ParamterPage(); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize()); + Page page = new Page<>(); if (StringUtils.isNotBlank(pageUtils.getSortname())) { paramterPage.setSortname(pageUtils.getSortname()); @@ -995,97 +998,96 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask paramterPage.setSortorder("DESC"); } - Long count = ocrTaskchildPictureService.listFinalCount(query); - query.put("page", paramterPage); + Long count = ocrTaskchildPictureService.listFinalCount(query); List list = ocrTaskchildPictureService.listFinal(query); - for (OcrTaskchildPicture taskchildPicture : list) { - //查询对应的流程分类 - Category category = categoryService.selectDtoById(taskchildPicture.getCategoryid()); - taskchildPicture.setCategoryDto(category); - - if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) { - - List taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid()); - if (null != taskList && !taskList.isEmpty()) { - taskchildPicture.setTaskId(taskList.get(0).getId()); - - Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult(); - BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId()); - // 获取节点定义id - String taskDefinitionKey = tasknow.getTaskDefinitionKey(); - // 根据节点定义id获取节点元素 - FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey); - if (flowElement instanceof UserTask) { - UserTask userTask = (UserTask) flowElement; - - taskchildPicture.setDocumentation(userTask.getDocumentation()); - } - } - - //查询历史 - List historicTaskInstanceDtos = new ArrayList<>(); - // 查询当前任务的流转信息 - List taskHiInstances = historyService.createHistoricTaskInstanceQuery() - .processInstanceId(taskchildPicture.getProcessinstanceid()) - .includeProcessVariables() - .orderByHistoricTaskInstanceStartTime() - .asc() - .list(); - for (HistoricTaskInstance taskHiInstance : taskHiInstances) { - HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto(); - dto.setTaskId(taskHiInstance.getId()); - dto.setTaskName(taskHiInstance.getName()); - dto.setFinishTime(taskHiInstance.getEndTime()); - if (taskHiInstance.getDurationInMillis() != null) { - dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒"); - } - dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey()); - - //Map variables = taskHiInstance.getTaskLocalVariables(); - - Map variables = taskHiInstance.getProcessVariables(); - - if (null != variables && null != variables.get("approvd")) { - dto.setState(variables.get("approvd").toString()); - } - - if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) { - if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) { - dto.setAssigneeName(taskHiInstance.getAssignee()); - } else { - User user1 = userService.findByLoginname(taskHiInstance.getAssignee()); - - dto.setAssigneeName(user1.getUsername()); - } - - } - - BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid()); - -// // 根据节点定义id获取节点元素 - FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey()); - if (flowElement instanceof UserTask) { - UserTask userTask = (UserTask) flowElement; - - taskchildPicture.setDocumentation(userTask.getDocumentation()); - } - // 还需要根据 HistoricTaskInstance 找到对应的 审批意见 - List processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid()); - for (Comment comment : processInstanceComments) { - - if (comment.getTaskId().equals(taskHiInstance.getId())) { - // 审批意见 - String fullMessage = comment.getFullMessage(); - dto.setComment(fullMessage); - } - } - historicTaskInstanceDtos.add(dto); - } - taskchildPicture.setTransferRecords(historicTaskInstanceDtos); - } - } +// for (OcrTaskchildPicture taskchildPicture : list) { +// //查询对应的流程分类 +// Category category = categoryService.selectDtoById(taskchildPicture.getCategoryid()); +// taskchildPicture.setCategoryDto(category); +// +// if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) { +// +// List taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid()); +// if (null != taskList && !taskList.isEmpty()) { +// taskchildPicture.setTaskId(taskList.get(0).getId()); +// +// Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult(); +// BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId()); +// // 获取节点定义id +// String taskDefinitionKey = tasknow.getTaskDefinitionKey(); +// // 根据节点定义id获取节点元素 +// FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey); +// if (flowElement instanceof UserTask) { +// UserTask userTask = (UserTask) flowElement; +// +// taskchildPicture.setDocumentation(userTask.getDocumentation()); +// } +// } +// +// //查询历史 +// List historicTaskInstanceDtos = new ArrayList<>(); +// // 查询当前任务的流转信息 +// List taskHiInstances = historyService.createHistoricTaskInstanceQuery() +// .processInstanceId(taskchildPicture.getProcessinstanceid()) +// .includeProcessVariables() +// .orderByHistoricTaskInstanceStartTime() +// .asc() +// .list(); +// for (HistoricTaskInstance taskHiInstance : taskHiInstances) { +// HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto(); +// dto.setTaskId(taskHiInstance.getId()); +// dto.setTaskName(taskHiInstance.getName()); +// dto.setFinishTime(taskHiInstance.getEndTime()); +// if (taskHiInstance.getDurationInMillis() != null) { +// dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒"); +// } +// dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey()); +// +// //Map variables = taskHiInstance.getTaskLocalVariables(); +// +// Map variables = taskHiInstance.getProcessVariables(); +// +// if (null != variables && null != variables.get("approvd")) { +// dto.setState(variables.get("approvd").toString()); +// } +// +// if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) { +// if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) { +// dto.setAssigneeName(taskHiInstance.getAssignee()); +// } else { +// User user1 = userService.findByLoginname(taskHiInstance.getAssignee()); +// +// dto.setAssigneeName(user1.getUsername()); +// } +// +// } +// +// BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid()); +// +//// // 根据节点定义id获取节点元素 +// FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey()); +// if (flowElement instanceof UserTask) { +// UserTask userTask = (UserTask) flowElement; +// +// taskchildPicture.setDocumentation(userTask.getDocumentation()); +// } +// // 还需要根据 HistoricTaskInstance 找到对应的 审批意见 +// List processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid()); +// for (Comment comment : processInstanceComments) { +// +// if (comment.getTaskId().equals(taskHiInstance.getId())) { +// // 审批意见 +// String fullMessage = comment.getFullMessage(); +// dto.setComment(fullMessage); +// } +// } +// historicTaskInstanceDtos.add(dto); +// } +// taskchildPicture.setTransferRecords(historicTaskInstanceDtos); +// } +// } pageUtils.setTotalCount(count.intValue()); pageUtils.setList(list); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java index 2274baca..ebae4e76 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java @@ -9,6 +9,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.flowable.task.api.Task; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,10 +30,11 @@ public class UserapproveServiceImpl extends BaseServiceImpl result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId,userToken); + @RequestParam(name = "pictureId") String pictureId) { + Page result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId); return ResultVoUtil.success(result); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java index 6a52b59c..e1789885 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java @@ -12,7 +12,5 @@ import java.util.List; */ @Mapper public interface OcrPictureMybatisDao extends BaseMapper { - OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId, @Param("userNodeType") String userNodeType); - - List getPictureNodeStatesList(@Param("pictureIds") List pictureIds, @Param("userNodeType") String userNodeType); + OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId); } 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 7d8025da..de555ec9 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 @@ -17,14 +17,17 @@ import java.util.Map; */ @Mapper public interface OcrTaskchildPictureMybatisDao extends BaseMapper { - + /** * 查询所有业务表集合 * @param query * @return */ public List listFinal(Map query); - + + List listFinalTask(Map query); + + /** * 查询所有业务表数量 * @param query @@ -48,10 +51,13 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper getPictureHistoryList(@Param("pictureIds") List pictureIds, @Param("taskname") String taskname); + List getPictureHistoryList(@Param("pictureIds") List pictureIds, @Param("pictureId") String pictureId); List getDubiousfileList(@Param("pictureIds") List pictureIds, @Param("taskname") String taskname); PictureDetailVo getPictureDetail(String pictureId); - Page getPackageSimilarityList(Page page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName, @Param("taskname") String taskname); + Page getPackageSimilarityList(Page page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName); + + List getSimilarityList(@Param("pictureIds") List pictureIds); + } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java index c440d7f2..95428f9a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java @@ -195,6 +195,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable { @TableField(value = "TASKNAME") private String taskname; + @Schema(description = "当前节点名称") + @TableField(value = "TASKNODE") + private String taskNode; + @Schema(description = "当前节点id") @TableField(value = "TASKID") private String taskId; @@ -203,6 +207,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable { @TableField(value = "FINISHTIME") private Long finishtime; + @Schema(description = "是否终审") + @TableField(value = "ISFINAIL") + private Integer isFinal; + @Schema(description = "是否小结重复,1重复,0不重复") @TableField(value = "is_repeated_nodules") private Integer isRepeatedNodules; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java index aad2f72e..9640b47a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java @@ -71,14 +71,6 @@ public interface OcrPictureService extends BaseService { OcrPicture getPackagePictureInfo(String packageId, String pictureId, UserToken userToken); - /** - * 根据图片id查询图片节点状态 - * @param pictureIds - * @param nodeType - * @return - */ - List getPictureNodeStatesList(List pictureIds,Integer nodeType); - // Long getPhotoDateTime(OcrPicture picture); } 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 2a7e3059..864642da 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 @@ -1,6 +1,5 @@ package cn.jyjz.xiaoyao.ocr.service; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -17,6 +16,7 @@ import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; /** * 业务层 @@ -110,9 +110,11 @@ public interface OcrTaskchildPictureService extends BaseService getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken); - Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken); + Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId); void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java index d441d670..3a175a3d 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java @@ -328,22 +328,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl getPictureNodeStatesList(List pictureIds, Integer nodeType) { - String userNodeType = ProcessConstant.userNodeType.getOrDefault(nodeType, "一级审批"); - - return pictureMybatisDao.getPictureNodeStatesList(pictureIds,userNodeType); - } - - // @Override // public Long getPhotoDateTime(OcrPicture picture) { // long timestamp = 0L; 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 e95e47fe..debdea5d 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 @@ -218,8 +218,7 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl approvedList = new ArrayList<>(); // 存储通过的pictureId集合 List failedList = new ArrayList<>(); // 存储不通过的pictureId集合 if(pictureIds.size()!=0){ - String userNodeType = ProcessConstant.userNodeType.getOrDefault(nodeType, "一级审批"); - List failedPictureIds = taskchildPictureMybatisDao.getPictureHistoryList(pictureIds, userNodeType); + List failedPictureIds = taskchildPictureMybatisDao.getSimilarityList(pictureIds); for (OcrTaskChildPictureVo picture : failedPictureIds) { if (picture.getHistoryStates() == 3) { failedList.add(picture.getId()); 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 20997d09..4b077ee1 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 @@ -8,6 +8,8 @@ import cn.jyjz.flowable.entity.FlowApprove; import cn.jyjz.flowable.service.IFlowInstanceService; import cn.jyjz.flowable.service.IFlowTaskService; import cn.jyjz.flowable.service.IFormCustomService; +import cn.jyjz.xiaoyao.admin.dataobject.Department; +import cn.jyjz.xiaoyao.admin.service.DepartmentService; import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.util.SpringUtils; import cn.jyjz.xiaoyao.common.base.vo.ResultVo; @@ -47,6 +49,8 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.flowable.task.api.Task; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.stereotype.Service; @@ -55,13 +59,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -101,6 +99,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl().eq(Department::getDeptno, tenantId)); + if (null == department || StringUtils.isBlank(department.getProcessdefinitionid())) { continue; } //创建工单,如果创建成功,增加标志,用于过滤条件使用 @@ -337,13 +338,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl taskList = iFlowTaskService.nowRunTask(formData.getProcessInstanceId(), ocrTaskchildPicture.getProcessdefinitionid()); Task taskData = null; @@ -610,12 +611,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl listFinal(Map query) { - return this.ocrtaskchildpicturemybatisdao.listFinal(query); + return this.ocrtaskchildpicturemybatisdao.listFinalTask(query); } @@ -662,8 +664,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl getPictureHistoryList(List pictureIds, String taskname) { - return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, taskname); + public List getPictureHistoryList(List pictureIds, String pictureId) { + return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, pictureId); } @Override @@ -686,10 +688,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl().eq(OcrPictureDuplicateHis::getPictureId, pictureId)); Page objectPage = new Page<>(); if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) { - String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson()); Set pictureIds = jsonObject.keySet(); - List taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), userNodeType); + List taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), pictureId); List taskChildPictures = new ArrayList<>(); for (OcrTaskChildPictureVo taskChildPicture : taskChildPicturesOld) { if(taskChildPicture.getPictureId()!=null){ @@ -727,11 +728,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken) { + public Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) { Page page = new Page<>(pageNo, pageSize); - String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); - - return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName, userNodeType); + return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName); } @Override diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/TaskchildPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/TaskchildPictureServiceImpl.java index ddd6d970..6489b38d 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/TaskchildPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/TaskchildPictureServiceImpl.java @@ -252,7 +252,7 @@ public class TaskchildPictureServiceImpl extends BaseServiceImpl - 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 c1d9a2a0..f419908b 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 @@ -186,6 +186,8 @@ + + and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} @@ -307,8 +309,6 @@ - - and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} @@ -525,21 +525,22 @@ ${izproject.likeend} - - - - - - - - - + + + + + + + + + - + - and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}' or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}') + and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}' + or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}') @@ -594,28 +595,22 @@ SELECT distinct t3.ID id, - t3.PICTUREID pictureId, - t3.STATES states, - t3.PROCESSINSTANCEID processInstanceId, - t3.PROCESSDEFINITIONID processDefinitionId, - t3.DEPLOYMENTID deploymentId, - t3.ASSIGNEENAME assigneeName, - t3.ASSIGNEE assignee, - t3.FILEANNEX fileAnnex, - t3.GUIDANG guiDang, - t3.CREATEUSER createUser, - t3.CREATEUSERNAME createUserName, - t3.CREATEDATE createDate, - t3.USERID userId, - t3.USERNAME userName, - t3.FROMTASKID fromTaskId, - t3.FROMTASKNAME fromTaskName, - t3.FROMUSERID fromUserId, - t3.FROMPROJECTID fromProjectId, - t3.FROMPLANID fromPlanId, - t3.FROMUPTIME fromupTime, - t3.FROMSOURCEID fromSourceId, - t3.HAVEPOINTS havePoints, - t3.TASKNAME taskName, - t3.FROMUSERNAME fromUserName, - t3.FROMPROJECTNAME fromProjectName, - t3.FINISHTIME finishTime, - t3.TASKID taskId, - t2.imgUrl, - t2.submit_date_timestamp submitDateTimestamp, - t2.photo_date_timestamp photoDateTimestamp, - t2.server_thumbnail_url serverThumbnailUrl, - t1.max_similarity maxSimilarity, - ifnull(t4.STATSHIS, 1) historyStates, - t1.check_duplicate_id + t3.PICTUREID pictureId, + t3.STATES states, + t3.PROCESSINSTANCEID processInstanceId, + t3.PROCESSDEFINITIONID processDefinitionId, + t3.DEPLOYMENTID deploymentId, + t3.ASSIGNEENAME assigneeName, + t3.ASSIGNEE assignee, + t3.FILEANNEX fileAnnex, + t3.GUIDANG guiDang, + t3.CREATEUSER createUser, + t3.CREATEUSERNAME createUserName, + t3.CREATEDATE createDate, + t3.USERID userId, + t3.USERNAME userName, + t3.FROMTASKID fromTaskId, + t3.FROMTASKNAME fromTaskName, + t3.FROMUSERID fromUserId, + t3.FROMPROJECTID fromProjectId, + t3.FROMPLANID fromPlanId, + t3.FROMUPTIME fromupTime, + t3.FROMSOURCEID fromSourceId, + t3.HAVEPOINTS havePoints, + t3.TASKNAME taskName, + t3.FROMUSERNAME fromUserName, + t3.FROMPROJECTNAME fromProjectName, + t3.FINISHTIME finishTime, + t3.TASKID taskId, + t2.imgUrl, + t2.submit_date_timestamp submitDateTimestamp, + t2.photo_date_timestamp photoDateTimestamp, + t2.server_thumbnail_url serverThumbnailUrl, + t1.max_similarity maxSimilarity, + COALESCE( + (SELECT t4.STATSHIS + FROM oa_userapprove_t t4 + WHERE t4.FORMID = t3.ID + ORDER BY t4.CREATEDATE DESC + LIMIT 1), 1) AS historyStates, + t1.check_duplicate_id 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 @@ -934,4 +945,91 @@ #{item} + + + + diff --git a/runstart/src/main/resources/application-dev.yml b/runstart/src/main/resources/application-dev.yml index b297e84c..ee6744ba 100644 --- a/runstart/src/main/resources/application-dev.yml +++ b/runstart/src/main/resources/application-dev.yml @@ -160,15 +160,15 @@ mybatis-plus: xiaoyao: web: #上传文件路径 - uploadPath: E:/ZJWorkSpace/ocr/htmlweb/upload + uploadPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/upload #页面根路径 - frontPath: E:/ZJWorkSpace/ocr/htmlweb + frontPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb #js、css、图片存放路径 - staticPath: E:/ZJWorkSpace/ocr/htmlweb/static + staticPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/static #页面模版路径 - webPath: E:/ZJWorkSpace/ocr/htmlweb/web + webPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/web #Lucene索引路径 - lucenePath: E:/ZJWorkSpace/ocr/htmlweb/lucene/indexDir + lucenePath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/lucene/indexDir #是否开启flowable haveFlowable: true webconfig: @@ -272,17 +272,7 @@ springfox: enabled: true # 是否启用swagger,postman调试 debugger_tools: true -#无量云api配置信息 -ocr: - api: - wly: - interface-domain: https://b-test.prevailcloud.com #接口域名 - accessKey: 7390F0221A1A73D8E13F8C8BB96F33B0 #秘钥 - accessCode: ED6F7B39768AF95E87AEA8ACCCC71A6F #秘钥编码 - connectTimeout: 5000 #请求超时时间 毫秒 - readTimeout: 60000 #接收超时时间 毫秒 - localImagePath: /server/data/images #图片本地存储地址 - data-url: https://b-test.prevailcloud.com/pangu/jingwei/thirdclient/command/pb/approval/result +#图片查重模型 image: similarityPath: http://47.93.59.251/ai/api/similarity/ classifyPath: http://47.93.59.251/api/classify/ diff --git a/runstart/src/main/resources/application-pro.yml b/runstart/src/main/resources/application-pro.yml index 0766abfc..96db8265 100644 --- a/runstart/src/main/resources/application-pro.yml +++ b/runstart/src/main/resources/application-pro.yml @@ -275,18 +275,7 @@ springfox: enabled: true # 是否启用swagger,postman调试 debugger_tools: true - -#无量云api配置信息 -ocr: - api: - wly: - interface-domain: https://b-test.prevailcloud.com #接口域名 - accessKey: 7390F0221A1A73D8E13F8C8BB96F33B0 #秘钥 - accessCode: ED6F7B39768AF95E87AEA8ACCCC71A6F #秘钥编码 - connectTimeout: 5000 #请求超时时间 毫秒 - readTimeout: 60000 #接收超时时间 毫秒 - localImagePath: /server/data/images #图片本地存储地址 - data-url: https://b-test.prevailcloud.com/pangu/jingwei/thirdclient/command/pb/approval/result +#图片查重模型 image: similarityPath: http://127.0.0.1:8000/api/similarity/ classifyPath: http://127.0.0.1:8000/api/classify/ diff --git a/runstart/src/main/resources/application.yml b/runstart/src/main/resources/application.yml index a8b9b215..3d7808a0 100644 --- a/runstart/src/main/resources/application.yml +++ b/runstart/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: pro + active: dev