直转和减免审核逻辑编写

This commit is contained in:
马三炮 2025-03-06 16:45:40 +08:00
parent 4295427b2e
commit 886ae3c8d4
12 changed files with 208 additions and 49 deletions

View File

@ -28,13 +28,11 @@ import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.domain.TmTaskAgreement;
import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskAgreementMapper;
import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.task.mapper.TmTaskMapper;
import com.bonus.material.work.domain.SysWorkflowNode;
import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecord;
import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowRecordHistory;
import com.bonus.material.work.domain.SysWorkflowType; import com.bonus.material.work.domain.SysWorkflowType;
import com.bonus.material.work.mapper.SysWorkflowConfigMapper; import com.bonus.material.work.mapper.*;
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
import com.bonus.material.work.mapper.SysWorkflowTypeMapper;
import com.bonus.material.work.service.SysWorkflowRecordService; import com.bonus.material.work.service.SysWorkflowRecordService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
@ -82,6 +80,11 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
@Resource @Resource
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
@Resource
private SysWorkflowNodeMapper sysWorkflowNodeMapper;
/** /**
* 新增领用任务 * 新增领用任务
* *
@ -395,17 +398,19 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); log.info("当前节点为{}",leaseApplyInfoNew.getNodeId());
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId()); SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId());
leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
//设置当前节点
if (1==leaseApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){ if (1==leaseApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
} }
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId());
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(leaseApplyInfoNew.getNodeId());
leaseApplyInfoNew.setConfigValue(configValue); leaseApplyInfoNew.setConfigValue(configValue);
//判断当前节点是否审核 //判断当前节点是否审核
sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId());
sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId());
List<SysWorkflowRecordHistory> SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); List<SysWorkflowRecordHistory> SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
//判断是或签还是会签0:或签 1:会签 //判断是或签还是会签0:或签 1:会签
if (0==leaseApplyInfoNew.getNodeSignType()){ if (0==sysWorkflowNode.getNodeSignType()){
//当前节点已经审核需要修改节点值 //当前节点已经审核需要修改节点值
if (SysWorkflowRecordHistoryList.get(0)!=null){ if (SysWorkflowRecordHistoryList.get(0)!=null){
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());

View File

@ -2,6 +2,7 @@ package com.bonus.material.ma.domain;
import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -158,4 +159,18 @@ public class DirectApplyInfo extends BaseEntity {
private String flowId; private String flowId;
@ApiModelProperty(value = "本流程节点id")
private Integer nodeId;
@ApiModelProperty(value = "下个流程节点id")
private Integer nextNodeId;
@ApiModelProperty(value = "流程配置值")
private String configValue;
@ApiModelProperty(value = "所属记录")
private Integer recordId;
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
private Integer nodeSignType;
} }

View File

@ -1,28 +1,50 @@
package com.bonus.material.record.service.impl; package com.bonus.material.record.service.impl;
import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.biz.domain.BmFileInfo;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.ma.domain.DirectApplyInfo;
import com.bonus.material.record.mapper.DerateRecordQueryMapper; import com.bonus.material.record.mapper.DerateRecordQueryMapper;
import com.bonus.material.record.mapper.SltRecordQueryMapper; import com.bonus.material.record.mapper.SltRecordQueryMapper;
import com.bonus.material.record.service.IDerateReocrdQueryService; import com.bonus.material.record.service.IDerateReocrdQueryService;
import com.bonus.material.record.service.ISltReocrdQueryService; import com.bonus.material.record.service.ISltReocrdQueryService;
import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.settlement.domain.SltAgreementInfo;
import com.bonus.material.settlement.domain.SltAgreementReduce; import com.bonus.material.settlement.domain.SltAgreementReduce;
import com.bonus.material.work.domain.SysWorkflowNode;
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
import com.bonus.material.work.mapper.SysWorkflowConfigMapper;
import com.bonus.material.work.mapper.SysWorkflowNodeMapper;
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @description 减免记录查询 * @description 减免记录查询
* @author hay * @author hay
* @date 2025/2/19 10:47 * @date 2025/2/19 10:47
*/ */
@Slf4j
@Service @Service
public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService { public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService {
@Resource @Resource
private DerateRecordQueryMapper mapper; private DerateRecordQueryMapper mapper;
@Resource
private SysWorkflowNodeMapper sysWorkflowNodeMapper;
@Resource
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
@Resource
private SysWorkflowConfigMapper sysWorkflowConfigMapper;
@Override @Override
public List<SltAgreementReduce> getList(SltAgreementInfo bean) { public List<SltAgreementReduce> getList(SltAgreementInfo bean) {
return mapper.getList(bean); return mapper.getList(bean);
@ -32,7 +54,62 @@ public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService {
public List<SltAgreementReduce> getAuditList(SltAgreementInfo bean) { public List<SltAgreementReduce> getAuditList(SltAgreementInfo bean) {
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
bean.setUserId(userId); bean.setUserId(userId);
return mapper.getAuditList(bean); List<SltAgreementReduce> sltAgreementReduceList = mapper.getAuditList(bean);
try {
for (SltAgreementReduce sltAgreementReduceNew : sltAgreementReduceList) {
log.info("当前节点为{}",sltAgreementReduceNew.getNodeId());
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(sltAgreementReduceNew.getRecordId());
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
//设置当前节点
if (1==sltAgreementReduceNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
}
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(sltAgreementReduceNew.getNodeId());
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(sltAgreementReduceNew.getNodeId());
sltAgreementReduceNew.setConfigValue(configValue);
//判断当前节点是否审核
sysWorkflowRecordHistory.setRecordId(sltAgreementReduceNew.getRecordId());
sysWorkflowRecordHistory.setNodeId(sltAgreementReduceNew.getNodeId());
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
//判断是或签还是会签0:或签 1:会签
if (0==sysWorkflowNode.getNodeSignType()){
//当前节点已经审核需要修改节点值
if (sysWorkflowRecordHistoryList.get(0)!=null){
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
sltAgreementReduceNew.setConfigValue(configValueNew);
}
}else {
String[] ConfigValue = configValue.split(",");
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
if (sysWorkflowRecordHistoryNew != null) {
// 过滤数组元素
filteredList = filteredList.stream()
.filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
.collect(Collectors.toList());
sltAgreementReduceNew.setConfigValue(filteredList.toString());
}
}
//判断是否这个节点的所有人都审核
if (filteredList.size() == 0) {
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
sltAgreementReduceNew.setConfigValue(configValueNew);
} else {
if (sysWorkflowRecordHistoryList.size() > 0) {
sltAgreementReduceNew.setNodeId(sltAgreementReduceNew.getNodeId());
sltAgreementReduceNew.setConfigValue(filteredList.toString());
}
}
}
}
}catch (Exception e){
log.info("查询结果出错{}",e.getMessage());
throw new ServiceException("查询结果出错");
}
return sltAgreementReduceList;
} }
@Override @Override

View File

@ -228,8 +228,7 @@ public class SltAgreementInfo extends BaseEntity {
private BigDecimal scrapCost; private BigDecimal scrapCost;
private BigDecimal loseCost; private BigDecimal loseCost;
private BigDecimal reductionCost; private BigDecimal reductionCost;
//结算费用 //结算费用
private BigDecimal totalCostAll; private BigDecimal totalCostAll;
} }

View File

@ -134,4 +134,19 @@ public class SltAgreementReduce extends BaseEntity {
private Integer proId; private Integer proId;
private String projectName; private String projectName;
@ApiModelProperty(value = "本流程节点id")
private Integer nodeId;
@ApiModelProperty(value = "下个流程节点id")
private Integer nextNodeId;
@ApiModelProperty(value = "流程配置值")
private String configValue;
@ApiModelProperty(value = "所属记录")
private Integer recordId;
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
private Integer nodeSignType;
} }

View File

@ -1,22 +1,10 @@
package com.bonus.material.work.controller; package com.bonus.material.work.controller;
import cn.hutool.core.convert.Convert;
import com.bonus.common.biz.config.ListPagingUtil;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.core.utils.ServletUtils;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
import com.bonus.material.lease.service.ILeaseTaskService;
import com.bonus.material.ma.domain.DirectApplyInfo; import com.bonus.material.ma.domain.DirectApplyInfo;
import com.bonus.material.ma.domain.DirectApplyInfoDetails;
import com.bonus.material.ma.domain.Type;
import com.bonus.material.settlement.domain.SltAgreementInfo;
import com.bonus.material.work.domain.DirectAudit; import com.bonus.material.work.domain.DirectAudit;
import com.bonus.material.work.service.IDirectAuditService; import com.bonus.material.work.service.IDirectAuditService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -24,7 +12,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -61,7 +48,7 @@ public class DirectAuditController extends BaseController {
@ApiOperation(value = "查看审批详情") /* @ApiOperation(value = "查看审批详情")
@GetMapping("/getAuditInfo") @GetMapping("/getAuditInfo")
public AjaxResult getAuditInfo(DirectAudit du) { public AjaxResult getAuditInfo(DirectAudit du) {
try { try {
@ -69,7 +56,7 @@ public class DirectAuditController extends BaseController {
} catch (Exception e) { } catch (Exception e) {
return AjaxResult.success(new DirectApplyInfo()); return AjaxResult.success(new DirectApplyInfo());
} }
} }*/
/** /**
* 审核直转申请 * 审核直转申请

View File

@ -16,4 +16,6 @@ public interface SysWorkflowNodeMapper {
int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode); int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode);
List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode); List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode);
SysWorkflowNode selectSysWorkflowNodeById(Integer nodeId);
} }

View File

@ -7,24 +7,15 @@ import com.bonus.material.ma.domain.DirectApplyInfo;
import com.bonus.material.work.domain.DirectAudit; import com.bonus.material.work.domain.DirectAudit;
import com.bonus.material.work.domain.SysWorkflowNode; import com.bonus.material.work.domain.SysWorkflowNode;
import com.bonus.material.work.domain.SysWorkflowRecord;
import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowRecordHistory;
import com.bonus.material.work.mapper.DirectAuditMapper; import com.bonus.material.work.mapper.*;
import com.bonus.material.work.mapper.SysWorkflowNodeMapper;
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
import com.bonus.material.work.service.IDirectAuditService; import com.bonus.material.work.service.IDirectAuditService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -40,17 +31,68 @@ public class DirectAuditImpl implements IDirectAuditService {
private DirectAuditMapper mapper; private DirectAuditMapper mapper;
@Resource @Resource
private SysWorkflowNodeMapper wfnMapper; private SysWorkflowNodeMapper sysWorkflowNodeMapper;
@Resource @Resource
private SysWorkflowRecordHistoryMapper hisMapper; private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
@Resource @Resource
private SysWorkflowRecordMapper wfrMapper; private SysWorkflowConfigMapper sysWorkflowConfigMapper;
@Override @Override
public List<DirectApplyInfo> getList(DirectApplyInfo directApplyInfo) { public List<DirectApplyInfo> getList(DirectApplyInfo directApplyInfo) {
return mapper.getList(directApplyInfo);
List<DirectApplyInfo> directApplyInfoList = mapper.getList(directApplyInfo);
for (DirectApplyInfo directApplyInfoNew : directApplyInfoList) {
log.info("当前节点为{}",directApplyInfoNew.getNodeId());
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(directApplyInfoNew.getRecordId());
directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
//设置当前节点
if (1==directApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
}
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(directApplyInfoNew.getNodeId());
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(directApplyInfoNew.getNodeId());
directApplyInfoNew.setConfigValue(configValue);
//判断当前节点是否审核
sysWorkflowRecordHistory.setRecordId(directApplyInfoNew.getRecordId());
sysWorkflowRecordHistory.setNodeId(directApplyInfoNew.getNodeId());
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
//判断是或签还是会签0:或签 1:会签
if (0==sysWorkflowNode.getNodeSignType()){
//当前节点已经审核需要修改节点值
if (sysWorkflowRecordHistoryList.get(0)!=null){
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
directApplyInfoNew.setConfigValue(configValueNew);
}
}else {
String[] ConfigValue = configValue.split(",");
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
if (sysWorkflowRecordHistoryNew != null) {
// 过滤数组元素
filteredList = filteredList.stream()
.filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
.collect(Collectors.toList());
directApplyInfoNew.setConfigValue(filteredList.toString());
}
}
//判断是否这个节点的所有人都审核
if (filteredList.size() == 0) {
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
directApplyInfoNew.setConfigValue(configValueNew);
} else {
if (sysWorkflowRecordHistoryList.size() > 0) {
directApplyInfoNew.setNodeId(directApplyInfoNew.getNodeId());
directApplyInfoNew.setConfigValue(filteredList.toString());
}
}
}
}
return directApplyInfoList;
} }
@ -102,7 +144,7 @@ public class DirectAuditImpl implements IDirectAuditService {
String isAccept = audit.getIsAccept(); String isAccept = audit.getIsAccept();
String remark = audit.getRemark(); String remark = audit.getRemark();
List<SysWorkflowNode> nodes = wfnMapper.selectSysWorkflowNodeList(node); List<SysWorkflowNode> nodes = sysWorkflowNodeMapper.selectSysWorkflowNodeList(node);
int flowId = audit.getFlowId(); int flowId = audit.getFlowId();
if(nodes !=null && nodes.size()>0){ if(nodes !=null && nodes.size()>0){
@ -134,7 +176,7 @@ public class DirectAuditImpl implements IDirectAuditService {
his.setCreateBy(SecurityUtils.getUsername()); his.setCreateBy(SecurityUtils.getUsername());
his.setCreateTime(new Date()); his.setCreateTime(new Date());
his.setRemark(remark); his.setRemark(remark);
hisMapper.addSysWorkflowRecordHistory(his) ; sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(his) ;
} }

View File

@ -86,6 +86,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
//获取该节点需要审核人员信息 //获取该节点需要审核人员信息
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId()); String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId());
sysWorkflowNode = sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1);
String[] ConfigValue = configValueNew.split(","); String[] ConfigValue = configValueNew.split(",");
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
@ -95,7 +96,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
.filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
.collect(Collectors.toList()); .collect(Collectors.toList());
//判断是否这个节点的所有人都审核 //判断是否这个节点的所有人都审核
if (filteredList.size()==0){ if ((filteredList.size()==0&& sysWorkflowNode.getNodeSignType()==1 )||sysWorkflowNode.getNodeSignType()==0){
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId());
sysWorkflowRecord.setWorkflowStatus(2); sysWorkflowRecord.setWorkflowStatus(2);

View File

@ -120,15 +120,19 @@
<select id="getAuditList" resultType="com.bonus.material.settlement.domain.SltAgreementReduce"> <select id="getAuditList" resultType="com.bonus.material.settlement.domain.SltAgreementReduce">
SELECT SELECT
sra.id as id,sra.id as taskId, sra.id as id,swr.task_id as taskId,
sra.create_time as createTime, sra.create_time as createTime,
su.user_name as createBy, su.user_name as createBy,
bu.unit_name as unitName, bu.unit_name as unitName,
bp.pro_name as projectName, bp.pro_name as projectName,
SUM(srd.lease_price * srd.num) as leasePrice, SUM(srd.lease_price * srd.num) as leasePrice,
SUM(srd.lease_money) as leaseMoney, SUM(srd.lease_money) as leaseMoney,
sra.`status`, swr.workflow_status as status,
a.leaseMoneyAll as leaseMoneyAll a.leaseMoneyAll as leaseMoneyAll,
swrs.node_id AS nodeId,
swrs.next_node_id AS nextNodeId,
swrs.record_id AS recordId,
swn.node_sign_type as nodeSignType
FROM FROM
slt_reduce_apply sra slt_reduce_apply sra
LEFT JOIN slt_reduce_details srd on sra.id=srd.apply_id LEFT JOIN slt_reduce_details srd on sra.id=srd.apply_id
@ -140,7 +144,7 @@
LEFT JOIN sys_workflow_type swt on swr.workflow_id = swt.id LEFT JOIN sys_workflow_type swt on swr.workflow_id = swt.id
LEFT JOIN sys_workflow_node swn on swt.id = swn.type_id LEFT JOIN sys_workflow_node swn on swt.id = swn.type_id
LEFT JOIN sys_workflow_config swc on swn.id = swc.node_id LEFT JOIN sys_workflow_config swc on swn.id = swc.node_id
left join sys_workflow_record_history swrs on swr.id = swrs.record_id
LEFT JOIN LEFT JOIN
( (
SELECT SELECT

View File

@ -4,7 +4,7 @@
<mapper namespace="com.bonus.material.work.mapper.DirectAuditMapper"> <mapper namespace="com.bonus.material.work.mapper.DirectAuditMapper">
<select id="getList" resultType="com.bonus.material.ma.domain.DirectApplyInfo"> <select id="getList" resultType="com.bonus.material.ma.domain.DirectApplyInfo">
SELECT DISTINCT SELECT
dai.Id, dai.Id,
dai.create_time AS createTime, dai.create_time AS createTime,
su.user_name AS createName, su.user_name AS createName,
@ -18,7 +18,11 @@
bpl1.pro_name AS leaseProName, bpl1.pro_name AS leaseProName,
dai.lease_man as leaseMan , dai.lease_man as leaseMan ,
swr.workflow_status as flowStatus, swr.workflow_status as flowStatus,
swr.task_id as flowId swr.task_id as flowId,
swrs.node_id AS nodeId,
swrs.next_node_id AS nextNodeId,
swrs.record_id AS recordId,
swn.node_sign_type as nodeSignType
FROM FROM
direct_apply_info dai direct_apply_info dai
LEFT JOIN bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id LEFT JOIN bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id
@ -30,6 +34,10 @@
LEFT JOIN direct_apply_details dad on dad.direct_id=dai.id LEFT JOIN direct_apply_details dad on dad.direct_id=dai.id
left join sys_user su on dai.create_by = su.user_id left join sys_user su on dai.create_by = su.user_id
left join sys_workflow_record swr on dai.id = swr.task_id left join sys_workflow_record swr on dai.id = swr.task_id
left join sys_workflow_type swt on swr.workflow_id = swt.id
left join sys_workflow_node swn on swt.id = swn.type_id
left join sys_workflow_config swc on swn.id = swc.node_id
left join sys_workflow_record_history swrs on swr.id = swrs.record_id
<where> <where>
swr.task_id is not null swr.task_id is not null
<if test="keyWord != null and keyWord != ''"> <if test="keyWord != null and keyWord != ''">
@ -52,7 +60,7 @@
<if test="isApp != null and taskStatus==0">and dai.status = 0 </if> <if test="isApp != null and taskStatus==0">and dai.status = 0 </if>
<if test="isApp != null and taskStatus==1">and (dai.status = 1 or dai.status = 2)</if> <if test="isApp != null and taskStatus==1">and (dai.status = 1 or dai.status = 2)</if>
</where> </where>
order by dai.create_time desc GROUP BY swr.task_id order by dai.create_time desc
</select> </select>

View File

@ -83,6 +83,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
GROUP BY swn.id GROUP BY swn.id
</select> </select>
<select id="selectSysWorkflowNodeById" resultType="com.bonus.material.work.domain.SysWorkflowNode">
select node_name as nodeName, node_sign_type as nodeSignType
from sys_workflow_node where id = #{nodeId}
</select>
</mapper> </mapper>