Merge remote-tracking branch 'origin/master'

This commit is contained in:
mashuai 2025-03-06 10:26:21 +08:00
commit ae9dcf37c2
14 changed files with 201 additions and 108 deletions

View File

@ -269,6 +269,9 @@ public class LeaseApplyInfo extends BaseEntity{
@ApiModelProperty(value = "本流程节点id") @ApiModelProperty(value = "本流程节点id")
private Integer nodeId; private Integer nodeId;
@ApiModelProperty(value = "下个流程节点id")
private Integer nextNodeId;
@ApiModelProperty(value = "流程配置值") @ApiModelProperty(value = "流程配置值")
private String configValue; private String configValue;
@ -281,6 +284,10 @@ public class LeaseApplyInfo extends BaseEntity{
@ApiModelProperty(value = "设备id") @ApiModelProperty(value = "设备id")
private Long maId; private Long maId;
@ApiModelProperty(value = "所属记录")
private Integer nodeSignType;
@ApiModelProperty(value = "发布批次") @ApiModelProperty(value = "发布批次")
private String publishTask; private String publishTask;
} }

View File

@ -379,53 +379,67 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
leaseApplyInfo.setUserId(userId == 0 ? null : userId); leaseApplyInfo.setUserId(userId == 0 ? null : userId);
log.info("用户id为{}",userId); log.info("用户id为{}",userId);
List<LeaseApplyInfo> list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo); List<LeaseApplyInfo> list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(list)) { try {
String keyWord = leaseApplyInfo.getKeyWord(); if (!CollectionUtils.isEmpty(list)) {
// 如果关键字不为空进行过滤 String keyWord = leaseApplyInfo.getKeyWord();
if (!StringUtils.isBlank(keyWord)) { // 如果关键字不为空进行过滤
list = list.stream() if (!StringUtils.isBlank(keyWord)) {
.filter(item -> containsKeyword(item, keyWord)) list = list.stream()
.collect(Collectors.toList()); .filter(item -> containsKeyword(item, keyWord))
.collect(Collectors.toList());
}
} }
} for (LeaseApplyInfo leaseApplyInfoNew : list) {
for (LeaseApplyInfo leaseApplyInfoNew : list) { //获取当前节点并根据当前节点获取审核人审核的角色信息
//获取当前节点并根据当前节点获取审核人审核的角色信息 if (leaseApplyInfoNew.getNodeId()!=null){
if (leaseApplyInfoNew.getNodeId()!=null){ log.info("当前节点为{}",leaseApplyInfoNew.getNodeId());
log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId());
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
leaseApplyInfoNew.setConfigValue(configValue); if (sysWorkflowRecordHistory.getNodeSort()==1){
//判断当前节点是否审核 leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory();
sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId());
sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId());
List<SysWorkflowRecordHistory> SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
//判断是或签还是会签0:或签 1:会签
if (0==leaseApplyInfoNew.getLeaseSignType().intValue()){
//当前节点已经审核需要修改节点值
if (SysWorkflowRecordHistoryList.get(0)!=null){
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
leaseApplyInfoNew.setConfigValue(configValueNew);
} }
}else { String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId());
String[] ConfigValue = configValue.split(","); leaseApplyInfoNew.setConfigValue(configValue);
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { //判断当前节点是否审核
if (sysWorkflowRecordHistoryNew!=null){ sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId());
// 过滤数组元素 sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId());
List<String> filteredList = Arrays.stream(ConfigValue) List<SysWorkflowRecordHistory> SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
.filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) //判断是或签还是会签0:或签 1:会签
.collect(Collectors.toList()); if (0==leaseApplyInfoNew.getNodeSignType()){
leaseApplyInfoNew.setConfigValue(filteredList.toString()); //当前节点已经审核需要修改节点值
//判断是否这个节点的所有人都审核 if (SysWorkflowRecordHistoryList.get(0)!=null){
if (filteredList.size()==0){ String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); leaseApplyInfoNew.setConfigValue(configValueNew);
leaseApplyInfoNew.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());
leaseApplyInfoNew.setConfigValue(filteredList.toString());
}
}
//判断是否这个节点的所有人都审核
if (filteredList.size()==0){
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
leaseApplyInfoNew.setConfigValue(configValueNew);
}else {
if (SysWorkflowRecordHistoryList.size()>0){
leaseApplyInfoNew.setNodeId(leaseApplyInfoNew.getNodeId());
leaseApplyInfoNew.setConfigValue(filteredList.toString());
} }
} }
} }
} }
} }
}catch (Exception e){
log.info("查询失败",e.getMessage());
} }
return list; return list;
} }

View File

@ -14,6 +14,7 @@ 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.SysWorkflowRecordHistoryMapper; import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
import com.bonus.material.work.mapper.SysWorkflowRecordMapper; import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
import com.bonus.material.work.service.SysWorkflowRecordService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -44,6 +45,9 @@ public class DirectRotationImpl implements DirectRotationService {
@Resource(name = "workSiteDirectManageService") @Resource(name = "workSiteDirectManageService")
private WorkSiteDirectManageService workSiteDirectManageService; private WorkSiteDirectManageService workSiteDirectManageService;
@Resource
private SysWorkflowRecordService sysWorkflowRecordService;
@Override @Override
public List<SltAgreementInfo> getUseringData(SltAgreementInfo sltAgreementInfo) { public List<SltAgreementInfo> getUseringData(SltAgreementInfo sltAgreementInfo) {
return mapper.getUseringData(sltAgreementInfo); return mapper.getUseringData(sltAgreementInfo);
@ -103,7 +107,8 @@ public class DirectRotationImpl implements DirectRotationService {
} else { } else {
return AjaxResult.error("保存失败"); return AjaxResult.error("保存失败");
} }
initAuditDir(id,code); sysWorkflowRecordService.addSysWorkflowRecord(id,code,TM_TASK_DIRECT.getTaskTypeId());
//initAuditDir(id,code);
return AjaxResult.success("保存成功"); return AjaxResult.success("保存成功");
@ -116,7 +121,7 @@ public class DirectRotationImpl implements DirectRotationService {
wf.setTaskId(id); wf.setTaskId(id);
wf.setTaskType(TM_TASK_DIRECT.getTaskTypeId()); wf.setTaskType(TM_TASK_DIRECT.getTaskTypeId());
wf.setTaskCode(code); wf.setTaskCode(code);
wf.setWorkflowId(16); wf.setWorkflowId(15);
wfMapper.addSysWorkflowRecord(wf); wfMapper.addSysWorkflowRecord(wf);
//2 生成直转审核人 //2 生成直转审核人
SysWorkflowRecordHistory his = new SysWorkflowRecordHistory(); SysWorkflowRecordHistory his = new SysWorkflowRecordHistory();
@ -128,6 +133,7 @@ public class DirectRotationImpl implements DirectRotationService {
his.setCreateBy(SecurityUtils.getUsername()); his.setCreateBy(SecurityUtils.getUsername());
his.setCreateTime(new Date()); his.setCreateTime(new Date());
hisMapper.addSysWorkflowRecordHistory(his) ; hisMapper.addSysWorkflowRecordHistory(his) ;
} }

View File

@ -40,4 +40,9 @@ public class SysWorkflowConfig {
* 创建人 * 创建人
*/ */
private String keyWord; private String keyWord;
/**
* 角色信息
*/
private String roleIds;
} }

View File

@ -92,4 +92,9 @@ public class SysWorkflowNode {
*/ */
private Integer nodeId; private Integer nodeId;
private String nodeLabel; private String nodeLabel;
/**
* 角色信息
*/
private String roleIds;
} }

View File

@ -61,4 +61,9 @@ public class SysWorkflowRecordHistory {
* 所属流程类型ID * 所属流程类型ID
*/ */
private Integer typeId; private Integer typeId;
/**
* 流程节点顺序
*/
private Integer nodeSort;
} }

View File

@ -11,4 +11,6 @@ public interface SysWorkflowRecordHistoryMapper {
int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
List<SysWorkflowRecordHistory> seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); List<SysWorkflowRecordHistory> seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
SysWorkflowRecordHistory getWorkflowRecordHistoryByRecordId(Integer recordId);
} }

View File

@ -15,8 +15,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.stream.Collectors;
@Service @Service
public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
@ -55,8 +56,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode); int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode);
SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig();
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig());
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
if (sysWorkflowNode.getNodeSignConfig()==0){
sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds());
}
//新增审核详情表信息 //新增审核详情表信息
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
return count; return count;
@ -90,8 +94,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig); sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig);
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig());
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
if (sysWorkflowNode.getNodeSignConfig()==0){
sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds());
}
//新增审核详情表信息 //新增审核详情表信息
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
return count; return count;
@ -106,42 +113,54 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId()); sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId());
sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId()); sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId());
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){ if (sysWorkflowRecordHistoryList.size()>0){
//判断是或签还是会签0:或签 1:会签 //判断是或签还是会签0:或签 1:会签
if (0==SysWorkflowNode.getNodeSignType()){ if (0==SysWorkflowNode.getNodeSignType()){
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept()); SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime()); SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark()); SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
}else { }else {
String[] ConfigValue =SysWorkflowNode.getConfigValues().split(","); String[] configValue = SysWorkflowNode.getConfigValues().split(",");
List<String> filteredList = Arrays.stream(configValue).collect(Collectors.toList());
// 过滤数组元素 // 过滤数组元素
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
/*List<String> filteredList = Arrays.stream(ConfigValue) // 过滤数组元素
.filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) filteredList = filteredList.stream()
.filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
.collect(Collectors.toList()); .collect(Collectors.toList());
//判断是不是所有人都审核完成
if(filteredList.size()==0){
}*/
//查看当前人是否审核
if(userId.toString().equals(sysWorkflowRecordHistoryNew.getCreateBy())){
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept());
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark());
} }
//查看别人审核是否有驳回的 //获取所有的审核状态
if (sysWorkflowRecordHistoryNew.getIsAccept().equals(2)){ List<Integer> isAcceptList =sysWorkflowRecordHistoryList.stream()
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); .map(SysWorkflowRecordHistory::getIsAccept)
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); .collect(Collectors.toList());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); //判断是否有人是驳回
if(isAcceptList.contains(2)){
//获取驳回信息
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream()
.filter(value ->value != null && 2==(value.getIsAccept()))
.collect(Collectors.toList());
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
}else {
//获取当前人的审核信息
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream()
.filter(value ->value != null && userId.toString().equals(value.getCreateBy()))
.collect(Collectors.toList());
//判断当前人是否是这个节点的审核人
if (!sysWorkflowRecordHistoryListNew.isEmpty()){
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
}else {
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
} }
} }
}
} }
} }
}
return sysWorkflowNodeList; return sysWorkflowNodeList;
} }
} }

View File

@ -11,10 +11,7 @@ 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.domain.dto.SysWorkflowAuditDto; import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
import com.bonus.material.work.mapper.SysWorkflowNodeMapper; 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.SysWorkflowRecordHistoryService; import com.bonus.material.work.service.SysWorkflowRecordHistoryService;
import com.bonus.material.work.service.SysWorkflowRecordService; import com.bonus.material.work.service.SysWorkflowRecordService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -22,7 +19,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
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;
@Slf4j @Slf4j
@Service @Service
@ -35,7 +34,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
private ISltAgreementReduceService sltAgreementReduceService; private ISltAgreementReduceService sltAgreementReduceService;
@Resource @Resource
private SysWorkflowTypeMapper sysWorkflowTypeMapper; private SysWorkflowConfigMapper sysWorkflowConfigMapper;
@Resource @Resource
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
@ -80,36 +79,55 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
} }
//判断是否是最后一级 //判断是否是最后一级
if (sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1).getId().equals(sysWorkflowRecordHistory.getNodeId())){ if (sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1).getId().equals(sysWorkflowRecordHistory.getNodeId())){
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); //判断最后节点是否所有人都审核完成
sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); sysWorkflowRecordHistory.setRecordId(sysWorkflowRecordHistory.getRecordId());
sysWorkflowRecord.setWorkflowStatus(2); sysWorkflowRecordHistory.setNodeId(sysWorkflowRecordHistory.getNodeId());
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord); //获取这个节点所有审核信息
System.out.println("-------------节点更新任务信息为完成-------------"); List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId()); //获取该节点需要审核人员信息
if (sysWorkflowRecodeInfo == null) { String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId());
throw new ServiceException("任务类型为空"); String[] ConfigValue = configValueNew.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());
//判断是否这个节点的所有人都审核
if (filteredList.size()==0){
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId());
sysWorkflowRecord.setWorkflowStatus(2);
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
System.out.println("-------------节点更新任务信息为完成-------------");
SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId());
if (sysWorkflowRecodeInfo == null) {
throw new ServiceException("任务类型为空");
}
// 根据任务类型修改业务状态
switch (sysWorkflowRecodeInfo.getTaskType()) {
// 领料任务:2
case 2:
//修改业务状态
TmTask tmTask = new TmTask();
tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue());
tmTask.setTaskStatus(1);
tmTaskMapper.updateTmTask(tmTask);
System.out.println("-------------执行了最后业务办理领料-------------");
break;
// 费用减免:13
case 13:
sltAgreementReduceService.audit(sysWorkflowRecodeInfo);
System.out.println("-------------执行了最后业务办理费用减免-------------");
break;
// 工地直转16
case 16:
break;
}
}
}
} }
// 根据任务类型修改业务状态
switch (sysWorkflowRecodeInfo.getTaskType()) {
// 领料任务:2
case 2:
//修改业务状态
TmTask tmTask = new TmTask();
tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue());
tmTask.setTaskStatus(1);
tmTaskMapper.updateTmTask(tmTask);
System.out.println("-------------执行了最后业务办理领料-------------");
break;
// 费用减免:13
case 13:
sltAgreementReduceService.audit(sysWorkflowRecodeInfo);
System.out.println("-------------执行了最后业务办理费用减免-------------");
break;
// 工地直转16
case 16:
break;
}
} }
}else { }else {
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
@ -119,4 +137,5 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
} }
return 0; return 0;
} }
} }

View File

@ -38,7 +38,8 @@
<result property="leaseSignUrl" column="lease_sign_url"/> <result property="leaseSignUrl" column="lease_sign_url"/>
<result property="leaseSignType" column="lease_sign_type"/> <result property="leaseSignType" column="lease_sign_type"/>
<result property="applyCode" column="apply_code"/> <result property="applyCode" column="apply_code"/>
<result property="nodeId" column="next_node_id"/> <result property="nextNodeId" column="next_node_id"/>
<result property="nodeId" column="node_id"/>
<result property="recordId" column="record_id"/> <result property="recordId" column="record_id"/>
</resultMap> </resultMap>
@ -505,9 +506,9 @@
lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark,
lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id, lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id,
lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url, lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url,
lai.lease_sign_type,tt.task_id as taskId,swn.node_sign_type as leaseSignType, tt.task_id as taskId,swn.node_sign_type as nodeSignType,
lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code, lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code,
swrs.next_node_id,swrs.record_id, swrs.node_id,swrs.next_node_id,swrs.record_id,
case tt.task_status case tt.task_status
when 0 then '待审核' when 0 then '待审核'
when 1 then '待审核' when 1 then '待审核'

View File

@ -18,7 +18,7 @@
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.id as flowId swr.task_id as flowId
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

View File

@ -12,12 +12,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="configType != null">config_type,</if> <if test="configType != null">config_type,</if>
<if test="configValue != null">config_value,</if> <if test="configValue != null">config_value,</if>
<if test="isEnable != null">is_enable,</if> <if test="isEnable != null">is_enable,</if>
<if test="roleIds != null">roleIds,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="nodeId != null">#{nodeId},</if> <if test="nodeId != null">#{nodeId},</if>
<if test="configType != null">#{configType},</if> <if test="configType != null">#{configType},</if>
<if test="configValue != null">#{configValue},</if> <if test="configValue != null">#{configValue},</if>
<if test="isEnable != null">#{isEnable},</if> <if test="isEnable != null">#{isEnable},</if>
<if test="roleIds != null">#{roleIds},</if>
</trim> </trim>
</insert> </insert>

View File

@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSysWorkflowNodeList" resultType="com.bonus.material.work.domain.SysWorkflowNode"> <select id="selectSysWorkflowNodeList" resultType="com.bonus.material.work.domain.SysWorkflowNode">
select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort, select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort,
swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.node_label as nodeLabel, swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.node_label as nodeLabel,
swn.create_by as createBy,swn.create_time as createTime,swn.is_enable as isEnable, swn.create_by as createBy,swn.create_time as createTime,swn.is_enable as isEnable,sec.roleIds as roleIds,
GROUP_CONCAT(sec.config_value SEPARATOR ',') AS configValues GROUP_CONCAT(sec.config_value SEPARATOR ',') AS configValues
from sys_workflow_node swn from sys_workflow_node swn
left join sys_workflow_config sec on swn.id= sec.node_id left join sys_workflow_config sec on swn.id= sec.node_id
@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="listByTaskId" resultType="com.bonus.material.work.domain.SysWorkflowNode"> <select id="listByTaskId" resultType="com.bonus.material.work.domain.SysWorkflowNode">
select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort, select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort,
swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId, swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId,
swrh.create_by as createBy,swn.is_enable as isEnable,sec.config_value as configValues, swrh.create_by as createBy,swn.is_enable as isEnable,
GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues, GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues,
swr.id as recordId swr.id as recordId
from sys_workflow_node swn from sys_workflow_node swn

View File

@ -28,8 +28,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert> </insert>
<select id="seleteSysWorkflowRecordHistory" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory"> <select id="seleteSysWorkflowRecordHistory" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId, select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
swrh.create_by as createBy swrh.create_by as createBy,swrh.node_id as nodeId
from sys_workflow_record_history swrh from sys_workflow_record_history swrh
where swrh.record_id=#{recordId} and swrh.node_id= #{nodeId} where swrh.record_id=#{recordId} and swrh.node_id= #{nodeId}
</select> </select>
<select id="getWorkflowRecordHistoryByRecordId"
resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
SELECT swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
swrh.create_by as createBy,swrh.node_id as nodeId,swn.node_sort as nodeSort
FROM sys_workflow_record_history swrh
left join sys_workflow_node swn on swn.id = swrh.node_id
WHERE swrh.record_id =#{recordId} ORDER BY swrh.create_time DESC limit 1
</select>
</mapper> </mapper>