直转和减免审核逻辑编写
This commit is contained in:
parent
4295427b2e
commit
886ae3c8d4
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核直转申请
|
* 审核直转申请
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue