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.OcrPicture;
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.OcrPictureService;
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.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@ -86,7 +88,7 @@ public class OcrCheckDuplicateController {
if (pageList.size() == 1) {
return ResultVoUtil.error("查重数据至少要有两条。");
} else {
return ocrCheckDuplicateService.duplicateCheck(pageList, tenantId, userToken, req,paraMap);
return ocrCheckDuplicateService.duplicateCheck(pageList, tenantId, userToken, req, paraMap);
}
} else {
return ResultVoUtil.error("没有查重数据。");
@ -97,27 +99,28 @@ public class OcrCheckDuplicateController {
@GetMapping("/getCheckDuplicateStatus")
@ResponseBody
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");
if(StringUtils.isBlank(tenantId)){
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
if(StringUtils.isBlank(checkDuplicateNo)){
if (StringUtils.isBlank(checkDuplicateNo)) {
return ResultVoUtil.error("查重编号不能为空");
}
OcrCheckDuplicate dto = this.ocrCheckDuplicateService.getCheckDuplicateStatus(checkDuplicateNo);
if(null != dto){
if (null != dto) {
return ResultVoUtil.success(dto);
}else{
} else {
return ResultVoUtil.error();
}
}
/**
*
*
* @param request
* @return
*/
@ -125,35 +128,36 @@ public class OcrCheckDuplicateController {
public ResultVo getLastCheckNo(HttpServletRequest request) {
String tenantId = request.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
String lastCheckNo = this.ocrCheckDuplicateService.getLastCheckNo(tenantId);
if(!StringUtils.isBlank(lastCheckNo)){
if (!StringUtils.isBlank(lastCheckNo)) {
return ResultVoUtil.success(lastCheckNo);
}else{
} else {
return ResultVoUtil.success();
}
}
/**
*
*
* @param request
* @return
*/
@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");
if(StringUtils.isBlank(tenantId)){
if (StringUtils.isBlank(tenantId)) {
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.error("取消任务失败!");
@ -179,6 +183,4 @@ public class OcrCheckDuplicateController {
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.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil;
@ -173,17 +174,16 @@ public class OcrPictureController extends BaseController {
return ResultVoUtil.error("查重数据至少要有两条。");
}
}
ocrPictureService.createTaskChild(pageList, pageList.get(0).getTenantId().toString(),req);
ocrPictureService.createTaskChild(pageList, pageList.get(0).getTenantId().toString(), req);
return ResultVoUtil.error("没有查重数据。");
}
/**
*
*
* @param req
* @return
*/
@ -230,7 +230,7 @@ public class OcrPictureController extends BaseController {
queryWrapper.eq("tenant_id", tenantId);
List<OcrPicture> pageList = ocrPictureService.listPage(queryWrapper);
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 {
return ResultVoUtil.error("没有查重数据。");
}
@ -268,7 +268,7 @@ public class OcrPictureController extends BaseController {
String search_month = req.getParameter("search_month");
String ordertype = req.getParameter("ordertype");
queryWrapper.eq("suspiciousfile","0");
queryWrapper.eq("suspiciousfile", "0");
if (StringUtils.isNotBlank(ordertype)) {
if (ordertype.equals("0")) {
queryWrapper.orderByAsc("similarity_score");
@ -385,4 +385,28 @@ public class OcrPictureController extends BaseController {
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.ResultVoUtil;
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.dto.OcrTaskPackageDto;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* <p>
@ -39,6 +44,7 @@ public class OcrTaskPackageController extends BaseController {
/**
*
*
* @param ocrTaskPackage
* @param req
* @return
@ -48,22 +54,22 @@ public class OcrTaskPackageController extends BaseController {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(req));
//租户
String tenantId = req.getHeader("X-Tenant-Id");
if(StringUtils.isBlank(tenantId)){
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
ocrTaskPackage.setTenantId(Long.parseLong(tenantId));
//校验参数包名称
if(ocrTaskPackage == null){
if (ocrTaskPackage == null) {
return ResultVoUtil.error("参数对象为空");
}
//校验参数包名称
if(StringUtils.isBlank(ocrTaskPackage.getName())){
if (StringUtils.isBlank(ocrTaskPackage.getName())) {
return ResultVoUtil.error("任务包名称不能为空");
}
//校验参数包名称
if(StringUtils.isBlank(ocrTaskPackage.getCheckDuplicateNo())){
if (StringUtils.isBlank(ocrTaskPackage.getCheckDuplicateNo())) {
return ResultVoUtil.error("查重任务编号不能为空");
}
ocrTaskPackage.setCreateBy(userToken.getUserid());
@ -74,21 +80,39 @@ public class OcrTaskPackageController extends BaseController {
/**
*
*
* @param packageId
* @param req
* @return
*/
@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();
taskPackage.setId(packageId);
taskPackage.setIsDelete(1);
boolean b = ocrTaskPackageService.updateById(taskPackage);
if(b){
if (b) {
return ResultVoUtil.success();
}else{
} else {
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 pageSizeStr = request.getParameter("pageSize");
if(StringUtils.isEmpty(pageNoStr)|| StringUtils.isEmpty(pageSizeStr)){
return ResultVoUtil.error("页码和条数必传!");
if (StringUtils.isEmpty(pageNoStr) || StringUtils.isEmpty(pageSizeStr)) {
return ResultVoUtil.error("页码和条数必传!");
}
paramterPage.setStart(Integer.parseInt(pageNoStr));
paramterPage.setPagesize(Integer.parseInt(pageSizeStr));
@ -171,12 +171,12 @@ public class OcrTaskchildPictureController extends BaseController {
jsonObject.put("packageid", jsonObject.getOrDefault("packageid", null).toString());
return jsonObject;
}).collect(Collectors.toList());
List<JSONObject> collect1=new ArrayList<>();
for (JSONObject asd:collect){
List<JSONObject> collect1 = new ArrayList<>();
for (JSONObject asd : collect) {
QueryWrapper<OcrPicture> imgWrapper = new QueryWrapper<>();
imgWrapper.eq("id",asd.get("pictureid"));
imgWrapper.eq("id", asd.get("pictureid"));
OcrPicture one = ocrPictureService.getOne(imgWrapper);
if (one.getSuspiciousfile()==0){
if (one.getSuspiciousfile() == 0) {
collect1.add(asd);
}
}
@ -303,7 +303,7 @@ public class OcrTaskchildPictureController extends BaseController {
@PathVariable("packageid") Long packageid,
@PathVariable("id") Long id) throws IOException {
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) {
return ResultVoUtil.success(dto);
} else {
@ -371,4 +371,52 @@ public class OcrTaskchildPictureController extends BaseController {
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 com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
*
*/
@Mapper
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 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.Param;
import java.util.Map;
/**
* <p>
@ -15,4 +20,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
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.ocr.dataobject.OcrTaskchildPicture;
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.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
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);
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)
private String location;
@ApiModelProperty(value = "图片信息")
@TableField(exist = false)
private String imgUrl;
//保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false)
@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.OcrPicture;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
@ -65,5 +66,16 @@ public interface IOcrCheckDuplicateService extends IService<OcrCheckDuplicate> {
*/
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);
}

@ -1,14 +1,13 @@
package cn.jyjz.xiaoyao.ocr.service;
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.dto.OcrTaskPackageDto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -26,4 +25,14 @@ public interface IOcrTaskPackageService extends IService<OcrTaskPackage> {
* @return
*/
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.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -66,4 +67,7 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
Map<String,String> getOcrPictureClassifyAndHash(String img);
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.OcrTaskchildPicture;
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.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
*
@ -137,5 +137,13 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
public List<OcrTaskchildPictureAppro> listmytask(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.UserToken;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
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.dataobject.*;
import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil;
import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil;
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.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@ -36,6 +35,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>

@ -4,8 +4,6 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
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.util.RequestBaseUtil;
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.entity.PictureImgToLocalEntity;
import cn.jyjz.xiaoyao.ocr.util.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
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.imageio.ImageIO;
@ -45,7 +38,6 @@ import javax.servlet.http.HttpServletRequest;
import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.Serializable;
import java.math.BigDecimal;
import java.net.URL;
import java.net.URLConnection;
@ -70,49 +62,34 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
@Value("${image.serverUrl}")
private String serverUrl;
@Resource
private OcrPictureMybatisDao ocrpicturemybatisdao;
@Resource
private OcrPictureNotesService ocrPictureNotesService;
@Resource
private OcrPackagetaskService ocrPackagetaskService;
@Resource
private LogService logService;
@Autowired
private SeqManageService seqManageService;
@Resource
private OcrTaskchildPictureService ocrTaskchildPictureService;
@Resource
IFlowInstanceService flowInstanceService;
@Resource
private OcrUsersearchService ocrUsersearchService;
@Resource
private CategoryService categoryService;
@Resource
private OcrPictureInfoService ocrPictureInfoService;
private Object lock = new Object();
/**
*
*/
@Value("${ocr.api.wly.interface-domain}")
private String interfaceDomain;
/**
*
*/
@Autowired
DataDictionaryUtil dataDictionaryUtil;
@Resource
UserTokenService userTokenService;
@Resource
OcrPictureMybatisDao pictureMybatisDao;
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;
}
@Override
public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId) {
return pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId);
}
public OcrTaskchildPicture updateTaskChild(OcrPicture ocrPicture, Long packageid, String buessinessno) {
OcrTaskchildPicture ocrTaskchildPicture = ocrTaskchildPictureService.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, ocrPicture.getId()));
ocrTaskchildPicture.setBuessinessno(buessinessno);

@ -1,30 +1,23 @@
package cn.jyjz.xiaoyao.ocr.service.impl;
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.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskPackageMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.dto.OcrTaskPackageDto;
import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil;
import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchEnum;
import com.alibaba.fastjson.JSONArray;
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 liquibase.pro.packaged.T;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
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.Map;
@ -43,19 +36,41 @@ public class OcrTaskPackageServiceImpl extends ServiceImpl<OcrTaskPackageMapper,
@Resource
private IOcrCheckDuplicateService checkDuplicateService;
@Resource
private OcrTaskPackageMapper taskPackageMapper;
@Override
public ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage) {
//1.获取查重任务
OcrCheckDuplicate ocrCheckDuplicate = checkDuplicateService.queryByCheckDuplicateNo(ocrTaskPackage.getCheckDuplicateNo(),ocrTaskPackage.getTenantId());
if(ocrCheckDuplicate==null){
OcrCheckDuplicate ocrCheckDuplicate = checkDuplicateService.queryByCheckDuplicateNo(ocrTaskPackage.getCheckDuplicateNo(), ocrTaskPackage.getTenantId());
if (ocrCheckDuplicate == null) {
return ResultVoUtil.error("无法获取到查重任务!");
}
OcrTaskPackage taskPackage = new OcrTaskPackage();
BeanUtil.copyProperties(ocrTaskPackage,taskPackage);
BeanUtil.copyProperties(ocrTaskPackage, taskPackage);
taskPackage.setCheckDuplicateId(ocrCheckDuplicate.getId());
if(this.save(taskPackage)){
if (this.save(taskPackage)) {
return ResultVoUtil.success("创建任务包成功!");
}
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.IFlowTaskService;
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.ResultVoUtil;
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.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.CategoryService;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.dataobject.*;
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.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.extension.plugins.pagination.Page;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
@ -74,6 +68,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource
private CategoryService categoryService;
@Resource
private IOcrPictureDuplicateHisService pictureDuplicateHisService;
/**
*
*
@ -295,6 +292,10 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
if (null != ocrPictureList && !ocrPictureList.isEmpty()) {
//用于标记相似度是否存在百分百的情况
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()) {
//TODO 没有对应项目,返回提示信息
@ -620,4 +621,60 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
public Long listmytaskCount(Map<String, Object> 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>
</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>

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

Loading…
Cancel
Save