feat:修改查重任务

feat/uodateFlow20240623
sunchenliang 1 year ago
parent 9e3f21bc26
commit 9480a72cd1

@ -0,0 +1,13 @@
package cn.jyjz.xiaoyao.ocr.dataDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* ClassName $className$.java
* Description:
* Author scl.
* Date 2024/6/23 11:20
*/
public interface OcrContractorTaskMapper extends BaseMapper<OcrContractorTask> {
}

@ -0,0 +1,54 @@
package cn.jyjz.xiaoyao.ocr.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* ClassName $className$.java
* Description:
* Author scl.
* Date 2024/6/23 11:20
*/
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "ocr_contractor_task")
public class OcrContractorTask {
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
@TableField(value = "contractor")
private String contractor;
/**
* id
*/
@TableField(value = "tenant_id")
private Long tenantId;
/**
*
*/
@TableField(value = "task_user_assignee")
private String taskUserAssignee;
/**
*
*/
@TableField(value = "task_user_name")
private String taskUserName;
}

@ -0,0 +1,14 @@
package cn.jyjz.xiaoyao.ocr.service;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* ClassName $className$.java
* Description:
* Author scl.
* Date 2024/6/23 11:20
*/
public interface OcrContractorTaskService extends IService<OcrContractorTask>{
}

@ -0,0 +1,19 @@
package cn.jyjz.xiaoyao.ocr.service.impl;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrContractorTaskMapper;
import cn.jyjz.xiaoyao.ocr.service.OcrContractorTaskService;
/**
* ClassName $className$.java
* Description:
* Author scl.
* Date 2024/6/23 11:20
*/
@Service
public class OcrContractorTaskServiceImpl extends ServiceImpl<OcrContractorTaskMapper, OcrContractorTask> implements OcrContractorTaskService{
}

@ -19,18 +19,11 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
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.ApproveNodeDto;
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;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.vo.OaUserApproveVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
@ -97,6 +90,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Autowired
private OcrPictureInfoService ocrPictureInfoService;
@Autowired
private OcrContractorTaskService contractorTaskService;
/**
*
*
@ -231,10 +227,23 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("ID", formid);
List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper);
List<OcrPicture> pictureList = ocrPictureService.listByIds(list.stream().map(OcrTaskchildPicture::getPictureid).collect(Collectors.toList()));
Map<Long, List<OcrPicture>> picMap = pictureList.stream().collect(Collectors.groupingBy(OcrPicture::getId));
//目前没有做其他信息返回,如果需要再做修改
for (OcrTaskchildPicture ocrTaskchildPicture : list) {
boolean result = true;
OcrPicture first = pictureList.stream().filter(pic -> pic.getId().equals(ocrTaskchildPicture.getPictureid())).findFirst().get();
if (StringUtils.isNotBlank(first.getField5())) {
List<OcrContractorTask> contractorList = contractorTaskService.list(new LambdaQueryWrapper<OcrContractorTask>().eq(OcrContractorTask::getContractor, first.getField5()).eq(OcrContractorTask::getTenantId, ocrTaskchildPicture.getTenantid()));
if (CollectionUtils.isNotEmpty(contractorList)) {
List<String> collect = contractorList.stream().map(OcrContractorTask::getTaskUserAssignee).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect) && !collect.contains(userToken.getLoginname())) {
result = false;
}
}
}
//判断审批人是否为当前登录用户
if (ocrTaskchildPicture.getAssignee().contains(userToken.getLoginname()) &&
if (result && ocrTaskchildPicture.getAssignee().contains(userToken.getLoginname()) &&
(ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_END
&& ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_REFUSE)) {
formIds.add(ocrTaskchildPicture.getId().toString());
@ -346,7 +355,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
Task taskData = null;
if (null != taskList && !taskList.isEmpty()) {
taskData = taskList.get(0);
ocrTaskchildPicture.setAssignee(taskData.getAssignee());
String assignee = taskData.getAssignee();
//todo
ocrTaskchildPicture.setAssignee(assignee);
}
ocrPicture.setTaskchildpictureid(ocrTaskchildPicture.getId().toString());
@ -741,12 +752,12 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
}
}
if((taskChildPictureVo.getStates()==3 || taskChildPictureVo.getStates()==5)&&
(taskChildPictureVo.getHistoryStates()==null || taskChildPictureVo.getHistoryStates()==1)){
if ((taskChildPictureVo.getStates() == 3 || taskChildPictureVo.getStates() == 5) &&
(taskChildPictureVo.getHistoryStates() == null || taskChildPictureVo.getHistoryStates() == 1)) {
int historyStates = 1;
if(taskChildPictureVo.getStates()==3){
if (taskChildPictureVo.getStates() == 3) {
historyStates = 2;
}else if(taskChildPictureVo.getStates()==5){
} else if (taskChildPictureVo.getStates() == 5) {
historyStates = 3;
}
taskChildPictureVo.setHistoryStates(historyStates);
@ -765,12 +776,12 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
Page<OcrTaskChildPictureVo> result = ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName);
//历史数据,因为没有审核记录所以需要填补最终状态.
for (OcrTaskChildPictureVo record : result.getRecords()) {
if((record.getStates()==3 || record.getStates()==5)&&
(record.getHistoryStates()==null || record.getHistoryStates()==1)){
if ((record.getStates() == 3 || record.getStates() == 5) &&
(record.getHistoryStates() == null || record.getHistoryStates() == 1)) {
int historyStates = 1;
if(record.getStates()==3){
if (record.getStates() == 3) {
historyStates = 2;
}else if(record.getStates()==5){
} else if (record.getStates() == 5) {
historyStates = 3;
}
record.setHistoryStates(historyStates);
@ -821,11 +832,11 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
taskchildPicture.setPictureid(picture.getId());
taskchildPicture.setCategoryid(picture.getCategoryid());
int states = 0;
if("8".equals(picture.getTaskstatus())){
if ("8".equals(picture.getTaskstatus())) {
states = 3;
}else if ("9".equals(picture.getTaskstatus()) || "10".equals(picture.getTaskstatus())){
states= 5;
}else{
} else if ("9".equals(picture.getTaskstatus()) || "10".equals(picture.getTaskstatus())) {
states = 5;
} else {
return false;
}
taskchildPicture.setStates(states);
@ -848,7 +859,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
taskchildPicture.setTaskNode("finale_judgment");
taskchildPicture.setIsRepeatedNodules(0);
taskchildPicture.setSendResult(0);
return this.save(taskchildPicture);
return this.save(taskchildPicture);
}
private static ApproveNodeDto getApproveNodeDto(Userapprove userApprove) {

@ -22,11 +22,17 @@ import cn.jyjz.xiaoyao.oa.from.service.CandidateuserService;
import cn.jyjz.xiaoyao.oa.from.service.CategoryService;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrContractorTaskService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.upload.upload.UploadSpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.velocity.shaded.commons.io.FilenameUtils;
import org.flowable.task.api.Task;
@ -40,9 +46,11 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
@ -71,6 +79,12 @@ public class TaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchildPic
@Autowired
private IFlowFormMessageService iFlowFormMessageService;
@Autowired
private OcrPictureService pictureService;
@Autowired
private OcrContractorTaskService contractorTaskService;
@Override
public String saveForm(HttpServletRequest request) {
OcrTaskchildPicture model = null;
@ -228,18 +242,36 @@ public class TaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchildPic
@Override
public boolean updateForm(String fromid, String deploymentid, String processdefinitionid, String assignee, String taskId, String processInstanceId, Task task) {
if (StringUtils.isNotBlank(fromid) && StringUtils.isNotBlank(deploymentid) && StringUtils.isNotBlank(processdefinitionid)) {
String[] assignees = assignee.split(",");
List<String> assigneeList = new ArrayList<>();
OcrTaskchildPicture model = this.ocrTaskchildPictureService.selectDtoById(Long.parseLong(fromid));
OcrPicture first = pictureService.getOne(new LambdaQueryWrapper<OcrPicture>().eq(OcrPicture::getId, model.getPictureid()));
if (org.apache.commons.lang3.StringUtils.isNotBlank(first.getField5())) {
List<OcrContractorTask> contractorList = contractorTaskService.list(new LambdaQueryWrapper<OcrContractorTask>().eq(OcrContractorTask::getContractor, first.getField5()).eq(OcrContractorTask::getTenantId, model.getTenantid()));
if (CollectionUtils.isNotEmpty(contractorList)) {
List<String> collect = contractorList.stream().map(OcrContractorTask::getTaskUserAssignee).collect(Collectors.toList());
for (String str : assignees) {
if (collect.contains(str)) {
assigneeList.add(str);
}
}
}
}
if (CollectionUtils.isNotEmpty(assigneeList)) {
assignee = String.join(",", assigneeList);
assignees = assignee.split(",");
}
model.setProcessinstanceid(processInstanceId);
model.setProcessdefinitionid(processdefinitionid);
model.setDeploymentid(deploymentid);
model.setAssignee(assignee);
if(ObjectUtils.isNotEmpty(task)){
if (ObjectUtils.isNotEmpty(task)) {
model.setTaskname(task.getName());
model.setTaskId(taskId);
}
//todo
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_ING);
//查询审批人姓名
String[] assignees = assignee.split(",");
StringBuffer stringBuffer = new StringBuffer();
for (String tempAssign : assignees) {
User user = userService.findByLoginname(tempAssign);

@ -0,0 +1,17 @@
<?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.OcrContractorTaskMapper">
<resultMap id="BaseResultMap" type="cn.jyjz.xiaoyao.ocr.dataobject.OcrContractorTask">
<!--@mbg.generated-->
<!--@Table ocr_contractor_task-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="contractor" jdbcType="VARCHAR" property="contractor" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
<result column="task_user_assignee" jdbcType="VARCHAR" property="taskUserAssignee" />
<result column="task_user_name" jdbcType="VARCHAR" property="taskUserName" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, contractor, tenant_id, task_user_assignee, task_user_name
</sql>
</mapper>
Loading…
Cancel
Save