优化批量审批接口

pull/2/head
sunchenliang 1 year ago
parent a44c24815e
commit fbbff17114

@ -3,6 +3,8 @@ package cn.jyjz.flowable.controller;
import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.entity.FlowTaskInfo;
import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.flowable.utils.SysConstant;
@ -33,6 +35,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.*;
import org.apache.commons.collections4.CollectionUtils;
import org.flowable.ui.common.model.RemoteUser;
import org.flowable.ui.common.service.idm.RemoteIdmService;
import org.springframework.beans.factory.annotation.Autowired;
@ -87,6 +90,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
@ -102,6 +106,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
@ -117,6 +122,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@PostMapping("/viewFormid")
@ -133,81 +139,44 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeFlow")
@ResponseBody
public ResultVo complete(FlowTaskVO taskVO,HttpServletRequest request){
Boolean flag = flowTaskService.complete(taskVO,request);
public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Boolean flag = flowTaskService.complete(approve, userToken);
return flag ? ResultVoUtil.success() : ResultVoUtil.error();
}
/**
*
*
* @return
*/
@ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeBatchFlow")
@ResponseBody
public ResultVo completeBatch(HttpServletRequest request){
public ResultVo completeBatch(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//任务ID
String[] taskId = request.getParameterValues("taskId");
//审批的任务主键
String[] formid = request.getParameterValues("formid");
String[] taskname = request.getParameterValues("taskname");
//是否同意true同意false拒绝
boolean approvd = Boolean.valueOf(request.getParameter("approvd"));
//审批意见")
String taskComment = request.getParameter("taskComment");
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
//判断当前任务审批人是否一致
if(!this.ocrTaskchildPictureService.validateAssignee(formid,userToken)){
if (!this.ocrTaskchildPictureService.validateAssignee(formIdList, userToken)) {
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
}
//TODO 判断当前任务是否审批完毕
if(!this.ocrTaskchildPictureService.validateApprove(formid)){
// 判断当前任务是否审批完毕
if (!this.ocrTaskchildPictureService.validateApprove(formIdList)) {
return ResultVoUtil.error("存在已经审批的任务。");
}
//TODO 判断taskid是否为非法空置、taskid是否存在
//判断当前任务是否存在历史任务--暂时不做,生成任务时直接保存历史任务的审批工具中
StringBuffer smg = new StringBuffer();
for(int i = 0;i < taskId.length;i++){
String ti = taskId[i];
String fi = formid[i];
FlowTaskVO taskVO = new FlowTaskVO();
taskVO.setTaskId(ti);
taskVO.setFormid(fi);
taskVO.setApprovd(approvd);
taskVO.setTaskComment(taskComment);
Boolean flag = flowTaskService.complete(taskVO,request);
if(!flag){
if(StringUtils.isNotBlank(smg.toString())){
smg.append("");
smg.append(taskname[i]);
smg.append("审批失败");
}else{
smg.append(taskname[i]);
smg.append("审批失败");
Boolean flag = flowTaskService.complete(approve, userToken);
return flag ? ResultVoUtil.success("审批成功!") : ResultVoUtil.error("审批失败!");
}
}
}
return (StringUtils.isNotBlank(smg.toString()))?ResultVoUtil.error(smg.toString()):ResultVoUtil.success();
return ResultVoUtil.error("审批信息为空!");
}
@GetMapping("/listhistore")
@ -217,9 +186,11 @@ public class FlowTaskController extends BaseController {
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
return ResultVoUtil.success(list);
}
/**
*
*
*
* @return
*/
@GetMapping("/finishedList")
@ -239,9 +210,11 @@ public class FlowTaskController extends BaseController {
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
* @return
*/
@ApiOperation(value = "待办任务", notes = "待办任务")
@ -318,9 +291,11 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
* @return
*/
@ApiOperation(value = "我的任务", notes = "查询我的待办、已经办理任务")
@ -368,6 +343,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "我的终审列表", notes = "我的终审列表")
@ -484,6 +460,7 @@ public class FlowTaskController extends BaseController {
/**
* ()
*
* @return
*/
@ApiOperation(value = "图片分页列表查询-根据用户预设检索条件查询", notes = "")
@ -510,12 +487,11 @@ public class FlowTaskController extends BaseController {
}
/**
*
*
* CATEGORYID
*
* @return
*/
@GetMapping("/listdataall")
@ -551,8 +527,10 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(flowUnionVoList);
}
/**
*
*
* @param pageUtils
* @param request
* @return
@ -569,9 +547,11 @@ public class FlowTaskController extends BaseController {
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
* @return
*/
@GetMapping("/mylistcc")
@ -584,8 +564,10 @@ public class FlowTaskController extends BaseController {
return ResultVoUtil.success(flowableccIPage);
}
/**
*
*
* @return
*/
@GetMapping("/cancelTask")
@ -600,6 +582,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ -619,6 +602,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ -638,6 +622,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "重复流程", notes = "重复流程")
@ -652,6 +637,7 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value = "重复流程", notes = "重复流程")

@ -0,0 +1,46 @@
package cn.jyjz.flowable.entity;
import lombok.Data;
import java.util.List;
/**
* ClassName FlowApprove$.java
* Description:
* Author scl.
* Date 2024/3/28 17:04
*/
@Data
public class FlowApprove {
/**
*
*/
private String comment;
/**
*
*/
private Boolean result;
/**
*
*/
private String failCauseName;
/**
* id
*/
private String failCauseId;
/**
*
*/
private String disposeType;
/**
* id
*/
private String disposeTypeId;
/**
* id
*/
private List<FlowTaskInfo> flowTaskInfoList;
}

@ -0,0 +1,25 @@
package cn.jyjz.flowable.entity;
import lombok.Data;
/**
* ClassName FlowTaskInfo$.java
* Description:
* Author scl.
* Date 2024/3/28 20:09
*/
@Data
public class FlowTaskInfo {
/**
* id
*/
private String formId;
/**
* id
*/
private String taskId;
/**
*
*/
private String taskName;
}

@ -5,6 +5,7 @@ import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
import cn.jyjz.flowable.domain.vo.FlowTaskCompleteVO;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.domain.vo.WorkFlowNodeVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
@ -34,7 +35,7 @@ public interface IFlowTaskService {
Category viewForm(String processId, HttpServletRequest request);
Boolean complete(FlowTaskVO taskVO, HttpServletRequest request);
Boolean complete(FlowApprove approve,UserToken userToken);
/**

@ -5,6 +5,8 @@ import cn.hutool.core.date.DateUtil;
import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.config.CustomProcessDiagramGenerator;
import cn.jyjz.flowable.domain.vo.*;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.entity.FlowTaskInfo;
import cn.jyjz.flowable.service.IFlowInstanceService;
import cn.jyjz.xiaoyao.common.base.language.SystemMessage;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
@ -437,32 +439,49 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*
*/
@Override
public Boolean complete(FlowTaskVO taskVO, HttpServletRequest request) {
public Boolean complete(FlowApprove approve, UserToken userToken) {
try {
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) {
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
for (FlowTaskInfo flowTaskInfo : flowTaskInfoList) {
// 当前要处理的任务
Task task = taskService.createTaskQuery().taskId(taskVO.getTaskId()).singleResult();
Task task = taskService.createTaskQuery().taskId(flowTaskInfo.getTaskId()).singleResult();
// 查询流程定义的信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(task.getProcessDefinitionId())
.singleResult();
// 对任务添加对应的审批意见
taskService.addComment(task.getId(), task.getProcessInstanceId(), taskVO.getTaskComment());
taskService.addComment(task.getId(), task.getProcessInstanceId(), approve.getComment());
Map<String, Object> variables = new HashMap<>();
if (null != taskVO.getTaskApprovd() && StringUtils.isNotBlank(taskVO.getTaskApprovd().toString())) {
variables.put("taskApprovd", taskVO.getTaskApprovd().intValue());
variables.put("approvd", approve.getResult());
OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(flowTaskInfo.getFormId()));
if (approve.getResult()) {
disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken);
} else {
disposeFailureTask(task,flowTaskInfo.getFormId(),variables);
}
userapproveService.save(userToken, approve, task,flowTaskInfo.getFormId());
}
}
//保存当前审批用户与业务表的关系
return true;
} catch (Exception e) {
log.error("e={}", e);
}
return false;
}
variables.put("approvd", taskVO.getApprovd());
OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid()));
//只有同意,再进行候选人设置
if (taskVO.getApprovd()) {
/**
*
*/
private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map<String, Object> variables, OcrTaskchildPicture model, String formId, UserToken userToken) {
//进入下一个节点
taskService.complete(task.getId(), variables);
updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition);
String category = processDefinition.getCategory();
Category categoryDto = this.categoryService.getCategory(category);
IFormCustomService iFormCustomService = SpringUtils.getBean(categoryDto.getServicename());
FlowModelVO formData = iFormCustomService.getForm(taskVO.getFormid());
FlowModelVO formData = iFormCustomService.getForm(formId);
List<Task> taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid());
Task taskData = null;
if (null != taskList && !taskList.isEmpty()) {
@ -476,10 +495,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//判断节点上的描述字段是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录
if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) {
User user = userService.findByLoginname(formData.getAssignee());
userFinalService.save(user.getId().toString(), taskVO.getFormid());
userFinalService.save(user.getId().toString(), formId);
}
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid()));
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
@ -487,7 +505,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
//增加未查看记录
userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString());
} else {
}
/**
*
*/
private void disposeFailureTask(Task task, String formId, Map<String, Object> variables) {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
//我这里以 流程定义key(oa_category_t定义的关键字逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename
String businesskey = processInstance.getBusinessKey();
@ -518,20 +542,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<String> executionIds = new ArrayList<>();
executions.forEach(execution -> executionIds.add(execution.getId()));
runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(executionIds, endId).processVariables(variables).changeState();
OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid()));
OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
taskchildPicture.setFinishtime(System.currentTimeMillis());
ocrTaskchildPictureService.updateById(taskchildPicture);
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//保存当前审批用户与业务表的关系
userapproveService.save(userToken, taskVO, task);
return true;
} catch (Exception e) {
log.error("e={}", e);
}
return false;
}
//发送消息
private void sendMsg(OcrTaskchildPicture model, UserToken userToken) {
cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee());
OcrMsg msg = new OcrMsg();

@ -1,6 +1,7 @@
package cn.jyjz.xiaoyao.oa.from.service;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
@ -13,11 +14,11 @@ public interface UserapproveService extends BaseService<Userapprove> {
/**
*
* @param userid
* @param formid
* @param approve
* @param formId
* @return truefalse
*/
public boolean save(UserToken userToken, FlowTaskVO taskVO, Task task );
public boolean save(UserToken userToken, FlowApprove approve, Task task,String formId);
/**
*

@ -1,6 +1,7 @@
package cn.jyjz.xiaoyao.oa.from.service.impl;
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
import cn.jyjz.xiaoyao.oa.from.dataDao.UserapproveMybatisDao;
@ -22,22 +23,19 @@ public class UserapproveServiceImpl extends BaseServiceImpl<UserapproveMybatisDa
private UserapproveMybatisDao userapprovemybatisdao;
@Override
public boolean save(UserToken userToken, FlowTaskVO taskVO, Task taskd) {
public boolean save(UserToken userToken, FlowApprove approve, Task taskd,String formId) {
Userapprove userapprove = new Userapprove();
userapprove.setUserid(Long.parseLong(userToken.getUserid()));
userapprove.setFormid(Long.parseLong(taskVO.getFormid()));
userapprove.setFormid(Long.parseLong(formId));
userapprove.setTaskname(taskd.getName());
userapprove.setTaskcomment(taskVO.getTaskComment());
userapprove.setTaskcomment(approve.getComment());
userapprove.setCreatedate(System.currentTimeMillis());
userapprove.setUsername(userToken.getUsername());
if (taskVO.getApprovd()) {
if (approve.getResult()) {
userapprove.setStatshis(2);
} else {
userapprove.setStatshis(3);
}
return this.save(userapprove);
}

@ -0,0 +1,59 @@
package cn.jyjz.xiaoyao.ocr.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* ClassName ApproveNodeDto$.java
* Description:
* Author scl.
* Date 2024/3/27 23:57
*/
@Data
public class ApproveNodeDto {
/**
*
*/
private String nodeName;
/**
*
*/
private String approveByName;
/**
*
*/
private Integer approveWay;
/**
*
*/
private Integer approveResult;
/**
*
*/
private String reason;
/**
*
*/
private Integer processMethod;
/**
*
*/
private String approveRemark;
/**
*
*/
private String extendField;
/**
*
*/
private Integer isPictureRight;
/**
*
*/
private Integer isPictureRepeat;
/**
*
*/
private Integer isBriefRepeat;
}

@ -0,0 +1,75 @@
package cn.jyjz.xiaoyao.ocr.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* ClassName FlowResultDto$.java
* Description:
* Author scl.
* Date 2024/3/27 22:39
*/
@Data
public class FlowResultDto {
/**
* id
*/
private Long tenantNo;
/**
* id
*/
private Long accountNo;
/**
* id 2.0no
*/
private Long taskNo;
/**
* 0.,1.'
*/
private Integer approveResult;
/**
*
*/
private String approveRemark;
/**
*
*/
private BigDecimal pictureMatchDegree;
/**
*
*/
private String extendField;
/**
* 0 ,1
*/
private Integer isPictureRepeat;
/**
* 0 ,1
*/
private Integer isPictureRight;
/**
* 0 ,1
*/
private Integer isBriefRepeat;
/**
*
*/
private List<Long> falseImgList;
/**
*
*/
private List<Long> briefRepeatTaskList;
/**
*
*/
private List<ApproveNodeDto> approveDetailList;
/**
*
*/
private List<ReuseImgDto> pictureRepeatList;
}

@ -0,0 +1,25 @@
package cn.jyjz.xiaoyao.ocr.dto;
import lombok.Data;
/**
* ClassName ReuseImgDto$.java
* Description:
* Author scl.
* Date 2024/3/27 23:59
*/
@Data
public class ReuseImgDto {
/**
* no 2.0no
*/
private Long imgNo;
/**
* taskNo 2.0no
*/
private Long taskNo;
/**
* ImgNo 2.0no
*/
private Long repeatImgNo;
}

@ -51,7 +51,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param formid
* @return
*/
public boolean validateApprove(String[] formid);
public boolean validateApprove(List<String> formid);
public boolean validateBoole(String[] formid);
@ -61,7 +61,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param userToken
* @return
*/
public boolean validateAssignee(String[] formid,UserToken userToken);
public boolean validateAssignee(List<String> formid,UserToken userToken);
/**
*
@ -147,4 +147,6 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId);
void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture,OcrPicture picture);
}

@ -14,6 +14,7 @@ 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.*;
import cn.jyjz.xiaoyao.ocr.dto.FlowResultDto;
import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService;
@ -39,6 +40,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -201,7 +203,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
* @param userToken
* @return
*/
public boolean validateAssignee(String[] formid, UserToken userToken) {
public boolean validateAssignee(List<String> formid, UserToken userToken) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("ID", formid);
List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper);
@ -224,7 +226,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
* @param formid
* @return
*/
public boolean validateApprove(String[] formid) {
public boolean validateApprove(List<String> formid) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("ID", formid);
List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper);
@ -686,4 +688,14 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName);
}
@Override
public void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture) {
FlowResultDto flowResultDto = new FlowResultDto();
flowResultDto.setTenantNo(picture.getTenantId());
flowResultDto.setAccountNo(Long.parseLong(picture.getPictureid()));
flowResultDto.setTaskNo(Long.parseLong(picture.getRemark()));
flowResultDto.setPictureMatchDegree(BigDecimal.valueOf(picture.getSimilarityscore()));
flowResultDto.setIsPictureRepeat(Integer.valueOf(picture.getField14()));
}
}

Loading…
Cancel
Save