优化批量审批接口

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;
@ -50,7 +53,7 @@ import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Api(tags="ocr_流程接口")
@Api(tags = "ocr_流程接口")
@RestController
@RequestMapping("/flow/task")
public class FlowTaskController extends BaseController {
@ -87,13 +90,14 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
*/
@GetMapping(value = "/flowImg",produces = MediaType.IMAGE_PNG_VALUE)
@GetMapping(value = "/flowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody
public byte[] flowImg(@RequestParam("processId") String processId) throws Exception{
public byte[] flowImg(@RequestParam("processId") String processId) throws Exception {
InputStream diagram = flowTaskService.diagram(processId);
byte[] bytes = new byte[diagram.available()];
diagram.read(bytes);
@ -102,14 +106,15 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @param processId
* @return
* @throws Exception
*/
@GetMapping(value = "/myFlowImg",produces = MediaType.IMAGE_PNG_VALUE)
@GetMapping(value = "/myFlowImg", produces = MediaType.IMAGE_PNG_VALUE)
@ResponseBody
public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception{
InputStream diagram = flowTaskService.myDiagram(processId,request);
public byte[] myFlowImg(@RequestParam("processId") String processId, HttpServletRequest request) throws Exception {
InputStream diagram = flowTaskService.myDiagram(processId, request);
byte[] bytes = new byte[diagram.available()];
diagram.read(bytes);
return bytes;
@ -117,15 +122,16 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@PostMapping("/viewFormid")
@ResponseBody
public ResultVo viewFormid(@RequestParam("processId") String processId, HttpServletRequest request){
public ResultVo viewFormid(@RequestParam("processId") String processId, HttpServletRequest request) {
//查询业务主键
Category category = flowTaskService.viewForm(processId,request);
if(null != category){
Category category = flowTaskService.viewForm(processId, request);
if (null != category) {
return ResultVoUtil.success(category);
}
return ResultVoUtil.error();
@ -133,125 +139,92 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value="任务审批", notes="任务审批")
@ApiOperation(value = "任务审批", notes = "任务审批")
@PostMapping("/completeFlow")
@ResponseBody
public ResultVo complete(FlowTaskVO taskVO,HttpServletRequest request){
Boolean flag = flowTaskService.complete(taskVO,request);
return flag?ResultVoUtil.success():ResultVoUtil.error();
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="任务审批")
@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");
//判断当前任务审批人是否一致
if(!this.ocrTaskchildPictureService.validateAssignee(formid,userToken)){
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
}
//TODO 判断当前任务是否审批完毕
if(!this.ocrTaskchildPictureService.validateApprove(formid)){
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("审批失败");
}
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
//判断当前任务审批人是否一致
if (!this.ocrTaskchildPictureService.validateAssignee(formIdList, userToken)) {
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
}
// 判断当前任务是否审批完毕
if (!this.ocrTaskchildPictureService.validateApprove(formIdList)) {
return ResultVoUtil.error("存在已经审批的任务。");
}
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")
@ResponseBody
public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request){
public ResultVo listhistore(PageUtils vo, Model model, HttpServletRequest request) {
String processInstanceId = request.getParameter("processInstanceId");
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
return ResultVoUtil.success(list);
}
/**
*
*
*
*
* @return
*/
@GetMapping("/finishedList")
@ResponseBody
public ResultVo getFinishedList(PageUtils pageUtils, HttpServletRequest request){
public ResultVo getFinishedList(PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_");
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
searchQuery.addEqual("approveUserid",user.getId().toString());
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
searchQuery.addEqual("approveUserid", user.getId().toString());
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
}
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@ApiOperation(value="待办任务", notes="待办任务")
@ApiOperation(value = "待办任务", notes = "待办任务")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listdata")
@ResponseBody
public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request){
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_");
public ResultVo<FlowUnionVo> listdata(PageUtils<FlowUnionVo> pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
@ -262,52 +235,52 @@ public class FlowTaskController extends BaseController {
String fromuserid = request.getParameter("fromuserid");
String fromplanid = request.getParameter("fromplanid");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
if(StringUtils.isNotBlank(taskid)){
searchQuery.addEqual("taskid",taskid);
if (StringUtils.isNotBlank(taskid)) {
searchQuery.addEqual("taskid", taskid);
}
if(StringUtils.isNotBlank(taskname)){
searchQuery.addLike("taskname",taskname);
if (StringUtils.isNotBlank(taskname)) {
searchQuery.addLike("taskname", taskname);
}
if(StringUtils.isNotBlank(states)){
searchQuery.addEqual("states",states);
if (StringUtils.isNotBlank(states)) {
searchQuery.addEqual("states", states);
}
if(StringUtils.isNotBlank(fromprojectid)){
searchQuery.addEqual("fromprojectid",fromprojectid);
if (StringUtils.isNotBlank(fromprojectid)) {
searchQuery.addEqual("fromprojectid", fromprojectid);
}
if(StringUtils.isNotBlank(fromuserid)){
searchQuery.addEqual("fromuserid",fromuserid);
if (StringUtils.isNotBlank(fromuserid)) {
searchQuery.addEqual("fromuserid", fromuserid);
}
if(StringUtils.isNotBlank(fromplanid)){
searchQuery.addEqual("fromplanid",fromplanid);
if (StringUtils.isNotBlank(fromplanid)) {
searchQuery.addEqual("fromplanid", fromplanid);
}
User user = this.userService.getSessionUser(request);
// List<Userapprove> userApprove = userapproveService.list(new LambdaQueryWrapper<Userapprove>().eq(Userapprove::getUserid, user.getId()));
// List<String> collect = userApprove.stream().map(Userapprove::getFormid).map(Object::toString).collect(Collectors.toList());
// searchQuery.addIn("formid",collect);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
String assigneeId = request.getParameter("assigneeId");
//如果assigneeId 为空查询发起流程,否则查询待办流程
if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
searchQuery.addEqual("assignee",user.getLoginname());
searchQuery.addEqual("states",SystemConstantsOa.OA_STATUS_TYPE_ING.toString());
}else{
searchQuery.addEqual("createuser",user.getLoginname());
if (StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())) {
searchQuery.addEqual("assignee", user.getLoginname());
searchQuery.addEqual("states", SystemConstantsOa.OA_STATUS_TYPE_ING.toString());
} else {
searchQuery.addEqual("createuser", user.getLoginname());
}
searchQuery.addEqual("tenantid",tenantId);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
searchQuery.addEqual("tenantid", tenantId);
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
//待办信息,增加是否查看标记
if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
if (StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())) {
List list = pageUtils.getList();
if(null != list && !list.isEmpty()){
if (null != list && !list.isEmpty()) {
int count = list.size();
for(int i = 0;i < count;i++){
for (int i = 0; i < count; i++) {
FlowUnionVo flowUnionVo = (FlowUnionVo) list.get(i);
//flowUnionVo.setView(userViewApproeService.haveByFromid(flowUnionVo.getFormid().toString()));
}
@ -318,34 +291,36 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@ApiOperation(value="我的任务", notes="查询我的待办、已经办理任务")
@ApiOperation(value = "我的任务", notes = "查询我的待办、已经办理任务")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listalldata")
@ResponseBody
public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request){
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request,"search_");
public ResultVo listAlldata(PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(),pageUtils);
}else{
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
flowTaskService.getMyProcessInstances(user,tenantId,searchQuery.getQuery(),pageUtils);
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils);
//待办信息,增加是否查看标记
// if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
@ -368,24 +343,25 @@ public class FlowTaskController extends BaseController {
/**
*
*
* @return
*/
@ApiOperation(value="我的终审列表", notes="我的终审列表")
@ApiOperation(value = "我的终审列表", notes = "我的终审列表")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/listfinal")
@ResponseBody
public ResultVo<OcrTaskchildPicture> listFinalData(PageUtils<OcrTaskchildPicture> pageUtils,
@RequestParam(name="izupuser", defaultValue="",required = false) String izupuser,
@RequestParam(name="izproject", defaultValue="",required = false) String izproject,
@RequestParam(name="izplan", defaultValue="",required = false) String izplan,
@RequestParam(name="izstatus", defaultValue="",required = false) String izstatus,
@RequestParam(name="iztaskrrom", defaultValue="",required = false) String iztaskrrom,
@RequestParam(name="izuptime", defaultValue="",required = false) String izuptime,
HttpServletRequest request){
@RequestParam(name = "izupuser", defaultValue = "", required = false) String izupuser,
@RequestParam(name = "izproject", defaultValue = "", required = false) String izproject,
@RequestParam(name = "izplan", defaultValue = "", required = false) String izplan,
@RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus,
@RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom,
@RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime,
HttpServletRequest request) {
SearchQuery searchQuery = new SearchQuery();
if(org.springframework.util.StringUtils.hasText(izupuser)){
if (org.springframework.util.StringUtils.hasText(izupuser)) {
// searchQuery.addEqual("fromuserid",izupuser);
if (izupuser.contains(",")) {
String[] userIds = izupuser.split(",");
@ -435,7 +411,7 @@ public class FlowTaskController extends BaseController {
searchQuery.addEqual("fromsourceid", iztaskrrom);
}
}
if(org.springframework.util.StringUtils.hasText(izuptime)) {
if (org.springframework.util.StringUtils.hasText(izuptime)) {
String[] dateRange = izuptime.split("-");
if (dateRange.length == 2) {
try {
@ -448,12 +424,12 @@ public class FlowTaskController extends BaseController {
Long endTimeStamp = sdfInput.parse(dateRange[1].trim()).getTime();
// 如果开始时间不为空,则将其放入查询条件中
if (startTimeStamp!=null) {
searchQuery.addGreater("createdateStart",startTimeStamp);
if (startTimeStamp != null) {
searchQuery.addGreater("createdateStart", startTimeStamp);
}
// 如果结束时间不为空,则将其放入查询条件中
if (endTimeStamp!=null) {
searchQuery.addLess("createdateEnd",endTimeStamp);
if (endTimeStamp != null) {
searchQuery.addLess("createdateEnd", endTimeStamp);
}
} catch (ParseException e) {
// 处理日期解析异常
@ -464,58 +440,58 @@ public class FlowTaskController extends BaseController {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
User user = this.userService.getSessionUser(request);
if(user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))){
}else{
searchQuery.addEqual("thisLoginUserid",user.getId().toString());
searchQuery.addEqual("tenantid",tenantId);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
} else {
searchQuery.addEqual("thisLoginUserid", user.getId().toString());
searchQuery.addEqual("tenantid", tenantId);
}
Map<String,Object> query = searchQuery.getQuery();
Map<String, Object> query = searchQuery.getQuery();
flowTaskService.getFinalProcessInstances(query,pageUtils);
flowTaskService.getFinalProcessInstances(query, pageUtils);
return ResultVoUtil.success(pageUtils);
}
/**
/**
* ()
*
* @return
*/
@ApiOperation(value="图片分页列表查询-根据用户预设检索条件查询", notes="")
@ApiOperation(value = "图片分页列表查询-根据用户预设检索条件查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "userSearchId", value = "预设检索条件id", required = true),
@ApiImplicitParam(paramType = "path", name = "userSearchId", value = "预设检索条件id", required = true),
})
@GetMapping(value = "/listfinalAdvanced")
public ResultVo<IPage<OcrTaskchildPicture>> queryPageByUserSearchId(
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if(org.apache.commons.lang3.StringUtils.isBlank(tenantId)){
if (org.apache.commons.lang3.StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
//获取用户预设检索条件id
String userSearchId = req.getParameter("userSearchId");
IPage<OcrTaskchildPicture> pageList = flowTaskService.queryPageByUserSearchId(pageNo,pageSize,userSearchId);
IPage<OcrTaskchildPicture> pageList = flowTaskService.queryPageByUserSearchId(pageNo, pageSize, userSearchId);
return ResultVoUtil.success(pageList);
}
/**
*
*
* CATEGORYID
*
* CATEGORYID
*
* @return
*/
@GetMapping("/listdataall")
@ -537,10 +513,10 @@ public class FlowTaskController extends BaseController {
searchQuery.addEqual("createuser", user.getLoginname());
//流程类型对应流程类型表OA_CATEGORY_T的id
searchQuery.addEqual("categoryid", categoryid);
if(StringUtils.isNotBlank(buessinessno)){
if (StringUtils.isNotBlank(buessinessno)) {
searchQuery.addEqual("buessinessno", buessinessno);
}
if(StringUtils.isNotBlank(formid)){
if (StringUtils.isNotBlank(formid)) {
searchQuery.addEqual("id", formid);
}
@ -551,116 +527,126 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(flowUnionVoList);
}
/**
*
*
* @param pageUtils
* @param request
* @return
*/
@GetMapping("/listdatacc")
@ResponseBody
public ResultVo listdatacc(ParamterPage paramterPage,PageUtils pageUtils, HttpServletRequest request){
public ResultVo listdatacc(ParamterPage paramterPage, PageUtils pageUtils, HttpServletRequest request) {
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
Map<String, Object> query = searchQuery.getQuery();
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
flowTaskService.getMyListCc(query,userToken,paramterPage);
flowTaskService.getMyListCc(query, userToken, paramterPage);
return ResultVoUtil.success(pageUtils);
}
/**
*
*
*
*
* @return
*/
@GetMapping("/mylistcc")
@ResponseBody
public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request){
public ResultVo myListCc(ParamterPage paramterPage, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
Map<String, Object> query = searchQuery.getQuery();
IPage<FlowUnionVo> flowableccIPage = flowTaskService.getMyListCc(query,userToken,paramterPage);
IPage<FlowUnionVo> flowableccIPage = flowTaskService.getMyListCc(query, userToken, paramterPage);
return ResultVoUtil.success(flowableccIPage);
}
/**
*
*
* @return
*/
@GetMapping("/cancelTask")
@ResponseBody
public ResultVo cancelTask(HttpServletRequest request){
public ResultVo cancelTask(HttpServletRequest request) {
String taskId = request.getParameter("taskId");
String reason = request.getParameter("reason");
flowTaskService.cancelTask(taskId,reason);
flowTaskService.cancelTask(taskId, reason);
return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重置流程流程", notes="重置流程流程")
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "fromid", value = "任务表主键", required = true)
@ApiImplicitParam(paramType = "path", name = "fromid", value = "任务表主键", required = true)
})
@GetMapping("/removeTask")
@ResponseBody
public ResultVo removeTask(HttpServletRequest request){
public ResultVo removeTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid");
String taskid = request.getParameter("taskid");
return flowTaskService.removeTask(fromid,taskid);
return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重置流程流程", notes="重置流程流程")
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path",name = "buessinessno", value = "业务编码", required = true)
@ApiImplicitParam(paramType = "path", name = "buessinessno", value = "业务编码", required = true)
})
@GetMapping("/historyTask")
@ResponseBody
public ResultVo historyTask(HttpServletRequest request){
public ResultVo historyTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid");
String taskid = request.getParameter("buessinessno");
return flowTaskService.removeTask(fromid,taskid);
return flowTaskService.removeTask(fromid, taskid);
//return ResultVoUtil.success();
}
/**
*
*
* @return
*/
@ApiOperation(value="重复流程", notes="重复流程")
@ApiOperation(value = "重复流程", notes = "重复流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/repetitionTask")
@ResponseBody
public ResultVo repetitionTask(){
public ResultVo repetitionTask() {
return flowTaskService.repetitionTask();
}
/**
*
*
* @return
*/
@ApiOperation(value="重复流程", notes="重复流程")
@ApiOperation(value = "重复流程", notes = "重复流程")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
})
@GetMapping("/repetitionTaskList")
@ResponseBody
public ResultVo repetitionTaskList(){
public ResultVo repetitionTaskList() {
return flowTaskService.repetitionTaskList();
}
}

@ -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,94 +439,31 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*
*/
@Override
public Boolean complete(FlowTaskVO taskVO, HttpServletRequest request) {
public Boolean complete(FlowApprove approve, UserToken userToken) {
try {
// 当前要处理的任务
Task task = taskService.createTaskQuery().taskId(taskVO.getTaskId()).singleResult();
// 查询流程定义的信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(task.getProcessDefinitionId())
.singleResult();
// 对任务添加对应的审批意见
taskService.addComment(task.getId(), task.getProcessInstanceId(), taskVO.getTaskComment());
Map<String, Object> variables = new HashMap<>();
if (null != taskVO.getTaskApprovd() && StringUtils.isNotBlank(taskVO.getTaskApprovd().toString())) {
variables.put("taskApprovd", taskVO.getTaskApprovd().intValue());
}
variables.put("approvd", taskVO.getApprovd());
OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid()));
//只有同意,再进行候选人设置
if (taskVO.getApprovd()) {
//进入下一个节点
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());
List<Task> taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid());
Task taskData = null;
if (null != taskList && !taskList.isEmpty()) {
taskData = taskList.get(0);
}
if (ObjectUtils.isEmpty(taskData)) {
model.setFinishtime(System.currentTimeMillis());
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END);
ocrTaskchildPictureService.updateById(model);
} else {
//判断节点上的描述字段是否伟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());
}
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid()));
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
sendMsg(childPicture,userToken);
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
ocrTaskchildPictureService.updateById(childPicture);
}
//增加未查看记录
userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString());
} else {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
//我这里以 流程定义key(oa_category_t定义的关键字逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename
String businesskey = processInstance.getBusinessKey();
//3、修改业务表状态
//判断业务key是否存在
if (StringUtils.isNotBlank(businesskey)) {
String assignee = "";
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
//传节点定义key获取当前节点
FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey());
if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement;
//如果审批不存在,需要在候选组中查询
if (StringUtils.isBlank(userTask.getAssignee())) {
assignee = userTask.getAssignee();
}
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) {
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
for (FlowTaskInfo flowTaskInfo : flowTaskInfoList) {
// 当前要处理的任务
Task task = taskService.createTaskQuery().taskId(flowTaskInfo.getTaskId()).singleResult();
// 查询流程定义的信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(task.getProcessDefinitionId())
.singleResult();
// 对任务添加对应的审批意见
taskService.addComment(task.getId(), task.getProcessInstanceId(), approve.getComment());
Map<String, Object> variables = new HashMap<>();
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);
}
String[] busskey = businesskey.split(SystemConstantsOa.OA_BUSSINESS_KEY_SPLIT);
IFormCustomService iFormCustomService = SpringUtils.getBean(busskey[2]);
//设置流程结束状态
iFormCustomService.endForm(busskey[1], SystemConstantsOa.OA_STATUS_TYPE_REFUSE, assignee, task.getProcessInstanceId(), task.getName());
userapproveService.save(userToken, approve, task,flowTaskInfo.getFormId());
}
//1、获取终止节点
List<EndEvent> endNodes = findEndFlowElement(task.getProcessDefinitionId());
String endId = endNodes.get(0).getId();
//2、执行终止
List<Execution> executions = runtimeService.createExecutionQuery().parentId(task.getProcessInstanceId()).list();
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()));
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);
@ -532,7 +471,84 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return false;
}
private void sendMsg(OcrTaskchildPicture model,UserToken userToken){
/**
*
*/
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(formId);
List<Task> taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid());
Task taskData = null;
if (null != taskList && !taskList.isEmpty()) {
taskData = taskList.get(0);
}
if (ObjectUtils.isEmpty(taskData)) {
model.setFinishtime(System.currentTimeMillis());
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END);
ocrTaskchildPictureService.updateById(model);
} else {
//判断节点上的描述字段是否伟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(), formId);
}
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
ocrTaskchildPictureService.updateById(childPicture);
}
//增加未查看记录
userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString());
}
/**
*
*/
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();
//3、修改业务表状态
//判断业务key是否存在
if (StringUtils.isNotBlank(businesskey)) {
String assignee = "";
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
//传节点定义key获取当前节点
FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey());
if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement;
//如果审批不存在,需要在候选组中查询
if (StringUtils.isBlank(userTask.getAssignee())) {
assignee = userTask.getAssignee();
}
}
String[] busskey = businesskey.split(SystemConstantsOa.OA_BUSSINESS_KEY_SPLIT);
IFormCustomService iFormCustomService = SpringUtils.getBean(busskey[2]);
//设置流程结束状态
iFormCustomService.endForm(busskey[1], SystemConstantsOa.OA_STATUS_TYPE_REFUSE, assignee, task.getProcessInstanceId(), task.getName());
}
//1、获取终止节点
List<EndEvent> endNodes = findEndFlowElement(task.getProcessDefinitionId());
String endId = endNodes.get(0).getId();
//2、执行终止
List<Execution> executions = runtimeService.createExecutionQuery().parentId(task.getProcessInstanceId()).list();
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(formId));
taskchildPicture.setFinishtime(System.currentTimeMillis());
ocrTaskchildPictureService.updateById(taskchildPicture);
}
//发送消息
private void sendMsg(OcrTaskchildPicture model, UserToken userToken) {
cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee());
OcrMsg msg = new OcrMsg();
msg.setCreateTime(System.currentTimeMillis());

@ -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