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