Merge remote-tracking branch 'origin/master'

pull/1/head
707464720@qq.com 1 year ago
commit cf9a24596f

@ -10,6 +10,7 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult; import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService; import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateService; import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil; import cn.jyjz.xiaoyao.ocr.util.DataUtil;
@ -18,6 +19,7 @@ import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -86,7 +88,7 @@ public class OcrCheckDuplicateController {
if (pageList.size() == 1) { if (pageList.size() == 1) {
return ResultVoUtil.error("查重数据至少要有两条。"); return ResultVoUtil.error("查重数据至少要有两条。");
} else { } else {
return ocrCheckDuplicateService.duplicateCheck(pageList, tenantId, userToken, req,paraMap); return ocrCheckDuplicateService.duplicateCheck(pageList, tenantId, userToken, req, paraMap);
} }
} else { } else {
return ResultVoUtil.error("没有查重数据。"); return ResultVoUtil.error("没有查重数据。");
@ -97,27 +99,28 @@ public class OcrCheckDuplicateController {
@GetMapping("/getCheckDuplicateStatus") @GetMapping("/getCheckDuplicateStatus")
@ResponseBody @ResponseBody
public ResultVo getCheckDuplicateStatus(HttpServletResponse response, HttpServletRequest request, public ResultVo getCheckDuplicateStatus(HttpServletResponse response, HttpServletRequest request,
@RequestParam(name="checkDuplicateNo",required = true) String checkDuplicateNo) throws IOException { @RequestParam(name = "checkDuplicateNo", required = true) String checkDuplicateNo) throws IOException {
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
if(StringUtils.isBlank(checkDuplicateNo)){ if (StringUtils.isBlank(checkDuplicateNo)) {
return ResultVoUtil.error("查重编号不能为空"); return ResultVoUtil.error("查重编号不能为空");
} }
OcrCheckDuplicate dto = this.ocrCheckDuplicateService.getCheckDuplicateStatus(checkDuplicateNo); OcrCheckDuplicate dto = this.ocrCheckDuplicateService.getCheckDuplicateStatus(checkDuplicateNo);
if(null != dto){ if (null != dto) {
return ResultVoUtil.success(dto); return ResultVoUtil.success(dto);
}else{ } else {
return ResultVoUtil.error(); return ResultVoUtil.error();
} }
} }
/** /**
* *
*
* @param request * @param request
* @return * @return
*/ */
@ -125,35 +128,36 @@ public class OcrCheckDuplicateController {
public ResultVo getLastCheckNo(HttpServletRequest request) { public ResultVo getLastCheckNo(HttpServletRequest request) {
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
String lastCheckNo = this.ocrCheckDuplicateService.getLastCheckNo(tenantId); String lastCheckNo = this.ocrCheckDuplicateService.getLastCheckNo(tenantId);
if(!StringUtils.isBlank(lastCheckNo)){ if (!StringUtils.isBlank(lastCheckNo)) {
return ResultVoUtil.success(lastCheckNo); return ResultVoUtil.success(lastCheckNo);
}else{ } else {
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
} }
/** /**
* *
*
* @param request * @param request
* @return * @return
*/ */
@GetMapping(value = "/removeCheckDuplicate") @GetMapping(value = "/removeCheckDuplicate")
public ResultVo removeCheckDuplicate(HttpServletRequest request,@RequestParam(name="checkDuplicateNo",required = true) String checkDuplicateNo) { public ResultVo removeCheckDuplicate(HttpServletRequest request, @RequestParam(name = "checkDuplicateNo", required = true) String checkDuplicateNo) {
String tenantId = request.getHeader("X-Tenant-Id"); String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
Boolean result = this.ocrCheckDuplicateService.removeCheckDuplicate(checkDuplicateNo,tenantId); Boolean result = this.ocrCheckDuplicateService.removeCheckDuplicate(checkDuplicateNo, tenantId);
if(result){ if (result) {
return ResultVoUtil.success("取消查重任务成功!"); return ResultVoUtil.success("取消查重任务成功!");
} }
return ResultVoUtil.error("取消任务失败!"); return ResultVoUtil.error("取消任务失败!");
@ -179,6 +183,4 @@ public class OcrCheckDuplicateController {
return ResultVoUtil.success(pageList); return ResultVoUtil.success(pageList);
} }
} }

@ -13,6 +13,7 @@ import cn.jyjz.xiaoyao.admin.service.LogService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; 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.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil; import cn.jyjz.xiaoyao.ocr.util.DataUtil;
@ -173,17 +174,16 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.error("查重数据至少要有两条。"); return ResultVoUtil.error("查重数据至少要有两条。");
} }
} }
ocrPictureService.createTaskChild(pageList, pageList.get(0).getTenantId().toString(),req); ocrPictureService.createTaskChild(pageList, pageList.get(0).getTenantId().toString(), req);
return ResultVoUtil.error("没有查重数据。"); return ResultVoUtil.error("没有查重数据。");
} }
/** /**
* *
*
* @param req * @param req
* @return * @return
*/ */
@ -230,7 +230,7 @@ public class OcrPictureController extends BaseController {
queryWrapper.eq("tenant_id", tenantId); queryWrapper.eq("tenant_id", tenantId);
List<OcrPicture> pageList = ocrPictureService.listPage(queryWrapper); List<OcrPicture> pageList = ocrPictureService.listPage(queryWrapper);
if (null != pageList && !pageList.isEmpty()) { if (null != pageList && !pageList.isEmpty()) {
return ocrPictureService.createTaskChild(pageList, tenantId, userToken, search_month, req, buessinessno); return ocrPictureService.createTaskChild(pageList, tenantId, userToken, search_month, req, buessinessno);
} else { } else {
return ResultVoUtil.error("没有查重数据。"); return ResultVoUtil.error("没有查重数据。");
} }
@ -268,7 +268,7 @@ public class OcrPictureController extends BaseController {
String search_month = req.getParameter("search_month"); String search_month = req.getParameter("search_month");
String ordertype = req.getParameter("ordertype"); String ordertype = req.getParameter("ordertype");
queryWrapper.eq("suspiciousfile","0"); queryWrapper.eq("suspiciousfile", "0");
if (StringUtils.isNotBlank(ordertype)) { if (StringUtils.isNotBlank(ordertype)) {
if (ordertype.equals("0")) { if (ordertype.equals("0")) {
queryWrapper.orderByAsc("similarity_score"); queryWrapper.orderByAsc("similarity_score");
@ -385,4 +385,28 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
/**
*
*
* @return
*/
@GetMapping(value = "/getPackagePicture")
public ResultVo getPackagePictureInfo(@RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId", required = false) String pictureId,
HttpServletRequest req) {
OcrPicture result = ocrPictureService.getPackagePictureInfo(checkDuplicateId, pictureId);
return ResultVoUtil.success(result);
}
/**
* id1,2,3
* mail.zhangyong@gmail.com
* 2024-01-14 10:27:01
**/
@GetMapping("/getPictureDetail")
public ResultVo getPictureDetail(@RequestParam(value = "pictureId") String pictureId, HttpServletRequest request) throws IOException {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
return ResultVoUtil.success(ocrTaskchildPictureService.getPictureDetail(pictureId, userToken));
}
} }

@ -7,15 +7,20 @@ import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage;
import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto; import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrTaskPackageService; import cn.jyjz.xiaoyao.ocr.service.IOcrTaskPackageService;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/** /**
* <p> * <p>
@ -39,6 +44,7 @@ public class OcrTaskPackageController extends BaseController {
/** /**
* *
*
* @param ocrTaskPackage * @param ocrTaskPackage
* @param req * @param req
* @return * @return
@ -48,22 +54,22 @@ public class OcrTaskPackageController extends BaseController {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户 //租户
String tenantId = req.getHeader("X-Tenant-Id"); String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){ if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空"); return ResultVoUtil.error("租户主键不能为空");
} }
ocrTaskPackage.setTenantId(Long.parseLong(tenantId)); ocrTaskPackage.setTenantId(Long.parseLong(tenantId));
//校验参数包名称 //校验参数包名称
if(ocrTaskPackage == null){ if (ocrTaskPackage == null) {
return ResultVoUtil.error("参数对象为空"); return ResultVoUtil.error("参数对象为空");
} }
//校验参数包名称 //校验参数包名称
if(StringUtils.isBlank(ocrTaskPackage.getName())){ if (StringUtils.isBlank(ocrTaskPackage.getName())) {
return ResultVoUtil.error("任务包名称不能为空"); return ResultVoUtil.error("任务包名称不能为空");
} }
//校验参数包名称 //校验参数包名称
if(StringUtils.isBlank(ocrTaskPackage.getCheckDuplicateNo())){ if (StringUtils.isBlank(ocrTaskPackage.getCheckDuplicateNo())) {
return ResultVoUtil.error("查重任务编号不能为空"); return ResultVoUtil.error("查重任务编号不能为空");
} }
ocrTaskPackage.setCreateBy(userToken.getUserid()); ocrTaskPackage.setCreateBy(userToken.getUserid());
@ -74,21 +80,39 @@ public class OcrTaskPackageController extends BaseController {
/** /**
* *
*
* @param packageId * @param packageId
* @param req * @param req
* @return * @return
*/ */
@GetMapping(value = "/deletePackage") @GetMapping(value = "/deletePackage")
public ResultVo deletePackage(@RequestParam(name="packageId",required = true)Long packageId, HttpServletRequest req) { public ResultVo deletePackage(@RequestParam(name = "packageId", required = true) Long packageId, HttpServletRequest req) {
OcrTaskPackage taskPackage = new OcrTaskPackage(); OcrTaskPackage taskPackage = new OcrTaskPackage();
taskPackage.setId(packageId); taskPackage.setId(packageId);
taskPackage.setIsDelete(1); taskPackage.setIsDelete(1);
boolean b = ocrTaskPackageService.updateById(taskPackage); boolean b = ocrTaskPackageService.updateById(taskPackage);
if(b){ if (b) {
return ResultVoUtil.success(); return ResultVoUtil.success();
}else{ } else {
return ResultVoUtil.error(); return ResultVoUtil.error();
} }
} }
/**
*
*
* @param packageName
* @param req
* @return
*/
@GetMapping(value = "/getPackageList")
public ResultVo getPackageList(@RequestParam(name = "packageName", required = false) String packageName,
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
HttpServletRequest req) {
Page<Map<String, Object>> result = ocrTaskPackageService.getPackageList(pageNo, pageSize, packageName);
return ResultVoUtil.success(result);
}
} }

@ -136,8 +136,8 @@ public class OcrTaskchildPictureController extends BaseController {
//获取页码、当前页 //获取页码、当前页
String pageNoStr = request.getParameter("pageNo"); String pageNoStr = request.getParameter("pageNo");
String pageSizeStr = request.getParameter("pageSize"); String pageSizeStr = request.getParameter("pageSize");
if(StringUtils.isEmpty(pageNoStr)|| StringUtils.isEmpty(pageSizeStr)){ if (StringUtils.isEmpty(pageNoStr) || StringUtils.isEmpty(pageSizeStr)) {
return ResultVoUtil.error("页码和条数必传!"); return ResultVoUtil.error("页码和条数必传!");
} }
paramterPage.setStart(Integer.parseInt(pageNoStr)); paramterPage.setStart(Integer.parseInt(pageNoStr));
paramterPage.setPagesize(Integer.parseInt(pageSizeStr)); paramterPage.setPagesize(Integer.parseInt(pageSizeStr));
@ -171,12 +171,12 @@ public class OcrTaskchildPictureController extends BaseController {
jsonObject.put("packageid", jsonObject.getOrDefault("packageid", null).toString()); jsonObject.put("packageid", jsonObject.getOrDefault("packageid", null).toString());
return jsonObject; return jsonObject;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<JSONObject> collect1=new ArrayList<>(); List<JSONObject> collect1 = new ArrayList<>();
for (JSONObject asd:collect){ for (JSONObject asd : collect) {
QueryWrapper<OcrPicture> imgWrapper = new QueryWrapper<>(); QueryWrapper<OcrPicture> imgWrapper = new QueryWrapper<>();
imgWrapper.eq("id",asd.get("pictureid")); imgWrapper.eq("id", asd.get("pictureid"));
OcrPicture one = ocrPictureService.getOne(imgWrapper); OcrPicture one = ocrPictureService.getOne(imgWrapper);
if (one.getSuspiciousfile()==0){ if (one.getSuspiciousfile() == 0) {
collect1.add(asd); collect1.add(asd);
} }
} }
@ -303,7 +303,7 @@ public class OcrTaskchildPictureController extends BaseController {
@PathVariable("packageid") Long packageid, @PathVariable("packageid") Long packageid,
@PathVariable("id") Long id) throws IOException { @PathVariable("id") Long id) throws IOException {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
OcrTaskchildPicture dto = this.ocrTaskchildPictureService.listPicturePackageId(id.toString(), packageid,userToken); OcrTaskchildPicture dto = this.ocrTaskchildPictureService.listPicturePackageId(id.toString(), packageid, userToken);
if (null != dto) { if (null != dto) {
return ResultVoUtil.success(dto); return ResultVoUtil.success(dto);
} else { } else {
@ -371,4 +371,52 @@ public class OcrTaskchildPictureController extends BaseController {
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
@ApiOperation(value = "ocr_任务包下的当前图片比对的集合列表", notes = "ocr_任务包下的当前图片比对的集合列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
})
@GetMapping("/getSimilarityList")
public ResultVo<IPage<OcrTaskchildPicture>> getSimilarityList(HttpServletRequest request) {
//获取页码、当前页
String pageNo = request.getParameter("pageNo");
String pageSize = request.getParameter("pageSize");
if (StringUtils.isEmpty(pageNo) || StringUtils.isEmpty(pageSize)) {
return ResultVoUtil.error("页码和条数必传!");
}
String pictureId = request.getParameter("pictureId");
if (StringUtils.isBlank(pictureId)) {
return ResultVoUtil.error("pictureId必传");
}
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
//排序方式
String orderType = request.getParameter("orderType");
//排序字段
String orderValue = request.getParameter("orderName");
List<OcrTaskchildPicture> similarityList = ocrTaskchildPictureService.getSimilarityList(Integer.valueOf(pageNo), Integer.valueOf(pageSize), pictureId, orderType, orderValue);
return ResultVoUtil.success(similarityList);
}
/**
*
*
* @return
*/
@GetMapping(value = "/getPictureSimilarityList")
public ResultVo getPictureSimilarityList(
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
@RequestParam(name = "oderType") String orderType,
@RequestParam(name = "orderName") String orderName,
@RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId", required = false) String pictureId,
HttpServletRequest req) {
Page<OcrTaskchildPicture> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId);
return ResultVoUtil.success(result);
}
} }

@ -3,9 +3,12 @@ package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* *
*/ */
@Mapper @Mapper
public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> { public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> {
OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId);
} }

@ -2,7 +2,12 @@ package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.IPage;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/** /**
* <p> * <p>
@ -15,4 +20,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface OcrTaskPackageMapper extends BaseMapper<OcrTaskPackage> { public interface OcrTaskPackageMapper extends BaseMapper<OcrTaskPackage> {
Page<Map<String,Object>> getPackageList(Page<Map<String, Object>> page, @Param("packageName") String packageName);
} }

@ -3,7 +3,9 @@ package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -45,4 +47,10 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id); String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id);
List<OcrTaskchildPicture> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname);
PictureDetailVo getPictureDetail(String pictureId);
Page<OcrTaskchildPicture> getPackageSimilarityList(Page<OcrTaskchildPicture> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName);
} }

@ -265,6 +265,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable {
@TableField(exist = false) @TableField(exist = false)
private String location; private String location;
@ApiModelProperty(value = "图片信息")
@TableField(exist = false)
private String imgUrl;
//保存当前登录用户的数据权限范围的搜索条件 //保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false) @TableField(exist = false)
@JsonIgnore @JsonIgnore

@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate; import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -65,5 +66,16 @@ public interface IOcrCheckDuplicateService extends IService<OcrCheckDuplicate> {
*/ */
OcrCheckDuplicate queryByCheckDuplicateNo(String checkDuplicateNo, Long tenantId); OcrCheckDuplicate queryByCheckDuplicateNo(String checkDuplicateNo, Long tenantId);
/**
*
*
* @param pageNo
* @param pageSize
* @param pictureId
* @param orderType
* @param orderValue
* @return
*/
IPage<OcrPicture> queryPageListByCheckNo(String checkDuplicateNo, String tenantId, Integer pageNo, Integer pageSize); IPage<OcrPicture> queryPageListByCheckNo(String checkDuplicateNo, String tenantId, Integer pageNo, Integer pageSize);
} }

@ -1,14 +1,13 @@
package cn.jyjz.xiaoyao.ocr.service; package cn.jyjz.xiaoyao.ocr.service;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskPackage;
import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto; import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest; import java.util.Map;
import java.util.List;
/** /**
* <p> * <p>
@ -26,4 +25,14 @@ public interface IOcrTaskPackageService extends IService<OcrTaskPackage> {
* @return * @return
*/ */
ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage); ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage);
/**
*
*
* @param pageNo
* @param pageSize
* @param packageName
* @return
*/
Page<Map<String, Object>> getPackageList(Integer pageNo, Integer pageSize, String packageName);
} }

@ -6,6 +6,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -66,4 +67,7 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
Map<String,String> getOcrPictureClassifyAndHash(String img); Map<String,String> getOcrPictureClassifyAndHash(String img);
String getServerUrl(); String getServerUrl();
OcrPicture getPackagePictureInfo(String packageId, String pictureId);
} }

@ -10,10 +10,10 @@ import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* *
@ -137,5 +137,13 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
public List<OcrTaskchildPictureAppro> listmytask(Map<String, Object> query); public List<OcrTaskchildPictureAppro> listmytask(Map<String, Object> query);
public Long listmytaskCount(Map<String, Object> query); public Long listmytaskCount(Map<String, Object> query);
List<OcrTaskchildPicture> getPictureHistoryList(List<String> pictureIds, String taskname);
PictureDetailVo getPictureDetail(String pictureId, UserToken userToken);
List<OcrTaskchildPicture> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue);
Page<OcrTaskchildPicture> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId);
} }

@ -12,20 +12,19 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateMapper; import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate; import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil; import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil;
import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil; import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -36,6 +35,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>

@ -4,8 +4,6 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.jyjz.flowable.service.IFlowInstanceService; import cn.jyjz.flowable.service.IFlowInstanceService;
import cn.jyjz.xiaoyao.abase.service.SeqManageService;
import cn.jyjz.xiaoyao.admin.service.LogService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
@ -19,7 +17,6 @@ import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity; import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity;
import cn.jyjz.xiaoyao.ocr.util.*; import cn.jyjz.xiaoyao.ocr.util.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -31,13 +28,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@ -45,7 +38,6 @@ import javax.servlet.http.HttpServletRequest;
import java.awt.color.ColorSpace; import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
@ -70,49 +62,34 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
@Value("${image.serverUrl}") @Value("${image.serverUrl}")
private String serverUrl; private String serverUrl;
@Resource
private OcrPictureMybatisDao ocrpicturemybatisdao;
@Resource
private OcrPictureNotesService ocrPictureNotesService;
@Resource @Resource
private OcrPackagetaskService ocrPackagetaskService; private OcrPackagetaskService ocrPackagetaskService;
@Resource
private LogService logService;
@Autowired
private SeqManageService seqManageService;
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService; private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource @Resource
IFlowInstanceService flowInstanceService; IFlowInstanceService flowInstanceService;
@Resource @Resource
private OcrUsersearchService ocrUsersearchService; private OcrUsersearchService ocrUsersearchService;
@Resource @Resource
private CategoryService categoryService; private CategoryService categoryService;
@Resource @Resource
private OcrPictureInfoService ocrPictureInfoService; private OcrPictureInfoService ocrPictureInfoService;
private Object lock = new Object(); private Object lock = new Object();
/** /**
* *
*/ */
@Value("${ocr.api.wly.interface-domain}") @Value("${ocr.api.wly.interface-domain}")
private String interfaceDomain; private String interfaceDomain;
/** /**
* *
*/ */
@Autowired @Autowired
DataDictionaryUtil dataDictionaryUtil; DataDictionaryUtil dataDictionaryUtil;
@Resource @Resource
UserTokenService userTokenService; UserTokenService userTokenService;
@Resource
OcrPictureMybatisDao pictureMybatisDao;
public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId, UserToken sysUser, String search_month, HttpServletRequest request, String buessinessno) { public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId, UserToken sysUser, String search_month, HttpServletRequest request, String buessinessno) {
//图片错误信息 //图片错误信息
@ -335,6 +312,12 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
return serverUrl; return serverUrl;
} }
@Override
public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId) {
return pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId);
}
public OcrTaskchildPicture updateTaskChild(OcrPicture ocrPicture, Long packageid, String buessinessno) { public OcrTaskchildPicture updateTaskChild(OcrPicture ocrPicture, Long packageid, String buessinessno) {
OcrTaskchildPicture ocrTaskchildPicture = ocrTaskchildPictureService.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, ocrPicture.getId())); OcrTaskchildPicture ocrTaskchildPicture = ocrTaskchildPictureService.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, ocrPicture.getId()));
ocrTaskchildPicture.setBuessinessno(buessinessno); ocrTaskchildPicture.setBuessinessno(buessinessno);

@ -1,30 +1,23 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.jyjz.xiaoyao.admin.service.LogService;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskPackageMapper; import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskPackageMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.*; import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto; import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto;
import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil; import com.alibaba.fastjson.JSONArray;
import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchEnum;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.pro.packaged.T; import com.fasterxml.jackson.core.type.TypeReference;
import org.apache.commons.lang3.StringUtils; import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Value; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -43,19 +36,41 @@ public class OcrTaskPackageServiceImpl extends ServiceImpl<OcrTaskPackageMapper,
@Resource @Resource
private IOcrCheckDuplicateService checkDuplicateService; private IOcrCheckDuplicateService checkDuplicateService;
@Resource
private OcrTaskPackageMapper taskPackageMapper;
@Override @Override
public ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage) { public ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage) {
//1.获取查重任务 //1.获取查重任务
OcrCheckDuplicate ocrCheckDuplicate = checkDuplicateService.queryByCheckDuplicateNo(ocrTaskPackage.getCheckDuplicateNo(),ocrTaskPackage.getTenantId()); OcrCheckDuplicate ocrCheckDuplicate = checkDuplicateService.queryByCheckDuplicateNo(ocrTaskPackage.getCheckDuplicateNo(), ocrTaskPackage.getTenantId());
if(ocrCheckDuplicate==null){ if (ocrCheckDuplicate == null) {
return ResultVoUtil.error("无法获取到查重任务!"); return ResultVoUtil.error("无法获取到查重任务!");
} }
OcrTaskPackage taskPackage = new OcrTaskPackage(); OcrTaskPackage taskPackage = new OcrTaskPackage();
BeanUtil.copyProperties(ocrTaskPackage,taskPackage); BeanUtil.copyProperties(ocrTaskPackage, taskPackage);
taskPackage.setCheckDuplicateId(ocrCheckDuplicate.getId()); taskPackage.setCheckDuplicateId(ocrCheckDuplicate.getId());
if(this.save(taskPackage)){ if (this.save(taskPackage)) {
return ResultVoUtil.success("创建任务包成功!"); return ResultVoUtil.success("创建任务包成功!");
} }
return ResultVoUtil.error("创建任务包失败!"); return ResultVoUtil.error("创建任务包失败!");
} }
@Override
public Page<Map<String, Object>> getPackageList(Integer pageNo, Integer pageSize, String packageName) {
Page<Map<String, Object>> page = new Page<>(pageNo, pageSize);
Page<Map<String, Object>> result = taskPackageMapper.getPackageList(page, packageName);
if(CollectionUtils.isNotEmpty(result.getRecords())){
List<Map<String, Object>> records = result.getRecords();
for (Map<String, Object> record : records) {
record.put("id",record.get("id").toString());
record.put("checkDuplicateId",record.get("checkDuplicateId").toString());
Object search = record.getOrDefault("search", null);
if(search!=null){
Map map = JSONObject.parseObject(search.toString(), Map.class);
record.putAll(map);
}
}
}
return result;
}
} }

@ -5,27 +5,21 @@ import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.service.IFlowInstanceService; import cn.jyjz.flowable.service.IFlowInstanceService;
import cn.jyjz.flowable.service.IFlowTaskService; import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.util.SearchQueryFormat;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.CategoryService; import cn.jyjz.xiaoyao.oa.from.service.CategoryService;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao; import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto; import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService; import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import com.alibaba.fastjson.JSON; import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -33,9 +27,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
@ -74,6 +68,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource @Resource
private CategoryService categoryService; private CategoryService categoryService;
@Resource
private IOcrPictureDuplicateHisService pictureDuplicateHisService;
/** /**
* *
* *
@ -295,6 +292,10 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
if (null != ocrPictureList && !ocrPictureList.isEmpty()) { if (null != ocrPictureList && !ocrPictureList.isEmpty()) {
//用于标记相似度是否存在百分百的情况 //用于标记相似度是否存在百分百的情况
for (OcrPicture ocrPicture : ocrPictureList) { for (OcrPicture ocrPicture : ocrPictureList) {
OcrTaskchildPicture one = this.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, ocrPicture.getId()));
if(ObjectUtils.isNotEmpty(one)){
continue;
}
//查询项目对象 //查询项目对象
if (null == ocrPicture.getCategoryid()) { if (null == ocrPicture.getCategoryid()) {
//TODO 没有对应项目,返回提示信息 //TODO 没有对应项目,返回提示信息
@ -620,4 +621,60 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
public Long listmytaskCount(Map<String, Object> query) { public Long listmytaskCount(Map<String, Object> query) {
return this.ocrtaskchildpicturemybatisdao.listmytaskCount(query); return this.ocrtaskchildpicturemybatisdao.listmytaskCount(query);
} }
@Override
public List<OcrTaskchildPicture> getPictureHistoryList(List<String> pictureIds, String taskname) {
return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds,taskname);
}
@Override
public PictureDetailVo getPictureDetail(String pictureId, UserToken userToken) {
PictureDetailVo pictureDetail = ocrtaskchildpicturemybatisdao.getPictureDetail(pictureId);
//查询审批流节点信息
List<Task> taskList = iFlowTaskService.nowRunTask(pictureDetail.getProcessInstanceId(), pictureDetail.getProcessDefinitionId());
if (null != taskList && !taskList.isEmpty()) {
pictureDetail.setTaskId(taskList.get(0).getId());
}
if (null != userToken && CollectionUtils.isNotEmpty(pictureDetail.getUserapproveList())) {
Optional<Userapprove> first = pictureDetail.getUserapproveList().stream().filter(userapprove -> userapprove.getUserid().toString().equals(userToken.getUserid())).findFirst();
pictureDetail.setUserapprove(first.orElse(new Userapprove()));
}
return pictureDetail;
}
@Override
public List<OcrTaskchildPicture> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue) {
OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId));
if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) {
OcrTaskchildPicture one = this.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, pictureId));
JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson());
Set<String> pictureIds = jsonObject.keySet();
List<OcrTaskchildPicture> taskChildPictures = this.getPictureHistoryList(new ArrayList<>(pictureIds), one.getTaskname());
for (OcrTaskchildPicture 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());
} else {
taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getSimilarityscore));
}
} else {
if ("desc".equals(orderType)) {
taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getCreatedate).reversed());
} else {
taskChildPictures.sort(Comparator.comparing(OcrTaskchildPicture::getCreatedate));
}
}
return taskChildPictures.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
}
return new ArrayList<>();
}
@Override
public Page<OcrTaskchildPicture> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) {
Page<OcrTaskchildPicture> page = new Page<>(pageNo,pageSize);
return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page,checkDuplicateId,pictureId,oderType,oderName);
}
} }

@ -0,0 +1,111 @@
package cn.jyjz.xiaoyao.ocr.vo;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* ClassName PictureDetailVo$.java
* Description:
* Author scl.
* Date 2024/3/25 18:26
*/
@Data
public class PictureDetailVo {
//图片id
private String pictureId;
//图片任务id
private String taskChildId;
//任务id
private String taskId;
//任务名称
private String taskName;
//租户id
private String tenantId;
//最大相似度
private String similarityScore;
//定位信息
private String location;
@ApiModelProperty(value = "是否已经审批0未审批1审批中2已审批")
private Integer workStatus;
@ApiModelProperty(value = "完成时间")
private Long finishTime;
@ApiModelProperty(value = "提报人")
private String field1;
@ApiModelProperty(value = "拜访客户类型")
private String field2;
@ApiModelProperty(value = "拜访客户名称,终端名称,例如中日友好医院")
private String field3;
@ApiModelProperty(value = "任务来源")
private String field4;
@ApiModelProperty(value = "厂商")
private String field5;
@ApiModelProperty(value = "拜访客户级别")
private String field6;
@ApiModelProperty(value = "科室名称")
private String field7;
@ApiModelProperty(value = "拜访小结")
private String field8;
@ApiModelProperty(value = "产品名称")
private String field9;
@ApiModelProperty(value = "地区定位信息例如北京市朝阳区文苑路10号")
private String field10;
@ApiModelProperty(value = "拜访日期")
private String field11;
@ApiModelProperty(value = "定位距离")
private String field12;
@ApiModelProperty(value = "病历号")
private String field13;
@ApiModelProperty(value = "是否重复")
private String field14;
@ApiModelProperty(value = "任务类型")
private String field15;
@ApiModelProperty(value = "任务状态")
private String field16;
@ApiModelProperty(value = "拜访项目类别")
private String field17;
@ApiModelProperty(value = "图片地址")
private String imgUrl;
@ApiModelProperty(value = "任务状态")
private String states;
@ApiModelProperty(value = "流程实例IdprocessInstanceId")
private String processInstanceId;
@ApiModelProperty(value = "流程实例processdeFinitionId")
private String processDefinitionId;
//图片信息
private OcrPictureInfo pictureInfo;
//本人审查记录
private Userapprove userapprove;
//历史审查记录
private List<Userapprove> userapproveList;
}

@ -206,4 +206,15 @@
</if> </if>
</sql> </sql>
<select id="getPackagePictureInfo" resultMap="BaseResultMap">
SELECT t2.*
FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
where t1.check_duplicate_id = #{packageId}
<if test="pictureId != null and pictureId != ''">
and t1.picture_id = #{pictureId}
</if>
ORDER BY t1.max_similarity desc, t2.create_time DESC
LIMIT 1
</select>
</mapper> </mapper>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskPackageMapper">
<select id="getPackageList" resultType="java.util.Map">
SELECT t1.id, t1.name,t1.check_duplicate_id checkDuplicateId,t1.create_time createTime,t1.update_time updateTime,t2.picture_count pictureCount,
t2.searching_json search
FROM ocr_task_package t1
LEFT JOIN ocr_check_duplicate t2 ON t1.check_duplicate_id = t2.id
<where>
<if test="packageName != null and packageName != ''">
t1.name like concat('%', #{packageName}, '%')
</if>
</where>
</select>
</mapper>

@ -1,255 +1,456 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao"> <mapper namespace="cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao">
<resultMap id="BaseResultMap" type="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"> <resultMap id="BaseResultMap" type="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture">
<id column="ID" property="id" jdbcType="BIGINT"/> <id column="ID" property="id" jdbcType="BIGINT"/>
<result column="OCPICTUREID" property="ocpictureid" jdbcType="LONGVARCHAR"/> <result column="OCPICTUREID" property="ocpictureid" jdbcType="LONGVARCHAR"/>
<result column="PICTURERESULT" property="pictureresult" jdbcType="LONGVARCHAR"/> <result column="PICTURERESULT" property="pictureresult" jdbcType="LONGVARCHAR"/>
<result column="PICTURECOMPARE" property="picturecompare" jdbcType="LONGVARCHAR"/> <result column="PICTURECOMPARE" property="picturecompare" jdbcType="LONGVARCHAR"/>
<result column="DEPTID" property="deptid" jdbcType="VARCHAR"/> <result column="DEPTID" property="deptid" jdbcType="VARCHAR"/>
<result column="TENANTID" property="tenantid" jdbcType="BIGINT"/> <result column="TENANTID" property="tenantid" jdbcType="BIGINT"/>
<result column="PACKAGEID" property="packageid" jdbcType="BIGINT"/> <result column="PACKAGEID" property="packageid" jdbcType="BIGINT"/>
<result column="PICTUREID" property="pictureid" jdbcType="BIGINT"/> <result column="PICTUREID" property="pictureid" jdbcType="BIGINT"/>
<result column="CATEGORY" property="category" jdbcType="VARCHAR"/> <result column="CATEGORY" property="category" jdbcType="VARCHAR"/>
<result column="CATEGORYID" property="categoryid" jdbcType="BIGINT"/> <result column="CATEGORYID" property="categoryid" jdbcType="BIGINT"/>
<result column="SPECIFICATION" property="specification" jdbcType="VARCHAR"/> <result column="SPECIFICATION" property="specification" jdbcType="VARCHAR"/>
<result column="BUESSINESSNO" property="buessinessno" jdbcType="VARCHAR"/> <result column="BUESSINESSNO" property="buessinessno" jdbcType="VARCHAR"/>
<result column="STATES" property="states" jdbcType="INTEGER"/> <result column="STATES" property="states" jdbcType="INTEGER"/>
<result column="PROCESSINSTANCEID" property="processinstanceid" jdbcType="VARCHAR"/> <result column="PROCESSINSTANCEID" property="processinstanceid" jdbcType="VARCHAR"/>
<result column="PROCESSDEFINITIONID" property="processdefinitionid" jdbcType="VARCHAR"/> <result column="PROCESSDEFINITIONID" property="processdefinitionid" jdbcType="VARCHAR"/>
<result column="DEPLOYMENTID" property="deploymentid" jdbcType="VARCHAR"/> <result column="DEPLOYMENTID" property="deploymentid" jdbcType="VARCHAR"/>
<result column="ASSIGNEENAME" property="assigneename" jdbcType="VARCHAR"/> <result column="ASSIGNEENAME" property="assigneename" jdbcType="VARCHAR"/>
<result column="ASSIGNEE" property="assignee" jdbcType="VARCHAR"/> <result column="ASSIGNEE" property="assignee" jdbcType="VARCHAR"/>
<result column="UPDATEUSER" property="updateuser" jdbcType="VARCHAR"/> <result column="UPDATEUSER" property="updateuser" jdbcType="VARCHAR"/>
<result column="UPDATETIME" property="updatetime" jdbcType="BIGINT"/> <result column="UPDATETIME" property="updatetime" jdbcType="BIGINT"/>
<result column="FILEANNEX" property="fileannex" jdbcType="VARCHAR"/> <result column="FILEANNEX" property="fileannex" jdbcType="VARCHAR"/>
<result column="GUIDANG" property="guidang" jdbcType="INTEGER"/> <result column="GUIDANG" property="guidang" jdbcType="INTEGER"/>
<result column="CREATEUSER" property="createuser" jdbcType="VARCHAR"/> <result column="CREATEUSER" property="createuser" jdbcType="VARCHAR"/>
<result column="CREATEUSERNAME" property="createusername" jdbcType="VARCHAR"/> <result column="CREATEUSERNAME" property="createusername" jdbcType="VARCHAR"/>
<result column="CREATEDATE" property="createdate" jdbcType="BIGINT"/> <result column="CREATEDATE" property="createdate" jdbcType="BIGINT"/>
<result column="USERID" property="userid" jdbcType="BIGINT"/> <result column="USERID" property="userid" jdbcType="BIGINT"/>
<result column="USERNAME" property="username" jdbcType="VARCHAR"/> <result column="USERNAME" property="username" jdbcType="VARCHAR"/>
<result column="FROMTASKID" property="fromtaskid" jdbcType="VARCHAR"/> <result column="FROMTASKID" property="fromtaskid" jdbcType="VARCHAR"/>
<result column="FROMTASKNAME" property="fromtaskname" jdbcType="VARCHAR"/> <result column="FROMTASKNAME" property="fromtaskname" jdbcType="VARCHAR"/>
<result column="FROMUSERID" property="fromuserid" jdbcType="VARCHAR"/> <result column="FROMUSERID" property="fromuserid" jdbcType="VARCHAR"/>
<result column="FROMPROJECTID" property="fromprojectid" jdbcType="VARCHAR"/> <result column="FROMPROJECTID" property="fromprojectid" jdbcType="VARCHAR"/>
<result column="FROMPLANID" property="fromplanid" jdbcType="VARCHAR"/> <result column="FROMPLANID" property="fromplanid" jdbcType="VARCHAR"/>
<result column="FROMUPTIME" property="fromuptime" jdbcType="BIGINT"/> <result column="FROMUPTIME" property="fromuptime" jdbcType="BIGINT"/>
<result column="FROMSOURCEID" property="fromsourceid" jdbcType="VARCHAR"/> <result column="FROMSOURCEID" property="fromsourceid" jdbcType="VARCHAR"/>
<result column="HAVEPOINTS" property="havepoints" jdbcType="INTEGER"/> <result column="HAVEPOINTS" property="havepoints" jdbcType="INTEGER"/>
<result column="TASKNAME" property="taskname" jdbcType="VARCHAR"/> <result column="TASKNAME" property="taskname" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <resultMap id="PictureResultMap" type="cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo">
ID AS id, <result column="picture_id" property="pictureId"/>
OCPICTUREID AS ocpictureid, <result column="taskChildId" property="taskChildId"/>
PICTURERESULT AS pictureresult, <result column="taskname" property="taskName"/>
PICTURECOMPARE AS picturecompare, <result column="STATES" property="states"/>
DEPTID AS deptid, <result column="similarity_score" property="similarityScore"/>
TENANTID AS tenantid, <result column="location" property="location"/>
PACKAGEID AS packageid, <result column="work_status" property="workStatus"/>
PICTUREID AS pictureid, <result column="finishtime" property="finishTime"/>
CATEGORY AS category, <result column="field1" property="field1"/>
CATEGORYID AS categoryid, <result column="field2" property="field2"/>
SPECIFICATION AS specification, <result column="field3" property="field3"/>
BUESSINESSNO AS buessinessno, <result column="field4" property="field4"/>
STATES AS states, <result column="field5" property="field5"/>
PROCESSINSTANCEID AS processinstanceid, <result column="field6" property="field6"/>
PROCESSDEFINITIONID AS processdefinitionid, <result column="field7" property="field7"/>
DEPLOYMENTID AS deploymentid, <result column="field8" property="field8"/>
ASSIGNEENAME AS assigneename, <result column="field9" property="field9"/>
ASSIGNEE AS assignee, <result column="field10" property="field10"/>
UPDATEUSER AS updateuser, <result column="field11" property="field11"/>
UPDATETIME AS updatetime, <result column="field12" property="field12"/>
FILEANNEX AS fileannex, <result column="field13" property="field13"/>
GUIDANG AS guidang, <result column="field14" property="field14"/>
CREATEUSER AS createuser, <result column="field15" property="field15"/>
CREATEUSERNAME AS createusername, <result column="field16" property="field16"/>
CREATEDATE AS createdate, <result column="field17" property="field17"/>
USERID AS userid, <result column="imgUrl" property="imgUrl"/>
USERNAME AS username, <association property="pictureInfo" javaType="cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo">
FROMTASKID AS fromtaskid, <id column="id" property="id"/>
FROMTASKNAME AS fromtaskname, <result column="picture_id" property="pictureId"/>
FROMUSERID AS fromuserid, <result column="img_size" property="imgSize"/>
FROMPROJECTID AS fromprojectid, <result column="img_format" property="imgFormat"/>
FROMPLANID AS fromplanid, <result column="img_measure" property="imgMeasure"/>
FROMUPTIME AS fromuptime, <result column="upload_time" property="uploadTime"/>
FROMSOURCEID AS fromsourceid, <result column="create_time" property="createTime"/>
HAVEPOINTS AS havepoints, <result column="img_space" property="imgSpace"/>
TASKNAME AS taskname <result column="tag_time" property="tagTime"/>
</sql> <result column="source" property="source"/>
</association>
<collection property="userapproveList" ofType="cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove">
<id column="id" property="id"/>
<result column="userid" property="userid"/>
<result column="formid" property="formid"/>
<result column="taskname" property="taskname"/>
<result column="statshis" property="statshis"/>
<result column="commenthis" property="commenthis"/>
<result column="taskindex" property="taskindex"/>
<result column="taskno" property="taskno"/>
<result column="username" property="username"/>
<result column="createdate" property="createdate"/>
<result column="taskcomment" property="taskcomment"/>
</collection>
</resultMap>
<sql id="Base_Column_List">
ID AS id,
OCPICTUREID AS ocpictureid,
PICTURERESULT AS pictureresult,
PICTURECOMPARE AS picturecompare,
DEPTID AS deptid,
TENANTID AS tenantid,
PACKAGEID AS packageid,
PICTUREID AS pictureid,
CATEGORY AS category,
CATEGORYID AS categoryid,
SPECIFICATION AS specification,
BUESSINESSNO AS buessinessno,
STATES AS states,
PROCESSINSTANCEID AS processinstanceid,
PROCESSDEFINITIONID AS processdefinitionid,
DEPLOYMENTID AS deploymentid,
ASSIGNEENAME AS assigneename,
ASSIGNEE AS assignee,
UPDATEUSER AS updateuser,
UPDATETIME AS updatetime,
FILEANNEX AS fileannex,
GUIDANG AS guidang,
CREATEUSER AS createuser,
CREATEUSERNAME AS createusername,
CREATEDATE AS createdate,
USERID AS userid,
USERNAME AS username,
FROMTASKID AS fromtaskid,
FROMTASKNAME AS fromtaskname,
FROMUSERID AS fromuserid,
FROMPROJECTID AS fromprojectid,
FROMPLANID AS fromplanid,
FROMUPTIME AS fromuptime,
FROMSOURCEID AS fromsourceid,
HAVEPOINTS AS havepoints,
TASKNAME AS taskname
</sql>
<sql id="Base_Where"> <sql id="Base_Where">
<where> <where>
<trim prefixOverrides="and|or"> <trim prefixOverrides="and|or">
<if test="id != null"> and ID ${id.dataOp} ${id.likestar}#{id.value}${id.likeend}</if> <if test="id != null">
<if test="ocpictureid != null"> and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}</if> and ID ${id.dataOp} ${id.likestar}#{id.value}${id.likeend}
<if test="pictureresult != null"> and PICTURERESULT ${pictureresult.dataOp} ${pictureresult.likestar}#{pictureresult.value}${pictureresult.likeend}</if> </if>
<if test="picturecompare != null"> and PICTURECOMPARE ${picturecompare.dataOp} ${picturecompare.likestar}#{picturecompare.value}${picturecompare.likeend}</if> <if test="ocpictureid != null">
<if test="deptid != null"> and DEPTID ${deptid.dataOp} ${deptid.likestar}#{deptid.value}${deptid.likeend}</if>
<if test="tenantid != null"> and TENANTID ${tenantid.dataOp} ${tenantid.likestar}#{tenantid.value}${tenantid.likeend}</if> and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
<if test="packageid != null"> and PACKAGEID ${packageid.dataOp} ${packageid.likestar}#{packageid.value}${packageid.likeend}</if> </if>
<if test="pictureid != null"> and PICTUREID ${pictureid.dataOp} ${pictureid.likestar}#{pictureid.value}${pictureid.likeend}</if> <if test="pictureresult != null">
<if test="category != null"> and CATEGORY ${category.dataOp} ${category.likestar}#{category.value}${category.likeend}</if> and PICTURERESULT ${pictureresult.dataOp} ${pictureresult.likestar}#{pictureresult.value}${pictureresult.likeend}
<if test="categoryid != null"> and CATEGORYID ${categoryid.dataOp} ${categoryid.likestar}#{categoryid.value}${categoryid.likeend}</if> </if>
<if test="specification != null"> and SPECIFICATION ${specification.dataOp} ${specification.likestar}#{specification.value}${specification.likeend}</if> <if test="picturecompare != null">
<if test="buessinessno != null"> and BUESSINESSNO ${buessinessno.dataOp} ${buessinessno.likestar}#{buessinessno.value}${buessinessno.likeend}</if> and PICTURECOMPARE ${picturecompare.dataOp} ${picturecompare.likestar}#{picturecompare.value}${picturecompare.likeend}
<if test="states != null"> and STATES ${states.dataOp} ${states.likestar}#{states.value}${states.likeend}</if> </if>
<if test="processinstanceid != null"> and PROCESSINSTANCEID ${processinstanceid.dataOp} ${processinstanceid.likestar}#{processinstanceid.value}${processinstanceid.likeend}</if> <if test="deptid != null">
<if test="processdefinitionid != null"> and PROCESSDEFINITIONID ${processdefinitionid.dataOp} ${processdefinitionid.likestar}#{processdefinitionid.value}${processdefinitionid.likeend}</if> and DEPTID ${deptid.dataOp} ${deptid.likestar}#{deptid.value}${deptid.likeend}
<if test="deploymentid != null"> and DEPLOYMENTID ${deploymentid.dataOp} ${deploymentid.likestar}#{deploymentid.value}${deploymentid.likeend}</if> </if>
<if test="assigneename != null"> and ASSIGNEENAME ${assigneename.dataOp} ${assigneename.likestar}#{assigneename.value}${assigneename.likeend}</if> <if test="tenantid != null">
<if test="assignee != null"> and ASSIGNEE ${assignee.dataOp} ${assignee.likestar}#{assignee.value}${assignee.likeend}</if> and TENANTID ${tenantid.dataOp} ${tenantid.likestar}#{tenantid.value}${tenantid.likeend}
<if test="updateuser != null"> and UPDATEUSER ${updateuser.dataOp} ${updateuser.likestar}#{updateuser.value}${updateuser.likeend}</if> </if>
<if test="updatetime != null"> and UPDATETIME ${updatetime.dataOp} ${updatetime.likestar}#{updatetime.value}${updatetime.likeend}</if> <if test="packageid != null">
<if test="fileannex != null"> and FILEANNEX ${fileannex.dataOp} ${fileannex.likestar}#{fileannex.value}${fileannex.likeend}</if> and PACKAGEID ${packageid.dataOp} ${packageid.likestar}#{packageid.value}${packageid.likeend}
<if test="guidang != null"> and GUIDANG ${guidang.dataOp} ${guidang.likestar}#{guidang.value}${guidang.likeend}</if> </if>
<if test="createuser != null"> and CREATEUSER ${createuser.dataOp} ${createuser.likestar}#{createuser.value}${createuser.likeend}</if> <if test="pictureid != null">
<if test="createusername != null"> and CREATEUSERNAME ${createusername.dataOp} ${createusername.likestar}#{createusername.value}${createusername.likeend}</if> and PICTUREID ${pictureid.dataOp} ${pictureid.likestar}#{pictureid.value}${pictureid.likeend}
<if test="createdate != null"> and CREATEDATE ${createdate.dataOp} ${createdate.likestar}#{createdate.value}${createdate.likeend}</if> </if>
<if test="username != null"> and USERNAME ${username.dataOp} ${username.likestar}#{username.value}${username.likeend}</if> <if test="category != null">
<if test="fromtaskid != null"> and FROMTASKID ${fromtaskid.dataOp} ${fromtaskid.likestar}#{fromtaskid.value}${fromtaskid.likeend}</if> and CATEGORY ${category.dataOp} ${category.likestar}#{category.value}${category.likeend}
<if test="fromtaskname != null"> and FROMTASKNAME ${fromtaskname.dataOp} ${fromtaskname.likestar}#{fromtaskname.value}${fromtaskname.likeend}</if> </if>
<if test="fromuserid != null"> and FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar}#{fromuserid.value}${fromuserid.likeend}</if> <if test="categoryid != null">
<if test="fromprojectid != null"> and FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar}#{fromprojectid.value}${fromprojectid.likeend}</if> and CATEGORYID ${categoryid.dataOp} ${categoryid.likestar}#{categoryid.value}${categoryid.likeend}
<if test="fromplanid != null"> and FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar}#{fromplanid.value}${fromplanid.likeend}</if> </if>
<if test="fromuptime != null"> and FROMUPTIME ${fromuptime.dataOp} ${fromuptime.likestar}#{fromuptime.value}${fromuptime.likeend}</if> <if test="specification != null">
<if test="fromsourceid != null"> and FROMSOURCEID ${fromsourceid.dataOp} ${fromsourceid.likestar}#{fromsourceid.value}${fromsourceid.likeend}</if> and SPECIFICATION ${specification.dataOp} ${specification.likestar}#{specification.value}${specification.likeend}
<if test="havepoints != null"> and HAVEPOINTS ${havepoints.dataOp} ${havepoints.likestar}#{havepoints.value}${havepoints.likeend}</if> </if>
<if test="taskname != null"> and TASKNAME ${taskname.dataOp} ${taskname.likestar}#{taskname.value}${taskname.likeend}</if> <if test="buessinessno != null">
<if test="userid != null"> and USERID ${userid.dataOp} ${userid.likestar}#{userid.value}${userid.likeend}</if> and BUESSINESSNO ${buessinessno.dataOp} ${buessinessno.likestar}#{buessinessno.value}${buessinessno.likeend}
</trim> </if>
</where> <if test="states != null">
<if test="page != null"> and STATES ${states.dataOp} ${states.likestar}#{states.value}${states.likeend}
<if test="page.sortname != null"> order by ${page.sortname} ${page.sortorder}</if> </if>
limit ${page.start}, ${page.Pagesize} <if test="processinstanceid != null">
</if> and PROCESSINSTANCEID ${processinstanceid.dataOp} ${processinstanceid.likestar}#{processinstanceid.value}${processinstanceid.likeend}
</sql> </if>
<sql id="Base_Where_union"> <if test="processdefinitionid != null">
<where> and PROCESSDEFINITIONID ${processdefinitionid.dataOp} ${processdefinitionid.likestar}#{processdefinitionid.value}${processdefinitionid.likeend}
<trim prefixOverrides="and|or"> </if>
<if test="id != null"> and tcp.ID ${id.dataOp} ${id.likestar}#{id.value}${id.likeend}</if> <if test="deploymentid != null">
<if test="ocpictureid != null"> and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}</if> and DEPLOYMENTID ${deploymentid.dataOp} ${deploymentid.likestar}#{deploymentid.value}${deploymentid.likeend}
<if test="pictureresult != null"> and tcp.PICTURERESULT ${pictureresult.dataOp} ${pictureresult.likestar}#{pictureresult.value}${pictureresult.likeend}</if> </if>
<if test="picturecompare != null"> and tcp.PICTURECOMPARE ${picturecompare.dataOp} ${picturecompare.likestar}#{picturecompare.value}${picturecompare.likeend}</if> <if test="assigneename != null">
<if test="deptid != null"> and tcp.DEPTID ${deptid.dataOp} ${deptid.likestar}#{deptid.value}${deptid.likeend}</if> and ASSIGNEENAME ${assigneename.dataOp} ${assigneename.likestar}#{assigneename.value}${assigneename.likeend}
<if test="tenantid != null"> and tcp.TENANTID ${tenantid.dataOp} ${tenantid.likestar}#{tenantid.value}${tenantid.likeend}</if> </if>
<if test="packageid != null"> and tcp.PACKAGEID ${packageid.dataOp} ${packageid.likestar}#{packageid.value}${packageid.likeend}</if> <if test="assignee != null">
<if test="pictureid != null"> and tcp.PICTUREID ${pictureid.dataOp} ${pictureid.likestar}#{pictureid.value}${pictureid.likeend}</if> and ASSIGNEE ${assignee.dataOp} ${assignee.likestar}#{assignee.value}${assignee.likeend}
<if test="category != null"> and tcp.CATEGORY ${category.dataOp} ${category.likestar}#{category.value}${category.likeend}</if> </if>
<if test="categoryid != null"> and tcp.CATEGORYID ${categoryid.dataOp} ${categoryid.likestar}#{categoryid.value}${categoryid.likeend}</if> <if test="updateuser != null">
<if test="specification != null"> and tcp.SPECIFICATION ${specification.dataOp} ${specification.likestar}#{specification.value}${specification.likeend}</if> and UPDATEUSER ${updateuser.dataOp} ${updateuser.likestar}#{updateuser.value}${updateuser.likeend}
<if test="buessinessno != null"> and tcp.BUESSINESSNO ${buessinessno.dataOp} ${buessinessno.likestar}#{buessinessno.value}${buessinessno.likeend}</if> </if>
<!-- <if test="states != null"> and tcp.STATES ${states.dataOp} ${states.likestar}#{states.value}${states.likeend}</if>--> <if test="updatetime != null">
<if test="processinstanceid != null"> and tcp.PROCESSINSTANCEID ${processinstanceid.dataOp} ${processinstanceid.likestar}#{processinstanceid.value}${processinstanceid.likeend}</if> and UPDATETIME ${updatetime.dataOp} ${updatetime.likestar}#{updatetime.value}${updatetime.likeend}
<if test="processdefinitionid != null"> and tcp.PROCESSDEFINITIONID ${processdefinitionid.dataOp} ${processdefinitionid.likestar}#{processdefinitionid.value}${processdefinitionid.likeend}</if> </if>
<if test="deploymentid != null"> and tcp.DEPLOYMENTID ${deploymentid.dataOp} ${deploymentid.likestar}#{deploymentid.value}${deploymentid.likeend}</if> <if test="fileannex != null">
<if test="assigneename != null"> and tcp.ASSIGNEENAME ${assigneename.dataOp} ${assigneename.likestar}#{assigneename.value}${assigneename.likeend}</if> and FILEANNEX ${fileannex.dataOp} ${fileannex.likestar}#{fileannex.value}${fileannex.likeend}
<if test="assignee != null"> and tcp.ASSIGNEE ${assignee.dataOp} ${assignee.likestar}#{assignee.value}${assignee.likeend}</if> </if>
<if test="updateuser != null"> and tcp.UPDATEUSER ${updateuser.dataOp} ${updateuser.likestar}#{updateuser.value}${updateuser.likeend}</if> <if test="guidang != null">
<if test="updatetime != null"> and tcp.UPDATETIME ${updatetime.dataOp} ${updatetime.likestar}#{updatetime.value}${updatetime.likeend}</if> and GUIDANG ${guidang.dataOp} ${guidang.likestar}#{guidang.value}${guidang.likeend}
<if test="fileannex != null"> and tcp.FILEANNEX ${fileannex.dataOp} ${fileannex.likestar}#{fileannex.value}${fileannex.likeend}</if> </if>
<if test="guidang != null"> and tcp.GUIDANG ${guidang.dataOp} ${guidang.likestar}#{guidang.value}${guidang.likeend}</if> <if test="createuser != null">
<if test="createuser != null"> and tcp.CREATEUSER ${createuser.dataOp} ${createuser.likestar}#{createuser.value}${createuser.likeend}</if> and CREATEUSER ${createuser.dataOp} ${createuser.likestar}#{createuser.value}${createuser.likeend}
<if test="createusername != null"> and tcp.CREATEUSERNAME ${createusername.dataOp} ${createusername.likestar}#{createusername.value}${createusername.likeend}</if> </if>
<if test="createdate != null"> and tcp.CREATEDATE ${createdate.dataOp} ${createdate.likestar}#{createdate.value}${createdate.likeend}</if> <if test="createusername != null">
<if test="createdateStart != null"> and tcp.CREATEDATE ${createdateStart.dataOp} ${createdateStart.likestar}#{createdateStart.value}${createdateStart.likeend}</if> and CREATEUSERNAME ${createusername.dataOp} ${createusername.likestar}#{createusername.value}${createusername.likeend}
<if test="createdateEnd != null"> and tcp.CREATEDATE ${createdateEnd.dataOp} ${createdateEnd.likestar}#{createdateEnd.value}${createdateEnd.likeend}</if> </if>
<if test="username != null"> and tcp.USERNAME ${username.dataOp} ${username.likestar}#{username.value}${username.likeend}</if> <if test="createdate != null">
<if test="fromtaskid != null"> and tcp.FROMTASKID ${fromtaskid.dataOp} ${fromtaskid.likestar}#{fromtaskid.value}${fromtaskid.likeend}</if> and CREATEDATE ${createdate.dataOp} ${createdate.likestar}#{createdate.value}${createdate.likeend}
<if test="fromtaskname != null"> and tcp.FROMTASKNAME ${fromtaskname.dataOp} ${fromtaskname.likestar}#{fromtaskname.value}${fromtaskname.likeend}</if> </if>
<!-- <if test="fromuserid != null"> and tcp.FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar}#{fromuserid.value}${fromuserid.likeend}</if>--> <if test="username != null">
<!-- <if test="fromprojectid != null"> and tcp.FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar}#{fromprojectid.value}${fromprojectid.likeend}</if>--> and USERNAME ${username.dataOp} ${username.likestar}#{username.value}${username.likeend}
<!-- <if test="fromplanid != null"> and tcp.FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar}#{fromplanid.value}${fromplanid.likeend}</if>--> </if>
<if test="fromuptime != null"> and tcp.FROMUPTIME ${fromuptime.dataOp} ${fromuptime.likestar}#{fromuptime.value}${fromuptime.likeend}</if> <if test="fromtaskid != null">
<if test="fromuserid != null"> and tcp.FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar} and FROMTASKID ${fromtaskid.dataOp} ${fromtaskid.likestar}#{fromtaskid.value}${fromtaskid.likeend}
<!-- #{fromuserid.value}--> </if>
<if test="fromuserid.value instanceof java.util.List"> <if test="fromtaskname != null">
<foreach item="item" collection="fromuserid.value" open="" separator="," close=""> and FROMTASKNAME ${fromtaskname.dataOp} ${fromtaskname.likestar}#{fromtaskname.value}${fromtaskname.likeend}
#{item} </if>
</foreach> <if test="fromuserid != null">
</if> and FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar}#{fromuserid.value}${fromuserid.likeend}
<if test="!fromuserid.value instanceof java.util.List"> </if>
#{fromuserid.value} <if test="fromprojectid != null">
</if> and FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar}#{fromprojectid.value}${fromprojectid.likeend}
${fromuserid.likeend} </if>
</if> <if test="fromplanid != null">
<if test="fromprojectid != null"> and tcp.FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar} and FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar}#{fromplanid.value}${fromplanid.likeend}
<!-- #{fromuserid.value}--> </if>
<if test="fromprojectid.value instanceof java.util.List"> <if test="fromuptime != null">
<foreach item="item" collection="fromprojectid.value" open="" separator="," close=""> and FROMUPTIME ${fromuptime.dataOp} ${fromuptime.likestar}#{fromuptime.value}${fromuptime.likeend}
#{item} </if>
</foreach> <if test="fromsourceid != null">
</if> and FROMSOURCEID ${fromsourceid.dataOp} ${fromsourceid.likestar}#{fromsourceid.value}${fromsourceid.likeend}
<if test="!fromprojectid.value instanceof java.util.List"> </if>
#{fromprojectid.value} <if test="havepoints != null">
</if> and HAVEPOINTS ${havepoints.dataOp} ${havepoints.likestar}#{havepoints.value}${havepoints.likeend}
${fromprojectid.likeend} </if>
</if> <if test="taskname != null">
<if test="fromplanid != null"> and tcp.FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar} and TASKNAME ${taskname.dataOp} ${taskname.likestar}#{taskname.value}${taskname.likeend}
<!-- #{fromuserid.value}--> </if>
<if test="fromplanid.value instanceof java.util.List"> <if test="userid != null">
<foreach item="item" collection="fromplanid.value" open="" separator="," close=""> and USERID ${userid.dataOp} ${userid.likestar}#{userid.value}${userid.likeend}
#{item} </if>
</foreach> </trim>
</if> </where>
<if test="!fromplanid.value instanceof java.util.List"> <if test="page != null">
#{fromplanid.value} <if test="page.sortname != null">
</if> order by ${page.sortname} ${page.sortorder}
${fromplanid.likeend} </if>
</if> limit ${page.start}, ${page.Pagesize}
<if test="states != null"> and tcp.STATES ${states.dataOp} ${states.likestar} </if>
<!-- #{fromuserid.value}--> </sql>
<if test="states.value instanceof java.util.List"> <sql id="Base_Where_union">
<foreach item="item" collection="states.value" open="" separator="," close=""> <where>
#{item} <trim prefixOverrides="and|or">
</foreach> <if test="id != null">
</if> and tcp.ID ${id.dataOp} ${id.likestar}#{id.value}${id.likeend}
<if test="!states.value instanceof java.util.List"> </if>
#{states.value} <if test="ocpictureid != null">
</if>
${states.likeend} and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if> </if>
<if test="fromsourceid != null"> and tcp.FROMSOURCEID ${fromsourceid.dataOp} ${fromsourceid.likestar} <if test="pictureresult != null">
<!-- #{fromuserid.value}--> and tcp.PICTURERESULT ${pictureresult.dataOp} ${pictureresult.likestar}#{pictureresult.value}${pictureresult.likeend}
<if test="fromsourceid.value instanceof java.util.List"> </if>
<foreach item="item" collection="fromsourceid.value" open="" separator="," close=""> <if test="picturecompare != null">
#{item} and tcp.PICTURECOMPARE ${picturecompare.dataOp} ${picturecompare.likestar}#{picturecompare.value}${picturecompare.likeend}
</foreach> </if>
</if> <if test="deptid != null">
<if test="!fromsourceid.value instanceof java.util.List"> and tcp.DEPTID ${deptid.dataOp} ${deptid.likestar}#{deptid.value}${deptid.likeend}
#{fromsourceid.value} </if>
</if> <if test="tenantid != null">
${fromsourceid.likeend} and tcp.TENANTID ${tenantid.dataOp} ${tenantid.likestar}#{tenantid.value}${tenantid.likeend}
</if> </if>
<!-- <if test="fromuserid.value instanceof java.util.List"> and tcp.FROMUSERID--> <if test="packageid != null">
<!-- in--> and tcp.PACKAGEID ${packageid.dataOp} ${packageid.likestar}#{packageid.value}${packageid.likeend}
<!-- <foreach item="item" collection="fromuserid.value" open="(" separator="," close=")">--> </if>
<!-- #{item}--> <if test="pictureid != null">
<!-- </foreach>--> and tcp.PICTUREID ${pictureid.dataOp} ${pictureid.likestar}#{pictureid.value}${pictureid.likeend}
<!-- </if>--> </if>
<if test="havepoints != null"> and tcp.HAVEPOINTS ${havepoints.dataOp} ${havepoints.likestar}#{havepoints.value}${havepoints.likeend}</if> <if test="category != null">
<if test="taskname != null"> and tcp.TASKNAME ${taskname.dataOp} ${taskname.likestar}#{taskname.value}${taskname.likeend}</if> and tcp.CATEGORY ${category.dataOp} ${category.likestar}#{category.value}${category.likeend}
<if test="userid != null"> and tcp.USERID ${userid.dataOp} ${userid.likestar}#{userid.value}${userid.likeend}</if> </if>
</trim> <if test="categoryid != null">
</where> and tcp.CATEGORYID ${categoryid.dataOp} ${categoryid.likestar}#{categoryid.value}${categoryid.likeend}
</sql> </if>
<select id="listFinal" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture" parameterType="java.util.Map"> <if test="specification != null">
select tcp.*,pic.field11 reporttime,pic.similarity_score similarityscore from ( and tcp.SPECIFICATION ${specification.dataOp} ${specification.likestar}#{specification.value}${specification.likeend}
select </if>
tc.* <if test="buessinessno != null">
from ocr_taskchild_picture tc,OA_USERFINAL_T uf and tcp.BUESSINESSNO ${buessinessno.dataOp} ${buessinessno.likestar}#{buessinessno.value}${buessinessno.likeend}
</if>
<!-- <if test="states != null"> and tcp.STATES ${states.dataOp} ${states.likestar}#{states.value}${states.likeend}</if>-->
<if test="processinstanceid != null">
and tcp.PROCESSINSTANCEID ${processinstanceid.dataOp} ${processinstanceid.likestar}#{processinstanceid.value}${processinstanceid.likeend}
</if>
<if test="processdefinitionid != null">
and tcp.PROCESSDEFINITIONID ${processdefinitionid.dataOp} ${processdefinitionid.likestar}#{processdefinitionid.value}${processdefinitionid.likeend}
</if>
<if test="deploymentid != null">
and tcp.DEPLOYMENTID ${deploymentid.dataOp} ${deploymentid.likestar}#{deploymentid.value}${deploymentid.likeend}
</if>
<if test="assigneename != null">
and tcp.ASSIGNEENAME ${assigneename.dataOp} ${assigneename.likestar}#{assigneename.value}${assigneename.likeend}
</if>
<if test="assignee != null">
and tcp.ASSIGNEE ${assignee.dataOp} ${assignee.likestar}#{assignee.value}${assignee.likeend}
</if>
<if test="updateuser != null">
and tcp.UPDATEUSER ${updateuser.dataOp} ${updateuser.likestar}#{updateuser.value}${updateuser.likeend}
</if>
<if test="updatetime != null">
and tcp.UPDATETIME ${updatetime.dataOp} ${updatetime.likestar}#{updatetime.value}${updatetime.likeend}
</if>
<if test="fileannex != null">
and tcp.FILEANNEX ${fileannex.dataOp} ${fileannex.likestar}#{fileannex.value}${fileannex.likeend}
</if>
<if test="guidang != null">
and tcp.GUIDANG ${guidang.dataOp} ${guidang.likestar}#{guidang.value}${guidang.likeend}
</if>
<if test="createuser != null">
and tcp.CREATEUSER ${createuser.dataOp} ${createuser.likestar}#{createuser.value}${createuser.likeend}
</if>
<if test="createusername != null">
and tcp.CREATEUSERNAME ${createusername.dataOp} ${createusername.likestar}#{createusername.value}${createusername.likeend}
</if>
<if test="createdate != null">
and tcp.CREATEDATE ${createdate.dataOp} ${createdate.likestar}#{createdate.value}${createdate.likeend}
</if>
<if test="createdateStart != null">
and tcp.CREATEDATE ${createdateStart.dataOp} ${createdateStart.likestar}#{createdateStart.value}${createdateStart.likeend}
</if>
<if test="createdateEnd != null">
and tcp.CREATEDATE ${createdateEnd.dataOp} ${createdateEnd.likestar}#{createdateEnd.value}${createdateEnd.likeend}
</if>
<if test="username != null">
and tcp.USERNAME ${username.dataOp} ${username.likestar}#{username.value}${username.likeend}
</if>
<if test="fromtaskid != null">
and tcp.FROMTASKID ${fromtaskid.dataOp} ${fromtaskid.likestar}#{fromtaskid.value}${fromtaskid.likeend}
</if>
<if test="fromtaskname != null">
and tcp.FROMTASKNAME ${fromtaskname.dataOp} ${fromtaskname.likestar}#{fromtaskname.value}${fromtaskname.likeend}
</if>
<!-- <if test="fromuserid != null"> and tcp.FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar}#{fromuserid.value}${fromuserid.likeend}</if>-->
<!-- <if test="fromprojectid != null"> and tcp.FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar}#{fromprojectid.value}${fromprojectid.likeend}</if>-->
<!-- <if test="fromplanid != null"> and tcp.FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar}#{fromplanid.value}${fromplanid.likeend}</if>-->
<if test="fromuptime != null">
and tcp.FROMUPTIME ${fromuptime.dataOp} ${fromuptime.likestar}#{fromuptime.value}${fromuptime.likeend}
</if>
<if test="fromuserid != null">
and tcp.FROMUSERID ${fromuserid.dataOp} ${fromuserid.likestar}
<!-- #{fromuserid.value}-->
<if test="fromuserid.value instanceof java.util.List">
<foreach item="item" collection="fromuserid.value" open="" separator="," close="">
#{item}
</foreach>
</if>
<if test="!fromuserid.value instanceof java.util.List">
#{fromuserid.value}
</if>
${fromuserid.likeend}
</if>
<if test="fromprojectid != null">
and tcp.FROMPROJECTID ${fromprojectid.dataOp} ${fromprojectid.likestar}
<!-- #{fromuserid.value}-->
<if test="fromprojectid.value instanceof java.util.List">
<foreach item="item" collection="fromprojectid.value" open="" separator="," close="">
#{item}
</foreach>
</if>
<if test="!fromprojectid.value instanceof java.util.List">
#{fromprojectid.value}
</if>
${fromprojectid.likeend}
</if>
<if test="fromplanid != null">
and tcp.FROMPLANID ${fromplanid.dataOp} ${fromplanid.likestar}
<!-- #{fromuserid.value}-->
<if test="fromplanid.value instanceof java.util.List">
<foreach item="item" collection="fromplanid.value" open="" separator="," close="">
#{item}
</foreach>
</if>
<if test="!fromplanid.value instanceof java.util.List">
#{fromplanid.value}
</if>
${fromplanid.likeend}
</if>
<if test="states != null">
and tcp.STATES ${states.dataOp} ${states.likestar}
<!-- #{fromuserid.value}-->
<if test="states.value instanceof java.util.List">
<foreach item="item" collection="states.value" open="" separator="," close="">
#{item}
</foreach>
</if>
<if test="!states.value instanceof java.util.List">
#{states.value}
</if>
${states.likeend}
</if>
<if test="fromsourceid != null">
and tcp.FROMSOURCEID ${fromsourceid.dataOp} ${fromsourceid.likestar}
<!-- #{fromuserid.value}-->
<if test="fromsourceid.value instanceof java.util.List">
<foreach item="item" collection="fromsourceid.value" open="" separator="," close="">
#{item}
</foreach>
</if>
<if test="!fromsourceid.value instanceof java.util.List">
#{fromsourceid.value}
</if>
${fromsourceid.likeend}
</if>
<!-- <if test="fromuserid.value instanceof java.util.List"> and tcp.FROMUSERID-->
<!-- in-->
<!-- <foreach item="item" collection="fromuserid.value" open="(" separator="," close=")">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- </if>-->
<if test="havepoints != null">
and tcp.HAVEPOINTS ${havepoints.dataOp} ${havepoints.likestar}#{havepoints.value}${havepoints.likeend}
</if>
<if test="taskname != null">
and tcp.TASKNAME ${taskname.dataOp} ${taskname.likestar}#{taskname.value}${taskname.likeend}
</if>
<if test="userid != null">
and tcp.USERID ${userid.dataOp} ${userid.likestar}#{userid.value}${userid.likeend}
</if>
</trim>
</where>
</sql>
<select id="listFinal" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"
parameterType="java.util.Map">
select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore from (
select tc.*
from ocr_taskchild_picture tc,
OA_USERFINAL_T uf
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID ${thisLoginUserid.dataOp} and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if> </if>
UNION UNION
select select
tc.* tc.*
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
where tc.STATES = 5 where tc.STATES = 5
) as tcp left join ocr_picture pic ) as tcp
on tcp.PICTUREID = pic.ID left join ocr_picture pic
on tcp.PICTUREID = pic.ID
<include refid="Base_Where_union"> <include refid="Base_Where_union">
</include> </include>
<if test="fromuptimeStart != null"> <if test="fromuptimeStart != null">
@ -265,35 +466,50 @@
limit ${page.start}, ${page.Pagesize} limit ${page.start}, ${page.Pagesize}
</if> </if>
</select> </select>
<select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map">
select count(tcp.ID) from ( select count(tcp.ID) from (
select select tc.*
tc.* from ocr_taskchild_picture tc,
from ocr_taskchild_picture tc,OA_USERFINAL_T uf OA_USERFINAL_T uf
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
<if test="thisLoginUserid != null"> and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}</if> <if test="thisLoginUserid != null">
UNION and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
select </if>
tc.* UNION
from ocr_taskchild_picture tc select
where tc.STATES = 5 tc.*
) as tcp from ocr_taskchild_picture tc
<include refid="Base_Where_union"></include> where tc.STATES = 5
</select> ) as tcp
<include refid="Base_Where_union">
</include>
</select>
<select id="listmytask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro" parameterType="java.util.Map"> <select id="listmytask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro"
parameterType="java.util.Map">
select tcp.* from ( select tcp.* from (
select select tc.*,
tc.*,uf.COMMENTHIS,uf.TASKNAME as TASKNAMEHIS,uf.STATSHIS,uf.TASKINDEX,uf.TASKNO uf.COMMENTHIS,
uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS,
uf.TASKINDEX,
uf.TASKNO
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
where tc.ASSIGNEE = #{searchassignee} and tc.TENANTID=#{searchtenantid} where tc.ASSIGNEE = #{searchassignee}
and tc.STATES=2 and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2
UNION UNION
select select tc.*,
tc.*,uf.COMMENTHIS,uf.TASKNAME as TASKNAMEHIS,uf.STATSHIS,uf.TASKINDEX,uf.TASKNO uf.COMMENTHIS,
from ocr_taskchild_picture tc,OA_USERAPPROVE_T uf uf.TASKNAME as TASKNAMEHIS,
where tc.ID = uf.FORMID and tc.TENANTID=#{searchtenantid} uf.STATSHIS,
uf.TASKINDEX,
uf.TASKNO
from ocr_taskchild_picture tc,
OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID
and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
@ -308,18 +524,19 @@
limit ${page.start}, ${page.Pagesize} limit ${page.start}, ${page.Pagesize}
</if> </if>
</select> </select>
<select id="listmytaskCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listmytaskCount" resultType="java.lang.Long" parameterType="java.util.Map">
select count(tcp.ID) from ( select count(tcp.ID) from (
select select tc.*
tc.*
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
where tc.ASSIGNEE = #{searchassignee} and tc.TENANTID=#{searchtenantid} where tc.ASSIGNEE = #{searchassignee}
and tc.STATES=2 and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2
UNION UNION
select select tc.*
tc.* from ocr_taskchild_picture tc,
from ocr_taskchild_picture tc,OA_USERAPPROVE_T uf OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID and tc.TENANTID=#{searchtenantid} where tc.ID = uf.FORMID
and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
@ -329,17 +546,105 @@
</select> </select>
<select id="selectocpicture" resultType="String">
SELECT OCPICTUREID
FROM ocr_taskchild_picture
WHERE TENANTID = #{tenantid}
AND PACKAGEID = #{packageid}
AND ID = #{id}
</select>
<select id="selectocpicture" resultType="String"> <select id="getPictureHistoryList" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture">
SELECT SELECT t2.*,t1.imgUrl,
OCPICTUREID ifnull(t3.STATSHIS, 1) historyStates
FROM FROM ocr_picture t1
ocr_taskchild_picture LEFT JOIN ocr_taskchild_picture t2
WHERE on t1.ID = t2.PICTUREID
TENANTID = #{tenantid} LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}'
AND PACKAGEID = #{packageid} where t1.ID in
AND ID = #{id} <foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
</select> #{item}
</foreach>
</select>
<select id="getPictureDetail" resultMap="PictureResultMap">
SELECT t1.ID,
t1.imgUrl,
t1.taskName,
t1.work_status,
t1.field1,
t1.field2,
t1.field3,
t1.field4,
t1.field5,
t1.field6,
t1.field7,
t1.field8,
t1.field9,
t1.field10,
t1.field11,
t1.field12,
t1.field13,
t1.field14,
t1.field15,
t1.field16,
t1.field17,
t1.similarity_score,
t1.location,
t2.id,
t2.picture_id,
t2.img_size,
t2.img_format,
t2.img_measure,
t2.upload_time,
t2.create_time,
t2.img_space,
t2.tag_time,
t2.source,
t3.STATES,
t3.PROCESSINSTANCEID as processInstanceId,
t3.PROCESSDEFINITIONID as processDefinitionId,
t3.CREATEDATE,
t3.USERID,
t3.USERNAME,
t3.TASKNAME,
t3.FINISHTIME,
t3.ID as taskChildId,
t4.ID,
t4.USERID,
t4.FORMID,
t4.TASKNAME,
t4.STATSHIS,
t4.COMMENTHIS,
t4.TASKINDEX,
t4.TASKNO,
t4.USERNAME,
t4.CREATEDATE,
t4.TASKCOMMENT
FROM ocr_picture t1
LEFT JOIN ocr_picture_info t2 on t1.ID = t2.picture_id
LEFT JOIN ocr_taskchild_picture t3 on t1.ID = t3.PICTUREID
LEFT JOIN oa_userapprove_t t4 on t4.FORMID = t3.ID
where t1.ID = #{pictureId}
</select>
<select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture">
SELECT t3.*,t2.imgUrl,
t1.max_similarity similarityscore,
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
LEFT JOIN oa_userapprove_t t4 ON t3.ID = t4.FORMID
WHERE t1.check_duplicate_id = #{checkDuplicateId}
<if test="pictureId != null and pictureId != ''">
and t1.picture_id != #{pictureId}
</if>
<if test="oderName == 'similarityScore'">
order by t1.max_similarity ${oderType}
</if>
<if test="oderName == 'createdate'">
order by t2.createdate ${oderType}
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save