减免审核
This commit is contained in:
parent
650afdb89f
commit
8fd7b25de3
|
|
@ -319,4 +319,7 @@ public class SltAgreementInfo extends BaseEntity {
|
|||
private String sltTask;
|
||||
|
||||
private List<SltInfoVo> signUrlList;
|
||||
|
||||
@ApiModelProperty(value = "任务状态列表")
|
||||
private List<Integer> statusList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.material.settlement.service.impl;
|
||||
|
||||
import com.bonus.common.biz.constant.GlobalConstants;
|
||||
import com.bonus.common.biz.domain.lease.WorkApplyInfo;
|
||||
import com.bonus.common.biz.domain.lease.WorkPeopleInfo;
|
||||
import com.bonus.common.biz.enums.TmTaskTypeEnum;
|
||||
import com.bonus.common.biz.enums.WorkFlowStatusEnum;
|
||||
|
|
@ -9,6 +10,7 @@ import com.bonus.common.core.utils.DateUtils;
|
|||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.basic.mapper.BmFileInfoMapper;
|
||||
import com.bonus.material.event.InsertWorkflowEvent;
|
||||
import com.bonus.material.settlement.domain.SltAgreementReduce;
|
||||
import com.bonus.material.settlement.mapper.SltAgreementReduceMapper;
|
||||
import com.bonus.material.settlement.service.ISltAgreementReduceService;
|
||||
|
|
@ -19,6 +21,7 @@ import com.bonus.material.work.domain.SysWorkflowType;
|
|||
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
|
||||
import com.bonus.material.work.mapper.*;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordService;
|
||||
import com.bonus.system.api.domain.SysUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
|
@ -26,14 +29,12 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -195,10 +196,10 @@ public class SltAgreementReduceServiceImpl implements ISltAgreementReduceService
|
|||
}
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
|
||||
// if (count > 0 && userList != null && !userList.isEmpty()) {
|
||||
// createWorkOrderAndPeople(sysUser, event, Long.valueOf(sysWorkflowRecord.getTaskId()), newId,sysWorkflowRecordHistory.getNodeId(),userList);
|
||||
// }
|
||||
// return newId;
|
||||
if (count > 0 && userList != null && !userList.isEmpty()) {
|
||||
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||
createWorkOrderAndPeopleReduction(sysUser,projectId , sysWorkflowRecord, newId,sysWorkflowRecordHistory.getNodeId(),userList);
|
||||
}
|
||||
}
|
||||
|
||||
// ******************************** 减免审核工作流 ***********************************//
|
||||
|
|
@ -218,6 +219,53 @@ public class SltAgreementReduceServiceImpl implements ISltAgreementReduceService
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//减免新增工单接入
|
||||
private void createWorkOrderAndPeopleReduction(SysUser sysUser, int proId, SysWorkflowRecord sysWorkflowRecord, int newId, int nodeId, List<WorkPeopleInfo> userList) {
|
||||
//获取工程名称
|
||||
String projectName = directAuditMapper.getProjectNameById(proId);
|
||||
String id = UUID.randomUUID().toString().replace("-", "");
|
||||
String webUrlBase = "/mea-h5/#/pages/businessAudit/reductionAudit/details";
|
||||
String queryParams = UriComponentsBuilder.newInstance()
|
||||
.queryParam("appId", "9fa73f046ef520b09e94bbffc3b07702")
|
||||
.queryParam("taskId", sysWorkflowRecord.getTaskId())
|
||||
.queryParam("nodeId", nodeId)
|
||||
.build().encode().toUriString();
|
||||
|
||||
WorkApplyInfo workApplyInfo = new WorkApplyInfo();
|
||||
workApplyInfo.setId(id);
|
||||
workApplyInfo.setTitle("智能机具-减免申请待审核");
|
||||
workApplyInfo.setCreateUserName(sysUser.getUserName());
|
||||
workApplyInfo.setContent(sysUser.getNickName() + ":" + sysWorkflowRecord.getTaskCode() + "-" + projectName);
|
||||
workApplyInfo.setType(1);
|
||||
workApplyInfo.setWebAppId("9fa73f046ef520b09e94bbffc3b07702");
|
||||
workApplyInfo.setSendUserName(sysUser.getUserName());
|
||||
workApplyInfo.setTypeId(2025050901);
|
||||
workApplyInfo.setBusinessId(String.valueOf(newId));
|
||||
workApplyInfo.setNextStatus("待审核");
|
||||
workApplyInfo.setFlowState(null);
|
||||
workApplyInfo.setWebUrl(webUrlBase + queryParams);
|
||||
workApplyInfo.setRout(webUrlBase + queryParams);
|
||||
|
||||
int countWork = directAuditMapper.insertWorkOrder(workApplyInfo);
|
||||
if (countWork > 0) {
|
||||
for (WorkPeopleInfo user : userList) {
|
||||
WorkPeopleInfo workPeopleInfo = new WorkPeopleInfo();
|
||||
workPeopleInfo.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
workPeopleInfo.setInformationId(id);
|
||||
workPeopleInfo.setReceiverUsername(user.getUserName());
|
||||
workPeopleInfo.setReadState(0);
|
||||
workPeopleInfo.setHandleState(0);
|
||||
workPeopleInfo.setIsExamine(0);
|
||||
directAuditMapper.insertWorkPeople(workPeopleInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<SltAgreementReduce> selectByMatype(SltAgreementReduce sltAgreement) {
|
||||
return sltAgreementRecudceMapper.selectByMatype(sltAgreement);
|
||||
|
|
|
|||
|
|
@ -107,4 +107,7 @@ public class SysWorkflowRecordHistory {
|
|||
private String directUserIds;
|
||||
|
||||
private String userName;
|
||||
|
||||
//备注类型1.PC端 2.APP端
|
||||
private int remarkType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
package com.bonus.material.work.mapper;
|
||||
|
||||
import com.bonus.common.biz.domain.lease.WorkApplyInfo;
|
||||
import com.bonus.common.biz.domain.lease.WorkPeopleInfo;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import feign.Param;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -30,7 +31,7 @@ public interface SysWorkflowRecordHistoryMapper {
|
|||
|
||||
void deleteNowNode(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
String getRecordCodeByTaskId(@Param("taskId") int taskId, @Param("taskTypeId") int taskTypeId);
|
||||
String getRecordCodeByTaskId(@Param("taskId") Integer taskId, @Param("taskTypeId") Integer taskTypeId);
|
||||
|
||||
/**
|
||||
* 获取当前节点信息
|
||||
|
|
@ -67,4 +68,8 @@ public interface SysWorkflowRecordHistoryMapper {
|
|||
int getReductionAgreementIdByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
String getReductionNodeUserIds(SysWorkflowRecordHistory history);
|
||||
|
||||
WorkPeopleInfo getReductionUser(int userId);
|
||||
|
||||
String getReductionUserName(int userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.bonus.common.biz.enums.LeaseTaskStatusEnum;
|
|||
import com.bonus.common.biz.enums.TmTaskTypeEnum;
|
||||
import com.bonus.common.core.exception.ServiceException;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.back.domain.BackApplyDetails;
|
||||
import com.bonus.material.back.domain.BackApplyInfo;
|
||||
|
|
@ -30,7 +31,9 @@ import com.bonus.material.ma.domain.Type;
|
|||
import com.bonus.material.ma.mapper.DirectRotationMapper;
|
||||
import com.bonus.material.ma.mapper.TypeMapper;
|
||||
import com.bonus.material.settlement.domain.SltAgreementInfo;
|
||||
import com.bonus.material.settlement.domain.SltAgreementReduce;
|
||||
import com.bonus.material.settlement.mapper.SltAgreementInfoMapper;
|
||||
import com.bonus.material.settlement.mapper.SltAgreementReduceMapper;
|
||||
import com.bonus.material.settlement.service.ISltAgreementReduceService;
|
||||
import com.bonus.material.task.domain.TmTask;
|
||||
import com.bonus.material.task.domain.TmTaskAgreement;
|
||||
|
|
@ -114,6 +117,12 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
@Resource
|
||||
private LeaseTaskMapper lMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordMapper workflowRecordMapper;
|
||||
|
||||
@Resource
|
||||
private SltAgreementReduceMapper sltAgreementRecudceMapper;
|
||||
|
||||
/**
|
||||
* 审批
|
||||
*/
|
||||
|
|
@ -410,6 +419,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
|
||||
//插入history表中
|
||||
SysWorkflowRecordHistory history = sysWorkflowRecordHistory;
|
||||
history.setRemarkType(sysWorkflowRecordHistory.getRemarkType());
|
||||
history.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
if(i!=sysWorkflowNodeList.size()-1){
|
||||
history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId());
|
||||
|
|
@ -446,6 +456,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
directApplyInfo.setDeptId(deptId);
|
||||
//插入history表中
|
||||
SysWorkflowRecordHistory history = sysWorkflowRecordHistory;
|
||||
history.setRemarkType(sysWorkflowRecordHistory.getRemarkType());
|
||||
history.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
if(i!=sysWorkflowNodeList.size()-1){
|
||||
history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId());
|
||||
|
|
@ -513,6 +524,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
|
||||
//插入history表中
|
||||
SysWorkflowRecordHistory history = sysWorkflowRecordHistory;
|
||||
history.setRemarkType(sysWorkflowRecordHistory.getRemarkType());
|
||||
history.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
if(i!=sysWorkflowNodeList.size()-1){
|
||||
history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId());
|
||||
|
|
@ -549,6 +561,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
directApplyInfo.setDeptId(deptId);
|
||||
//插入history表中
|
||||
SysWorkflowRecordHistory history = sysWorkflowRecordHistory;
|
||||
history.setRemarkType(sysWorkflowRecordHistory.getRemarkType());
|
||||
history.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
if(i!=sysWorkflowNodeList.size()-1){
|
||||
history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId());
|
||||
|
|
@ -961,16 +974,36 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
//根据deptId判断送一还是送二
|
||||
if(deptId == 327){ //送一
|
||||
if (userIdArray.length > 0) {
|
||||
boolean hasTrue = Arrays.asList(userIdArray).contains("1916"); //送二的武抒理
|
||||
if (hasTrue) {
|
||||
history.setDirectUserIds("1916");
|
||||
for (int j = 0; j < userIdArray.length; j++) {
|
||||
WorkPeopleInfo workPeopleInfo = sysWorkflowRecordHistoryMapper.getReductionUser(Integer.parseInt(userIdArray[j]));
|
||||
if(workPeopleInfo != null && workPeopleInfo.getDeptId() == 327){ //送一的吕猛
|
||||
history.setDirectUserIds(String.valueOf(userIdArray[j]));
|
||||
userList.add(workPeopleInfo);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}else if(deptId == 102){ //送二
|
||||
if (userIdArray.length > 0) {
|
||||
boolean hasTrue = Arrays.asList(userIdArray).contains("293"); //送二的武抒理
|
||||
if (hasTrue) {
|
||||
history.setDirectUserIds("293");
|
||||
for (int j = 0; j < userIdArray.length; j++) {
|
||||
WorkPeopleInfo workPeopleInfo = sysWorkflowRecordHistoryMapper.getReductionUser(Integer.parseInt(userIdArray[j]));
|
||||
if(workPeopleInfo != null && workPeopleInfo.getDeptId() == 102){ //送二的武抒理
|
||||
history.setDirectUserIds(String.valueOf(userIdArray[j]));
|
||||
userList.add(workPeopleInfo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(deptId == 309){ //宏源
|
||||
if (userIdArray.length > 0) {
|
||||
for (int j = 0; j < userIdArray.length; j++) {
|
||||
WorkPeopleInfo workPeopleInfo = sysWorkflowRecordHistoryMapper.getReductionUser(Integer.parseInt(userIdArray[j]));
|
||||
if(workPeopleInfo != null && workPeopleInfo.getDeptId() == 309){ //送二的武抒理
|
||||
history.setDirectUserIds(String.valueOf(userIdArray[j]));
|
||||
userList.add(workPeopleInfo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
|
@ -981,25 +1014,30 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
}
|
||||
}else if(i==2){//分公司分管领导审核
|
||||
history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId());
|
||||
history.setDirectUserIds("1756"); //张必余
|
||||
String userIds = sysWorkflowRecordHistoryMapper.getReductionNodeUserIds(history);
|
||||
String[] userIdArray = userIds != null ? userIds.split(",") : new String[0];
|
||||
if(userIdArray.length > 0){
|
||||
String userName = sysWorkflowRecordHistoryMapper.getReductionUserName(Integer.parseInt(userIdArray[0]));
|
||||
history.setDirectUserIds(userIdArray[0]);
|
||||
WorkPeopleInfo workPeopleInfo = new WorkPeopleInfo();
|
||||
workPeopleInfo.setUserName(userName);
|
||||
userList.add(workPeopleInfo);
|
||||
}
|
||||
|
||||
}else{//公司分管领导审核
|
||||
history.setNextNodeId(null);
|
||||
nextNodeId = null;
|
||||
history.setDirectUserIds(null);
|
||||
}
|
||||
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(history);
|
||||
|
||||
}
|
||||
|
||||
//获取当前node的directUserIds
|
||||
String userIdsNow = sysWorkflowRecordHistoryMapper.getNowUserIds(sysWorkflowRecordHistory);
|
||||
// 判断当前用户是否是当前节点的配置用户
|
||||
if (userIdsNow.contains(sysUser.getUserId().toString())) {
|
||||
log.info("-------------✅通过校验,当前用户是该节点审批人员,进行更新任务信息-------------");
|
||||
// 根据任务ID 更新审批流状态
|
||||
updateWorkflowStatus(taskId, 1);
|
||||
// 根据任务ID 更新任务状态
|
||||
updateTmTask(taskId.longValue(), LeaseTaskStatusEnum.LEASE_AUDIT_ING.getStatus());
|
||||
updateWorkflowStatusReduction(taskId, 1);
|
||||
found = true;
|
||||
break;
|
||||
} else {
|
||||
|
|
@ -1008,18 +1046,44 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
throw new ServiceException("您不是当前节点配置的审批人员,无法进行操作!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************** ******************/
|
||||
|
||||
// 如果前面更新失败 -> 方法停止 -> 不进行下一步操作,否则继续
|
||||
if (!found) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
log.info("-------------节点更新工单信息✔-------------");
|
||||
// 修改工单信息
|
||||
updateWorkOrder(recordId, sysUser.getUserName());
|
||||
// 如果下个节点⬇存在的话,那么就创建下个节点⬇的工单信息
|
||||
if (nextNodeId != null && proId != null) {
|
||||
createWorkOrderAndPeopleReduction(sysUser,proId, taskId, recordCode, recordId, nextNodeId,userList);
|
||||
}
|
||||
log.info("-------------节点更新工单信息结束-------------");
|
||||
} catch (Exception e) {
|
||||
System.err.println("更新工单信息失败:" + e.getMessage());
|
||||
log.error("更新工单信息失败: {}", e.getMessage(), e);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Optional<SysWorkflowNode> maxNodeOptional = sysWorkflowNodeList.stream()
|
||||
.max(Comparator.comparingInt(SysWorkflowNode::getNodeSort));
|
||||
SysWorkflowNode endNodeInfo = maxNodeOptional.orElse(new SysWorkflowNode());
|
||||
|
||||
if (endNodeInfo.getId().equals(sysWorkflowRecordHistory.getNodeId()) && "2".equals(endNodeInfo.getNodeLabel())) {
|
||||
checkFinalNodeDirectApproval(sysWorkflowRecordHistory, sysWorkflowNodeList);
|
||||
checkFinalNodeReductionApproval(sysWorkflowRecordHistory, sysWorkflowNodeList);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1074,6 +1138,22 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
handleBusinessLogic(dto.getTaskType(), sysWorkflowRecordHistory.getTaskId());
|
||||
}
|
||||
|
||||
private void checkFinalNodeReductionApproval(SysWorkflowRecordHistory sysWorkflowRecordHistory, List<SysWorkflowNode> sysWorkflowNodeList) {
|
||||
// List<SysWorkflowRecordHistory> historyList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
// SysWorkflowNode lastNode = sysWorkflowNodeList.get(sysWorkflowNodeList.size() - 1);
|
||||
|
||||
updateWorkflowStatusReduction(sysWorkflowRecordHistory.getTaskId(), 2);
|
||||
log.info("-------------节点更新任务信息为完成-------------");
|
||||
SysWorkflowAuditDto workflowRecordInfo = workflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
if (workflowRecordInfo == null) {
|
||||
throw new ServiceException("审批记录不存在");
|
||||
}
|
||||
SltAgreementReduce sltAgreement = new SltAgreementReduce();
|
||||
sltAgreement.setId(Long.valueOf(sysWorkflowRecordHistory.getTaskId()));
|
||||
sltAgreement.setStatus("1");
|
||||
sltAgreementRecudceMapper.updateReduce(sltAgreement);
|
||||
}
|
||||
|
||||
|
||||
private void handleBusinessLogic(int taskType, Integer taskId) {
|
||||
switch (taskType) {
|
||||
|
|
@ -1216,6 +1296,14 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
|
||||
}
|
||||
|
||||
private void updateWorkflowStatusReduction(Integer taskId, int status) {
|
||||
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
||||
sysWorkflowRecord.setTaskId(taskId);
|
||||
sysWorkflowRecord.setWorkflowStatus(status);
|
||||
sysWorkflowRecord.setTaskType(13);
|
||||
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
|
||||
}
|
||||
|
||||
// 工具方法:更新 TmTask 状态
|
||||
private void updateTmTask(Long taskId, Integer taskStatus) {
|
||||
TmTask tmTask = new TmTask();
|
||||
|
|
@ -1421,6 +1509,49 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
}
|
||||
}
|
||||
|
||||
//减免工单插入
|
||||
private void createWorkOrderAndPeopleReduction(SysUser sysUser, int proId, int taskId,String taskCode, int newId,int nodeId,List<WorkPeopleInfo> userList) {
|
||||
//获取工程名称
|
||||
String projectName = directAuditMapper.getProjectNameById(proId);
|
||||
String id = UUID.randomUUID().toString().replace("-", "");
|
||||
String webUrlBase = "/mea-h5/#/pages/businessAudit/reductionAudit/details";
|
||||
String queryParams = UriComponentsBuilder.newInstance()
|
||||
.queryParam("appId", "9fa73f046ef520b09e94bbffc3b07702")
|
||||
.queryParam("taskId", taskId)
|
||||
.queryParam("nodeId", nodeId)
|
||||
.build().encode().toUriString();
|
||||
|
||||
WorkApplyInfo workApplyInfo = new WorkApplyInfo();
|
||||
workApplyInfo.setId(id);
|
||||
workApplyInfo.setTitle("智能机具-减免申请待审核");
|
||||
workApplyInfo.setCreateUserName(sysUser.getUserName());
|
||||
workApplyInfo.setContent(sysUser.getNickName() + ":" + taskCode + "-" + projectName);
|
||||
workApplyInfo.setType(1);
|
||||
workApplyInfo.setWebAppId("9fa73f046ef520b09e94bbffc3b07702");
|
||||
workApplyInfo.setSendUserName(sysUser.getUserName());
|
||||
workApplyInfo.setTypeId(2025050901);
|
||||
workApplyInfo.setBusinessId(String.valueOf(newId));
|
||||
workApplyInfo.setNextStatus("待审核");
|
||||
workApplyInfo.setFlowState(null);
|
||||
workApplyInfo.setWebUrl(webUrlBase + queryParams);
|
||||
workApplyInfo.setRout(webUrlBase + queryParams);
|
||||
|
||||
int countWork = directAuditMapper.insertWorkOrder(workApplyInfo);
|
||||
if (countWork > 0) {
|
||||
for (WorkPeopleInfo user : userList) {
|
||||
WorkPeopleInfo workPeopleInfo = new WorkPeopleInfo();
|
||||
workPeopleInfo.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
workPeopleInfo.setInformationId(id);
|
||||
workPeopleInfo.setReceiverUsername(user.getUserName());
|
||||
workPeopleInfo.setReadState(0);
|
||||
workPeopleInfo.setHandleState(0);
|
||||
workPeopleInfo.setIsExamine(0);
|
||||
directAuditMapper.insertWorkPeople(workPeopleInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插入(领料出库详情表) lease_out_details表数据
|
||||
* @param sltAgreementInfo
|
||||
|
|
|
|||
|
|
@ -878,7 +878,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
lpd.code as businessCode,
|
||||
lpd.lease_person AS leasePerson,
|
||||
tt.task_status as taskStatus,
|
||||
lpd.create_time AS releaseTime,
|
||||
tt.create_time AS releaseTime,
|
||||
bu.unit_name as leaseUnit ,
|
||||
bp.pro_name as leaseProject,
|
||||
lod.out_num as alNum,
|
||||
|
|
@ -911,7 +911,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where
|
||||
tt.task_type = '19'
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
and DATE_FORMAT( lpd.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
|
||||
and tt.create_time BETWEEN #{startTime} AND #{endTime}
|
||||
</if>
|
||||
<if test="leaseUnitId != null ">
|
||||
and lpd.unit_id = #{leaseUnitId}
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@
|
|||
<select id="getAuditList" resultType="com.bonus.material.settlement.domain.SltAgreementReduce">
|
||||
SELECT
|
||||
sra.id as id,swr.task_id as taskId,
|
||||
sra.code as code,
|
||||
sra.create_time as createTime,
|
||||
su.user_name as createBy,
|
||||
bu.unit_name as unitName,
|
||||
|
|
@ -148,7 +149,17 @@
|
|||
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
|
||||
left join (
|
||||
select swrs.*
|
||||
from sys_workflow_record_history swrs
|
||||
inner join (
|
||||
-- 第一步:按 record_id 分组,获取每组最新的 create_time
|
||||
select record_id, max(id) as max_id
|
||||
from sys_workflow_record_history
|
||||
group by record_id
|
||||
) t on swrs.record_id = t.record_id
|
||||
and swrs.id = t.max_id -- 第二步:关联原表,获取最新时间对应的完整记录
|
||||
) swrs on swr.id = swrs.record_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
|
|
@ -164,10 +175,16 @@
|
|||
<!-- <if test="userId != null and userId != ''">-->
|
||||
<!-- AND swc.config_value = #{userId}-->
|
||||
<!-- </if>-->
|
||||
<if test="startTime != null and endTime != ''">
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(sra.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
|
||||
</if>
|
||||
<if test="startDate != null and endDate != ''">
|
||||
<if test="statusList != null and statusList.size() > 0">
|
||||
and swr.workflow_status in
|
||||
<foreach item="item" collection="statusList" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
||||
AND DATE_FORMAT(sra.create_time, '%Y-%m-%d' ) BETWEEN #{startDate} AND #{endDate}
|
||||
</if>
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
|
|
@ -178,12 +195,12 @@
|
|||
)
|
||||
</if>
|
||||
<if test="status != null and status!=''">
|
||||
AND sra.status = #{status}
|
||||
AND swr.workflow_status = #{status}
|
||||
</if>
|
||||
<!-- <if test="taskStatus !=null">-->
|
||||
<!-- AND sra.status = #{taskStatus}-->
|
||||
<!-- </if>-->
|
||||
GROUP BY sra.id
|
||||
GROUP BY swr.id
|
||||
ORDER BY sra.create_time DESC
|
||||
</select>
|
||||
<select id="getAuditPrice" resultType="com.bonus.material.settlement.domain.SltAgreementReduce">
|
||||
|
|
|
|||
|
|
@ -46,11 +46,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
a.workflow_id as workflowId,
|
||||
a.workflow_status as workflowStatus
|
||||
from sys_workflow_record a
|
||||
<where>
|
||||
where
|
||||
a.task_type = 13
|
||||
<if test="taskId != null">
|
||||
and a.task_id = #{taskId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getSysWorkflowRecodeByTaskIdTwo" parameterType="Integer" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="createBy != null">create_by,</if>
|
||||
create_time,
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="remarkType != null">remarkType,</if>
|
||||
<if test="directUserIds != null">direct_user,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
|
|
@ -25,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="createBy != null">#{createBy},</if>
|
||||
now(),
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="remarkType != null">#{remarkType},</if>
|
||||
<if test="directUserIds != null">#{directUserIds},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
|
@ -99,7 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
task_code as recordCode
|
||||
from sys_workflow_record
|
||||
where task_id = #{taskId}
|
||||
and task_type = #{taskTypeId}
|
||||
and task_type = #{taskTypeId}
|
||||
</select>
|
||||
|
||||
|
||||
|
|
@ -125,7 +127,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select
|
||||
bai.project_id as proId
|
||||
from slt_reduce_apply sra
|
||||
left join bm_agreement_info bai ON sra.agreeement_id = bai.agreement_id
|
||||
left join bm_agreement_info bai ON sra.agreement_id = bai.agreement_id
|
||||
where id = #{taskId}
|
||||
</select>
|
||||
<select id="getReductionNodeUserIds" resultType="java.lang.String">
|
||||
|
|
@ -134,6 +136,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
from sys_workflow_config
|
||||
where node_id = #{nextNodeId} limit 1
|
||||
</select>
|
||||
<select id="getReductionUser" resultType="com.bonus.common.biz.domain.lease.WorkPeopleInfo">
|
||||
select
|
||||
user_id as userId,
|
||||
dept_id as deptId,
|
||||
user_name as userName
|
||||
from sys_user
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
<select id="getReductionUserName" resultType="java.lang.String">
|
||||
select
|
||||
user_name as userName
|
||||
from sys_user
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteNowNode">
|
||||
delete from sys_workflow_record_history where record_id = #{recordId} and node_id = #{nodeId}
|
||||
|
|
|
|||
Loading…
Reference in New Issue