refactor:修改相似度列表 #4

Merged
sunchenliang merged 1 commits from sunchenliang into test 1 year ago

@ -86,6 +86,9 @@ public class User implements java.io.Serializable {
//密码最后更新时间 //密码最后更新时间
private Long psdupdatetime; private Long psdupdatetime;
//用户审批节点
private Integer nodeType;
//用户对应的角色信息,映射文件中对应的字段信息 //用户对应的角色信息,映射文件中对应的字段信息
@JsonIgnore @JsonIgnore
private List roleslist = new ArrayList(0); private List roleslist = new ArrayList(0);

@ -43,4 +43,7 @@ public class UserToken implements java.io.Serializable {
//用户登录后的签名信息目前使用userid签名 //用户登录后的签名信息目前使用userid签名
private String signUser; private String signUser;
//用户审批节点
private Integer nodeType;
} }

@ -124,6 +124,10 @@ public class User implements BaseDto,java.io.Serializable {
@TableField(value="PSDUPDATETIME") @TableField(value="PSDUPDATETIME")
@JsonSerialize(using = DateSerializer.class) @JsonSerialize(using = DateSerializer.class)
private Long psdupdatetime; private Long psdupdatetime;
@Schema(description = "用户审批节点")
@TableField(value="NODETYPE")
@JsonSerialize(using = DateSerializer.class)
private Integer nodeType;
//用户对应的角色信息,映射文件中对应的字段信息 //用户对应的角色信息,映射文件中对应的字段信息
@JsonIgnore @JsonIgnore

@ -1,5 +1,8 @@
package cn.jyjz.flowable.common; package cn.jyjz.flowable.common;
import java.util.HashMap;
import java.util.Map;
/** /**
* *
*/ */
@ -9,4 +12,13 @@ public class ProcessConstant {
public static final String BPMN_FILE_SUFFIX = ".bpmn"; public static final String BPMN_FILE_SUFFIX = ".bpmn";
public static final String FORM_FILE_SUFFIX = ".form"; public static final String FORM_FILE_SUFFIX = ".form";
public static Map<Integer, String> userNodeType;
static {
userNodeType = new HashMap<>();
userNodeType.put(1, "一级审批");
userNodeType.put(2, "二级审批");
userNodeType.put(3, "最终审批");
}
} }

@ -147,8 +147,8 @@ public class FlowTaskController extends BaseController {
@ResponseBody @ResponseBody
public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) { public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Boolean flag = flowTaskService.complete(approve, userToken); Integer flag = flowTaskService.complete(approve, userToken);
return flag ? ResultVoUtil.success() : ResultVoUtil.error(); return flag > 0 ? ResultVoUtil.success() : ResultVoUtil.error();
} }
/** /**
@ -166,17 +166,16 @@ public class FlowTaskController extends BaseController {
if (CollectionUtils.isNotEmpty(flowTaskInfoList)) { if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList()); List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
//判断当前任务审批人是否一致 //判断当前任务审批人是否一致
if (!this.ocrTaskchildPictureService.validateAssignee(formIdList, userToken)) { List<String> formIds = ocrTaskchildPictureService.validateAssignee(formIdList, userToken);
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
}
// 判断当前任务是否审批完毕 // 判断当前任务是否审批完毕
if (!this.ocrTaskchildPictureService.validateApprove(formIdList)) { List<String> formId = this.ocrTaskchildPictureService.validateApprove(formIdList);
return ResultVoUtil.error("存在已经审批的任务。"); formIds.addAll(formId);
if (CollectionUtils.isNotEmpty(formIds)) {
Integer success = flowTaskService.complete(approve, userToken);
return ResultVoUtil.success("审批成功" + success + "条," + "审核失败" + (flowTaskInfoList.size() - success) + "条");
} }
Boolean flag = flowTaskService.complete(approve, userToken);
return flag ? ResultVoUtil.success("审批成功!") : ResultVoUtil.error("审批失败!");
} }
return ResultVoUtil.error("审批信息为空!"); return ResultVoUtil.success("审核成功0条" + "审核失败" + flowTaskInfoList.size() + "条");
} }
@GetMapping("/listhistore") @GetMapping("/listhistore")

@ -35,7 +35,7 @@ public interface IFlowTaskService {
Category viewForm(String processId, HttpServletRequest request); Category viewForm(String processId, HttpServletRequest request);
Boolean complete(FlowApprove approve,UserToken userToken); Integer complete(FlowApprove approve,UserToken userToken);
/** /**
@ -53,7 +53,7 @@ public interface IFlowTaskService {
* @param processDefinition * @param processDefinition
*/ */
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition); public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition);
void sendMsg(OcrTaskchildPicture model, UserToken userToken);
void finishedList(PageUtils pageUtils, HttpServletRequest request); void finishedList(PageUtils pageUtils, HttpServletRequest request);
/** /**

@ -439,7 +439,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* *
*/ */
@Override @Override
public Boolean complete(FlowApprove approve, UserToken userToken) { public Integer complete(FlowApprove approve, UserToken userToken) {
Integer successCount = 0;
try { try {
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) { if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) {
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList(); List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
@ -458,17 +459,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (approve.getResult()) { if (approve.getResult()) {
disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken); disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken);
} else { } else {
disposeFailureTask(task,flowTaskInfo.getFormId(),variables); disposeFailureTask(task, flowTaskInfo.getFormId(), variables);
} }
userapproveService.save(userToken, approve, task,flowTaskInfo.getFormId()); userapproveService.save(userToken, approve, task, flowTaskInfo.getFormId());
successCount++;
} }
} }
//保存当前审批用户与业务表的关系 //保存当前审批用户与业务表的关系
return true; return successCount;
} catch (Exception e) { } catch (Exception e) {
log.error("e={}", e); log.error("e={}", e);
} }
return false; return successCount;
} }
/** /**
@ -498,7 +500,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
userFinalService.save(user.getId().toString(), formId); userFinalService.save(user.getId().toString(), formId);
} }
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId)); OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
sendMsg(childPicture, userToken); this.sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId()); childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName()); childPicture.setTaskname(taskData.getName());
ocrTaskchildPictureService.updateById(childPicture); ocrTaskchildPictureService.updateById(childPicture);
@ -548,7 +550,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//发送消息 //发送消息
private void sendMsg(OcrTaskchildPicture model, UserToken userToken) { public void sendMsg(OcrTaskchildPicture model, UserToken userToken) {
cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee()); cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee());
OcrMsg msg = new OcrMsg(); OcrMsg msg = new OcrMsg();
msg.setCreateTime(System.currentTimeMillis()); msg.setCreateTime(System.currentTimeMillis());
@ -1331,6 +1333,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
OcrPicture ocrPictureOne = ocrPictureService.getOne(ocrPictureLambdaQueryWrapper); OcrPicture ocrPictureOne = ocrPictureService.getOne(ocrPictureLambdaQueryWrapper);
taskchildPicture.setFromUserName(ocrPictureOne.getField1()); taskchildPicture.setFromUserName(ocrPictureOne.getField1());
taskchildPicture.setPicture(ocrPictureOne); taskchildPicture.setPicture(ocrPictureOne);
taskchildPicture.setFinishTime(ocrPictureOne.getSubmitDateTimestamp());
} }
//查询对应的流程分类 //查询对应的流程分类
@ -1460,7 +1463,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
ocrTaskchildPictureApproVo.setFromtaskname(one.getFromtaskname()); //任务名称 ocrTaskchildPictureApproVo.setFromtaskname(one.getFromtaskname()); //任务名称
ocrTaskchildPictureApproVo.setStatshisText(one.getStatshisText()); //历史-审批状态中文 ocrTaskchildPictureApproVo.setStatshisText(one.getStatshisText()); //历史-审批状态中文
ocrTaskchildPictureApproVo.setTasknamehis(one.getTasknamehis());//历史-审批节点名称 ocrTaskchildPictureApproVo.setTasknamehis(one.getTasknamehis());//历史-审批节点名称
ocrTaskchildPictureApproVo.setFinishTime(one.getTransferRecords().get(0).getFinishTime()); //完成时间 ocrTaskchildPictureApproVo.setFinishTime(one.getFinishTime()); //完成时间
ocrTaskchildPictureApproVo.setReleaseProvince(one.getPicture().getReleaseprovince()); //省份 ocrTaskchildPictureApproVo.setReleaseProvince(one.getPicture().getReleaseprovince()); //省份
ocrTaskchildPictureApproVo.setFromprojectid(one.getFromprojectid()); //项目id ocrTaskchildPictureApproVo.setFromprojectid(one.getFromprojectid()); //项目id
ocrTaskchildPictureApproVo.setProductName(one.getPicture().getField9()); //产品 ocrTaskchildPictureApproVo.setProductName(one.getPicture().getField9()); //产品

@ -75,6 +75,12 @@ public class Userapprove implements BaseDto,java.io.Serializable {
@Schema(description = "审批意见") @Schema(description = "审批意见")
@TableField(value="TASKCOMMENT") @TableField(value="TASKCOMMENT")
private String taskcomment; private String taskcomment;
@Schema(description = "审批不通过原因")
@TableField(value="REASON")
private String reason;
@Schema(description = "审批不通过处理方式")
@TableField(value="PROCESSMETHOD")
private String processMethod;
//保存当前登录用户的数据权限范围的搜索条件 //保存当前登录用户的数据权限范围的搜索条件
@TableField(exist = false) @TableField(exist = false)

@ -31,6 +31,8 @@ public class UserapproveServiceImpl extends BaseServiceImpl<UserapproveMybatisDa
userapprove.setTaskcomment(approve.getComment()); userapprove.setTaskcomment(approve.getComment());
userapprove.setCreatedate(System.currentTimeMillis()); userapprove.setCreatedate(System.currentTimeMillis());
userapprove.setUsername(userToken.getUsername()); userapprove.setUsername(userToken.getUsername());
userapprove.setReason(approve.getFailCauseName());
userapprove.setReason(approve.getDisposeType());
if (approve.getResult()) { if (approve.getResult()) {
userapprove.setStatshis(2); userapprove.setStatshis(2);
} else { } else {

@ -377,27 +377,15 @@ public class OcrTaskchildPictureController extends BaseController {
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true) @ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true)
}) })
@GetMapping("/getSimilarityList") @GetMapping("/getSimilarityList")
public ResultVo<IPage<OcrTaskChildPictureVo>> getSimilarityList(HttpServletRequest request) { public ResultVo<IPage<OcrTaskChildPictureVo>> getSimilarityList(
//获取页码、当前页 @RequestParam(name = "pageNo") Integer pageNo,
String pageNo = request.getParameter("pageNo"); @RequestParam(name = "pageSize") Integer pageSize,
String pageSize = request.getParameter("pageSize"); @RequestParam(name = "orderType") String orderType,
if (StringUtils.isEmpty(pageNo) || StringUtils.isEmpty(pageSize)) { @RequestParam(name = "orderName") String orderName,
return ResultVoUtil.error("页码和条数必传!"); @RequestParam(name = "pictureId") String pictureId,
} HttpServletRequest request) {
String pictureId = request.getParameter("pictureId"); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
if (StringUtils.isBlank(pictureId)) { Page<OcrTaskChildPictureVo> similarityList = ocrTaskchildPictureService.getSimilarityList(pageNo, pageSize, pictureId, orderType, orderName,userToken);
return ResultVoUtil.error("pictureId必传");
}
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
//排序方式
String orderType = request.getParameter("orderType");
//排序字段
String orderValue = request.getParameter("orderName");
Page<OcrTaskChildPictureVo> similarityList = ocrTaskchildPictureService.getSimilarityList(Integer.valueOf(pageNo), Integer.valueOf(pageSize), pictureId, orderType, orderValue);
return ResultVoUtil.success(similarityList); return ResultVoUtil.success(similarityList);
} }
@ -414,8 +402,9 @@ public class OcrTaskchildPictureController extends BaseController {
@RequestParam(name = "orderName") String orderName, @RequestParam(name = "orderName") String orderName,
@RequestParam(name = "checkDuplicateId") String checkDuplicateId, @RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId") String pictureId, @RequestParam(name = "pictureId") String pictureId,
HttpServletRequest req) { HttpServletRequest request) {
Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId,userToken);
return ResultVoUtil.success(result); return ResultVoUtil.success(result);
} }

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@ -21,6 +22,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.AbstractMap.SimpleEntry; import java.util.AbstractMap.SimpleEntry;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -179,4 +181,7 @@ public class OcrTaskchildPictureAppro implements java.io.Serializable {
@ApiModelProperty(value = "picture表数据") @ApiModelProperty(value = "picture表数据")
private OcrPicture picture; private OcrPicture picture;
@ApiModelProperty(value = "提交时间")
private Long finishTime;
} }

@ -3,6 +3,7 @@ package cn.jyjz.xiaoyao.ocr.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
@ -51,7 +52,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param formid * @param formid
* @return * @return
*/ */
public boolean validateApprove(List<String> formid); public List<String> validateApprove(List<String> formid);
public boolean validateBoole(String[] formid); public boolean validateBoole(String[] formid);
@ -61,7 +62,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param userToken * @param userToken
* @return * @return
*/ */
public boolean validateAssignee(List<String> formid,UserToken userToken); public List<String> validateAssignee(List<String> formid,UserToken userToken);
/** /**
* *
@ -143,10 +144,10 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
PictureDetailVo getPictureDetail(String pictureId, UserToken userToken); PictureDetailVo getPictureDetail(String pictureId, UserToken userToken);
Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue); Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken);
void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture,OcrPicture picture); void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove);
} }

@ -1,6 +1,8 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; 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.ocr.dataDao.OcrTaskPackageMapper; import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskPackageMapper;
@ -16,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -42,6 +45,8 @@ public class OcrTaskPackageServiceImpl extends ServiceImpl<OcrTaskPackageMapper,
private OcrTaskPackageMapper taskPackageMapper; private OcrTaskPackageMapper taskPackageMapper;
@Resource @Resource
private OcrFieldService fieldService; private OcrFieldService fieldService;
@Resource
private UserService userService;
@Override @Override
public ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage) { public ResultVo saveTaskPackage(OcrTaskPackageDto ocrTaskPackage) {
@ -78,10 +83,21 @@ public class OcrTaskPackageServiceImpl extends ServiceImpl<OcrTaskPackageMapper,
map.put(field, ""); map.put(field, "");
} }
} }
disMapData(map);
record.putAll(map); record.putAll(map);
} }
} }
} }
return result; return result;
} }
private void disMapData(Map map) {
Object field1 = map.get("field1");
if (ObjectUtils.isNotEmpty(field1)) {
User user = userService.getById(field1.toString());
if (ObjectUtils.isNotEmpty(user)) {
map.put("field1", user.getUsername());
}
}
}
} }

@ -1,7 +1,10 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.jyjz.flowable.common.ProcessConstant;
import cn.jyjz.flowable.common.SystemConstantsOa; import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.service.IFlowInstanceService; 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;
@ -14,6 +17,7 @@ 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.*; 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.FlowResultDto;
import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto; import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService; import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService;
@ -53,6 +57,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource @Resource
private OcrTaskchildPictureMybatisDao ocrtaskchildpicturemybatisdao; private OcrTaskchildPictureMybatisDao ocrtaskchildpicturemybatisdao;
@Resource
private IFlowTaskService taskService;
@Resource @Resource
private OcrPictureService ocrPictureService; private OcrPictureService ocrPictureService;
@ -203,21 +210,19 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
* @param userToken * @param userToken
* @return * @return
*/ */
public boolean validateAssignee(List<String> formid, UserToken userToken) { public List<String> validateAssignee(List<String> formid, UserToken userToken) {
List<String> formIds = new ArrayList<>();
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("ID", formid); queryWrapper.in("ID", formid);
List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper); List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper);
//目前没有做其他信息返回,如果需要再做修改 //目前没有做其他信息返回,如果需要再做修改
for (OcrTaskchildPicture ocrTaskchildPicture : list) { for (OcrTaskchildPicture ocrTaskchildPicture : list) {
//判断审批人是否为当前登录用户 //判断审批人是否为当前登录用户
if (userToken.getLoginname().equals(ocrTaskchildPicture.getAssignee())) { if (userToken.getLoginname().equals(ocrTaskchildPicture.getAssignee())) {
formIds.add(ocrTaskchildPicture.getId().toString());
} else {
return false;
} }
} }
return true; return formIds;
} }
/** /**
@ -226,22 +231,20 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
* @param formid * @param formid
* @return * @return
*/ */
public boolean validateApprove(List<String> formid) { public List<String> validateApprove(List<String> formid) {
List<String> formIds = new ArrayList<>();
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("ID", formid); queryWrapper.in("ID", formid);
List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper); List<OcrTaskchildPicture> list = this.ocrtaskchildpicturemybatisdao.selectList(queryWrapper);
//目前没有做其他信息返回,如果需要再做修改 //目前没有做其他信息返回,如果需要再做修改
for (OcrTaskchildPicture ocrTaskchildPicture : list) { for (OcrTaskchildPicture ocrTaskchildPicture : list) {
//判断当前审批状态为拒绝或者通过的,不允许再做审批 //判断当前审批状态为拒绝或者通过的,不允许再做审批
if (ocrTaskchildPicture.getStates().intValue() == SystemConstantsOa.OA_STATUS_TYPE_END if (ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_END
|| ocrTaskchildPicture.getStates().intValue() == SystemConstantsOa.OA_STATUS_TYPE_REFUSE) { && ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_REFUSE) {
return false; formIds.add(ocrTaskchildPicture.getId().toString());
} else {
} }
} }
return true; return formIds;
} }
@ -326,6 +329,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
ocrPicture.setTaskstatus("1"); ocrPicture.setTaskstatus("1");
ocrPicture.setWorkStatus("1"); ocrPicture.setWorkStatus("1");
ocrPictureService.updateById(ocrPicture); ocrPictureService.updateById(ocrPicture);
taskService.sendMsg(ocrTaskchildPicture, userToken);
} }
} }
} }
@ -650,14 +654,14 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue) { public Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken) {
OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId)); OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId));
Page<OcrTaskChildPictureVo> objectPage = new Page<>(); Page<OcrTaskChildPictureVo> objectPage = new Page<>();
if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) { if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) {
OcrTaskchildPicture one = this.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, pictureId)); String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批");
JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson()); JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson());
Set<String> pictureIds = jsonObject.keySet(); Set<String> pictureIds = jsonObject.keySet();
List<OcrTaskChildPictureVo> taskChildPictures = this.getPictureHistoryList(new ArrayList<>(pictureIds), one.getTaskname()); List<OcrTaskChildPictureVo> taskChildPictures = this.getPictureHistoryList(new ArrayList<>(pictureIds), userNodeType);
for (OcrTaskChildPictureVo taskChildPicture : taskChildPictures) { for (OcrTaskChildPictureVo taskChildPicture : taskChildPictures) {
taskChildPicture.setSimilarityScore(Integer.parseInt(jsonObject.getString(taskChildPicture.getPictureId().toString()))); taskChildPicture.setSimilarityScore(Integer.parseInt(jsonObject.getString(taskChildPicture.getPictureId().toString())));
} }
@ -683,22 +687,47 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) { public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken) {
Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize); Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize);
OcrTaskchildPicture one = this.getOne(new LambdaQueryWrapper<OcrTaskchildPicture>().eq(OcrTaskchildPicture::getPictureid, pictureId)); String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批");
return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName,one.getTaskname()); return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName, userNodeType);
} }
@Override @Override
public void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture) { public void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) {
FlowResultDto flowResultDto = new FlowResultDto(); FlowResultDto flowResultDto = new FlowResultDto();
flowResultDto.setTenantNo(picture.getTenantId()); flowResultDto.setTenantNo(picture.getTenantId());
flowResultDto.setAccountNo(Long.parseLong(picture.getPictureid())); flowResultDto.setAccountNo(Long.parseLong(picture.getPictureid()));
flowResultDto.setTaskNo(Long.parseLong(picture.getRemark())); flowResultDto.setTaskNo(Long.parseLong(picture.getRemark()));
flowResultDto.setPictureMatchDegree(BigDecimal.valueOf(picture.getSimilarityscore())); flowResultDto.setPictureMatchDegree(BigDecimal.valueOf(picture.getSimilarityscore()));
flowResultDto.setIsPictureRepeat(Integer.valueOf(picture.getField14())); flowResultDto.setIsPictureRepeat(Integer.valueOf(picture.getField14()));
Integer resultStatus = taskchildPicture.getStates() == SystemConstantsOa.OA_STATUS_TYPE_END ? SystemConstantsOa.OCR_STATUS_SUCCESS : SystemConstantsOa.OCR_STATUS_FAILURE; flowResultDto.setIsPictureRight(picture.getIztrueorfalse());
Integer resultStatus = Objects.equals(taskchildPicture.getStates(), SystemConstantsOa.OA_STATUS_TYPE_END) ? SystemConstantsOa.OCR_STATUS_SUCCESS : SystemConstantsOa.OCR_STATUS_FAILURE;
flowResultDto.setApproveResult(resultStatus); flowResultDto.setApproveResult(resultStatus);
flowResultDto.setApproveRemark(flowApprove.getComment());
List<ApproveNodeDto> nodeList = new ArrayList<>();
List<Userapprove> userApproves = userapproveService.list(new LambdaQueryWrapper<Userapprove>().eq(Userapprove::getFormid, taskchildPicture.getId()));
if (CollectionUtils.isNotEmpty(userApproves)) {
for (Userapprove userApprove : userApproves) {
ApproveNodeDto approveNode = getApproveNodeDto(userApprove);
nodeList.add(approveNode);
}
}
flowResultDto.setApproveDetailList(nodeList);
}
private static ApproveNodeDto getApproveNodeDto(Userapprove userApprove) {
ApproveNodeDto approveNode = new ApproveNodeDto();
approveNode.setApproveRemark(userApprove.getTaskcomment());
approveNode.setApproveResult(userApprove.getStatshis() == 2 ? 0 : 1);
approveNode.setApproveWay(0);
approveNode.setNodeName(userApprove.getTaskname());
approveNode.setReason(userApprove.getReason());
approveNode.setApproveByName(userApprove.getUsername());
//审批不通过出来方式
approveNode.setProcessMethod(1);
return approveNode;
} }
} }

@ -36,7 +36,7 @@ public class OcrTaskchildPictureApproVo implements java.io.Serializable {
@ApiModelProperty(value = "提交时间") @ApiModelProperty(value = "提交时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date finishTime; private Long finishTime;
@ApiModelProperty(value = "拜访地区") @ApiModelProperty(value = "拜访地区")
private String releaseProvince; private String releaseProvince;

Loading…
Cancel
Save