From 142dc2c0807038dadc0ff14c505d0d009dc73956 Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Wed, 27 Mar 2024 19:57:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=8F=8A=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OcrTaskchildPictureController.java | 7 +- .../OcrTaskchildPictureMybatisDao.java | 5 +- .../service/OcrTaskchildPictureService.java | 7 +- .../impl/OcrTaskchildPictureServiceImpl.java | 27 +-- .../xiaoyao/ocr/vo/OcrTaskChildPictureVo.java | 171 ++++++++++++++++++ .../resources/mapper/oa/OcrPictureMapper.xml | 2 + .../mapper/oa/OcrTaskchildPictureMapper.xml | 54 +++++- 7 files changed, 242 insertions(+), 31 deletions(-) create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskChildPictureVo.java diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildPictureController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildPictureController.java index 0858aa56..4f662056 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildPictureController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrTaskchildPictureController.java @@ -16,6 +16,7 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; +import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -376,7 +377,7 @@ public class OcrTaskchildPictureController extends BaseController { @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true) }) @GetMapping("/getSimilarityList") - public ResultVo> getSimilarityList(HttpServletRequest request) { + public ResultVo> getSimilarityList(HttpServletRequest request) { //获取页码、当前页 String pageNo = request.getParameter("pageNo"); String pageSize = request.getParameter("pageSize"); @@ -396,7 +397,7 @@ public class OcrTaskchildPictureController extends BaseController { String orderType = request.getParameter("orderType"); //排序字段 String orderValue = request.getParameter("orderName"); - Page similarityList = ocrTaskchildPictureService.getSimilarityList(Integer.valueOf(pageNo), Integer.valueOf(pageSize), pictureId, orderType, orderValue); + Page similarityList = ocrTaskchildPictureService.getSimilarityList(Integer.valueOf(pageNo), Integer.valueOf(pageSize), pictureId, orderType, orderValue); return ResultVoUtil.success(similarityList); } @@ -414,7 +415,7 @@ public class OcrTaskchildPictureController extends BaseController { @RequestParam(name = "checkDuplicateId") String checkDuplicateId, @RequestParam(name = "pictureId", required = false) String pictureId, HttpServletRequest req) { - Page result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId); + Page result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId); return ResultVoUtil.success(result); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrTaskchildPictureMybatisDao.java index 9d5643b6..ddd0acfc 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 @@ -3,6 +3,7 @@ package cn.jyjz.xiaoyao.ocr.dataDao; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; 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.PictureDetailVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -48,9 +49,9 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper getPictureHistoryList(@Param("pictureIds") List pictureIds, @Param("taskname") String taskname); + List getPictureHistoryList(@Param("pictureIds") List pictureIds, @Param("taskname") String taskname); PictureDetailVo getPictureDetail(String pictureId); - Page getPackageSimilarityList(Page page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName); + Page getPackageSimilarityList(Page page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java index 5df03fbc..326a9b7f 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java @@ -10,6 +10,7 @@ import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; 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.PictureDetailVo; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -138,12 +139,12 @@ public interface OcrTaskchildPictureService extends BaseService query); - List getPictureHistoryList(List pictureIds, String taskname); + List getPictureHistoryList(List pictureIds, String taskname); PictureDetailVo getPictureDetail(String pictureId, UserToken userToken); - Page getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue); + Page getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue); - Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId); + Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId); } 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 8fe066b5..fa8f1e53 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 @@ -19,6 +19,7 @@ import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; +import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo; import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -623,7 +624,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl getPictureHistoryList(List pictureIds, String taskname) { + public List getPictureHistoryList(List pictureIds, String taskname) { return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds,taskname); } @@ -643,31 +644,31 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue) { + public Page getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue) { OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper().eq(OcrPictureDuplicateHis::getPictureId, pictureId)); - Page objectPage = new Page<>(); + Page objectPage = new Page<>(); if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) { OcrTaskchildPicture one = this.getOne(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid, pictureId)); JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson()); Set pictureIds = jsonObject.keySet(); - List taskChildPictures = this.getPictureHistoryList(new ArrayList<>(pictureIds), one.getTaskname()); - for (OcrTaskchildPicture taskChildPicture : taskChildPictures) { - taskChildPicture.setSimilarityscore(Integer.parseInt(jsonObject.getString(taskChildPicture.getPictureid().toString()))); + List taskChildPictures = this.getPictureHistoryList(new ArrayList<>(pictureIds), one.getTaskname()); + for (OcrTaskChildPictureVo taskChildPicture : taskChildPictures) { + taskChildPicture.setSimilarityScore(Integer.parseInt(jsonObject.getString(taskChildPicture.getPictureId().toString()))); } if (orderValue.equals("similarityScore")) { if ("desc".equals(orderType)) { - taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getSimilarityscore).reversed()); + taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getSimilarityScore).reversed()); } else { - taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getSimilarityscore)); + taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getSimilarityScore)); } } else { if ("desc".equals(orderType)) { - taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getCreatedate).reversed()); + taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getCreateDate).reversed()); } else { - taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getCreatedate)); + taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getCreateDate)); } } - List collect = taskChildPictures.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); + List collect = taskChildPictures.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); objectPage.setRecords(collect); objectPage.setTotal(taskChildPictures.size()); return objectPage; @@ -676,8 +677,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) { - Page page = new Page<>(pageNo,pageSize); + public Page getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) { + Page page = new Page<>(pageNo,pageSize); return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page,checkDuplicateId,pictureId,oderType,oderName); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskChildPictureVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskChildPictureVo.java new file mode 100644 index 00000000..cdea78da --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrTaskChildPictureVo.java @@ -0,0 +1,171 @@ +package cn.jyjz.xiaoyao.ocr.vo; + +import cn.jyjz.xiaoyao.oa.from.dataobject.Category; +import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo; +import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "任务信息", description = "任务信息") +public class OcrTaskChildPictureVo implements java.io.Serializable { + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "原图片主键") + private String pictureId; + + @ApiModelProperty(value = "状态,审批状态 1:未提交 2:审批中 3:审批通过 ,5:拒绝") + private Integer states; + + @ApiModelProperty(value = "流程实例IdprocessInstanceId") + private String processInstanceId; + + @ApiModelProperty(value = "流程定义id") + private String processDefinitionId; + + @ApiModelProperty(value = "流程部署id") + private String deploymentId; + + @ApiModelProperty(value = "审批人姓名") + private String assigneeName; + + @ApiModelProperty(value = "审批人") + private String assignee; + + @ApiModelProperty(value = "修改人,记录创建人的帐号") + private String updateUser; + + @ApiModelProperty(value = "更新时间") + private Long updateTime; + + @ApiModelProperty(value = "附件") + private String fileAnnex; + + @ApiModelProperty(value = "是否归档,0:未归档,1:归档") + private Integer guiDang; + + @ApiModelProperty(value = "创建人") + private String createUser; + + @ApiModelProperty(value = "创建人姓名") + private String createUserName; + + @ApiModelProperty(value = "创建时间") + private Long createDate; + + @ApiModelProperty(value = "员工主键") + private Long userId; + + @ApiModelProperty(value = "员工姓名") + private String userName; + + @ApiModelProperty(value = "任务id,来源于图片表") + private String fromTaskId; + + @ApiModelProperty(value = "任务名称,来源于图片表") + private String fromTaskName; + + @ApiModelProperty(value = "提报人") + private String fromUserId; + + @ApiModelProperty(value = "提报人名称") + private String fromUserName; + + @ApiModelProperty(value = "所属项目") + private String fromProjectId; + + @ApiModelProperty(value = "所属项目名称") + private String fromProjectName; + + @ApiModelProperty(value = "所属计划") + private String fromPlanId; + + @ApiModelProperty(value = "提报时间") + private Long fromupTime; + + @ApiModelProperty(value = "任务来源") + private String fromSourceId; + + @ApiModelProperty(value = "是否为相似图片,与其他图片对比为百分百的,记录为1,0:不相似,1:相似") + private Integer havePoints; + + @Schema(description = "当前节点名称") + private String taskName; + + @Schema(description = "完成时间") + private Long finishTime; + + @ApiModelProperty(value = "项目对象") + private Category categoryDto; + + @ApiModelProperty(value = "节点主键") + private String taskId; + + @ApiModelProperty(value = "节点描述") + private String documentation; + + @ApiModelProperty(value = "是否为历史图片,true:是历史图片,false:非历史图片") + private boolean izHistory; + + @ApiModelProperty(value = "图片真假 0:假,1:真,其他表示没有设置") + private Integer iztrueorfalse; + + @ApiModelProperty(value = "是否已经审批,0:未审批,1:审批中,2:已审批") + private String workStatus; + + @ApiModelProperty(value = "图片对象") + private OcrPicture ocrPicture; + + @ApiModelProperty(value = "提报时间") + private String reportTime; + + @ApiModelProperty(value = "相似度数值") + private Integer similarityScore; + + @ApiModelProperty(value = "本人审查日志") + private Userapprove userapprove; + + @ApiModelProperty(value = "拜访终端") + private String field3 = "测试拜访终端"; + + @ApiModelProperty(value = "是否重复") + private String field14 = "重复"; + + @ApiModelProperty(value = "历史状态") + private Integer historyStates; + + @ApiModelProperty(value = "定位") + private String location; + + @ApiModelProperty(value = "图片路径") + private String imgUrl; + + @ApiModelProperty(value = "最大相似度值") + private String maxSimilarity; + + @ApiModelProperty(value = "缩略图") + private String serverThumbnailUrl; + + @ApiModelProperty(value = "生成时间") + private String submitDateTimestamp; + + @ApiModelProperty(value = "拍照时间") + private String photoDateTimestamp; + +} 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 0302a009..6e283e3a 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 @@ -64,6 +64,8 @@ + + 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 e947477e..530669b5 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 @@ -554,13 +554,17 @@ AND ID = #{id} - + SELECT t2.ID id, t2.PICTUREID pictureId, t2.STATES states, t2.PROCESSINSTANCEID processInstanceId, + t2.PROCESSDEFINITIONID processDefinitionId, t2.DEPLOYMENTID deploymentId, t2.ASSIGNEENAME assigneeName, t2.ASSIGNEE assignee, + t2.FILEANNEX fileAnnex, t2.GUIDANG guiDang, t2.CREATEUSER createUser, t2.CREATEUSERNAME createUserName, t2.CREATEDATE createDate, t2.USERID userId, t2.USERNAME userName, + t2.FROMTASKID fromTaskId, t2.FROMTASKNAME fromTaskName, t2.FROMUSERID fromUserId, t2.FROMPROJECTID fromProjectId, t2.FROMPLANID fromPlanId, t2.FROMUPTIME fromupTime, t2.FROMSOURCEID fromSourceId, + t2.HAVEPOINTS havePoints, t2.TASKNAME taskName, t2.FROMUSERNAME fromUserName, t2.FROMPROJECTNAME fromProjectName, t2.FINISHTIME finishTime,t1.imgUrl, + ifnull(t3.STATSHIS, 1) historyStates,t1.submit_date_timestamp submitDateTimestamp,t1.photo_date_timestamp photoDateTimestamp FROM ocr_picture t1 - LEFT JOIN ocr_taskchild_picture t2 - on t1.ID = t2.PICTUREID - LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}' + LEFT JOIN ocr_taskchild_picture t2 + on t1.ID = t2.PICTUREID + LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}' where t1.ID in #{item} @@ -628,10 +632,40 @@ where t1.ID = #{pictureId} - + SELECT t3.ID id, + t3.PICTUREID pictureId, + t3.STATES states, + t3.PROCESSINSTANCEID processInstanceId, + t3.PROCESSDEFINITIONID processDefinitionId, + t3.DEPLOYMENTID deploymentId, + t3.ASSIGNEENAME assigneeName, + t3.ASSIGNEE assignee, + t3.FILEANNEX fileAnnex, + t3.GUIDANG guiDang, + t3.CREATEUSER createUser, + t3.CREATEUSERNAME createUserName, + t3.CREATEDATE createDate, + t3.USERID userId, + t3.USERNAME userName, + t3.FROMTASKID fromTaskId, + t3.FROMTASKNAME fromTaskName, + t3.FROMUSERID fromUserId, + t3.FROMPROJECTID fromProjectId, + t3.FROMPLANID fromPlanId, + t3.FROMUPTIME fromupTime, + t3.FROMSOURCEID fromSourceId, + t3.HAVEPOINTS havePoints, + t3.TASKNAME taskName, + t3.FROMUSERNAME fromUserName, + t3.FROMPROJECTNAME fromProjectName, + t3.FINISHTIME finishTime, + t2.imgUrl, + t2.submit_date_timestamp submitDateTimestamp, + t2.photo_date_timestamp photoDateTimestamp, + t2.server_thumbnail_url serverThumbnailUrl, + t1.max_similarity maxSimilarity, + ifnull(t4.STATSHIS, 1) historyStates 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