修改一键查重添加创建任务方法

pull/1/head
sunchenliang 1 year ago
parent 047781e254
commit ed91a64ee1

@ -29,6 +29,15 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
*/ */
public boolean markPoint(List<Long> taskids); public boolean markPoint(List<Long> taskids);
/**
*
* @param ocrPictureList
* @param tenantId
* @param sysUser
*/
public void createTask(List<OcrPicture> ocrPictureList, String tenantId,UserToken sysUser);
/** /**
* *
* @param packageid * @param packageid

@ -19,10 +19,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.dataobject.OcrPictureDuplicateHis; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService; import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateService;
import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
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;
@ -33,6 +30,7 @@ import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j; import lombok.extern.log4j.Log4j;
import org.apache.commons.collections4.CollectionUtils;
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;
@ -71,23 +69,25 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
@Resource @Resource
private LogService logService; private LogService logService;
@Resource
private OcrTaskchildPictureService taskchildPictureService;
@Value("${image.classifyPath}") @Value("${image.classifyPath}")
private String classifyPath; private String classifyPath;
/** /**
* *
*/ */
@Override @Override
public ResultVo duplicateCheck(List<OcrPicture> ocrPictureList, String tenantId, UserToken sysUser, HttpServletRequest req,Map<String, Object> paraMap) { public ResultVo duplicateCheck(List<OcrPicture> ocrPictureList, String tenantId, UserToken sysUser, HttpServletRequest req, Map<String, Object> paraMap) {
if (null != ocrPictureList && !ocrPictureList.isEmpty()) { if (null != ocrPictureList && !ocrPictureList.isEmpty()) {
//生成查重任务插入表ocr_check_duplicate //生成查重任务插入表ocr_check_duplicate
OcrCheckDuplicate ocrCheckDuplicate = new OcrCheckDuplicate(); OcrCheckDuplicate ocrCheckDuplicate = new OcrCheckDuplicate();
// 生成查重任务编号,规则用户id+当前年月日时分秒 // 生成查重任务编号,规则用户id+当前年月日时分秒
String checkDuplicateNoStr = sysUser.getUserid()+"-"+ DateUtils.parseDateToStr("yyyyMMddHHmmss",new Date()); String checkDuplicateNoStr = sysUser.getUserid() + "-" + DateUtils.parseDateToStr("yyyyMMddHHmmss", new Date());
ocrCheckDuplicate.setCheckDuplicateNo(checkDuplicateNoStr); ocrCheckDuplicate.setCheckDuplicateNo(checkDuplicateNoStr);
ocrCheckDuplicate.setTenantId(Long.valueOf(tenantId)); ocrCheckDuplicate.setTenantId(Long.valueOf(tenantId));
ocrCheckDuplicate.setCreateBy(sysUser.getUserid()); ocrCheckDuplicate.setCreateBy(sysUser.getUserid());
@ -107,12 +107,12 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
checkDuplicate.setStatus(7); //预留状态 checkDuplicate.setStatus(7); //预留状态
try { try {
//异步调用查重任务 //异步调用查重任务
checkDuplicateService.comparePictureResultSave(ocrPictureList,sysUser,id); checkDuplicateService.comparePictureResultSave(ocrPictureList, sysUser, id);
checkDuplicate.setStatus(2); checkDuplicate.setStatus(2);
} catch (Exception e) { } catch (Exception e) {
logger.error("异步执行图片比对异常:",e.getMessage()); logger.error("异步执行图片比对异常:", e.getMessage());
checkDuplicate.setStatus(3); checkDuplicate.setStatus(3);
}finally { } finally {
checkDuplicateService.updateById(checkDuplicate); checkDuplicateService.updateById(checkDuplicate);
} }
} }
@ -126,19 +126,18 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
} }
/** /**
* *
*/ */
@Override @Override
public OcrCheckDuplicate getCheckDuplicateStatus(String checkDuplicateNo) { public OcrCheckDuplicate getCheckDuplicateStatus(String checkDuplicateNo) {
if(StringUtils.isBlank(checkDuplicateNo)){ if (StringUtils.isBlank(checkDuplicateNo)) {
throw new ServiceException(CommonExceptionCodeEnum.PARAM_NOTVALID); throw new ServiceException(CommonExceptionCodeEnum.PARAM_NOTVALID);
} }
QueryWrapper<OcrCheckDuplicate> queryWrapper = new QueryWrapper<>(); QueryWrapper<OcrCheckDuplicate> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("check_duplicate_no",checkDuplicateNo); queryWrapper.eq("check_duplicate_no", checkDuplicateNo);
OcrCheckDuplicate ocrCheckDuplicate = ocrCheckDuplicateMapper.selectOne(queryWrapper); OcrCheckDuplicate ocrCheckDuplicate = ocrCheckDuplicateMapper.selectOne(queryWrapper);
@ -152,14 +151,14 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
public String getLastCheckNo(String tenantId) { public String getLastCheckNo(String tenantId) {
QueryWrapper<OcrCheckDuplicate> queryWrapper = new QueryWrapper<>(); QueryWrapper<OcrCheckDuplicate> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tenant_id",tenantId); queryWrapper.eq("tenant_id", tenantId);
queryWrapper.eq("status","1"); queryWrapper.eq("status", "1");
queryWrapper.eq("is_delete",0); queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
List<OcrCheckDuplicate> list = ocrCheckDuplicateMapper.selectList(queryWrapper); List<OcrCheckDuplicate> list = ocrCheckDuplicateMapper.selectList(queryWrapper);
if(CollUtil.isNotEmpty(list)){ if (CollUtil.isNotEmpty(list)) {
return list.get(0).getCheckDuplicateNo(); return list.get(0).getCheckDuplicateNo();
}else{ } else {
return null; return null;
} }
} }
@ -175,7 +174,7 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void comparePictureResultSave(List<OcrPicture> ocrPictureList,UserToken sysUser,Long checkDuplicateId) throws Exception { public void comparePictureResultSave(List<OcrPicture> ocrPictureList, UserToken sysUser, Long checkDuplicateId) throws Exception {
List<OcrCheckDuplicateResult> saveList = new ArrayList<>(); List<OcrCheckDuplicateResult> saveList = new ArrayList<>();
//需要创建任务的图片集合 //需要创建任务的图片集合
@ -237,10 +236,10 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
// havePoint = true; // havePoint = true;
// } // }
//当前阈值大于 最高阈值 进行替换 //当前阈值大于 最高阈值 进行替换
if(b1.compareTo(maxSimilarity)==1){ if (b1.compareTo(maxSimilarity) == 1) {
maxSimilarity = b1; maxSimilarity = b1;
} }
resultMap.put(ocrPictureNext.getId().toString(),resultValue); resultMap.put(ocrPictureNext.getId().toString(), resultValue);
} }
//1.2 比对结束组装入库参数 //1.2 比对结束组装入库参数
//定义比对存储对象 //定义比对存储对象
@ -250,11 +249,16 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
ocrCheckDuplicateResult.setCompareResultJson(JSONObject.toJSONString(resultMap)); ocrCheckDuplicateResult.setCompareResultJson(JSONObject.toJSONString(resultMap));
ocrCheckDuplicateResult.setCheckDuplicateId(checkDuplicateId); ocrCheckDuplicateResult.setCheckDuplicateId(checkDuplicateId);
saveList.add(ocrCheckDuplicateResult); saveList.add(ocrCheckDuplicateResult);
} }
}
if (CollectionUtils.isNotEmpty(ocrPictureList)) {
taskchildPictureService.createTask(ocrPictureList, ocrPictureList.get(0).getTenantId().toString(), sysUser);
} }
//批量入库 //批量入库
boolean b = checkDuplicateResultService.saveOrUpdateBatch(saveList); boolean b = checkDuplicateResultService.saveOrUpdateBatch(saveList);
if(!b){ if (!b) {
throw new Exception("批量入库比对结果失败!"); throw new Exception("批量入库比对结果失败!");
} }
//开始更新图片最高阈值 //开始更新图片最高阈值
@ -266,34 +270,35 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
@Override @Override
public Boolean removeCheckDuplicate(String checkDuplicateNo, String tenantId) { public Boolean removeCheckDuplicate(String checkDuplicateNo, String tenantId) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("tenant_id",tenantId); queryWrapper.eq("tenant_id", tenantId);
queryWrapper.eq("check_duplicate_no",checkDuplicateNo); queryWrapper.eq("check_duplicate_no", checkDuplicateNo);
OcrCheckDuplicate ocrCheckDuplicate = new OcrCheckDuplicate(); OcrCheckDuplicate ocrCheckDuplicate = new OcrCheckDuplicate();
ocrCheckDuplicate.setIsDelete(1); ocrCheckDuplicate.setIsDelete(1);
return baseMapper.update(ocrCheckDuplicate,queryWrapper)>0; return baseMapper.update(ocrCheckDuplicate, queryWrapper) > 0;
} }
@Override @Override
public OcrCheckDuplicate queryByCheckDuplicateNo(String checkDuplicateNo, Long tenantId) { public OcrCheckDuplicate queryByCheckDuplicateNo(String checkDuplicateNo, Long tenantId) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("tenant_id",tenantId); queryWrapper.eq("tenant_id", tenantId);
queryWrapper.eq("check_duplicate_no",checkDuplicateNo); queryWrapper.eq("check_duplicate_no", checkDuplicateNo);
OcrCheckDuplicate ocrCheckDuplicate = ocrCheckDuplicateMapper.selectOne(queryWrapper); OcrCheckDuplicate ocrCheckDuplicate = ocrCheckDuplicateMapper.selectOne(queryWrapper);
return ocrCheckDuplicate; return ocrCheckDuplicate;
} }
/** /**
* *
*
* @param saveList * @param saveList
* @return * @return
*/ */
private boolean updatePictureSimilarityScore(List<OcrCheckDuplicateResult> saveList) throws Exception { private boolean updatePictureSimilarityScore(List<OcrCheckDuplicateResult> saveList) throws Exception {
List<OcrPicture> updateList = new ArrayList<>(); List<OcrPicture> updateList = new ArrayList<>();
for (OcrCheckDuplicateResult ocrCheckDuplicateResult : saveList) { for (OcrCheckDuplicateResult ocrCheckDuplicateResult : saveList) {
OcrPicture picture = pictureService.selectDtoById(ocrCheckDuplicateResult.getPictureId()); OcrPicture picture = pictureService.selectDtoById(ocrCheckDuplicateResult.getPictureId());
OcrPicture ocrPicture = new OcrPicture(); OcrPicture ocrPicture = new OcrPicture();
//如果当前图片没有历史阈值,直接更新上阈值 //如果当前图片没有历史阈值,直接更新上阈值
if(picture.getSimilarityscore()==null){ if (picture.getSimilarityscore() == null) {
ocrPicture.setId(picture.getId()); ocrPicture.setId(picture.getId());
ocrPicture.setSimilarityscore(ocrCheckDuplicateResult.getMaxSimilarity().intValue()); ocrPicture.setSimilarityscore(ocrCheckDuplicateResult.getMaxSimilarity().intValue());
updateList.add(ocrPicture); updateList.add(ocrPicture);
@ -301,17 +306,17 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
} }
BigDecimal oldSimilarityScore = new BigDecimal(picture.getSimilarityscore()); BigDecimal oldSimilarityScore = new BigDecimal(picture.getSimilarityscore());
BigDecimal newSimilarityScore = new BigDecimal(ocrCheckDuplicateResult.getMaxSimilarity()); BigDecimal newSimilarityScore = new BigDecimal(ocrCheckDuplicateResult.getMaxSimilarity());
if(newSimilarityScore.compareTo(oldSimilarityScore)==1){ if (newSimilarityScore.compareTo(oldSimilarityScore) == 1) {
ocrPicture.setId(picture.getId()); ocrPicture.setId(picture.getId());
ocrPicture.setSimilarityscore(newSimilarityScore.intValue()); ocrPicture.setSimilarityscore(newSimilarityScore.intValue());
updateList.add(ocrPicture); updateList.add(ocrPicture);
} }
} }
if(updateList.size()<=0){ if (updateList.size() <= 0) {
return true; return true;
} }
if(!pictureService.updateBatchById(updateList)){ if (!pictureService.updateBatchById(updateList)) {
throw new Exception("更新图片历史最高阈值失败!"); throw new Exception("更新图片历史最高阈值失败!");
} }
return true; return true;
@ -330,23 +335,23 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
//1.循环便利本次比对结果 //1.循环便利本次比对结果
for (OcrCheckDuplicateResult checkDuplicateResult : checkDuplicateResults) { for (OcrCheckDuplicateResult checkDuplicateResult : checkDuplicateResults) {
//查看当前图片历史比对结果 //查看当前图片历史比对结果
OcrPictureDuplicateHis pictureDuplicateHis = pictureDuplicateHisService.queryByPictureId(checkDuplicateResult.getPictureId()); OcrPictureDuplicateHis pictureDuplicateHis = pictureDuplicateHisService.queryByPictureId(checkDuplicateResult.getPictureId());
//获取本次对比结果map //获取本次对比结果map
ObjectMapper newObjectMapper = new ObjectMapper(); ObjectMapper newObjectMapper = new ObjectMapper();
Map<String,Object> newMap = newObjectMapper.readValue(checkDuplicateResult.getCompareResultJson(), HashMap.class); Map<String, Object> newMap = newObjectMapper.readValue(checkDuplicateResult.getCompareResultJson(), HashMap.class);
//创建当前用于存储的历史map //创建当前用于存储的历史map
Map<String, Object> hisMap = new HashMap<>(); Map<String, Object> hisMap = new HashMap<>();
//定义处理对象 //定义处理对象
OcrPictureDuplicateHis pictureDuplicate = new OcrPictureDuplicateHis(); OcrPictureDuplicateHis pictureDuplicate = new OcrPictureDuplicateHis();
if(pictureDuplicateHis!=null){ if (pictureDuplicateHis != null) {
//检查当前是否存在 历史 //检查当前是否存在 历史
if(StringUtils.isNotBlank(pictureDuplicateHis.getCheckDuplicateResultHisJson())){ if (StringUtils.isNotBlank(pictureDuplicateHis.getCheckDuplicateResultHisJson())) {
ObjectMapper hisObjectMapper = new ObjectMapper(); ObjectMapper hisObjectMapper = new ObjectMapper();
hisMap = hisObjectMapper.readValue(pictureDuplicateHis.getCheckDuplicateResultHisJson(), HashMap.class); hisMap = hisObjectMapper.readValue(pictureDuplicateHis.getCheckDuplicateResultHisJson(), HashMap.class);
for (String key : newMap.keySet()) { for (String key : newMap.keySet()) {
//开始变更旧map //开始变更旧map
hisMap.put(key,newMap.get(key)); hisMap.put(key, newMap.get(key));
} }
pictureDuplicate.setId(pictureDuplicateHis.getId()); pictureDuplicate.setId(pictureDuplicateHis.getId());
pictureDuplicate.setCheckDuplicateResultHisJson(JSONObject.toJSONString(hisMap)); pictureDuplicate.setCheckDuplicateResultHisJson(JSONObject.toJSONString(hisMap));
@ -361,14 +366,14 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
pictureDuplicate.setCheckDuplicateResultHisJson(JSONObject.toJSONString(hisMap)); pictureDuplicate.setCheckDuplicateResultHisJson(JSONObject.toJSONString(hisMap));
insertList.add(pictureDuplicate); insertList.add(pictureDuplicate);
} }
if(updateList.size()>0){ if (updateList.size() > 0) {
if(!pictureDuplicateHisService.updateBatchById(updateList)){ if (!pictureDuplicateHisService.updateBatchById(updateList)) {
throw new Exception("更新图片历史比对失败!"); throw new Exception("更新图片历史比对失败!");
} }
} }
if(insertList.size()>0){ if (insertList.size() > 0) {
if(!pictureDuplicateHisService.saveBatch(insertList)){ if (!pictureDuplicateHisService.saveBatch(insertList)) {
throw new Exception("新增图片历史比对失败!"); throw new Exception("新增图片历史比对失败!");
} }
} }

@ -2,6 +2,7 @@ package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.jyjz.flowable.common.SystemConstantsOa; import cn.jyjz.flowable.common.SystemConstantsOa;
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.service.UserTokenService;
@ -10,7 +11,9 @@ 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.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.dataobject.Userapprove;
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.OcrPicture;
@ -33,9 +36,12 @@ import org.apache.commons.collections4.CollectionUtils;
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.beans.factory.annotation.Autowired;
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.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
@ -62,6 +68,12 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource @Resource
private OcrPictureInfoService pictureInfoService; private OcrPictureInfoService pictureInfoService;
@Resource
IFlowInstanceService flowInstanceService;
@Resource
private CategoryService categoryService;
/** /**
* *
* *
@ -278,6 +290,41 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
return this.update(updateWrapper); return this.update(updateWrapper);
} }
@Override
public void createTask(List<OcrPicture> ocrPictureList, String tenantId, UserToken userToken) {
if (null != ocrPictureList && !ocrPictureList.isEmpty()) {
//用于标记相似度是否存在百分百的情况
for (OcrPicture ocrPicture : ocrPictureList) {
//查询项目对象
if (null == ocrPicture.getCategoryid()) {
//TODO 没有对应项目,返回提示信息
continue;
}
Category category = categoryService.getById(ocrPicture.getCategoryid());
if (null == category || StringUtils.isBlank(category.getProcessdefinitionid())) {
continue;
}
//创建工单,如果创建成功,增加标志,用于过滤条件使用
OcrTaskchildPicture ocrTaskchildPicture = this.create(ocrPicture, tenantId, userToken, null, null);
if (null != ocrTaskchildPicture) {
MockHttpServletRequest request = new MockHttpServletRequest();
RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
//发起流程
flowInstanceService.startProcessInstanceById(
category.getProcessdefinitionid(),
null,
request,
ocrTaskchildPicture.getId().toString(),
category.getServicename()
);
//TODO 需要测试
ocrPicture.setTaskchildpictureid(ocrTaskchildPicture.getId().toString());
ocrPictureService.updateById(ocrPicture);
}
}
}
}
/** /**
* *
* *
@ -501,21 +548,21 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
ocrTaskchildPicture.setFromprojectname(ocrPicture.getProjectidname()); ocrTaskchildPicture.setFromprojectname(ocrPicture.getProjectidname());
ocrTaskchildPicture.setFromusername(ocrPicture.getUpname()); ocrTaskchildPicture.setFromusername(ocrPicture.getUpname());
StringBuffer pcid = new StringBuffer(); StringBuffer pcid = new StringBuffer();
StringBuffer result = new StringBuffer(); StringBuffer result = new StringBuffer();
for(OcrPicture comp:ocrPicture.getListCom()){ for (OcrPicture comp : ocrPicture.getListCom()) {
if(null == pcid || pcid.toString().length() < 1){ if (null == pcid || pcid.toString().length() < 1) {
pcid.append(comp.getId()); pcid.append(comp.getId());
result.append(comp.getResult()); result.append(comp.getResult());
}else{ } else {
pcid.append("," + comp.getId()); pcid.append("," + comp.getId());
result.append("," + comp.getResult()); result.append("," + comp.getResult());
} }
} }
ocrTaskchildPicture.setOcpictureid(pcid.toString()); ocrTaskchildPicture.setOcpictureid(pcid.toString());
ocrTaskchildPicture.setPictureresult(result.toString()); ocrTaskchildPicture.setPictureresult(result.toString());
ocrTaskchildPicture.setPicturecompare(String.join(",",ocrPicture.getPicturecompareList())); ocrTaskchildPicture.setPicturecompare(String.join(",", ocrPicture.getPicturecompareList()));
return this.save(ocrTaskchildPicture) ? ocrTaskchildPicture : null; return this.save(ocrTaskchildPicture) ? ocrTaskchildPicture : null;
} }

Loading…
Cancel
Save