From fcee0dabb21123e83ee0205b291972f545b6212e Mon Sep 17 00:00:00 2001 From: B1ackJack <9723189+b1ackjack@user.noreply.gitee.com> Date: Thu, 18 Apr 2024 11:53:21 +0800 Subject: [PATCH 01/35] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=9B=BE=E7=89=87=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htmlweb/web/backstage/oa/ocr/frontconf/list.html | 10 ++++++++++ .../cn/jyjz/xiaoyao/ocr/dataobject/OcrFrontConf.java | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/htmlweb/web/backstage/oa/ocr/frontconf/list.html b/htmlweb/web/backstage/oa/ocr/frontconf/list.html index 6bc550a1..91701c32 100644 --- a/htmlweb/web/backstage/oa/ocr/frontconf/list.html +++ b/htmlweb/web/backstage/oa/ocr/frontconf/list.html @@ -128,6 +128,16 @@ +
+
+
+ +
+ +
+
+
+
diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrFrontConf.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrFrontConf.java index 05220d7b..bfcaf6c6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrFrontConf.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrFrontConf.java @@ -58,4 +58,9 @@ public class OcrFrontConf implements java.io.Serializable { * 拉取租户信息 */ private String tenantSourceUrl; + + /** + * 默认图片 + */ + private String defaultPictureImg; } From 706744f3113b7085199dfd724063fc8dbeb2dc9a Mon Sep 17 00:00:00 2001 From: admin <149470858@qq.com> Date: Thu, 18 Apr 2024 22:47:44 +0800 Subject: [PATCH 02/35] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BC=9A=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MulitiInstanceCompleteTask.java | 53 +++++++++++++++ .../listener/MulitiInstanceTaskListener.java | 16 +++++ .../service/impl/FlowTaskServiceImpl.java | 66 ++++++++++++++++++- 3 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceCompleteTask.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceTaskListener.java diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceCompleteTask.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceCompleteTask.java new file mode 100644 index 00000000..3e9f8994 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceCompleteTask.java @@ -0,0 +1,53 @@ +package cn.jyjz.flowable.listener; + + +import org.flowable.engine.delegate.DelegateExecution; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.io.Serializable; + +/** + * 定义多人会签的规则 + * flowable默认帮我们提供的流程实例的变量: + * 1、nrOfInstances:总的会签任务数量。如上面设置的3。 + * 2、nrOfActiveInstances:当前获取的会签任务数量,即还没有完成的。 + * 3、 nrOfCompletedInstances:已经完成的会签任务数量。 + * + * flag:我们自定义的。 + * return flag:控制当前会签是否结束的。 + */ +@Component("multilnstanceCompleteTask") +public class MulitiInstanceCompleteTask implements Serializable { + + private Logger log = LoggerFactory.getLogger(MulitiInstanceCompleteTask.class); + /** + * 完成任务是需要触发的方法 + * @param execution + * @return + * false 表示会签任务还没有结束 + + * true 表示会签任务结束了 + */ + public boolean completeTask(DelegateExecution execution) { + + //当前获取的会签任务数量 + int nrOfActiveInstances = (int) execution.getVariable("nrOfActiveInstances"); + //总的会签任务数量 + int nrOfInstances = (int) execution.getVariable("nrOfInstances"); + //已经完成的会签任务数量 + int nrOfCompletedInstances = (int) execution.getVariable("nrOfCompletedInstances"); + + log.info("总的会签任务数量:" + nrOfInstances + + "当前获取的会签任务数量:" + nrOfActiveInstances + + " - " + "已经完成的会签任务数量:" + nrOfInstances); + + if(nrOfInstances >= nrOfCompletedInstances){ + return true; + }else{ + return false; + } + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceTaskListener.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceTaskListener.java new file mode 100644 index 00000000..1cd5da0c --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/listener/MulitiInstanceTaskListener.java @@ -0,0 +1,16 @@ +package cn.jyjz.flowable.listener; + +import org.flowable.engine.delegate.DelegateExecution; +import org.springframework.stereotype.Component; + +import java.io.Serializable; + +@Component("mulitiInstanceTaskListener") +public class MulitiInstanceTaskListener implements Serializable { + + public void completeListener(DelegateExecution execution){ +// System.out.println("任务:"+execution.getId()); +// System.out.println("persons:" + execution.getVariable("persons")); +// System.out.println("person" + execution.getVariable("person")); + } +} 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 220f7270..1fbf7d31 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 @@ -432,8 +432,57 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } return result; } - - + + + public UserTask getNextTasks(Task task){ + + //获取流程发布Id信息 + String definitionId = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId(); + + //获取bpm对象 + BpmnModel bpmnModel = repositoryService.getBpmnModel(definitionId); + + //传节点定义key 获取当前节点 + FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(task.getTaskDefinitionKey()); + + //输出连线 + List outgoingFlows = flowNode.getOutgoingFlows(); + + //遍历返回下一个节点信息 + for (SequenceFlow outgoingFlow : outgoingFlows) { + //类型自己判断 + FlowElement targetFlowElement = outgoingFlow.getTargetFlowElement(); + //用户任务 + if (targetFlowElement instanceof UserTask) { + UserTask userTask = (UserTask) targetFlowElement; + return userTask; + } else if (targetFlowElement instanceof ExclusiveGateway) { + setExclusiveGateway(targetFlowElement); + } + } + return null; + } + + private void setExclusiveGateway(FlowElement targetFlow) { + //排他网关,获取连线信息 + List targetFlows = ((ExclusiveGateway) targetFlow).getOutgoingFlows(); + for (SequenceFlow sequenceFlow : targetFlows) { + //目标节点信息 + FlowElement targetFlowElement = sequenceFlow.getTargetFlowElement(); + if (targetFlowElement instanceof UserTask) { + // do something + } else if (targetFlowElement instanceof EndEvent) { + // do something + } else if (targetFlowElement instanceof ServiceTask) { + // do something + } else if (targetFlowElement instanceof ExclusiveGateway) { + //递归寻找 + setExclusiveGateway(targetFlowElement); + } else if (targetFlowElement instanceof SubProcess) { + // do something + } + } + } /** * 完成任务 */ @@ -481,6 +530,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask */ private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map variables, OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve, String deptid) throws Exception { + + //获取下一个节点 + UserTask userTask = this.getNextTasks(task); + if(null != userTask){ + MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics(); + // 会签节点 + if (Objects.nonNull(multiInstance)) { + if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){ + variables.put("persons",userTask.getCandidateUsers()); + } + } + } + //进入下一个节点 taskService.complete(task.getId(), variables); updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition, deptid); From 4b677b0f9f71cad0175d4155d9f650c19e695c20 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Thu, 18 Apr 2024 23:57:04 +0800 Subject: [PATCH 03/35] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=B0=8F?= =?UTF-8?q?=E7=BB=93=E6=9F=A5=E9=87=8D=E6=B7=BB=E5=8A=A0=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FlowTaskController.java | 9 +- .../flowable/service/IFlowTaskService.java | 4 +- .../service/impl/FlowTaskServiceImpl.java | 54 +++++++++--- .../oa/from/dataDao/FlowableccMybatisDao.java | 5 +- .../xiaoyao/oa/from/vo/RepeatedContentVo.java | 2 + .../xiaoyao/oa/from/vo/RepeatedTaskVo.java | 2 + .../resources/mapper/oa/FlowableccMapper.xml | 87 +++++++++++-------- .../{mapper/oa => }/OcrPictureInfoMapper.xml | 0 8 files changed, 104 insertions(+), 59 deletions(-) rename jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/{mapper/oa => }/OcrPictureInfoMapper.xml (100%) 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 b4d9dff7..801b8cfd 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 @@ -676,8 +676,8 @@ public class FlowTaskController extends BaseController { }) @GetMapping("/repetitionTask") @ResponseBody - public ResultVo repetitionTask() { - return flowTaskService.repetitionTask(); + public ResultVo repetitionTask(@RequestParam(value = "type",required = false,defaultValue = "1") Integer type) { + return flowTaskService.repetitionTask(type); } /** @@ -692,8 +692,9 @@ public class FlowTaskController extends BaseController { @GetMapping("/repetitionTaskList") @ResponseBody public ResultVo repetitionTaskList(@RequestParam(name = "pageNo") Integer pageNo, - @RequestParam(name = "pageSize") Integer pageSize) { - Page result = flowTaskService.repetitionTaskList(pageNo, pageSize); + @RequestParam(name = "pageSize") Integer pageSize, + @RequestParam(value = "type",required = false,defaultValue = "1") Integer type) { + Page result = flowTaskService.repetitionTaskList(pageNo, pageSize,type); 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 56f229fe..233d6d08 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 @@ -177,7 +177,7 @@ public interface IFlowTaskService { * * @return */ - ResultVo repetitionTask(); + ResultVo repetitionTask(Integer type); - Page repetitionTaskList(Integer pageNo, Integer pageSize); + Page repetitionTaskList(Integer pageNo, Integer pageSize,Integer type); } 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 220f7270..234a149b 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 @@ -17,7 +17,6 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.oa.from.dataDao.FlowableccMybatisDao; import cn.jyjz.xiaoyao.oa.from.dataDao.IHisFlowableActinstDao; -import cn.jyjz.xiaoyao.oa.from.dataDao.IRunFlowableActinstDao; import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto; import cn.jyjz.flowable.factory.FlowServiceFactory; import cn.jyjz.flowable.service.IFlowTaskService; @@ -107,7 +106,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask @Resource private DepartmentService departmentService; @Resource - private IHisFlowableActinstDao hisFlowableActinstDao; + private OcrCheckDescribeHisService ocrCheckDescribeHisService; @Resource private OcrUsersearchService ocrUsersearchService; @@ -496,7 +495,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask List taskNames = taskList.stream().map(Task::getName).collect(Collectors.toList()); childPicture.setTaskId(String.join(",", taskIds)); childPicture.setTaskname(String.join(",", taskNames)); - }else{ + } else { taskData = taskList.get(0); childPicture.setTaskId(taskData.getId()); childPicture.setTaskname(taskData.getName()); @@ -1424,7 +1423,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ocrTaskchildPictureApproVo.setProjectName(one.getFromprojectname());//项目名称 ocrTaskchildPictureApproVo.setCustomerLevel(one.getFromCustomerLevel());//客户级别 ocrTaskchildPictureApproVo.setReleaseArea(one.getFromCity());//拜访城市 - ocrTaskchildPictureApproVo.setTaskIndex(one.getTaskNodeIndex()==null?"1":one.getTaskNodeIndex()); + ocrTaskchildPictureApproVo.setTaskIndex(one.getTaskNodeIndex() == null ? "1" : one.getTaskNodeIndex()); listNew.add(ocrTaskchildPictureApproVo); } @@ -1758,29 +1757,58 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } @Override - public ResultVo repetitionTask() { - List repeatedContentVoList = flowableccMybatisDao.repetitionTask(); + public ResultVo repetitionTask(Integer type) { + List repeatedContentVoList = flowableccMybatisDao.repetitionTask(type); List formIdsToUpdate = new ArrayList<>(); - if (repeatedContentVoList.size() > 0 && repeatedContentVoList.get(0).getRepeatedTaskList().size() > 0) { - String formIds = repeatedContentVoList.get(0).getRepeatedTaskList().get(0).getFormId(); - String[] formIdsArray = formIds.split(","); - for (String formId : formIdsArray) { - formIdsToUpdate.add(formId.trim()); // 去除字符串首尾的空格并添加到集合中 + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(repeatedContentVoList)) { + List checkDescribeHis = new ArrayList<>(); + for (RepeatedContentVo contentVo : repeatedContentVoList) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(contentVo.getPictureIds())) { + String[] pictureIds = contentVo.getPictureIds().split(","); + formIdsToUpdate.addAll(Arrays.asList(pictureIds)); + List list = ocrCheckDescribeHisService.list(new LambdaQueryWrapper().in(OcrCheckDescribeHis::getPictureId, pictureIds)); + Map> resultMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(list)) { + resultMap = list.stream().collect(Collectors.groupingBy(OcrCheckDescribeHis::getPictureId)); + } + for (String pictureId : pictureIds) { + Set set = new HashSet<>(); + OcrCheckDescribeHis describeHis; + List ocrCheckDescribeHis = resultMap.get(pictureId); + if (!CollectionUtils.isEmpty(ocrCheckDescribeHis)) { + describeHis = ocrCheckDescribeHis.get(0); + String[] split = describeHis.getCheckResult().split(","); + set.addAll(Arrays.asList(split)); + } else { + describeHis = new OcrCheckDescribeHis(); + } + set.addAll(Arrays.asList(pictureIds)); + set.remove(pictureId); + describeHis.setDescribe(contentVo.getContent()); + describeHis.setPictureId(pictureId); + describeHis.setCheckResult(String.join(",", set)); + checkDescribeHis.add(describeHis); + } + } + } + ocrCheckDescribeHisService.saveOrUpdateBatch(checkDescribeHis); UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.in("PICTUREID", formIdsToUpdate) .eq("is_repeated_nodules", 0); OcrTaskchildPicture updateEntity = new OcrTaskchildPicture(); updateEntity.setIsRepeatedNodules(1); ocrTaskchildPictureService.update(updateEntity, updateWrapper); + + } return ResultVoUtil.success(repeatedContentVoList); } @Override - public Page repetitionTaskList(Integer pageNo, Integer pageSize) { + public Page repetitionTaskList(Integer pageNo, Integer pageSize, Integer type) { Page page = new Page<>(pageNo, pageSize); - Page result = flowableccMybatisDao.repetitionTaskList(page); + Page result = flowableccMybatisDao.repetitionTaskList(page, type); return result; } 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 0529ae1d..94d1b523 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 @@ -8,6 +8,7 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -39,7 +40,7 @@ public interface FlowableccMybatisDao extends BaseMapper { */ List selectUserByFromid(String fromid); - List repetitionTask(); + List repetitionTask(@Param("type") Integer type); - Page repetitionTaskList(Page page); + Page repetitionTaskList(Page page, @Param("type") Integer type); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedContentVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedContentVo.java index a1060bd0..1e476e92 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedContentVo.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedContentVo.java @@ -21,6 +21,8 @@ public class RepeatedContentVo { private String imgUrl; + private String pictureIds; + private List repeatedTaskList; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java index 308a8e72..bb281c14 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java @@ -28,4 +28,6 @@ public class RepeatedTaskVo { private String fromTime; private String updateTime; + + private String pictureId; } 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 9bab79b4..ef1c1a71 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 @@ -35,6 +35,7 @@ + @@ -201,48 +202,58 @@ diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/mapper/oa/OcrPictureInfoMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureInfoMapper.xml similarity index 100% rename from jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/mapper/oa/OcrPictureInfoMapper.xml rename to jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureInfoMapper.xml From 85bb5c8679ae9a4fc6f17719a0863caf47bbff90 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Fri, 19 Apr 2024 09:44:52 +0800 Subject: [PATCH 04/35] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=B0=8F?= =?UTF-8?q?=E7=BB=93=E6=9F=A5=E9=87=8D=E6=B7=BB=E5=8A=A0=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataDao/OcrCheckDescribeHisMapper.java | 13 ++++++ .../ocr/dataobject/OcrCheckDescribeHis.java | 42 +++++++++++++++++++ .../service/OcrCheckDescribeHisService.java | 14 +++++++ .../impl/OcrCheckDescribeHisServiceImpl.java | 19 +++++++++ .../mapper/oa/OcrCheckDescribeHisMapper.xml | 16 +++++++ 5 files changed, 104 insertions(+) create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrCheckDescribeHisMapper.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDescribeHis.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrCheckDescribeHisService.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDescribeHisServiceImpl.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrCheckDescribeHisMapper.xml diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrCheckDescribeHisMapper.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrCheckDescribeHisMapper.java new file mode 100644 index 00000000..f6e6b5ac --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrCheckDescribeHisMapper.java @@ -0,0 +1,13 @@ +package cn.jyjz.xiaoyao.ocr.dataDao; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDescribeHis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/4/18 22:57 + */ +public interface OcrCheckDescribeHisMapper extends BaseMapper { +} \ No newline at end of file diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDescribeHis.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDescribeHis.java new file mode 100644 index 00000000..0e8a9e80 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDescribeHis.java @@ -0,0 +1,42 @@ +package cn.jyjz.xiaoyao.ocr.dataobject; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/4/18 22:57 + */ +@TableName(value = "ocr_check_describe_his") +@Data +public class OcrCheckDescribeHis { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 图片id + */ + @TableField(value = "pictureId") + private String pictureId; + + /** + * 小结查重结果 + */ + @TableField(value = "checkResult") + private String checkResult; + + /** + * 小结查重内容 + */ + @TableField(value = "`describe`") + private String describe; + +} \ No newline at end of file diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrCheckDescribeHisService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrCheckDescribeHisService.java new file mode 100644 index 00000000..86d78861 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrCheckDescribeHisService.java @@ -0,0 +1,14 @@ +package cn.jyjz.xiaoyao.ocr.service; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDescribeHis; +import com.baomidou.mybatisplus.extension.service.IService; + /** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/4/18 22:57 + */ +public interface OcrCheckDescribeHisService extends IService{ + + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDescribeHisServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDescribeHisServiceImpl.java new file mode 100644 index 00000000..e64a52cc --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDescribeHisServiceImpl.java @@ -0,0 +1,19 @@ +package cn.jyjz.xiaoyao.ocr.service.impl; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDescribeHisMapper; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDescribeHis; +import cn.jyjz.xiaoyao.ocr.service.OcrCheckDescribeHisService; +/** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/4/18 22:57 + */ +@Service +public class OcrCheckDescribeHisServiceImpl extends ServiceImpl implements OcrCheckDescribeHisService{ + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrCheckDescribeHisMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrCheckDescribeHisMapper.xml new file mode 100644 index 00000000..cfcb4974 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrCheckDescribeHisMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + id, pictureId, checkResult, `describe` + + \ No newline at end of file From a577ad1f4dc3fe31f5c5984faa1bae91485da944 Mon Sep 17 00:00:00 2001 From: "15007173189@163.com" <17633119157@163.com> Date: Fri, 19 Apr 2024 09:52:21 +0800 Subject: [PATCH 05/35] =?UTF-8?q?1:=E5=9B=BE=E7=89=87=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/backstage/oa/ocr/picturelog/list.html | 138 ++++++++++++++++++ .../controller/OcrPictureLogController.java | 69 +++++++++ .../OcrPictureLogHtmlController.java | 37 +++++ .../ocr/dataDao/OcrPictureLogMapper.java | 14 ++ .../xiaoyao/ocr/dataobject/OcrPictureLog.java | 93 ++++++++++++ .../ocr/service/OcrPictureLogService.java | 17 +++ .../impl/OcrPictureLogServiceImpl.java | 19 +++ .../jyjz/xiaoyao/ocr/util/ImageClassUtil.java | 34 ++++- .../mapper/oa/OcrPictureLogMapper.xml | 17 +++ 9 files changed, 435 insertions(+), 3 deletions(-) create mode 100644 htmlweb/web/backstage/oa/ocr/picturelog/list.html create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogHtmlController.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureLogMapper.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureLog.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureLogService.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureLogServiceImpl.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureLogMapper.xml diff --git a/htmlweb/web/backstage/oa/ocr/picturelog/list.html b/htmlweb/web/backstage/oa/ocr/picturelog/list.html new file mode 100644 index 00000000..347f4d6e --- /dev/null +++ b/htmlweb/web/backstage/oa/ocr/picturelog/list.html @@ -0,0 +1,138 @@ +<#include "/common/taglibs.html" /> + + + + + 查重模型日志 + + + +<#include "/head/headlist.html" /> + + +
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<#include "/head/footlist.html" /> + + + + diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java new file mode 100644 index 00000000..6d29bddc --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java @@ -0,0 +1,69 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import cn.jyjz.xiaoyao.admin.service.UserService; +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.param.ParamterPage; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureLog; +import cn.jyjz.xiaoyao.ocr.service.OcrPictureLogService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@RestController +@RequestMapping("/ocr/picturelog") +public class OcrPictureLogController extends BaseController { + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private OcrPictureLogService ocrPictureLogService; + + @Autowired + private UserService userService; + + /** + * 自定义筛选字段列表查询 + * @return + */ + @ApiOperation(value="根据评审类型查询字段列表", notes="根据评审类型查询字段列表") + @GetMapping(value = "/page") + public ResultVo> list(@RequestParam(name="start", defaultValue="1") Integer start, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + @RequestParam(name="callStatus", defaultValue="1") Integer callStatus, + // @RequestParam(name="callTimeStart") String callTimeStart, + // @RequestParam(name="callTimeEnd") String callTimeEnd, + HttpServletRequest request) { + + //SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); + + //cn.jyjz.xiaoyao.admin.dataobject.User user = this.userService.getSessionUser(request); + //OcrPictureLog ocrPictureLog = new OcrPictureLog(); + //ocrPictureLog.setSearchQueryrolesShowleave(user.getSearchQueryrolesShowleave()); + //QueryWrapper queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrPictureLog); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("call_status",callStatus); + //queryWrapper.le("call_time",callTimeStart); + //queryWrapper.ne("call_time",callTimeEnd); + ResultVo> resultVo = new ResultVo<>(); + ParamterPage paramterPage = new ParamterPage(); + paramterPage.setPagesize(pageSize); + paramterPage.setStart(start); + IPage ocrPictureLogIPage = ocrPictureLogService.selectSearchListPage(paramterPage, queryWrapper); + resultVo.setData(ocrPictureLogIPage); + resultVo.addOK("查询成功"); + return resultVo; + } + + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogHtmlController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogHtmlController.java new file mode 100644 index 00000000..b16d54ea --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogHtmlController.java @@ -0,0 +1,37 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import cn.jyjz.xiaoyao.admin.service.UserService; +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.service.UserTokenService; +import cn.jyjz.xiaoyao.ocr.service.OcrConfigurationService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Controller +@RequestMapping("/backstage/oa/picturelogHtml") +public class OcrPictureLogHtmlController extends BaseController{ + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + + /** + *方法描述:跳转到列表页面 + *创建人:mail.zhangyong@gmail.com + *创建时间:2024-01-14 10:27:01 + **/ + @GetMapping("/toList") + public String toListOcrConfiguration(HttpServletResponse response,HttpServletRequest request){ + String resourceid = request.getParameter("resourceid"); + request.setAttribute("resourceid",resourceid); + return "/backstage/oa/ocr/picturelog/list"; + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureLogMapper.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureLogMapper.java new file mode 100644 index 00000000..9bdd19aa --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureLogMapper.java @@ -0,0 +1,14 @@ +package cn.jyjz.xiaoyao.ocr.dataDao; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/3/22 07:09 + */ +public interface OcrPictureLogMapper extends BaseMapper { +} \ No newline at end of file diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureLog.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureLog.java new file mode 100644 index 00000000..54bd8bb4 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPictureLog.java @@ -0,0 +1,93 @@ +package cn.jyjz.xiaoyao.ocr.dataobject; + +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.mybatisplus.dto.BaseDto; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; +import java.util.AbstractMap; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "字段信息", title = "字段信息") +@TableName(value = "ocr_picture_log") +public class OcrPictureLog implements BaseDto, Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + @TableId(value = "id",type = IdType.AUTO) + @TableField(value="id") + private Long id; + + @Schema(description = "调用时间") + @TableField(value="call_time") + private String callTime; + + @Schema(description = "图片地址") + @TableField(value="picture_url") + private String pictureUrl; + + @Schema(description = "调用状态") + @TableField(value="call_status") + private String callStatus; + + @Schema(description = "调用信息") + @TableField(value="call_msg") + private String callMsg; + + @Schema(description = "创建人") + @TableField(value="create_by") + private String createBy; + + @Schema(description = "创建时间") + @TableField(value="create_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Schema(description = "修改人") + @TableField(value="update_by") + private String updateBy; + + @Schema(description = "修改时间") + @TableField(value="update_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + + //保存当前登录用户的数据权限范围的搜索条件 + @TableField(exist = false) + @JsonIgnore + private SearchQuery searchQueryrolesShowleave; + + @TableField(exist = false) + @JsonIgnore + private final Map query = Stream.of( + new AbstractMap.SimpleEntry<>("CALLTIME","call_time"), + new AbstractMap.SimpleEntry<>("REVIEWTYPE","call_status") + ) + .collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey, AbstractMap.SimpleEntry::getValue)); + @Override + public String getQueryFiled(String filedname){ + String obj = null; + if(null != query && query.size() > 0){ + obj = query.get(filedname); + } + return obj; + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureLogService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureLogService.java new file mode 100644 index 00000000..b7c6dc17 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureLogService.java @@ -0,0 +1,17 @@ +package cn.jyjz.xiaoyao.ocr.service; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* ClassName: $className$.java +* Description: +* Author: scl. +* Date: 2024/3/22 07:09 +*/ +public interface OcrPictureLogService extends BaseService { + + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureLogServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureLogServiceImpl.java new file mode 100644 index 00000000..d0aaf005 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureLogServiceImpl.java @@ -0,0 +1,19 @@ +package cn.jyjz.xiaoyao.ocr.service.impl; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; +import cn.jyjz.xiaoyao.ocr.dataDao.OcrPictureLogMapper; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureLog; +import cn.jyjz.xiaoyao.ocr.service.OcrPictureLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * ClassName: $className$.java + * Description: + * Author: scl. + * Date: 2024/3/22 07:09 + */ +@Service +public class OcrPictureLogServiceImpl extends BaseServiceImpl implements OcrPictureLogService { + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java index 9cc1346c..35e9183d 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java @@ -1,5 +1,10 @@ package cn.jyjz.xiaoyao.ocr.util; +import cn.hutool.core.date.DateUtil; +import cn.hutool.extra.spring.SpringUtil; +import cn.hutool.json.JSONUtil; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureLog; +import cn.jyjz.xiaoyao.ocr.service.OcrPictureLogService; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpClient; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpHeader; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpParamers; @@ -10,6 +15,10 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.ApplicationContext; + +import java.util.HashMap; +import java.util.Map; public class ImageClassUtil { private static Logger logger = LoggerFactory.getLogger(ImageClassUtil.class); @@ -80,14 +89,33 @@ public class ImageClassUtil { paramersVi.setJsonParamer(jsonObjectVi.toJSONString()); HttpHeader headerVi = null; String responseDataVi = ""; + OcrPictureLog ocrPictureLog = new OcrPictureLog(); try { responseDataVi = HttpClient.doService(serverurl, paramersVi, headerVi, 15000, 30000); + JSONObject jsonObjectSimi = JSON.parseObject(responseDataVi); + if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0") && jsonObjectSimi.get("data") != null && jsonObjectSimi.getJSONArray("data").size() > 0) { + JSONObject data = jsonObjectSimi.getJSONArray("data").getJSONObject(0); + Map map = new HashMap(); + map.put("classId", data.getString("classId")); + map.put("hash", data.getString("hash")); + ocrPictureLog.setCallStatus("1"); + ocrPictureLog.setPictureUrl(imgurl); + } else { + ocrPictureLog.setCallStatus("2"); + ocrPictureLog.setCallMsg(responseDataVi); + } } catch (Exception e) { - logger.error("classify={}",e); - return null; + logger.error("classify={}", e); + ocrPictureLog.setCallStatus("3"); + ocrPictureLog.setCallMsg(e.getMessage()); + } finally { + ApplicationContext applicationContext = SpringUtil.getApplicationContext(); + OcrPictureLogService ocrPictureLogService = applicationContext.getBean(OcrPictureLogService.class); + ocrPictureLog.setCallTime(DateUtil.now()); + ocrPictureLogService.save(ocrPictureLog); } - JSONObject jsonObject = JSON.parseObject(responseDataVi); return jsonObject; } + } diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureLogMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureLogMapper.xml new file mode 100644 index 00000000..1b34b596 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureLogMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + From 171bb66d32f4ef655d44f26199f7006251351a22 Mon Sep 17 00:00:00 2001 From: "15007173189@163.com" <17633119157@163.com> Date: Fri, 19 Apr 2024 09:56:55 +0800 Subject: [PATCH 06/35] =?UTF-8?q?1:=E5=9B=BE=E7=89=87=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/controller/OcrPictureLogController.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java index 6d29bddc..38196fa9 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureLogController.java @@ -41,20 +41,9 @@ public class OcrPictureLogController extends BaseController { public ResultVo> list(@RequestParam(name="start", defaultValue="1") Integer start, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="callStatus", defaultValue="1") Integer callStatus, - // @RequestParam(name="callTimeStart") String callTimeStart, - // @RequestParam(name="callTimeEnd") String callTimeEnd, HttpServletRequest request) { - - //SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); - - //cn.jyjz.xiaoyao.admin.dataobject.User user = this.userService.getSessionUser(request); - //OcrPictureLog ocrPictureLog = new OcrPictureLog(); - //ocrPictureLog.setSearchQueryrolesShowleave(user.getSearchQueryrolesShowleave()); - //QueryWrapper queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrPictureLog); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("call_status",callStatus); - //queryWrapper.le("call_time",callTimeStart); - //queryWrapper.ne("call_time",callTimeEnd); ResultVo> resultVo = new ResultVo<>(); ParamterPage paramterPage = new ParamterPage(); paramterPage.setPagesize(pageSize); From b0edc74a4cc60af3911a28bc2763a949b0019b27 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Fri, 19 Apr 2024 10:23:46 +0800 Subject: [PATCH 07/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=8B=89?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE=E6=97=B6=EF=BC=8C=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E5=9C=B0=E5=9D=80map=E4=B8=BA=E7=A9=BA=EF=BC=8Cjson=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E4=B8=BA=E4=BA=86=20=E2=80=9Cnull=E2=80=9D=20?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/jyjz/xiaoyao/ocr/thread/tasks/PictureDisposeTask.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureDisposeTask.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureDisposeTask.java index a01af1cd..6d40aa3b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureDisposeTask.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureDisposeTask.java @@ -66,7 +66,10 @@ public class PictureDisposeTask implements Runnable{ // } //不为空开始组装参数 入库 OcrPicture picture = new OcrPicture(); - picture.setLocation(JSONObject.toJSONString(pictureSourceResult.getLocation())); + //定位信息 + if(pictureSourceResult.getLocation()!=null){ + picture.setLocation(JSONObject.toJSONString(pictureSourceResult.getLocation())); + } //业务主体 picture.setTenantId(pictureSourceResult.getAccountNo()); //业务主体名称 From 9b6ca4c629a55c5fb71d75d78383d01bd6b2ef1a Mon Sep 17 00:00:00 2001 From: DELL Date: Fri, 19 Apr 2024 11:18:50 +0800 Subject: [PATCH 08/35] =?UTF-8?q?fix:=E4=BB=BB=E5=8A=A1=E7=BB=88=E5=AE=A1?= =?UTF-8?q?=E6=8E=92=E5=BA=8Fbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/oa/OcrTaskchildPictureMapper.xml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) 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 baed6175..36e38b88 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 @@ -1009,12 +1009,17 @@ - - order by tcp.${page.sortname} ${page.sortorder} - - - ORDER BY CONVERT(pic.${page.sortname} USING gbk) COLLATE gbk_chinese_ci ${page.sortorder} - + + + ORDER BY tcp.${page.sortname} ${page.sortorder} + + + ORDER BY CONVERT(pic.${page.sortname} USING gbk) COLLATE gbk_chinese_ci ${page.sortorder} + + + ORDER BY pic.${page.sortname} ${page.sortorder} + + limit ${page.start}, ${page.Pagesize} From 00962be1c6f81f20abdfeb6f24662f1ea7c9912d Mon Sep 17 00:00:00 2001 From: "15007173189@163.com" <17633119157@163.com> Date: Fri, 19 Apr 2024 12:05:55 +0800 Subject: [PATCH 09/35] =?UTF-8?q?1:=E5=9B=BE=E7=89=87=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htmlweb/web/backstage/oa/ocr/picturelog/list.html | 12 ++++++++++-- .../cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java | 9 +++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/htmlweb/web/backstage/oa/ocr/picturelog/list.html b/htmlweb/web/backstage/oa/ocr/picturelog/list.html index 347f4d6e..a8dbdf89 100644 --- a/htmlweb/web/backstage/oa/ocr/picturelog/list.html +++ b/htmlweb/web/backstage/oa/ocr/picturelog/list.html @@ -85,7 +85,7 @@ sortname: params.sort, pagesize: params.limit, start: (params.offset / params.limit) + 1, - callStatus: params.callStatus, + callStatus: $("#callStatus").val(), callTimeStart: params.callTimeStart, callTimeEnd: params.callTimeEnd, //search_callStatus:'{"value":"' + $("#search_callStatus").val() + '","op":"equal","type":"string"}', @@ -98,7 +98,15 @@ columns: [ {checkbox: true}, { width:100,valign: "middle",field:'callTime',title:'调用时间',sortable:true}, - { width:150,valign: "middle",field:'pictureUrl',title:'图片地址',sortable:true}, + { width:150,valign: "middle",field:'pictureUrl',title:'图片地址',sortable:true, + formatter: function(value,row,index){ + /*if(undefined != row.pictureUrl && null != row.pictureUrl && "null" != row.pictureUrl ){ + return ''; + }else{ + return row.pictureUrl; + }*/ + return row.pictureUrl + }}, { width:80,valign: "middle",field:'callStatus',title:'调用状态',sortable:true, formatter:function(value,oData,index) { var listOperation = ""; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java index 35e9183d..317dcfd9 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java @@ -94,12 +94,8 @@ public class ImageClassUtil { responseDataVi = HttpClient.doService(serverurl, paramersVi, headerVi, 15000, 30000); JSONObject jsonObjectSimi = JSON.parseObject(responseDataVi); if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0") && jsonObjectSimi.get("data") != null && jsonObjectSimi.getJSONArray("data").size() > 0) { - JSONObject data = jsonObjectSimi.getJSONArray("data").getJSONObject(0); - Map map = new HashMap(); - map.put("classId", data.getString("classId")); - map.put("hash", data.getString("hash")); ocrPictureLog.setCallStatus("1"); - ocrPictureLog.setPictureUrl(imgurl); + ocrPictureLog.setCallMsg(responseDataVi); } else { ocrPictureLog.setCallStatus("2"); ocrPictureLog.setCallMsg(responseDataVi); @@ -107,11 +103,12 @@ public class ImageClassUtil { } catch (Exception e) { logger.error("classify={}", e); ocrPictureLog.setCallStatus("3"); - ocrPictureLog.setCallMsg(e.getMessage()); + ocrPictureLog.setCallMsg(responseDataVi+"Exception:"+e.getMessage()); } finally { ApplicationContext applicationContext = SpringUtil.getApplicationContext(); OcrPictureLogService ocrPictureLogService = applicationContext.getBean(OcrPictureLogService.class); ocrPictureLog.setCallTime(DateUtil.now()); + ocrPictureLog.setPictureUrl(imgurl); ocrPictureLogService.save(ocrPictureLog); } JSONObject jsonObject = JSON.parseObject(responseDataVi); From c4206c2883a666d9caa4413b725f983077d78735 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Fri, 19 Apr 2024 14:21:20 +0800 Subject: [PATCH 10/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=8D=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A4=9A=E8=8A=82=E7=82=B9=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowTaskServiceImpl.java | 20 +++++++++---------- .../dataobject/OcrTaskchildPictureAppro.java | 3 +++ 2 files changed, 13 insertions(+), 10 deletions(-) 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 67dadfbe..2dc12c3e 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 @@ -431,22 +431,22 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } return result; } - - + + public UserTask getNextTasks(Task task){ - + //获取流程发布Id信息 String definitionId = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId(); - + //获取bpm对象 BpmnModel bpmnModel = repositoryService.getBpmnModel(definitionId); - + //传节点定义key 获取当前节点 FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(task.getTaskDefinitionKey()); - + //输出连线 List outgoingFlows = flowNode.getOutgoingFlows(); - + //遍历返回下一个节点信息 for (SequenceFlow outgoingFlow : outgoingFlows) { //类型自己判断 @@ -461,7 +461,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } return null; } - + private void setExclusiveGateway(FlowElement targetFlow) { //排他网关,获取连线信息 List targetFlows = ((ExclusiveGateway) targetFlow).getOutgoingFlows(); @@ -529,7 +529,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask */ private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map variables, OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve, String deptid) throws Exception { - + //获取下一个节点 UserTask userTask = this.getNextTasks(task); if(null != userTask){ @@ -1485,7 +1485,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ocrTaskchildPictureApproVo.setProjectName(one.getFromprojectname());//项目名称 ocrTaskchildPictureApproVo.setCustomerLevel(one.getFromCustomerLevel());//客户级别 ocrTaskchildPictureApproVo.setReleaseArea(one.getFromCity());//拜访城市 - ocrTaskchildPictureApproVo.setTaskIndex(one.getTaskNodeIndex() == null ? "1" : one.getTaskNodeIndex()); + ocrTaskchildPictureApproVo.setTaskIndex(one.getTaskNodeIndex() == null ? one.getTasknode() : one.getTaskNodeIndex()); listNew.add(ocrTaskchildPictureApproVo); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPictureAppro.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPictureAppro.java index 2ad729ea..c80e5c71 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPictureAppro.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPictureAppro.java @@ -178,6 +178,9 @@ public class OcrTaskchildPictureAppro implements java.io.Serializable { @ApiModelProperty(value = "历史-节点编号") private String taskno; + @ApiModelProperty(value = "当前所处-节点编号") + private String tasknode; + @ApiModelProperty(value = "项目对象") private Category categoryDto; From ea97211948e0857c20cdc0789f9dacc6879bf61b Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Fri, 19 Apr 2024 14:50:31 +0800 Subject: [PATCH 11/35] =?UTF-8?q?fix:=20=E5=A6=82=E6=9E=9C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AF=A6=E6=83=85=E7=9A=84=E6=97=B6=E5=80=99=E5=B8=A6?= =?UTF-8?q?=E4=BA=86taskNo=E8=8A=82=E7=82=B9=EF=BC=8C=E5=88=99=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=98=AF=E4=B9=9F=E5=B0=86taskNo=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=BC=A0=E5=85=A5=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/service/impl/OcrTaskchildPictureServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) 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 d4bab453..420a9989 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 @@ -439,6 +439,10 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl Date: Fri, 19 Apr 2024 16:59:17 +0800 Subject: [PATCH 12/35] =?UTF-8?q?fix:=E5=85=A8=E6=96=87=E6=A3=80=E7=B4=A2?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9=E5=92=8C=E7=BB=88=E5=AE=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=8C=83=E5=9B=B4=E4=BF=AE=E6=94=B9=201?= =?UTF-8?q?=E3=80=81=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9=E7=94=B1=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84STATES=20IN=20('1','2')=20AND=20TASKNAME=20IN?= =?UTF-8?q?=20(=20'=E4=B8=80=E7=BA=A7=E5=AE=A1=E6=89=B9',=20'=E4=BA=8C?= =?UTF-8?q?=E7=BA=A7=E5=AE=A1=E6=89=B9'=20)=20=E4=BF=AE=E6=94=B9=E4=B8=BAT?= =?UTF-8?q?ASKNODE=20!=3D'finale=5Fjudgment'=202=E3=80=81=E7=BB=88?= =?UTF-8?q?=E5=AE=A1=E6=9F=A5=E8=AF=A2=E6=9C=89=E5=8E=9F=E6=9D=A5=E7=9A=84?= =?UTF-8?q?STATES=20=3D=20'3'=20AND=20TASKNAME=20=3D=20'=E6=9C=80=E7=BB=88?= =?UTF-8?q?=E5=AE=A1=E6=89=B9'=E4=BF=AE=E6=94=B9=E4=B8=BA=20TASKNODE=20=3D?= =?UTF-8?q?=20'finale=5Fjudgment'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml index f0b3fe59..3d0ad3f8 100644 --- a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml @@ -29,8 +29,7 @@ LEFT JOIN ocr_picture img ON r.PICTUREID = img.ID WHERE r.ASSIGNEE = #{userid} AND - r.STATES IN ('1','2') AND - r.TASKNAME IN ( '一级审批', '二级审批' ) + r.TASKNODE != 'finale_judgment' AND (r.FROMTASKNAME LIKE "%"#{search}"%" OR img.field1 LIKE "%"#{search}"%" @@ -49,8 +48,7 @@ LEFT JOIN ocr_picture img ON r.PICTUREID = img.ID WHERE r.ASSIGNEE = #{userid} AND - r.STATES = '3' AND - r.TASKNAME = '最终审批' + r.TASKNODE = 'finale_judgment' AND (r.FROMTASKNAME LIKE "%"#{search}"%" OR img.field1 LIKE "%"#{search}"%" From 828cd356249e54b65957fb5b8cb159ea8f038703 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Fri, 19 Apr 2024 16:59:27 +0800 Subject: [PATCH 13/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=B8=80?= =?UTF-8?q?=E4=BB=B6=E6=9F=A5=E9=87=8D=E7=9B=B8=E4=BC=BC=E5=BA=A6=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E3=80=81=E5=88=86=E7=BB=84=E6=8E=92=E5=BA=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java | 5 ++--- .../cn/jyjz/xiaoyao/ocr/vo/OcrTaskchildPictureApproVo.java | 5 ----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index b78b8262..cb42ce86 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -274,10 +274,10 @@ public class OcrPictureController extends BaseController { if (StringUtils.isNotBlank(ordertype)) { if (ordertype.equals("asc")) { queryWrapper.orderByAsc("similarity_score"); - queryWrapper.orderByDesc("classificationid"); + queryWrapper.orderByDesc("complete_similar_group_id"); } else { queryWrapper.orderByDesc("similarity_score"); - queryWrapper.orderByDesc("classificationid"); + queryWrapper.orderByDesc("complete_similar_group_id"); } } @@ -322,7 +322,6 @@ public class OcrPictureController extends BaseController { queryWrapper.eq("tenant_id", tenantId); queryWrapper.isNotNull("local_pictrue_url"); Page page = new Page(pageNo, pageSize); - queryWrapper.orderByAsc("complete_similar_group_id"); IPage pageList = ocrPictureService.page(page, queryWrapper); List ocrPictures = pageList.getRecords(); List ocrPicturesNew = new ArrayList<>(); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskchildPictureApproVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskchildPictureApproVo.java index 37f2a206..1e1e95ad 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskchildPictureApproVo.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskchildPictureApproVo.java @@ -1,8 +1,6 @@ package cn.jyjz.xiaoyao.ocr.vo; -import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto; import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer; -import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModel; @@ -12,9 +10,6 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.Date; -import java.util.List; - @Data @Builder From e8347ea312bd74844520aec70df2538dbbfb58fe Mon Sep 17 00:00:00 2001 From: DELL Date: Fri, 19 Apr 2024 17:14:45 +0800 Subject: [PATCH 14/35] =?UTF-8?q?fix:=E7=BB=88=E5=AE=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=BD=93=E6=8C=89=E7=85=A7states=E6=8E=92=E5=BA=8F=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E7=9B=B8=E4=BC=BC=E5=BA=A6=E5=A2=9E=E5=8A=A0=E5=80=92?= =?UTF-8?q?=E5=BA=8F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 36e38b88..813d5ab3 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 @@ -1011,7 +1011,7 @@ - ORDER BY tcp.${page.sortname} ${page.sortorder} + ORDER BY tcp.${page.sortname} ${page.sortorder} , pic.similarity_score desc ORDER BY CONVERT(pic.${page.sortname} USING gbk) COLLATE gbk_chinese_ci ${page.sortorder} From 65f4dc6e783b27de7d1fb5a7e3c7e684c3e924c1 Mon Sep 17 00:00:00 2001 From: DELL Date: Fri, 19 Apr 2024 19:00:09 +0800 Subject: [PATCH 15/35] =?UTF-8?q?fix:1=E3=80=81=E8=AE=BE=E7=BD=AE=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E8=BF=87=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=94=BE=E5=85=A5=E5=8F=AF=E7=96=91=E6=96=87=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=202=E3=80=81=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E4=BF=AE=E6=94=B9=203=E3=80=81=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E6=90=9C=E7=B4=A2=E4=B8=8D=E5=8A=A0=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E8=BF=94=E5=9B=9E=E5=80=BC=E5=8A=A0=E4=B8=8A?= =?UTF-8?q?=E5=9B=BE=E6=A3=80=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowTaskServiceImpl.java | 14 ++++---------- .../ocr/controller/OcrPictureController.java | 7 ++----- .../OcrTaskchildDubiousFileController.java | 12 +++++++++++- .../dataDao/OcrTaskchildPictureMybatisDao.java | 5 +++++ .../service/impl/OcrSearchHistoryServiceImpl.java | 10 +++------- .../mapper/oa/OcrSearchHistoryMapper.xml | 15 ++++++++++++++- .../mapper/oa/OcrTaskchildPictureMapper.xml | 11 +++++++++++ 7 files changed, 50 insertions(+), 24 deletions(-) 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 2dc12c3e..dd43d664 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 @@ -1252,7 +1252,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask for (FlowUnionVo flowUnionVo : list) { if (flowUnionVo.getStates() != null) { - String stateText; + String stateText = ""; switch (flowUnionVo.getStates()) { case 1: stateText = "撤销"; @@ -1261,13 +1261,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask stateText = "审批中"; break; case 3: - stateText = "审批通过"; + stateText = "通过"; break; case 5: - stateText = "审批未通过"; - break; - default: - stateText = "未知状态"; + stateText = "不通过"; break; } // 将中文状态赋值给 flowUnionVo 的状态属性 @@ -1439,7 +1436,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } if (ocrTaskchildPictureAppro.getStatshis() != null) { - String stateText; + String stateText = ""; switch (ocrTaskchildPictureAppro.getStatshis()) { case 1: stateText = "待审批"; @@ -1450,9 +1447,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask case 3: stateText = "不通过"; break; - default: - stateText = "未知状态"; - break; } // 将中文状态赋值给 flowUnionVo 的状态属性 ocrTaskchildPictureAppro.setStatshisText(stateText); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index cb42ce86..c0a954cf 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -338,13 +338,10 @@ public class OcrPictureController extends BaseController { ocrPictureOne.setField16("审批中"); break; case 3: - ocrPictureOne.setField16("审批通过"); + ocrPictureOne.setField16("通过"); break; case 5: - ocrPictureOne.setField16("审批不通过"); - break; - default: - ocrPictureOne.setField16("未知状态"); + ocrPictureOne.setField16("不通过"); break; } ocrPictureOne.setStates(ocrTaskchildPicture.getStates()); 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 67f73bb3..df14ebfd 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 @@ -6,9 +6,11 @@ import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.UserToken; +import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao; import cn.jyjz.xiaoyao.ocr.dataobject.*; 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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -25,6 +27,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import cn.jyjz.xiaoyao.ocr.service.IOcrTaskchildDubiousFileService; @@ -57,6 +61,9 @@ public class OcrTaskchildDubiousFileController { @Autowired OcrPictureService ocrpictureservice; + @Autowired + private OcrTaskchildPictureMybatisDao taskchildPictureMybatisDao; + /** * 分页查询 * @param request @@ -175,7 +182,10 @@ public class OcrTaskchildDubiousFileController { if(one != null && !one.getAssignee().equals(userToken.getLoginname())){ return ResultVoUtil.error("勾选存在无权限审批的任务,不能添加可疑文件!"); } - + List oaUserApproveVoList = taskchildPictureMybatisDao.queryHistoricalTask(userToken.getUserid(),one.getId()); + if(CollUtil.isNotEmpty(oaUserApproveVoList)){ + return ResultVoUtil.error("该任务已审批,不能添加可疑文件!"); + } QueryWrapper filewrapper = new QueryWrapper<>(); filewrapper.eq("picture_id",asd).eq("userid",userToken.getUserid()); OcrTaskchildDubiousFile one1 = ocrTaskchildDubiousFileService.getOne(filewrapper); 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 8b295f38..aaae4839 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 @@ -47,6 +47,11 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper queryApprovalNode(@Param("userId") String userId); + + /** + * 查询当前用户历史任务 + */ + public List queryHistoricalTask(@Param("userId") String userId, @Param("formId") Long formId); /** * 查询当前用户待审批任务 */ 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 94d62096..077f3200 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 @@ -86,10 +86,8 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl frontmenuTList = isFrontmenuTService.queryUserMenuById(assignee); if(CollUtil.isNotEmpty(frontmenuTList)){ for (SFrontmenuT sFrontmenuT : frontmenuTList) { - if(StringUtils.isNotBlank(search)){ - if(sFrontmenuT.getResKey().equals(FrontMenuEnum.WORKSHEETMAIN.getResKey())){ - strings1 = ocrsearchhistorymapper.selectsearch1(userId,search,tenantId); - } + if(sFrontmenuT.getResKey().equals(FrontMenuEnum.WORKSHEETMAIN.getResKey())){ + strings1 = ocrsearchhistorymapper.selectsearch1(userId,search,tenantId); } if(sFrontmenuT.getResKey().equals(FrontMenuEnum.TASKMAIN.getResKey())){ strings2 = ocrsearchhistorymapper.selectsearch2(assignee,search,tenantId); @@ -102,9 +100,7 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl>>> list = new ArrayList<>(); Map>> map=new HashMap<>(); - if(StringUtils.isNotBlank(search)){ - map.put("ai",strings1); - } + map.put("ai",strings1); map.put("preliminary",strings2); map.put("final",strings3); // list.add(map); diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml index 3d0ad3f8..bf547069 100644 --- a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrSearchHistoryMapper.xml @@ -18,7 +18,20 @@ + + - select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore,pic.server_thumbnail_url serverThumbnailUrl, - pic.imgUrl imgUrl + select tcp.*, + pic.field11 reporttime, + pic.similarity_score similarityscore, + pic.server_thumbnail_url serverThumbnailUrl, + pic.imgUrl imgUrl from ocr_taskchild_picture tcp left join ocr_picture pic on tcp.PICTUREID = pic.ID @@ -1004,12 +1007,14 @@ and tcp.ISFINAIL = 1 and pic.suspiciousfile = 0 - - and tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend} + + and FIND_IN_SET(#{thisLoginUserid.value} + , tcp.ASSIGNEE) - - and (tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend} - or tcp.STATES = 5) + + and (FIND_IN_SET(#{thisLoginUserid.value} + , tcp.ASSIGNEE) + or tcp.STATES = 5) @@ -1022,16 +1027,18 @@ - ORDER BY tcp.${page.sortname} ${page.sortorder} , pic.similarity_score desc + ORDER BY tcp.${page.sortname} ${page.sortorder}, pic.similarity_score desc ORDER BY CONVERT(pic.${page.sortname} USING gbk) COLLATE gbk_chinese_ci ${page.sortorder} + ORDER BY pic.${page.sortname} ${page.sortorder} + limit ${page.start}, ${page.Pagesize} From 53fd9afc15dc2f65be69801ccc67362294c3be60 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Sat, 20 Apr 2024 12:18:35 +0800 Subject: [PATCH 21/35] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E7=BB=88?= =?UTF-8?q?=E5=AE=A1=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FlowTaskController.java | 2 +- .../flowable/service/IFlowTaskService.java | 6 +- .../service/impl/FlowTaskServiceImpl.java | 112 ++++++++++-------- 3 files changed, 66 insertions(+), 54 deletions(-) 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 801b8cfd..e065df2f 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 @@ -496,7 +496,7 @@ public class FlowTaskController extends BaseController { Map query = searchQuery.getQuery(); - flowTaskService.getFinalProcessInstances(query, pageUtils); + flowTaskService.getFinalProcessInstances(query, pageUtils,user); return ResultVoUtil.success(pageUtils); } 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 dae4c7bf..11e6a163 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,11 +13,8 @@ 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.bpmn.model.UserTask; @@ -102,9 +99,10 @@ public interface IFlowTaskService { * * @param query 搜索条件 * @param pageUtils 分页参数 + * @param user * @return */ - public void getFinalProcessInstances(Map query, PageUtils pageUtils); + public void getFinalProcessInstances(Map query, PageUtils pageUtils, User user); /** 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 a75aba6d..b660cad1 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 @@ -16,7 +16,6 @@ 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; -import cn.jyjz.xiaoyao.oa.from.dataDao.IHisFlowableActinstDao; import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto; import cn.jyjz.flowable.factory.FlowServiceFactory; import cn.jyjz.flowable.service.IFlowTaskService; @@ -36,7 +35,6 @@ import cn.jyjz.xiaoyao.oa.from.service.*; 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.ocr.dataobject.*; import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting; @@ -119,6 +117,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask private IOcrMsgService ocrMsgService; @Resource private UserdistionaryService userdistionaryService; + @Override public void myTodoTaskList(PageUtils vo, HttpServletRequest request) { @@ -433,23 +432,23 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } return result; } - - - public UserTask getNextTasks(String processDefinitionId ){ + + + public UserTask getNextTasks(String processDefinitionId) { //流程实例id //String processInstanceId = "5b945750-81db-11e9-a576-1a73f8e23adc"; - + // 获取流程定义 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() .processDefinitionId(processDefinitionId) .singleResult(); - + // 获取BpmnModel BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); - + // 获取所有的FlowElement,包括开始事件、结束事件、用户任务等 List flowElements = (List) bpmnModel.getMainProcess().getFlowElements(); - + // 遍历FlowElement for (FlowElement targetFlowElement : flowElements) { //用户任务 @@ -463,7 +462,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return null; } - public UserTask getNextTasks(Task task){ + public UserTask getNextTasks(Task task) { //获取流程发布Id信息 String definitionId = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId(); @@ -512,6 +511,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask } } } + /** * 完成任务 */ @@ -562,13 +562,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask //获取下一个节点 UserTask userTask = this.getNextTasks(task); - if(null != userTask){ + if (null != userTask) { MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics(); // 会签节点 if (Objects.nonNull(multiInstance)) { - List loginnames = this.getAssignee(userTask,model.getCreateuser()); - if(null != loginnames && !loginnames.isEmpty()){ - variables.put("persons",loginnames); + List loginnames = this.getAssignee(userTask, model.getCreateuser()); + if (null != loginnames && !loginnames.isEmpty()) { + variables.put("persons", loginnames); } } } @@ -781,48 +781,50 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return activeActivityIds; } - + /** * 获取候选用户或者审批组的用户信息集合 - * @param userTask 当前审批节点 + * + * @param userTask 当前审批节点 * @param loginname 流程发起人 * @return */ - public List getAssignee(UserTask userTask,String loginname){ - if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){ + public List getAssignee(UserTask userTask, String loginname) { + if (null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1) { //获取候选用户集合 List loginnames = userTask.getCandidateUsers(); //顺序设置审批用户 return loginnames; - }else { + } else { //得到候选组 List candidateGroups = userTask.getCandidateGroups(); - if(null != candidateGroups && !candidateGroups.isEmpty()){ - - + if (null != candidateGroups && !candidateGroups.isEmpty()) { + + List listusers = new ArrayList<>(); - for(String groupid:candidateGroups){ - - + for (String groupid : candidateGroups) { + + //排除不在同一个公司的人员 - List userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,loginname); - + List userdistionaryList = userdistionaryService.selectListByCandidateid(groupid, loginname); + List listuserid = userdistionaryList.stream().map(Userdistionary::getUserid).collect(Collectors.toList()); - if(null!= listuserid && !listuserid.isEmpty()){ + if (null != listuserid && !listuserid.isEmpty()) { listusers.addAll(this.userService.selectUserById(listuserid)); } - + } - - if(null != listusers && !listusers.isEmpty()){ + + if (null != listusers && !listusers.isEmpty()) { List loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList()); - + return loginnames; } } } return null; } + /** * 设置当前审批节点的审批人 * 目前只多候选组和多个候选人起作用 @@ -845,48 +847,48 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey()); if (flowElement instanceof UserTask && StringUtils.isBlank(task.getAssignee())) { UserTask userTask = (UserTask) flowElement; - + MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics(); // 会签节点 if (Objects.nonNull(multiInstance)) { - if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){ + if (null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1) { //获取候选用户集合 List loginnames = userTask.getCandidateUsers(); //顺序设置审批用户 taskService.setAssignee(task.getId(), loginnames.get(taskIndex)); - }else { + } else { //得到候选组 List candidateGroups = userTask.getCandidateGroups(); - if(null != candidateGroups && !candidateGroups.isEmpty()){ + if (null != candidateGroups && !candidateGroups.isEmpty()) { flowTaskCompleteVO = new FlowTaskCompleteVO(); flowTaskCompleteVO.setTaskId(task.getId()); - + List listusers = new ArrayList<>(); - for(String groupid:candidateGroups){ + for (String groupid : candidateGroups) { //获取发起人员信息 HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); //发起人员登录账号 String startUserId = hi.getStartUserId(); - + //排除不在同一个公司的人员 - List userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,startUserId); - + List userdistionaryList = userdistionaryService.selectListByCandidateid(groupid, startUserId); + List listuserid = userdistionaryList.stream().map(Userdistionary::getUserid).collect(Collectors.toList()); listusers.addAll(this.userService.selectUserById(listuserid)); } - - if(null != listusers && !listusers.isEmpty()){ + + if (null != listusers && !listusers.isEmpty()) { List loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList()); - + //顺序设置审批用户 taskService.setAssignee(task.getId(), loginnames.get(taskIndex)); } } } taskIndex++; - }else{ + } else { //如果审批不存在,需要在候选组中查询 if (StringUtils.isBlank(userTask.getAssignee())) { //得到候选人 @@ -895,7 +897,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask Random rand = new Random(); taskService.claim(task.getId(), candidateUsers.get(rand.nextInt(candidateUsers.size()))); } - + //得到候选组 List candidateGroups = userTask.getCandidateGroups(); if (null != candidateGroups && !candidateGroups.isEmpty()) { @@ -913,7 +915,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask taskService.claim(task.getId(), loginuser); } } - + } } } @@ -1172,9 +1174,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask * * @param query 搜索条件 * @param pageUtils 分页参数 + * @param user * @return */ - public void getFinalProcessInstances(Map query, PageUtils pageUtils) { + public void getFinalProcessInstances(Map query, PageUtils pageUtils, User user) { ParamterPage paramterPage = new ParamterPage(); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize()); @@ -1282,7 +1285,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask // taskchildPicture.setTransferRecords(historicTaskInstanceDtos); // } // } - + for (OcrTaskchildPicture ocrTaskchildPicture : list) { + String assignee = ocrTaskchildPicture.getAssignee(); + if (assignee.contains(",")) { + String[] split = assignee.split(","); + for (int i = 0; i < split.length; i++) { + if (user.getLoginname().equals(split[i])) { + String[] taskIds = ocrTaskchildPicture.getTaskId().split(","); + ocrTaskchildPicture.setTaskId(taskIds[i]); + } + } + } + } pageUtils.setTotalCount(count.intValue()); pageUtils.setList(list); } From e5bee9519a47bb09481d152fed9784a7ae1ecf24 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Sat, 20 Apr 2024 13:40:46 +0800 Subject: [PATCH 22/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E6=9F=A5=E8=AF=A2=EF=BC=8C=E7=8A=B6=E6=80=81=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaoyao/ocr/controller/OcrPictureController.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index c0a954cf..729a2b73 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -1,5 +1,6 @@ package cn.jyjz.xiaoyao.ocr.controller; +import cn.hutool.core.util.ArrayUtil; import cn.jyjz.xiaoyao.admin.service.LogService; import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.common.base.controller.BaseController; @@ -34,10 +35,8 @@ import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @Api(tags = "ocr_图片管理") @RestController @@ -303,8 +302,8 @@ public class OcrPictureController extends BaseController { //任务状态搜索 String iztaskstatus = req.getParameter("iztaskstatus"); if (StringUtils.isNotBlank(iztaskstatus)) { - Integer taskStatus = Integer.parseInt(iztaskstatus); - queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES = {0})", taskStatus); + queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ({0}))", + Arrays.stream(iztaskstatus.split(",")).map(String::valueOf).collect(Collectors.joining(","))); } From 1e0a51e6afdd71be0fa5f81b414c0236083be1f2 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Sat, 20 Apr 2024 15:01:07 +0800 Subject: [PATCH 23/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E6=9F=A5=E8=AF=A2=EF=BC=8C=E7=8A=B6=E6=80=81=20in=20?= =?UTF-8?q?=E5=A4=9A=E9=80=89=E5=8D=A0=E4=BD=8D=E5=8F=AA=E5=8F=96=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=80=BC=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index 729a2b73..a5696100 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -302,8 +302,8 @@ public class OcrPictureController extends BaseController { //任务状态搜索 String iztaskstatus = req.getParameter("iztaskstatus"); if (StringUtils.isNotBlank(iztaskstatus)) { - queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ({0}))", - Arrays.stream(iztaskstatus.split(",")).map(String::valueOf).collect(Collectors.joining(","))); +// String [] status = iztaskstatus.split(","); + queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ("+iztaskstatus+"))"); } From 8955091768ee0db76bcb0efa2b83939ee8e80493 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Sat, 20 Apr 2024 16:29:17 +0800 Subject: [PATCH 24/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E6=9F=A5=E8=AF=A2=EF=BC=8C=E7=8A=B6=E6=80=81=20?= =?UTF-8?q?=E6=9C=AA=E6=8F=90=E4=BA=A4=E6=9F=A5=E8=AF=A2=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=9F=A5=E5=87=BA=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaoyao/ocr/controller/OcrPictureController.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index a5696100..420578bb 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -302,8 +302,13 @@ public class OcrPictureController extends BaseController { //任务状态搜索 String iztaskstatus = req.getParameter("iztaskstatus"); if (StringUtils.isNotBlank(iztaskstatus)) { -// String [] status = iztaskstatus.split(","); - queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ("+iztaskstatus+"))"); + if(iztaskstatus.indexOf("1")!=-1){ + //包含未提交的情况 + queryWrapper.apply("(id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ("+iztaskstatus+")) or similarity_score is null)"); + }else{ + queryWrapper.apply("id IN (SELECT PICTUREID FROM ocr_taskchild_picture WHERE STATES in ("+iztaskstatus+"))"); + } + } From f6b34b0e5c66d46ddbc35ca984d5f36578767133 Mon Sep 17 00:00:00 2001 From: rongfeng Date: Sat, 20 Apr 2024 19:28:49 +0800 Subject: [PATCH 25/35] 1:ocr --- .../xiaoyao/ocr/controller/OcrPictureController.java | 11 +++++++++++ .../java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index 420578bb..63920804 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -329,7 +329,11 @@ public class OcrPictureController extends BaseController { IPage pageList = ocrPictureService.page(page, queryWrapper); List ocrPictures = pageList.getRecords(); List ocrPicturesNew = new ArrayList<>(); + + Map> completeSimilarGroupMap = ocrPictures.stream().filter(s->Objects.nonNull(s.getCompleteSimilarGroupId())).collect(Collectors.groupingBy(OcrPicture::getCompleteSimilarGroupId)); + for (OcrPicture ocrPictureOne : ocrPictures) { + filterScoreNoGroup(ocrPictureOne,completeSimilarGroupMap); LambdaQueryWrapper ocrTaskchildPictureLambdaQueryWrapper = new LambdaQueryWrapper<>(); ocrTaskchildPictureLambdaQueryWrapper.eq(OcrTaskchildPicture::getPictureid, ocrPictureOne.getId()); OcrTaskchildPicture ocrTaskchildPicture = ocrTaskchildPictureService.getOne(ocrTaskchildPictureLambdaQueryWrapper); @@ -357,6 +361,13 @@ public class OcrPictureController extends BaseController { return ResultVoUtil.success(pageList); } + private void filterScoreNoGroup(OcrPicture ocrPictureOne,Map> completeSimilarGroupMap){ + //过滤阈值为100的,但是没有对应分类的图片 + if(Objects.nonNull(ocrPictureOne.getSimilarityscore())&&ocrPictureOne.getSimilarityscore()==100&&Objects.nonNull(ocrPictureOne.getCompleteSimilarGroupId())&&completeSimilarGroupMap.get(ocrPictureOne.getCompleteSimilarGroupId()).size()>1){ + ocrPictureOne.setSimilarityscore(0); + ocrPictureOne.setIsRepeat(1); + } + } /** * 分页列表查询 * diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java index 317dcfd9..0f2cc342 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java @@ -95,15 +95,15 @@ public class ImageClassUtil { JSONObject jsonObjectSimi = JSON.parseObject(responseDataVi); if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0") && jsonObjectSimi.get("data") != null && jsonObjectSimi.getJSONArray("data").size() > 0) { ocrPictureLog.setCallStatus("1"); - ocrPictureLog.setCallMsg(responseDataVi); + ocrPictureLog.setCallMsg("req:"+jsonObjectVi.toJSONString()+"\nrep:"+responseDataVi); } else { ocrPictureLog.setCallStatus("2"); - ocrPictureLog.setCallMsg(responseDataVi); + ocrPictureLog.setCallMsg("req:"+jsonObjectVi.toJSONString()+"\nrep:"+responseDataVi); } } catch (Exception e) { logger.error("classify={}", e); ocrPictureLog.setCallStatus("3"); - ocrPictureLog.setCallMsg(responseDataVi+"Exception:"+e.getMessage()); + ocrPictureLog.setCallMsg("req:"+jsonObjectVi.toJSONString()+"\nrep:"+responseDataVi+"Exception:"+e.getMessage()); } finally { ApplicationContext applicationContext = SpringUtil.getApplicationContext(); OcrPictureLogService ocrPictureLogService = applicationContext.getBean(OcrPictureLogService.class); From e6c94f4a090074de076f5a6b11721b2d4bb0a162 Mon Sep 17 00:00:00 2001 From: Vincent <19330835921@163.com> Date: Sun, 21 Apr 2024 14:55:36 +0800 Subject: [PATCH 26/35] =?UTF-8?q?feat:=20=E5=A4=9A=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E5=AF=B9=E5=87=86=E5=A4=87=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=9A=84=E6=95=B0=E6=8D=AE=E8=BF=9B=E8=A1=8C=E6=9F=A5?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jyjz/xiaoyao/ocr/api/PrevailCloudApi.java | 5 ++ .../ocr/api/impl/PrevailCloudApiImpl.java | 78 ++++++++++-------- .../jyjz/xiaoyao/ocr/api/utils/ApiConfig.java | 5 ++ .../ocr/controller/ApiTestController.java | 81 ++++++------------- .../service/impl/OcrFrontConfServiceImpl.java | 1 + .../cn/jyjz/xiaoyao/ocr/thread/TaskQueue.java | 43 ++++++---- .../ocr/timerJob/PictureSourceTimerJob.java | 32 ++------ .../ocr/timerJob/PullPictureDataJob.java | 37 +++------ 8 files changed, 127 insertions(+), 155 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java index 35da1e23..e43b1730 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java @@ -3,6 +3,9 @@ package cn.jyjz.xiaoyao.ocr.api; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; +import org.apache.commons.compress.utils.Lists; + +import java.util.List; /** * 无量云三方api接口 @@ -33,4 +36,6 @@ public interface PrevailCloudApi { */ boolean startImageDownloadMonitoring(String localImagePath) throws Exception; + List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter); + } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java index ceea1469..dfce2df2 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java @@ -6,7 +6,11 @@ import cn.jyjz.xiaoyao.common.base.util.SpringUtils; import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; -import cn.jyjz.xiaoyao.ocr.api.utils.*; +import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; +import cn.jyjz.xiaoyao.ocr.api.utils.ApiHelper; +import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; +import cn.jyjz.xiaoyao.ocr.api.utils.RequestData; +import cn.jyjz.xiaoyao.ocr.api.utils.ResultData; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; @@ -16,16 +20,13 @@ import cn.jyjz.xiaoyao.ocr.util.httputil.HttpMethod; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpParamers; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.fasterxml.jackson.annotation.JsonFormat; -import liquibase.pro.packaged.S; import lombok.SneakyThrows; -import org.apache.commons.collections.SequencedHashMap; +import org.apache.commons.compress.utils.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -73,17 +74,17 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { @Override public ApiPage pullPictureSource(PictureSourceParameter pictureSourceParameter) throws Exception { //1.检查api配置是否正常 - if(!apiConfig.checkConfig()){ + if (!apiConfig.checkConfig()) { return null; } //2.对象转map Map queryParam = BeanUtil.beanToMap(pictureSourceParameter); - Map queryParamStr = new HashMap<>(); + Map queryParamStr = new HashMap<>(); //map值转string 注意对日期类型进行操作,加密包要求值全部为string for (String key : queryParam.keySet()) { - if(queryParam.get(key)!=null){ - queryParamStr.put(key,queryParam.get(key).toString()); + if (queryParam.get(key) != null) { + queryParamStr.put(key, queryParam.get(key).toString()); } } @@ -92,36 +93,36 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { String tenantNo = pictureSourceParameter.getTenantNo().toString(); String json = JSONObject.toJSONString(queryParam); System.out.println(json); - RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(),json); + RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(), json); //组装请求参数 - String url = apiConfig.getInterfaceDomain()+pictureSourceUrl; + String url = apiConfig.getInterfaceDomain() + pictureSourceUrl; String requestBodyJson = JSONObject.toJSONString(requestData); // String requestBodyJson = "{\"accessKey\":\"7390F0221A1A73D8E13F8C8BB96F33B0\",\"data\":\"gzUtN5Mt24_fbDDMK3wLop8Tgu68xLCVy3Wzp9BcXnkxnCiPg_D2TNEXnQ68-Y-GhGYYcD7Iwg8juZTx1m5v4NkDvKvEwdvjQvZnMDTRYbqtHrwgVLAvUGotIMTckDY67yo2Ku52vWedjYpzzDseHwiIGVcIl-u1CljEbyjLzJzIf6oXfD7qKjOYnxKjfjp11k0IlvsPdS-mgNXTHcBei5jOFrYmZrE2y4v9bI5n1QE\",\"signature\":\"0bmIbhhybDcGeyX4ao5gSPZQeaY8G2JRh3nRt7NC7qw\",\"tenantCode\":\"1673196576094806016\",\"timestamp\":1711971774448}"; //入参 - System.out.println("入参数据:"+requestBodyJson); + System.out.println("入参数据:" + requestBodyJson); HttpParamers httpParamers = new HttpParamers(HttpMethod.POST); httpParamers.setJsonParamer(requestBodyJson); //发起请求 - String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout()); + String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout()); System.out.println(responseJsonStr); - ResultData resultData =JSONUtil.toBean(responseJsonStr,ResultData.class); + ResultData resultData = JSONUtil.toBean(responseJsonStr, ResultData.class); //解密请求数据 - if(resultData.getStatus()==100){ + if (resultData.getStatus() == 100) { //解析基础数据 String data = ApiHelper.decryptResponse(apiConfig.getAccessCode(), resultData); - ApiPage apiPage = JSONUtil.toBean(data,ApiPage.class); + ApiPage apiPage = JSONUtil.toBean(data, ApiPage.class); //解析数据结果为List - List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()),PictureSourceResult.class); + List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()), PictureSourceResult.class); ApiPage resultApiPage = new ApiPage<>(); resultApiPage.setPageNo(apiPage.getPageNo()); resultApiPage.setPageSize(apiPage.getPageSize()); resultApiPage.setTotal(apiPage.getTotal()); resultApiPage.setRecords(listResult); return resultApiPage; - }else{ - logger.debug("请求图片接口数据失败,参数:{},返回值:{}",json,responseJsonStr); + } else { + logger.debug("请求图片接口数据失败,参数:{},返回值:{}", json, responseJsonStr); } return null; @@ -131,36 +132,37 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { public void sendFlowTaskResult(String tenantId, String data) throws Exception { ResultData stringResultData = ApiHelper.buildResponse(apiConfig.getAccessCode(), data); // RequestData requestData = ApiHelper.buildRequest(tenantId, apiConfig.getAccessKey(), apiConfig.getAccessCode(),data);//组装请求参数 - String url = apiConfig.getInterfaceDomain()+sendResultUrl; + String url = apiConfig.getInterfaceDomain() + sendResultUrl; String requestBodyJson = JSONObject.toJSONString(stringResultData); //入参 - System.out.println("入参数据:"+requestBodyJson); + System.out.println("入参数据:" + requestBodyJson); HttpParamers httpParamers = new HttpParamers(HttpMethod.POST); httpParamers.setJsonParamer(requestBodyJson); //发起请求 - String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout()); + String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout()); System.out.println(responseJsonStr); } @Override public void pullAccountInfo(long tenantNo) throws Exception { Map queryParam = new HashMap<>(); - queryParam.put("tenantNo",tenantNo); + queryParam.put("tenantNo", tenantNo); String json = JSONObject.toJSONString(queryParam); - RequestData requestData = ApiHelper.buildRequest(tenantNo+"", apiConfig.getAccessKey(), apiConfig.getAccessCode(),json); - String url = apiConfig.getInterfaceDomain()+tenantSourceUrl; + RequestData requestData = ApiHelper.buildRequest(tenantNo + "", apiConfig.getAccessKey(), apiConfig.getAccessCode(), json); + String url = apiConfig.getInterfaceDomain() + tenantSourceUrl; String requestBodyJson = JSONObject.toJSONString(requestData); //入参 HttpParamers httpParamers = new HttpParamers(HttpMethod.POST); httpParamers.setJsonParamer(requestBodyJson); //发起请求 - String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout()); + String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout()); System.out.println(responseJsonStr); - ResultData resultData =JSONUtil.toBean(responseJsonStr,ResultData.class); - if(resultData.getStatus()==100){; + ResultData resultData = JSONUtil.toBean(responseJsonStr, ResultData.class); + if (resultData.getStatus() == 100) { + ; //解析基础数据 String data = ApiHelper.decryptResponse(apiConfig.getAccessCode(), resultData); - ApiPage apiPage = JSONUtil.toBean(data,ApiPage.class); + ApiPage apiPage = JSONUtil.toBean(data, ApiPage.class); System.out.println(apiPage); //解析数据结果为List // List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()),PictureSourceResult.class); @@ -191,7 +193,7 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { ocrPictureLambdaQueryWrapper.isNull(OcrPicture::getLocalpictrueurl); List ocrPictureList = new ArrayList<>(); ocrPictureList = ocrPictureService.list(ocrPictureLambdaQueryWrapper); - logger.debug("待执行下载图片数量:{}",ocrPictureList.size()); + logger.debug("待执行下载图片数量:{}", ocrPictureList.size()); for (OcrPicture pictureOne : ocrPictureList) { // 创建 PictureImgToLocalEntity 对象并赋值 PictureImgToLocalEntity entity = new PictureImgToLocalEntity(); @@ -204,9 +206,9 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { // 将对象添加到下载图片队列中 boolean isAddedToQueue = false; while (!isAddedToQueue) { - isAddedToQueue =TaskQueue.pictureImgToLocalPushData(entity); + isAddedToQueue = TaskQueue.pictureImgToLocalPushData(entity); if (!isAddedToQueue) { - logger.info("图片下载监测-添加队列失败,等待五秒后继续进行添加,图片id:{}",entity.getPictureId()); + logger.info("图片下载监测-添加队列失败,等待五秒后继续进行添加,图片id:{}", entity.getPictureId()); Thread.sleep(5000); } } @@ -217,6 +219,16 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { thread.start(); return true; } - + @Override + public List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) { + ApiPage apiPage = null; + try { + apiPage = this.pullPictureSource(pictureSourceParameter); + } catch (Exception e) { + e.printStackTrace(); + } + + return apiPage == null ? Lists.newArrayList() : apiPage.getRecords(); + } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java index 9407bf57..b8d84846 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java @@ -48,6 +48,11 @@ public class ApiConfig { private String localImagePath; + /** + * 默认图片 + */ + private String defaultPictureImg; + /** * 检查配置文件是否 正确注入 * @return diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java index 91907345..dae72861 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java @@ -10,7 +10,6 @@ import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; -import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; @@ -66,16 +65,6 @@ public class ApiTestController { if (StringUtils.isBlank(accountNoStr)) { return "业务主体不能为空"; } -// Long tenantNo = Long.parseLong(request.getParameter("tenantNo")); -// Long accountNo = Long.parseLong(request.getParameter("accountNo")); - - PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); - DateTime dateTime = DateUtil.parse(beginStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss"); -// DateTime dateTime = DateUtil.parse("2024-03-31 07:00:000","yyyy-MM-dd HH:mm:ss"); - Instant binstant = dateTime.toInstant(); - DateTime dateTime1 = DateUtil.parse(endStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss"); -// DateTime dateTime1 = DateUtil.parse("2024-03-31 09:00:00","yyyy-MM-dd HH:mm:ss"); - Instant einstant = dateTime1.toInstant(); List departments = departmentMybatisDao.selectList(new QueryWrapper<>()); if (CollectionUtils.isEmpty(departments)) { @@ -95,6 +84,16 @@ public class ApiTestController { return "业务主体数据为空"; } + PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); + DateTime dateTime = DateUtil.parse(beginStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss"); + DateTime dateTime1 = DateUtil.parse(endStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss"); + Instant binstant = dateTime.toInstant(); + Instant einstant = dateTime1.toInstant(); + pictureSourceParameter.setStartTime(Date.from(binstant)); + pictureSourceParameter.setEndTime(Date.from(einstant)); + pictureSourceParameter.setPageNo(Integer.parseInt(pageNo)); + pictureSourceParameter.setPageSize(Integer.parseInt(pageSize)); + List totalList = Lists.newArrayList(); for (Department department : departments) { if (!departmentMap.containsKey(department.getParentid())) { @@ -103,8 +102,10 @@ public class ApiTestController { Long tenantNo = Long.valueOf(departmentMap.get(department.getParentid()).getDeptno()); Long accountNo = Long.valueOf(department.getDeptno()); + pictureSourceParameter.setTenantNo(tenantNo); + pictureSourceParameter.setAccountNo(accountNo); - List resultList = getPictureSourceResultApiPage(dateTime, dateTime1, Integer.parseInt(pageNo), Integer.parseInt(pageSize), tenantNo, accountNo); + List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } @@ -117,11 +118,10 @@ public class ApiTestController { if (pictureSourceResult.getLivePhoto() == null) { List> livePhoto = new ArrayList<>(); Map map = new HashMap<>(); - map.put("imgUrl", "http://47.93.59.251/api/image/default.png"); + map.put("imgUrl", StringUtils.isEmpty(apiConfig.getDefaultPictureImg()) ? "http://47.93.59.251/api/image/default.png" : apiConfig.getDefaultPictureImg()); map.put("imgName", "default.png"); livePhoto.add(map); pictureSourceResult.setLivePhoto(livePhoto); -// continue; } //将可以处理数据放入处理队列中 TaskQueue.pictureDisposePushData(pictureSourceResult); @@ -151,8 +151,6 @@ public class ApiTestController { String pageSize = request.getParameter("pageSize"); String pageNo = request.getParameter("pageNo"); - PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); - pictureSourceParameter.setPageSize(Integer.parseInt(pageSize)); List notAddedToQueueTaskIds = new ArrayList<>(); @@ -183,6 +181,10 @@ public class ApiTestController { int totalSize = 0; DateTime startDate = DateUtil.parse(beginStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss"); DateTime endDate = DateUtil.parse(endStr + " 23:59:59", "yyyy-MM-dd HH:mm:ss"); + + PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); + pictureSourceParameter.setPageSize(Integer.parseInt(pageSize)); + while (startDate.isBefore(endDate) || startDate.compareTo(endDate) == 0) { int currentPage = Integer.parseInt(pageNo); boolean hasNextPage = true; @@ -201,8 +203,13 @@ public class ApiTestController { Long tenantNo = Long.valueOf(departmentMap.get(department.getParentid()).getDeptno()); Long accountNo = Long.valueOf(department.getDeptno()); + pictureSourceParameter.setStartTime(Date.from(startInstant)); + pictureSourceParameter.setEndTime(Date.from(endInstant)); + pictureSourceParameter.setPageNo(currentPage); + pictureSourceParameter.setTenantNo(tenantNo); + pictureSourceParameter.setAccountNo(accountNo); - List resultList = getPictureSourceResultApiPage(pictureSourceParameter, startInstant, endInstant, currentPage, tenantNo, accountNo); + List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } @@ -278,45 +285,5 @@ public class ApiTestController { } return message; } - - private List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter, Instant startInstant, Instant endInstant, Integer currentPage, Long tenantNo, Long accountNo) { - - pictureSourceParameter.setStartTime(Date.from(startInstant)); - pictureSourceParameter.setEndTime(Date.from(endInstant)); - pictureSourceParameter.setPageNo(currentPage); - pictureSourceParameter.setTenantNo(tenantNo); - pictureSourceParameter.setAccountNo(accountNo); - - ApiPage apiPage = null; - try { - apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter); - } catch (Exception e) { - e.printStackTrace(); - } - - return apiPage == null ? Lists.newArrayList() : apiPage.getRecords(); - } - - private List getPictureSourceResultApiPage(DateTime dateTime, DateTime dateTime1, Integer pageNo, Integer pageSize, Long tenantNo, Long accountNo) { - //创建查询参数对象 - PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); - Instant binstant = dateTime.toInstant(); - Instant einstant = dateTime1.toInstant(); - pictureSourceParameter.setStartTime(Date.from(binstant)); - pictureSourceParameter.setEndTime(Date.from(einstant)); - pictureSourceParameter.setPageNo(pageNo); - pictureSourceParameter.setPageSize(pageSize); - pictureSourceParameter.setTenantNo(tenantNo); - pictureSourceParameter.setAccountNo(accountNo); - - ApiPage apiPage = null; - try { - apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter); - } catch (Exception e) { - e.printStackTrace(); - } - - return apiPage == null ? Lists.newArrayList() : apiPage.getRecords(); - } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFrontConfServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFrontConfServiceImpl.java index 5d21de57..992b82c9 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFrontConfServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFrontConfServiceImpl.java @@ -33,6 +33,7 @@ public class OcrFrontConfServiceImpl extends BaseServiceImpl resultSet = Sets.newConcurrentHashSet(); + /** - * 无量云接口数据处理 push 队列值 - * @return + * 无量云接口数据处理 push 队列值 + * * @param pictureSourceResult //三方拉取 获取到的图片对象 + * @return */ - public static boolean pictureDisposePushData(PictureSourceResult pictureSourceResult){ + public static boolean pictureDisposePushData(PictureSourceResult pictureSourceResult) { try { + Long taskId = pictureSourceResult.getTaskId(); + if (resultSet.contains(String.valueOf(taskId))) { + return true; + } + + resultSet.add(String.valueOf(taskId)); pictureDisposeQueue.put(pictureSourceResult); } catch (InterruptedException e) { - logger.error("任务队列添加异常:{}",e.getMessage()); return false; } - return true; + return true; } /** - * 无量云接口数据处理 拉取队列值 + * 无量云接口数据处理 拉取队列值 + * * @return */ - public static PictureSourceResult pictureDisposePullData(){ + public static PictureSourceResult pictureDisposePullData() { return (PictureSourceResult) pictureDisposeQueue.poll(); } /** - * 图片缓存本地队列 push 队列值 - * @return + * 图片缓存本地队列 push 队列值 + * * @param pictureImgToLocalEntity //图片下载对象 + * @return */ - public static boolean pictureImgToLocalPushData(PictureImgToLocalEntity pictureImgToLocalEntity){ + public static boolean pictureImgToLocalPushData(PictureImgToLocalEntity pictureImgToLocalEntity) { try { pictureImgToLocalQueue.put(pictureImgToLocalEntity); } catch (InterruptedException e) { - logger.error("图片下载任务队列添加异常:{}",e.getMessage()); return false; } - return true; + return true; } /** - * 无量云接口图片数据处理 拉取队列值 + * 无量云接口图片数据处理 拉取队列值 + * * @return */ - public static PictureImgToLocalEntity pictureImgToLocalPullData(){ + public static PictureImgToLocalEntity pictureImgToLocalPullData() { return (PictureImgToLocalEntity) pictureImgToLocalQueue.poll(); } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java index d758d450..2db123e1 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java @@ -7,7 +7,6 @@ import cn.jyjz.xiaoyao.admin.dataobject.Department; import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; -import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; @@ -56,11 +55,8 @@ public class PictureSourceTimerJob { //组装拉取参数 PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); -// pictureSourceParameter.setStartTime(); -// pictureSourceParameter.setEndTime(); pictureSourceParameter.setPageNo(1); pictureSourceParameter.setPageSize(200); -// pictureSourceParameter.setAccountNo(); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, -1); @@ -69,6 +65,11 @@ public class PictureSourceTimerJob { String endDateStr = dateFormat.format(yesterday).split(" ")[0] + " 23:59:59"; // 结束时间为昨天的23点59分59秒 DateTime dateTime = DateUtil.parse(startDateStr, "yyyy-MM-dd HH:mm:ss"); DateTime dateTime1 = DateUtil.parse(endDateStr, "yyyy-MM-dd HH:mm:ss"); + Instant binstant = dateTime.toInstant(); + Instant einstant = dateTime1.toInstant(); + pictureSourceParameter.setStartTime(Date.from(binstant)); + pictureSourceParameter.setEndTime(Date.from(einstant)); + //1.拉取数据 List departments = departmentMybatisDao.selectList(new QueryWrapper<>()); @@ -93,8 +94,10 @@ public class PictureSourceTimerJob { Long tenantNo = Long.valueOf(departmentMap.get(department.getParentid()).getDeptno()); Long accountNo = Long.valueOf(department.getDeptno()); + pictureSourceParameter.setTenantNo(tenantNo); + pictureSourceParameter.setAccountNo(accountNo); - List resultList = getPictureSourceResultApiPage(pictureSourceParameter, dateTime, dateTime1, tenantNo, accountNo); + List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } @@ -114,23 +117,4 @@ public class PictureSourceTimerJob { System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); } - - private List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter, DateTime dateTime, DateTime dateTime1, Long tenantNo, Long accountNo) { - //创建查询参数对象 - Instant binstant = dateTime.toInstant(); - Instant einstant = dateTime1.toInstant(); - pictureSourceParameter.setStartTime(Date.from(binstant)); - pictureSourceParameter.setEndTime(Date.from(einstant)); - pictureSourceParameter.setTenantNo(tenantNo); - pictureSourceParameter.setAccountNo(accountNo); - - ApiPage apiPage = null; - try { - apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter); - } catch (Exception e) { - e.printStackTrace(); - } - - return apiPage == null ? Lists.newArrayList() : apiPage.getRecords(); - } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java index c87043d9..d2000d09 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java @@ -7,7 +7,6 @@ import cn.jyjz.xiaoyao.admin.dataobject.Department; import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; -import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; @@ -66,6 +65,16 @@ public class PullPictureDataJob { departmentMap.put(department.getId(), department); } + //创建查询参数对象 + PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); + Instant binstant = dateTime.toInstant(); + Instant einstant = dateTime1.toInstant(); + pictureSourceParameter.setStartTime(Date.from(binstant)); + pictureSourceParameter.setEndTime(Date.from(einstant)); + pictureSourceParameter.setPageNo(pageNo); + pictureSourceParameter.setPageSize(pageSize); + + List totalList = Lists.newArrayList(); for (Department department : departments) { if (!departmentMap.containsKey(department.getParentid())) { @@ -74,8 +83,10 @@ public class PullPictureDataJob { Long tenantNo = Long.valueOf(departmentMap.get(department.getParentid()).getDeptno()); Long accountNo = Long.valueOf(department.getDeptno()); + pictureSourceParameter.setTenantNo(tenantNo); + pictureSourceParameter.setAccountNo(accountNo); - List resultList = getPictureSourceResultApiPage(dateTime, dateTime1, pageNo, pageSize, tenantNo, accountNo); + List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } @@ -94,26 +105,4 @@ public class PullPictureDataJob { } System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); } - - private List getPictureSourceResultApiPage(DateTime dateTime, DateTime dateTime1, Integer pageNo, Integer pageSize, Long tenantNo, Long accountNo) { - //创建查询参数对象 - PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); - Instant binstant = dateTime.toInstant(); - Instant einstant = dateTime1.toInstant(); - pictureSourceParameter.setStartTime(Date.from(binstant)); - pictureSourceParameter.setEndTime(Date.from(einstant)); - pictureSourceParameter.setPageNo(pageNo); - pictureSourceParameter.setPageSize(pageSize); - pictureSourceParameter.setTenantNo(tenantNo); - pictureSourceParameter.setAccountNo(accountNo); - - ApiPage apiPage = null; - try { - apiPage = prevailCloudApi.pullPictureSource(pictureSourceParameter); - } catch (Exception e) { - e.printStackTrace(); - } - - return apiPage == null ? Lists.newArrayList() : apiPage.getRecords(); - } } From 13bf3e48ccca885793ab230ea156fc3336f0cc27 Mon Sep 17 00:00:00 2001 From: Vincent <19330835921@163.com> Date: Sun, 21 Apr 2024 21:20:43 +0800 Subject: [PATCH 27/35] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=A8=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=8C=BA=E9=97=B4=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jyjz/xiaoyao/ocr/api/PrevailCloudApi.java | 2 ++ .../ocr/api/impl/PrevailCloudApiImpl.java | 30 +++++++++++++++++- .../ocr/controller/ApiTestController.java | 3 +- .../ocr/timerJob/PictureSourceTimerJob.java | 31 ++++++++++++------- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java index e43b1730..0adf75f6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java @@ -36,6 +36,8 @@ public interface PrevailCloudApi { */ boolean startImageDownloadMonitoring(String localImagePath) throws Exception; + List getAllPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter); + List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java index dfce2df2..fc6cd967 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java @@ -20,8 +20,9 @@ import cn.jyjz.xiaoyao.ocr.util.httputil.HttpMethod; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpParamers; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.google.common.collect.Lists; import lombok.SneakyThrows; -import org.apache.commons.compress.utils.Lists; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -220,6 +221,33 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { return true; } + @Override + public List getAllPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) { + ApiPage apiPage = null; + List result = Lists.newArrayListWithCapacity(pictureSourceParameter.getPageSize()); + try { + apiPage = this.pullPictureSource(pictureSourceParameter); + } catch (Exception e) { + e.printStackTrace(); + } + + if (apiPage == null || CollectionUtils.isEmpty(apiPage.getRecords())) { + return result; + } + + result.addAll(apiPage.getRecords()); + + // 如果pageSize超过实际的数据量说明数据已经查完了 + if (apiPage.getRecords().size() < pictureSourceParameter.getPageSize()) { + return result; + } + + // 数据没查完就翻页 + pictureSourceParameter.setPageNo(pictureSourceParameter.getPageNo() + 1); + result.addAll(this.getAllPictureSourceResultApiPage(pictureSourceParameter)); + return result; + } + @Override public List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) { ApiPage apiPage = null; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java index 1b093259..3a86692b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java @@ -10,6 +10,7 @@ import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; +import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; @@ -277,7 +278,7 @@ public class ApiTestController { pictureSourceParameter.setTenantNo(tenantNo); pictureSourceParameter.setAccountNo(accountNo); - List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); + List resultList = prevailCloudApi.getAllPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java index 2db123e1..297e99a6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java @@ -9,9 +9,9 @@ import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.compress.utils.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -87,6 +87,23 @@ public class PictureSourceTimerJob { } List totalList = Lists.newArrayList(); + totalList.addAll(this.pullData(departments, departmentMap, pictureSourceParameter)); + + int count = totalList.size(); + int size = 0; + for (PictureSourceResult pictureSourceResult : totalList) { + if (pictureSourceResult.getLivePhoto() != null) { + size++; + // 将可以处理数据放入处理队列中 + TaskQueue.pictureDisposePushData(pictureSourceResult); + } + } + + System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); + } + + private List pullData(List departments, Map departmentMap, PictureSourceParameter pictureSourceParameter) { + List totalList = Lists.newArrayListWithCapacity(pictureSourceParameter.getPageSize()); for (Department department : departments) { if (!departmentMap.containsKey(department.getParentid())) { continue; @@ -105,16 +122,6 @@ public class PictureSourceTimerJob { totalList.addAll(resultList); } - int count = totalList.size(); - int size = 0; - for (PictureSourceResult pictureSourceResult : totalList) { - if (pictureSourceResult.getLivePhoto() != null) { - size++; - // 将可以处理数据放入处理队列中 - TaskQueue.pictureDisposePushData(pictureSourceResult); - } - } - - System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); + return totalList; } } From ecf98f801a14f7ac119ce90c78296fd0ff132383 Mon Sep 17 00:00:00 2001 From: rongfeng Date: Sun, 21 Apr 2024 22:56:08 +0800 Subject: [PATCH 28/35] 1:ocr --- .../cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java index 63920804..c95983e3 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrPictureController.java @@ -363,7 +363,7 @@ public class OcrPictureController extends BaseController { private void filterScoreNoGroup(OcrPicture ocrPictureOne,Map> completeSimilarGroupMap){ //过滤阈值为100的,但是没有对应分类的图片 - if(Objects.nonNull(ocrPictureOne.getSimilarityscore())&&ocrPictureOne.getSimilarityscore()==100&&Objects.nonNull(ocrPictureOne.getCompleteSimilarGroupId())&&completeSimilarGroupMap.get(ocrPictureOne.getCompleteSimilarGroupId()).size()>1){ + if(Objects.nonNull(ocrPictureOne.getSimilarityscore())&&ocrPictureOne.getSimilarityscore()==100&&Objects.nonNull(ocrPictureOne.getCompleteSimilarGroupId())&&completeSimilarGroupMap.get(ocrPictureOne.getCompleteSimilarGroupId()).size()==1){ ocrPictureOne.setSimilarityscore(0); ocrPictureOne.setIsRepeat(1); } From ca34af9442b1bfc127210640d0a311c18757c2ab Mon Sep 17 00:00:00 2001 From: DELL Date: Mon, 22 Apr 2024 12:39:31 +0800 Subject: [PATCH 29/35] =?UTF-8?q?fix:=E8=A7=A3=E5=86=B3=E7=BB=88=E5=AE=A1?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1bug=EF=BC=8C=E5=8E=9F=E5=9B=A0=E7=9A=84?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E8=8A=82=E7=82=B9=E5=AD=97=E6=AE=B5=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=B8=8D=E5=86=8D=E6=98=AF?= =?UTF-8?q?=E6=95=B0=E5=AD=97=EF=BC=8C=E7=BB=88=E5=AE=A1=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E5=8F=98=E4=B8=BAfinale=5Fjudgment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OcrSearchHistoryServiceImpl.java | 36 +++++++++++++++---- .../jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java | 2 +- 2 files changed, 31 insertions(+), 7 deletions(-) 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 077f3200..7351d5e8 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 @@ -127,19 +127,31 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl ocrTaskchildPictureApproList = new ArrayList<>(); //定义第一审批节点 String taskNodeOne = ""; + Integer taskNode = null; 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()) { + String taskNodeStr = vo.getTaskNode(); + if ("finale_judgment".equals(taskNodeStr)) { + // 如果taskNode字段是"finale_judgment"字符串,将其转换为一个很大的数字 + vo.setTaskNode("100"); + taskNode = 100; + } else { + // 否则将其转换为Integer类型 + taskNode = Integer.parseInt(taskNodeStr); + } + if (!formIdToVoMap.containsKey(formId) || taskNode < Integer.parseInt(formIdToVoMap.get(formId).getTaskNode())) { formIdToVoMap.put(formId, vo); } } //获取该用户第一节点 Iterator> iterator = formIdToVoMap.entrySet().iterator(); Map.Entry firstEntry = iterator.next(); - taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode()); + taskNodeOne = firstEntry.getValue().getTaskNode(); + if("100".equals(taskNodeOne)){ + taskNodeOne = "finale_judgment"; + } //获取已经审批的任务ID List formIdList = new ArrayList<>(formIdToVoMap.keySet()); //查询该用户第一节点所有待审任务列表 @@ -221,19 +233,31 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl ocrTaskchildPictureApproList = new ArrayList<>(); //定义第一审批节点 String taskNodeOne = ""; + Integer taskNode = null; 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()) { + String taskNodeStr = vo.getTaskNode(); + if ("finale_judgment".equals(taskNodeStr)) { + // 如果taskNode字段是"finale_judgment"字符串,将其转换为一个很大的数字 + vo.setTaskNode("100"); + taskNode = 100; + } else { + // 否则将其转换为Integer类型 + taskNode = Integer.parseInt(taskNodeStr); + } + if (!formIdToVoMap.containsKey(formId) || taskNode < Integer.parseInt(formIdToVoMap.get(formId).getTaskNode())) { formIdToVoMap.put(formId, vo); } } //获取该用户第一节点 Iterator> iterator = formIdToVoMap.entrySet().iterator(); Map.Entry firstEntry = iterator.next(); - taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode()); + taskNodeOne = firstEntry.getValue().getTaskNode(); + if("100".equals(taskNodeOne)){ + taskNodeOne = "finale_judgment"; + } //获取已经审批的任务ID List formIdList = new ArrayList<>(formIdToVoMap.keySet()); //查询该用户第一节点所有待审任务列表 diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java index 262def60..d5a18891 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OaUserApproveVo.java @@ -27,7 +27,7 @@ public class OaUserApproveVo implements Serializable { private Long formId; @Schema(description = "审批节点") - private Integer taskNode; + private String taskNode; @Schema(description = "审批节点名称") private String taskName; From 5dd2e0f1071d02bd31032f69f79211c0d6b2df14 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Mon, 22 Apr 2024 14:07:30 +0800 Subject: [PATCH 30/35] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=B2=A1=E6=9C=89=E8=BF=94=E5=9B=9E=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/jyjz/xiaoyao/ocr/vo/OcrMsgVO.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrMsgVO.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrMsgVO.java index 7f689563..49acf11b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrMsgVO.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrMsgVO.java @@ -16,6 +16,22 @@ public class OcrMsgVO { */ private String id; + /** + * 标题 + */ + private String titile; + + /** + * 消息分类(1.审批通知,2.系统通知) + */ + private Integer msgCategory; + + + /** + * 接收人类型(1.用户,2.全部 3.部分用户) + */ + private Integer receiveUserType; + /** * 业务json */ From 9ff39fcb05360893a9f7e28b96bf30352d71f405 Mon Sep 17 00:00:00 2001 From: B1ackJack <9723189+b1ackjack@user.noreply.gitee.com> Date: Mon, 22 Apr 2024 17:37:19 +0800 Subject: [PATCH 31/35] =?UTF-8?q?fix:=20=E9=94=99=E8=AF=AF=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E4=BA=86=E9=83=A8=E5=88=86=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java | 8 -------- .../jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java | 4 ---- .../cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java | 4 ---- 3 files changed, 16 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java index 3a86692b..19181205 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java @@ -142,10 +142,6 @@ public class ApiTestController { Map departmentMap = Maps.newHashMapWithExpectedSize(departments.size()); for (Department department : departments) { - if (department.getDlevel() == 0) { - continue; - } - departmentMap.put(department.getId(), department); } @@ -234,10 +230,6 @@ public class ApiTestController { Map departmentMap = Maps.newHashMapWithExpectedSize(departments.size()); for (Department department : departments) { - if (department.getDlevel() == 0) { - continue; - } - departmentMap.put(department.getId(), department); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java index 297e99a6..85de3269 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java @@ -79,10 +79,6 @@ public class PictureSourceTimerJob { Map departmentMap = Maps.newHashMapWithExpectedSize(departments.size()); for (Department department : departments) { - if (department.getDlevel() == 0) { - continue; - } - departmentMap.put(department.getId(), department); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java index d2000d09..2a2bf799 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PullPictureDataJob.java @@ -58,10 +58,6 @@ public class PullPictureDataJob { Map departmentMap = Maps.newHashMapWithExpectedSize(departments.size()); for (Department department : departments) { - if (department.getDlevel() == 0) { - continue; - } - departmentMap.put(department.getId(), department); } From 06acd7cea5a21056aee0d4cb4a26fe62e65fd8d0 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Mon, 22 Apr 2024 19:07:24 +0800 Subject: [PATCH 32/35] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/jyjz/xiaoyao/ocr/util/SearchConfigEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchConfigEnum.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchConfigEnum.java index 75eb0d61..2faf1e24 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchConfigEnum.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/SearchConfigEnum.java @@ -35,7 +35,7 @@ public enum SearchConfigEnum { //提报人 UPUSERSEARCH("izupuser","upuserid"), //所属计划 - PLANSEARCH("izplan","planName"), + PLANSEARCH("izplan","planId"), //相似度 SIMISEARCH("izsimilarity","similarity_score"), //分类搜索 From c6b3a02a9562e6a211b74303ff12f3c620d7deef Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Mon, 22 Apr 2024 20:54:43 +0800 Subject: [PATCH 33/35] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=9B=BE?= =?UTF-8?q?=E9=89=B4=E7=9B=B8=E4=BC=BC=E5=BA=A6=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flowable/service/impl/FlowTaskServiceImpl.java | 11 +++++++++++ .../resources/mapper/oa/OcrTaskchildPictureMapper.xml | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) 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 b660cad1..41502592 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 @@ -1561,9 +1561,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask //补充历史状态名称,检查补充节点信息 for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : list) { + String assignee = ocrTaskchildPictureAppro.getAssignee(); //审批节点 当前如果没有历史操作,则将当前节点赋值到历史审批节点中. if (StringUtils.isBlank(ocrTaskchildPictureAppro.getTasknamehis())) { ocrTaskchildPictureAppro.setTasknamehis(ocrTaskchildPictureAppro.getTaskname()); + }else{ + if (assignee.contains(",")) { + String[] split = assignee.split(","); + for (int i = 0; i < split.length; i++) { + if (user.getLoginname().equals(split[i])) { + String[] taskIds = ocrTaskchildPictureAppro.getTasknamehis().split(","); + ocrTaskchildPictureAppro.setTasknamehis(taskIds[i]); + } + } + } } if (ocrTaskchildPictureAppro.getStatshis() != null) { 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 471eaecd..6a8e0c8a 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 @@ -935,7 +935,6 @@ 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 ocr_picture_info t5 on t2.ID = t5.picture_id WHERE t1.check_duplicate_id = #{checkDuplicateId} and t2.suspiciousfile = 0 From ceff620235d2f3770da3b7ae00b2608573324a57 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Mon, 22 Apr 2024 22:33:40 +0800 Subject: [PATCH 34/35] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8C=85=E4=B8=BB=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java | 6 +++++- .../src/main/resources/mapper/oa/OcrPictureMapper.xml | 2 -- .../main/resources/mapper/oa/OcrTaskchildPictureMapper.xml | 1 - 3 files changed, 5 insertions(+), 4 deletions(-) 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 189d4ea8..10b69d09 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 @@ -330,7 +330,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrPictureInfo::getPictureId, ocrPicture.getId())); + ocrPicture.setPictureInfo(one); + if(ObjectUtil.isNotEmpty(one)){ + ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp()); + } return ocrPicture; } diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureMapper.xml index 7c9805ca..d499b250 100644 --- a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureMapper.xml +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrPictureMapper.xml @@ -227,7 +227,6 @@