From fc17eca01ff99c67c1c617cc14b2973b34aeb5f5 Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Mon, 13 May 2024 17:46:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E9=AB=98=E7=BA=A7?= =?UTF-8?q?=E6=A3=80=E7=B4=A2=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/api/impl/PrevailCloudApiImpl.java | 3 +++ .../controller/OcrUsersearchController.java | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) 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 2beafe0c..88321072 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 @@ -125,6 +125,9 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { //解析基础数据 String data = ApiHelper.decryptResponse(apiConfig.getAccessCode(), resultData); ApiPage apiPage = JSONUtil.toBean(data, ApiPage.class); + if(apiPage.getTotal()==0){ + return null; + } //解析数据结果为List List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()), PictureSourceResult.class); ApiPage resultApiPage = new ApiPage<>(); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUsersearchController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUsersearchController.java index 205068e6..b282043b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUsersearchController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUsersearchController.java @@ -69,11 +69,12 @@ public class OcrUsersearchController extends BaseController{ @GetMapping(value = "/list") public ResultVo> queryPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - @RequestParam(name="type") @ApiParam(value = "类型(首页为0,终审为1)", required = true) Integer type, + @RequestParam(name="type") @ApiParam(value = "类型(首页:0,终审:1,任务审批:2)", required = true) Integer type, + @RequestParam(name="orderName", defaultValue="", required = false)String orderName, + @RequestParam(name="orderType",defaultValue="", required = false)String orderType, HttpServletRequest request) { //获取当前登录人 UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - ParamterPage paramterPage = new ParamterPage(); paramterPage.setPagesize(pageSize); paramterPage.setStart(pageNo); @@ -93,7 +94,18 @@ public class OcrUsersearchController extends BaseController{ queryWrapper.eq("USERID",userToken.getUserid()); queryWrapper.eq("TENANTID",tenantId); queryWrapper.eq("TYPE",type); - queryWrapper.orderByDesc(Arrays.asList("IZTOP","REORDER")); + + + if(StringUtils.isNotBlank(orderName)){ + if("desc".equals(orderType)){ + queryWrapper.orderByDesc(orderName); + }else{ + queryWrapper.orderByAsc(orderName); + } + }else{ + queryWrapper.orderByDesc(Arrays.asList("IZTOP","REORDER")); + } + IPage pageList = ocrUsersearchService.selectSearchListPage(paramterPage, queryWrapper); From 5488265b05a422d2de57c634ca6cac0a6c71ebfe Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Tue, 14 May 2024 09:09:29 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=A4=87=E6=B3=A8=EF=BC=8C=E9=87=8D=E7=BD=AE=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/api/entity/PictureSourceResult.java | 9 ++ .../ocr/dataDao/OcrPictureMybatisDao.java | 2 + .../xiaoyao/ocr/dataobject/OcrPicture.java | 5 + .../ocr/service/OcrPictureService.java | 5 + .../service/impl/OcrPictureServiceImpl.java | 31 ++++++- .../cn/jyjz/xiaoyao/ocr/thread/TaskQueue.java | 13 ++- .../ocr/thread/tasks/PictureDisposeTask.java | 92 ++++++++++--------- .../resources/mapper/oa/OcrPictureMapper.xml | 11 ++- 8 files changed, 122 insertions(+), 46 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/entity/PictureSourceResult.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/entity/PictureSourceResult.java index 0f81ed0c..9ed00008 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/entity/PictureSourceResult.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/entity/PictureSourceResult.java @@ -15,6 +15,10 @@ import java.util.Map; */ @Data public class PictureSourceResult { + /** + * id + */ + Long id; /** * 租户no */ @@ -204,4 +208,9 @@ public class PictureSourceResult { */ Long submitTime; + /** + * 备注 + */ + String comment; + } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java index 66ca3182..f9f042c1 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrPictureMybatisDao.java @@ -13,4 +13,6 @@ public interface OcrPictureMybatisDao extends BaseMapper { OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId); OcrPicture selectByRemark(@Param("remark") String remark); + + String getPictureApproveResult(Long id); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPicture.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPicture.java index e785e50c..8ff3ff36 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPicture.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrPicture.java @@ -364,6 +364,11 @@ public class OcrPicture implements BaseDto, java.io.Serializable { @TableField(value = "location") private String location; + @ApiModelProperty(value = "备注") + @Schema(description = "备注") + @TableField(value = "comment") + private String comment; + @ApiModelProperty(value = "拍照时间") @TableField(value = "photo_date_timestamp") @JsonSerialize(using = DateSerializer.class) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java index 6484ec03..ef6d5684 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrPictureService.java @@ -4,6 +4,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -32,6 +33,9 @@ public interface OcrPictureService extends BaseService { public ResultVo createTaskChild(List ocrPictureList, String tenantId, HttpServletRequest request); + String getPictureApproveResult(Long id); + + void deletePictureInfo(Long id); /** * 查询工单图片信息 * @@ -86,4 +90,5 @@ public interface OcrPictureService extends BaseService { */ OcrPicture selectByRemark(String remark); + OcrTaskchildPicture getOcrTaskChildPictureByPictureId(String pictureId); } 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 63bb0b60..153034b9 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 @@ -13,6 +13,8 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.service.CategoryService; +import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; +import cn.jyjz.xiaoyao.oa.from.service.impl.UserapproveServiceImpl; import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; import cn.jyjz.xiaoyao.ocr.dataDao.OcrPictureMybatisDao; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPackagetask; @@ -83,6 +85,8 @@ public class OcrPictureServiceImpl extends BaseServiceImpl ocrPictureList, String tenantId, UserToken sysUser, String search_month, HttpServletRequest request, String buessinessno) { @@ -343,6 +349,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrTaskchildPicture::getPictureid,pictureId)); + } + // @Override // public Long getPhotoDateTime(OcrPicture picture) { // long timestamp = 0L; @@ -504,6 +515,24 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrPictureInfo::getPictureId,id)); + OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getOne(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid, id)); + //删除任务表 + ocrTaskchildPictureService.remove(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid,id)); + //删除审批记录表 + userapproveService.delete(taskchildPicture.getId().toString()); + } + public void bubbleSortOpt(List compareList) { if (null == compareList) { @@ -695,7 +724,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl> livePhoto = pictureSourceResult.getLivePhoto(); + List> livePhoto = pictureSourceResult.getLivePhoto(); //定义新增集合对象 List ocrPictureList = new ArrayList<>(); - int index =0; + int index = 0; for (Map map : livePhoto) { - if(index>0){ + if (index > 0) { continue; } //检查图片地址是否为空 - if(map.get("imgUrl")!=null && !StringUtils.isEmpty(map.get("imgUrl").toString())){ + if (map.get("imgUrl") != null && !StringUtils.isEmpty(map.get("imgUrl").toString())) { //判断该任务是否存在,判断依据是任务ID相同,提报时间不同则可以插入 // LambdaQueryWrapper ocrPictureLambdaQueryWrapper = new LambdaQueryWrapper<>(); // ocrPictureLambdaQueryWrapper.eq(OcrPicture::getRemark,pictureSourceResult.getTaskId()); @@ -66,8 +66,16 @@ public class PictureDisposeTask implements Runnable{ // } //不为空开始组装参数 入库 OcrPicture picture = new OcrPicture(); + //id + if (pictureSourceResult.getId() != null) { + picture.setId(pictureSourceResult.getId()); + } + //备注 + if (pictureSourceResult.getComment() != null) { + picture.setComment(pictureSourceResult.getComment()); + } //定位信息 - if(pictureSourceResult.getLocation()!=null){ + if (pictureSourceResult.getLocation() != null) { picture.setLocation(JSONObject.toJSONString(pictureSourceResult.getLocation())); } //业务主体 @@ -75,21 +83,21 @@ public class PictureDisposeTask implements Runnable{ //业务主体名称 picture.setTenantname(pictureSourceResult.getAccountName()); //业务主体状态 - if(pictureSourceResult.getAccountStatus()!=null){ + if (pictureSourceResult.getAccountStatus() != null) { picture.setTenantstatus(pictureSourceResult.getAccountStatus().toString()); } //租户编号 - if(pictureSourceResult.getAccountNo()!=null){ + if (pictureSourceResult.getAccountNo() != null) { picture.setPictureid(pictureSourceResult.getAccountNo().toString()); } //租户名称 picture.setPicturename(pictureSourceResult.getAccountName()); //租户状态 - if(pictureSourceResult.getAccountStatus()!=null) { + if (pictureSourceResult.getAccountStatus() != null) { picture.setPicturestatus(pictureSourceResult.getAccountStatus().toString()); } //项目编号 - if(pictureSourceResult.getProjectNo()!=null){ + if (pictureSourceResult.getProjectNo() != null) { picture.setProjectid(pictureSourceResult.getProjectNo().toString()); } //项目id @@ -98,19 +106,19 @@ public class PictureDisposeTask implements Runnable{ //项目名称 picture.setProjectidname(pictureSourceResult.getProjectName()); //项目状态 - if(pictureSourceResult.getProjectNo()!=null) { + if (pictureSourceResult.getProjectNo() != null) { picture.setProjectstatus(pictureSourceResult.getProjectNo().toString()); } //所属主计划id - if(pictureSourceResult.getPlanNo()!=null) { + if (pictureSourceResult.getPlanNo() != null) { picture.setPlanid(pictureSourceResult.getPlanNo().toString()); } //所属计划名称 picture.setPlanname(pictureSourceResult.getPlanName()); //所属计划状态 - picture.setPlanstatus( pictureSourceResult.getPlanstatus()); + picture.setPlanstatus(pictureSourceResult.getPlanstatus()); //所属子计划id - if(pictureSourceResult.getPlanChildNo()!=null) { + if (pictureSourceResult.getPlanChildNo() != null) { picture.setPlanchildid(pictureSourceResult.getPlanChildNo().toString()); } //所属子计划名称 @@ -124,7 +132,7 @@ public class PictureDisposeTask implements Runnable{ //任务来源名称 picture.setField4("无量云2.0"); //所属任务状态 - if(pictureSourceResult.getTenantStatus()!=null) { + if (pictureSourceResult.getTenantStatus() != null) { picture.setTaskstatus(pictureSourceResult.getTenantStatus().toString()); } //提报人id @@ -138,78 +146,78 @@ public class PictureDisposeTask implements Runnable{ //拜访详细地址 StringBuilder addressDetails = new StringBuilder(); //拜访省份 - if(pictureSourceResult.getProvince()!=null){ - if(pictureSourceResult.getProvince().get("name")!=null){ + if (pictureSourceResult.getProvince() != null) { + if (pictureSourceResult.getProvince().get("name") != null) { addressDetails.append(pictureSourceResult.getProvince().get("name").toString()); picture.setReleaseprovince(pictureSourceResult.getProvince().get("name").toString()); } } //拜访城市 - if(pictureSourceResult.getCity()!=null){ - if(pictureSourceResult.getCity().get("name")!=null){ + if (pictureSourceResult.getCity() != null) { + if (pictureSourceResult.getCity().get("name") != null) { addressDetails.append(pictureSourceResult.getCity().get("name").toString()); picture.setReleasearea(pictureSourceResult.getCity().get("name").toString()); } } //拜访定位信息 - if(pictureSourceResult.getLocation()!=null){ - if(pictureSourceResult.getCity().get("address")!=null){ + if (pictureSourceResult.getLocation() != null) { + if (pictureSourceResult.getCity().get("address") != null) { addressDetails.append(pictureSourceResult.getCity().get("address").toString()); } } picture.setField10(addressDetails.toString()); //拜访客户类型 - if(pictureSourceResult.getTerminalType()!=null){ - if(pictureSourceResult.getTerminalType().get("name")!=null){ + if (pictureSourceResult.getTerminalType() != null) { + if (pictureSourceResult.getTerminalType().get("name") != null) { picture.setField2(pictureSourceResult.getTerminalType().get("name").toString()); } } //拜访客户名称 - if(pictureSourceResult.getCustomerName()!=null){ - if(pictureSourceResult.getCustomerName().get("name")!=null){ + if (pictureSourceResult.getCustomerName() != null) { + if (pictureSourceResult.getCustomerName().get("name") != null) { picture.setField3(pictureSourceResult.getCustomerName().get("name").toString()); } } //拜访客户级别 - if(pictureSourceResult.getTerminalLevel()!=null){ - if(pictureSourceResult.getTerminalLevel().get("name")!=null){ + if (pictureSourceResult.getTerminalLevel() != null) { + if (pictureSourceResult.getTerminalLevel().get("name") != null) { picture.setField6(pictureSourceResult.getTerminalLevel().get("name").toString()); } } //拜访项目类别 - if(pictureSourceResult.getProjectType()!=null){ - if(pictureSourceResult.getProjectType().get("name")!=null){ + if (pictureSourceResult.getProjectType() != null) { + if (pictureSourceResult.getProjectType().get("name") != null) { picture.setField17(pictureSourceResult.getProjectType().get("name").toString()); } } //拜访品种 - if(pictureSourceResult.getProductName()!=null){ - if(pictureSourceResult.getProductName().get("name")!=null){ + if (pictureSourceResult.getProductName() != null) { + if (pictureSourceResult.getProductName().get("name") != null) { picture.setField9(pictureSourceResult.getProductName().get("name").toString()); } } //厂商 - if(pictureSourceResult.getManufacturer()!=null){ - if(pictureSourceResult.getManufacturer().get("name")!=null){ + if (pictureSourceResult.getManufacturer() != null) { + if (pictureSourceResult.getManufacturer().get("name") != null) { picture.setField5(pictureSourceResult.getManufacturer().get("name").toString()); } } //拜访科室 - if(StringUtils.isNotBlank(pictureSourceResult.getCompanyDepartment())){ + if (StringUtils.isNotBlank(pictureSourceResult.getCompanyDepartment())) { picture.setField7(pictureSourceResult.getCompanyDepartment()); } //拜访小结 - if(StringUtils.isNotBlank(pictureSourceResult.getDiscoveredIssues())){ + if (StringUtils.isNotBlank(pictureSourceResult.getDiscoveredIssues())) { picture.setField8(pictureSourceResult.getDiscoveredIssues()); } //拜访日期 - if(StringUtils.isNotBlank(pictureSourceResult.getVisitDate())){ + if (StringUtils.isNotBlank(pictureSourceResult.getVisitDate())) { picture.setField11(pictureSourceResult.getVisitDate()); } @@ -219,18 +227,18 @@ public class PictureDisposeTask implements Runnable{ //图片创建时间 // picture.setPhotoDateTimestamp(System.currentTimeMillis()); - System.out.println("SubmitDateTimestamp1=================>>>>>>>"+pictureSourceResult.getSubmitTime()); - System.out.println("SubmitDateTimestamp2=================>>>>>>>"+picture.getSubmitDateTimestamp()); + System.out.println("SubmitDateTimestamp1=================>>>>>>>" + pictureSourceResult.getSubmitTime()); + System.out.println("SubmitDateTimestamp2=================>>>>>>>" + picture.getSubmitDateTimestamp()); //定位距离 - if(StringUtils.isNotBlank(pictureSourceResult.getDistance())){ + if (StringUtils.isNotBlank(pictureSourceResult.getDistance())) { picture.setField12(pictureSourceResult.getDistance()); } //设置图片信息 - if(map.get("imgName")!=null){ + if (map.get("imgName") != null) { picture.setImgname(map.get("imgName").toString()); } - if(map.get("imgUrl")!=null){ + if (map.get("imgUrl") != null) { picture.setImgurl(map.get("imgUrl").toString()); } //默认为创建人为admin 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 df711837..ef868c40 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 @@ -250,11 +250,20 @@ + From 14c1385d8b5f6adf631833faacadebd242bd527e Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Tue, 14 May 2024 22:37:55 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat=EF=BC=9A=E9=87=8D=E7=BD=AE=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=88=A0=E9=99=A4=E6=9F=A5=E9=87=8D=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=8F=8A=E5=9B=BE=E7=89=87=E6=9F=A5=E9=87=8D=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OcrPictureServiceImpl.java | 133 ++++++++++++------ .../resources/mapper/oa/OcrPictureMapper.xml | 14 +- 2 files changed, 98 insertions(+), 49 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 153034b9..a5922547 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 @@ -17,17 +17,8 @@ import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.service.impl.UserapproveServiceImpl; import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; import cn.jyjz.xiaoyao.ocr.dataDao.OcrPictureMybatisDao; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrPackagetask; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch; -import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild; -import cn.jyjz.xiaoyao.ocr.service.OcrPackagetaskService; -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.service.OcrUsersearchService; +import cn.jyjz.xiaoyao.ocr.dataobject.*; +import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity; import cn.jyjz.xiaoyao.ocr.util.DataDictionaryUtil; @@ -35,6 +26,7 @@ import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil; import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil; import cn.jyjz.xiaoyao.ocr.util.SearchEnum; import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -58,11 +50,7 @@ import java.io.File; import java.math.BigDecimal; import java.net.URL; import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -96,6 +84,14 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrPictureInfo::getPictureId, ocrPicture.getId())); ocrPicture.setPictureInfo(one); - if(ObjectUtil.isNotEmpty(one)){ + if (ObjectUtil.isNotEmpty(one)) { ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp()); } return ocrPicture; @@ -351,7 +347,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrTaskchildPicture::getPictureid,pictureId)); + return ocrTaskchildPictureService.getOne(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid, pictureId)); } // @Override @@ -415,7 +411,6 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrTaskchildPicture::getPictureid, ocrPicture.getId())); ocrTaskchildPicture.setBuessinessno(buessinessno); @@ -445,7 +440,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl ocrPictureList, String tenantId,HttpServletRequest request) { + public ResultVo createTaskChild(List ocrPictureList, String tenantId, HttpServletRequest request) { //图片错误信息 StringBuffer error = new StringBuffer(); //项目错误信息 @@ -517,7 +512,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl().eq(OcrPictureInfo::getPictureId,id)); + ocrPictureInfoService.remove(new LambdaQueryWrapper().eq(OcrPictureInfo::getPictureId, id)); OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getOne(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid, id)); //删除任务表 - ocrTaskchildPictureService.remove(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid,id)); + ocrTaskchildPictureService.remove(new LambdaQueryWrapper().eq(OcrTaskchildPicture::getPictureid, id)); //删除审批记录表 userapproveService.delete(taskchildPicture.getId().toString()); + //小结查重记录 + OcrCheckDescribeHis checkDescribeHis = ocrCheckDescribeHisService.getOne(new LambdaQueryWrapper().eq(OcrCheckDescribeHis::getPictureId, id)); + if (checkDescribeHis != null) { + String checkResult = checkDescribeHis.getCheckResult(); + if (StringUtils.isNotBlank(checkResult)) { + String[] checkResultPictureIds = checkResult.split(","); + List checkDescribes = ocrCheckDescribeHisService.list(new LambdaQueryWrapper().in(OcrCheckDescribeHis::getPictureId, checkResultPictureIds)); + for (OcrCheckDescribeHis checkDescribe : checkDescribes) { + String[] split = checkDescribe.getCheckResult().split(","); + List list = Arrays.asList(split); + list.remove(id.toString()); + checkDescribe.setCheckResult(String.join(",", list)); + } + ocrCheckDescribeHisService.updateBatchById(checkDescribes); + } + ocrCheckDescribeHisService.remove(new LambdaQueryWrapper().eq(OcrCheckDescribeHis::getPictureId, id)); + } + //图片对比记录 + OcrPictureDuplicateHis hisServiceOne = ocrPictureDuplicateHisService.getOne(new LambdaQueryWrapper().eq(OcrPictureDuplicateHis::getPictureId, id)); + if (null != hisServiceOne) { + String checkDuplicateResultHisJson = hisServiceOne.getCheckDuplicateResultHisJson(); + if (StringUtils.isNotBlank(checkDuplicateResultHisJson)) { + JSONObject jsonObject = JSON.parseObject(checkDuplicateResultHisJson); + Set keyList = jsonObject.keySet(); + List list = ocrPictureDuplicateHisService.list(new LambdaQueryWrapper().in(OcrPictureDuplicateHis::getPictureId, keyList)); + for (OcrPictureDuplicateHis ocrPictureDuplicateHis : list) { + String checkDuplicateResultHis = ocrPictureDuplicateHis.getCheckDuplicateResultHisJson(); + JSONObject json = JSON.parseObject(checkDuplicateResultHis); + json.remove(id.toString()); + ocrPictureDuplicateHis.setCheckDuplicateResultHisJson(JSON.toJSONString(json)); + } + ocrPictureDuplicateHisService.updateBatchById(list); + } + ocrPictureDuplicateHisService.remove(new LambdaQueryWrapper().eq(OcrPictureDuplicateHis::getPictureId, id)); + } + //查重结果 + OcrCheckDuplicateResult duplicateResult = ocrCheckDuplicateResultService.getOne(new LambdaQueryWrapper().eq(OcrCheckDuplicateResult::getPictureId, id)); + String compareResultJson = duplicateResult.getCompareResultJson(); + if (StringUtils.isNotBlank(compareResultJson)) { + JSONObject jsonObject = JSON.parseObject(compareResultJson); + Set keyList = jsonObject.keySet(); + List list = ocrCheckDuplicateResultService.list(new LambdaQueryWrapper().in(OcrCheckDuplicateResult::getPictureId, keyList)); + for (OcrCheckDuplicateResult checkDuplicateResult : list) { + String resultCompareResultJson = checkDuplicateResult.getCompareResultJson(); + JSONObject json = JSON.parseObject(resultCompareResultJson); + json.remove(id.toString()); + checkDuplicateResult.setCompareResultJson(JSON.toJSONString(json)); + } + ocrCheckDuplicateResultService.updateBatchById(list); + } + ocrCheckDuplicateResultService.remove(new LambdaQueryWrapper().eq(OcrCheckDuplicateResult::getPictureId, id)); } public void bubbleSortOpt(List compareList) { @@ -710,7 +756,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl ocrPictureList){ + public int savePictures(List ocrPictureList) { //1.字典数据 解析入库 boolean b = dataDictionaryUtil.pictureDataDictionarySaveArray(ocrPictureList); @@ -722,9 +768,9 @@ public class OcrPictureServiceImpl extends BaseServiceImpl list = new ArrayList<>(); for (OcrPicture ocrPicture : ocrPictureList) { if (StringUtils.isNotBlank(ocrPicture.getImgurl())) { - OcrPictureInfo imageInfo = getImageInfo(ocrPicture.getImgurl(),true); + OcrPictureInfo imageInfo = getImageInfo(ocrPicture.getImgurl(), true); if (ObjectUtil.isNotEmpty(imageInfo)) { imageInfo.setPictureId(ocrPicture.getId()); imageInfo.setImgName(ocrPicture.getImgname()); @@ -758,17 +804,18 @@ public class OcrPictureServiceImpl extends BaseServiceImpl list) { for (OcrPicture ocrPicture : list) { PictureImgToLocalEntity entity = new PictureImgToLocalEntity(); @@ -855,15 +902,15 @@ public class OcrPictureServiceImpl extends BaseServiceImpl