直转审核,数据迁移功能修复,
This commit is contained in:
parent
59842231f8
commit
4ecc905556
|
|
@ -22,4 +22,6 @@ public class SysUserRoleVo extends SysUserRole {
|
||||||
private String roleName;
|
private String roleName;
|
||||||
|
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
private String ancestors;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,31 @@ public class ApplyEventListener {
|
||||||
if (sysWorkflowTypeList.isEmpty()) {
|
if (sysWorkflowTypeList.isEmpty()) {
|
||||||
throw new ServiceException("新增任务审批记录失败,请创建审核流程");
|
throw new ServiceException("新增任务审批记录失败,请创建审核流程");
|
||||||
}
|
}
|
||||||
|
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
||||||
if (sysWorkflowTypeList.size() == 1) {
|
if (sysWorkflowTypeList.size() == 1) {
|
||||||
// 如果该任务类型配置了一个审批流,则直接使用
|
// 如果该任务类型配置了一个审批流,则直接使用
|
||||||
sysWorkflowType = sysWorkflowTypeList.get(0);
|
sysWorkflowType = sysWorkflowTypeList.get(0);
|
||||||
|
sysWorkflowRecord = new SysWorkflowRecord();
|
||||||
|
sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId());
|
||||||
|
sysWorkflowRecord.setTaskId(event.getTaskId());
|
||||||
|
sysWorkflowRecord.setTaskType(event.getTaskType());
|
||||||
|
sysWorkflowRecord.setTaskCode(event.getTaskCode());
|
||||||
|
//创建审批任务
|
||||||
|
int count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord);
|
||||||
|
if (0 == count) {
|
||||||
|
throw new RuntimeException("创建审批任务失败!");
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
sysWorkflowRecord = new SysWorkflowRecord();
|
||||||
|
sysWorkflowRecord.setTaskId(event.getTaskId());
|
||||||
|
sysWorkflowRecord.setTaskType(event.getTaskType());
|
||||||
|
sysWorkflowRecord.setTaskCode(event.getTaskCode());
|
||||||
|
//创建审批任务
|
||||||
|
int count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord);
|
||||||
|
if (0 == count) {
|
||||||
|
throw new RuntimeException("创建审批任务失败!");
|
||||||
|
}
|
||||||
// 如果该任务类型配置了多个审批流,则根据任务信息判断使用
|
// 如果该任务类型配置了多个审批流,则根据任务信息判断使用
|
||||||
if (event.getTaskType() == TmTaskTypeEnum.TM_TASK_DIRECT.getTaskTypeId()) {
|
if (event.getTaskType() == TmTaskTypeEnum.TM_TASK_DIRECT.getTaskTypeId()) {
|
||||||
// 直转审批任务,则根据转出和转入的部门判断,同一部门使用无需接收审批流,不同部门则使用需要接收审批流
|
// 直转审批任务,则根据转出和转入的部门判断,同一部门使用无需接收审批流,不同部门则使用需要接收审批流
|
||||||
|
|
@ -71,7 +92,12 @@ public class ApplyEventListener {
|
||||||
// 如果有转出转入信息,则根据转出转入部门判断使用
|
// 如果有转出转入信息,则根据转出转入部门判断使用
|
||||||
DirectApplyInfo directApplyInfo = directAuditMapperList.get(0);
|
DirectApplyInfo directApplyInfo = directAuditMapperList.get(0);
|
||||||
// 如果转入转出的部门ID相同,则使用不需要接收审批流
|
// 如果转入转出的部门ID相同,则使用不需要接收审批流
|
||||||
if (directApplyInfo.getBackUnitId().equals(directApplyInfo.getLeaseUnitId())) {
|
|
||||||
|
//查询是否是同一实施单位
|
||||||
|
int proIdBack = directAuditMapper.getImpUnit(directApplyInfo.getBackProId());
|
||||||
|
int proIdLease = directAuditMapper.getImpUnit(directApplyInfo.getLeaseProId());
|
||||||
|
|
||||||
|
if (proIdBack == proIdLease) {
|
||||||
sysWorkflowTypeList.removeIf(removeIfSysWorkflowType -> removeIfSysWorkflowType.getTypeName().contains("需要接收审批"));
|
sysWorkflowTypeList.removeIf(removeIfSysWorkflowType -> removeIfSysWorkflowType.getTypeName().contains("需要接收审批"));
|
||||||
} else {
|
} else {
|
||||||
// 如果转入转出的部门ID不同,则使用需要接收审批流
|
// 如果转入转出的部门ID不同,则使用需要接收审批流
|
||||||
|
|
@ -83,18 +109,12 @@ public class ApplyEventListener {
|
||||||
// 除了直转任务外,其他任务类型如果有配置多个审批流,先默认选第一个
|
// 除了直转任务外,其他任务类型如果有配置多个审批流,先默认选第一个
|
||||||
sysWorkflowType = sysWorkflowTypeList.get(0);
|
sysWorkflowType = sysWorkflowTypeList.get(0);
|
||||||
}
|
}
|
||||||
|
sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId());
|
||||||
|
//插入任务审批类型
|
||||||
|
int countTwo = sysWorkflowRecordMapper.updateSysWorkflowType(sysWorkflowRecord);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
|
||||||
sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId());
|
|
||||||
sysWorkflowRecord.setTaskId(event.getTaskId());
|
|
||||||
sysWorkflowRecord.setTaskType(event.getTaskType());
|
|
||||||
sysWorkflowRecord.setTaskCode(event.getTaskCode());
|
|
||||||
//创建审批任务
|
|
||||||
int count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord);
|
|
||||||
if (0 == count) {
|
|
||||||
throw new RuntimeException("创建审批任务失败!");
|
|
||||||
}
|
|
||||||
// 获取新创建的ID
|
// 获取新创建的ID
|
||||||
int newId = sysWorkflowRecord.getId();
|
int newId = sysWorkflowRecord.getId();
|
||||||
//获取当前审核流下的节点
|
//获取当前审核流下的节点
|
||||||
|
|
|
||||||
|
|
@ -372,9 +372,10 @@ public class MachineServiceImpl implements IMachineService
|
||||||
baseInfo.setLeaseTime(null);
|
baseInfo.setLeaseTime(null);
|
||||||
baseInfo.setLeaseUnit(null);
|
baseInfo.setLeaseUnit(null);
|
||||||
baseInfo.setLeaseProject(null);
|
baseInfo.setLeaseProject(null);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
LeaseApplyInfo leaseDetail = machineMapper.getLeaseUnitAndProject(leaseInfo);
|
LeaseApplyInfo leaseDetail = machineMapper.getLeaseUnitAndProject(leaseInfo);
|
||||||
baseInfo.setLeaseTime(String.valueOf(leaseDetail.getLeaseTime()));
|
baseInfo.setLeaseTime(String.valueOf(leaseInfo.getLeaseTime()));
|
||||||
baseInfo.setLeaseUnit(leaseDetail.getUnitName());
|
baseInfo.setLeaseUnit(leaseDetail.getUnitName());
|
||||||
baseInfo.setLeaseProject(leaseDetail.getProjectName());
|
baseInfo.setLeaseProject(leaseDetail.getProjectName());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public class ScheduledCheckWarning {
|
||||||
/**
|
/**
|
||||||
* 定时任务执行频率,每周三/五天上午9点执行一次
|
* 定时任务执行频率,每周三/五天上午9点执行一次
|
||||||
*/
|
*/
|
||||||
private String cronExpression = "0 0 9 ? * WED,SAT";
|
private String cronExpression = "0 0 9 ? * WED,FRI";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -71,7 +71,7 @@ public class ScheduledCheckWarning {
|
||||||
private String getCronFromDatabase() {
|
private String getCronFromDatabase() {
|
||||||
// 这里假设从数据库中获取 cron 表达式
|
// 这里假设从数据库中获取 cron 表达式
|
||||||
//return "0 */1 * * * ?";
|
//return "0 */1 * * * ?";
|
||||||
return "0 0 9 ? * WED,SAT";
|
return "0 0 9 ? * WED,FRI";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.bonus.material.ma.domain.DirectApplyInfo;
|
||||||
import com.bonus.material.ma.domain.Type;
|
import com.bonus.material.ma.domain.Type;
|
||||||
import com.bonus.material.work.domain.DirectAudit;
|
import com.bonus.material.work.domain.DirectAudit;
|
||||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -27,4 +28,6 @@ public interface DirectAuditMapper {
|
||||||
void updateWorkflowRecord(DirectAudit fr);
|
void updateWorkflowRecord(DirectAudit fr);
|
||||||
|
|
||||||
void updateDirectAudit(DirectApplyInfo directApplyInfo);
|
void updateDirectAudit(DirectApplyInfo directApplyInfo);
|
||||||
|
|
||||||
|
int getImpUnit(@Param("proId") String backProId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,6 @@ public interface SysWorkflowConfigMapper {
|
||||||
String selectRolesByNodeId(Integer nodeId);
|
String selectRolesByNodeId(Integer nodeId);
|
||||||
|
|
||||||
SysWorkflowConfig selectConfigValueInfoByNodeId(Integer nodeId);
|
SysWorkflowConfig selectConfigValueInfoByNodeId(Integer nodeId);
|
||||||
|
|
||||||
|
int getImpUnit(String backProId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.bonus.material.work.mapper;
|
||||||
|
|
||||||
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.dto.SysWorkflowAuditDto;
|
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
|
@ -28,4 +29,6 @@ public interface SysWorkflowRecordMapper {
|
||||||
List<SysWorkflowRecordHistory> getAuditUserByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
List<SysWorkflowRecordHistory> getAuditUserByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||||
|
|
||||||
List<SysWorkflowRecordHistory> getAuditUserByRecordId(@Param("recordId") Integer recordId);
|
List<SysWorkflowRecordHistory> getAuditUserByRecordId(@Param("recordId") Integer recordId);
|
||||||
|
|
||||||
|
int updateSysWorkflowType(SysWorkflowRecord sysWorkflowRecord);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.material.work.service;
|
package com.bonus.material.work.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.bonus.material.ma.domain.DirectApplyInfo;
|
||||||
import com.bonus.material.work.domain.SysWorkflowNode;
|
import com.bonus.material.work.domain.SysWorkflowNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -18,6 +19,7 @@ public interface SysWorkflowNodeService {
|
||||||
List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode);
|
List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode);
|
||||||
|
|
||||||
void copeNodeConfigPersonValuesByNode(SysWorkflowNode forSysWorkflowNode);
|
void copeNodeConfigPersonValuesByNode(SysWorkflowNode forSysWorkflowNode);
|
||||||
|
void copeNodeConfigPersonValuesByNodeTwo(SysWorkflowNode forSysWorkflowNode, DirectApplyInfo directApplyInfo);
|
||||||
|
|
||||||
Map<Integer, SysWorkflowNode> listByProId(SysWorkflowNode sysWorkflowNode);
|
Map<Integer, SysWorkflowNode> listByProId(SysWorkflowNode sysWorkflowNode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ public class DirectAuditImpl implements IDirectAuditService {
|
||||||
// 先根据下个节点的ID去查询下个节点信息
|
// 先根据下个节点的ID去查询下个节点信息
|
||||||
SysWorkflowNode nextWorkflowInfo = sysWorkflowNodeMapper.selectSysWorkflowNodeById(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
SysWorkflowNode nextWorkflowInfo = sysWorkflowNodeMapper.selectSysWorkflowNodeById(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||||
// 再根据下个节点信息查询到配置值
|
// 再根据下个节点信息查询到配置值
|
||||||
sysWorkflowNodeService.copeNodeConfigPersonValuesByNode(nextWorkflowInfo);
|
sysWorkflowNodeService.copeNodeConfigPersonValuesByNodeTwo(nextWorkflowInfo,directApplyInfoNew);
|
||||||
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||||
if (nextWorkflowInfo != null && nextWorkflowInfo.getConfigValues() != null) {
|
if (nextWorkflowInfo != null && nextWorkflowInfo.getConfigValues() != null) {
|
||||||
directApplyInfoNew.setConfigValue(nextWorkflowInfo.getConfigValues());
|
directApplyInfoNew.setConfigValue(nextWorkflowInfo.getConfigValues());
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.bonus.common.core.utils.DateUtils;
|
||||||
import com.bonus.common.security.utils.SecurityUtils;
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.material.basic.domain.dto.SysUserRoleVo;
|
import com.bonus.material.basic.domain.dto.SysUserRoleVo;
|
||||||
import com.bonus.material.basic.mapper.BmUserRoleMapper;
|
import com.bonus.material.basic.mapper.BmUserRoleMapper;
|
||||||
|
import com.bonus.material.ma.domain.DirectApplyInfo;
|
||||||
import com.bonus.material.work.domain.SysWorkflowConfig;
|
import com.bonus.material.work.domain.SysWorkflowConfig;
|
||||||
import com.bonus.material.work.domain.SysWorkflowNode;
|
import com.bonus.material.work.domain.SysWorkflowNode;
|
||||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||||
|
|
@ -16,10 +17,7 @@ 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.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
|
|
@ -223,6 +221,85 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void copeNodeConfigPersonValuesByNodeTwo(SysWorkflowNode forSysWorkflowNode, DirectApplyInfo directApplyInfo) {
|
||||||
|
if (forSysWorkflowNode == null) {
|
||||||
|
System.err.println("传入的节点信息为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// 判断配置的类型
|
||||||
|
if (forSysWorkflowNode.getConfigType() == null || forSysWorkflowNode.getConfigType() == 0) {
|
||||||
|
// 如果配置的是角色,那么要根据角色id去查询有哪些用户
|
||||||
|
String roleIds = forSysWorkflowNode.getRoleIds();
|
||||||
|
// 如果参数没有,那么就从数据库中查询
|
||||||
|
if (roleIds == null || roleIds.isEmpty()) {
|
||||||
|
System.out.println("节点配置角色为空!去再执行数据库查询");
|
||||||
|
roleIds = sysWorkflowConfigMapper.selectRolesByNodeId(forSysWorkflowNode.getNodeId());
|
||||||
|
}
|
||||||
|
if (roleIds != null && !roleIds.isEmpty()) {
|
||||||
|
StringBuilder roleConfigValues = new StringBuilder();
|
||||||
|
String[] roleIdArray = roleIds.split(",");
|
||||||
|
for (String forRoleId : roleIdArray) {
|
||||||
|
List<SysUserRoleVo> userList = bmUserRoleMapper.getUserRoleListByDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId(), Long.valueOf(forRoleId));
|
||||||
|
if(forSysWorkflowNode.getNodeName().contains("接收方")){
|
||||||
|
int proIdLease = sysWorkflowConfigMapper.getImpUnit(directApplyInfo.getLeaseProId());
|
||||||
|
// 使用 Iterator 迭代器遍历,支持安全删除元素
|
||||||
|
Iterator<SysUserRoleVo> iterator = userList.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
SysUserRoleVo user = iterator.next();
|
||||||
|
// 条件1:部门ID等于proIdBack → 保留(跳过删除)
|
||||||
|
if (proIdLease == user.getDeptId()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 条件2:祖先ID列表包含proIdBack → 保留(跳过删除)
|
||||||
|
String ancestors = user.getAncestors();
|
||||||
|
if (ancestors != null && Arrays.asList(ancestors.split(",")).contains(String.valueOf(proIdLease))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 若以上条件均不满足 → 剔除该条数据
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
int proIdBack = sysWorkflowConfigMapper.getImpUnit(directApplyInfo.getBackProId());
|
||||||
|
// 使用 Iterator 迭代器遍历,支持安全删除元素
|
||||||
|
Iterator<SysUserRoleVo> iterator = userList.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
SysUserRoleVo user = iterator.next();
|
||||||
|
// 条件1:部门ID等于proIdBack → 保留(跳过删除)
|
||||||
|
if (proIdBack == user.getDeptId()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 条件2:祖先ID列表包含proIdBack → 保留(跳过删除)
|
||||||
|
String ancestors = user.getAncestors();
|
||||||
|
if (ancestors != null && Arrays.asList(ancestors.split(",")).contains(String.valueOf(proIdBack))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 若以上条件均不满足 → 剔除该条数据
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!userList.isEmpty()) {
|
||||||
|
// 如果不是第一次拼接,先添加逗号分隔
|
||||||
|
if (roleConfigValues.length() > 0) {
|
||||||
|
roleConfigValues.append(",");
|
||||||
|
}
|
||||||
|
roleConfigValues.append(userList.stream().map(user -> String.valueOf(user.getUserId())).collect(Collectors.joining(",")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forSysWorkflowNode.setConfigValues(roleConfigValues.toString());
|
||||||
|
} else {
|
||||||
|
System.err.println("节点配置角色为空!请检查参数");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.err.println("节点配置类型为:" + forSysWorkflowNode.getConfigType() + ",方法不进行处理!请检查参数");
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
System.err.println("执行审核流配置角色处理方法时发生异常:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, SysWorkflowNode> listByProId(SysWorkflowNode sysWorkflowNode) {
|
public Map<Integer, SysWorkflowNode> listByProId(SysWorkflowNode sysWorkflowNode) {
|
||||||
Long userId = SecurityUtils.getLoginUser().getUserid();
|
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<select id="getUserRoleListByDeptId" resultType="com.bonus.material.basic.domain.dto.SysUserRoleVo">
|
<select id="getUserRoleListByDeptId" resultType="com.bonus.material.basic.domain.dto.SysUserRoleVo">
|
||||||
SELECT
|
SELECT
|
||||||
su.user_id as userId, su.user_name as userName, su.dept_id as deptId, sr.role_name as roleName, sr.role_id as roleId
|
su.user_id as userId, su.user_name as userName, su.dept_id as deptId, sr.role_name as roleName, sr.role_id as roleId,
|
||||||
|
sd.ancestors as ancestors
|
||||||
FROM
|
FROM
|
||||||
sys_user su
|
sys_user su
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
sys_user_role sur ON su.user_id = sur.user_id
|
sys_user_role sur ON su.user_id = sur.user_id
|
||||||
|
LEFT JOIN
|
||||||
|
sys_dept sd ON su.dept_id = sd.dept_id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
sys_role sr ON sur.role_id = sr.role_id
|
sys_role sr ON sur.role_id = sr.role_id
|
||||||
WHERE su.dept_id = #{deptId} AND sr.role_id = #{roleId}
|
WHERE su.dept_id = #{deptId} AND sr.role_id = #{roleId}
|
||||||
|
|
|
||||||
|
|
@ -961,7 +961,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LIMIT 100
|
LIMIT 100
|
||||||
</select>
|
</select>
|
||||||
<select id="getLeaseParentId" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
<select id="getLeaseParentId" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
||||||
select parent_id as parentId from lease_out_details where ma_id = #{maId} order by create_time desc limit 1
|
select parent_id as parentId,create_time as leaseTime as parentId from lease_out_details where ma_id = #{maId} order by create_time desc limit 1
|
||||||
</select>
|
</select>
|
||||||
<select id="getLeaseUnitAndProject" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
<select id="getLeaseUnitAndProject" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
||||||
select
|
select
|
||||||
|
|
|
||||||
|
|
@ -349,7 +349,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
||||||
</if>
|
</if>
|
||||||
WHERE
|
WHERE
|
||||||
tk.task_type = #{taskType}
|
tk.task_type = #{taskType} and tt2.CODE is not null
|
||||||
AND tk.create_time < '2025-08-20 00:00:00'
|
AND tk.create_time < '2025-08-20 00:00:00'
|
||||||
<if test="backUnit != null and backUnit != ''">
|
<if test="backUnit != null and backUnit != ''">
|
||||||
AND bui.unit_id = #{backUnit}
|
AND bui.unit_id = #{backUnit}
|
||||||
|
|
@ -410,7 +410,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
||||||
</if>
|
</if>
|
||||||
WHERE
|
WHERE
|
||||||
tk.task_type = #{taskType}
|
tk.task_type = #{taskType} and tt.CODE is not null
|
||||||
AND tk.create_time >= '2025-08-20 00:00:00'
|
AND tk.create_time >= '2025-08-20 00:00:00'
|
||||||
<if test="backUnit != null and backUnit != ''">
|
<if test="backUnit != null and backUnit != ''">
|
||||||
AND bui.unit_id = #{backUnit}
|
AND bui.unit_id = #{backUnit}
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,14 @@
|
||||||
LEFT JOIN sys_workflow_node wn2 on wc.node_id = wn2.id
|
LEFT JOIN sys_workflow_node wn2 on wc.node_id = wn2.id
|
||||||
WHERE wh.record_id = #{flowId}
|
WHERE wh.record_id = #{flowId}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getImpUnit" resultType="java.lang.Integer">
|
||||||
|
select
|
||||||
|
imp_unit as impUnit
|
||||||
|
from
|
||||||
|
bm_project
|
||||||
|
where
|
||||||
|
pro_id = #{proId}
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateWorkflowRecord">
|
<update id="updateWorkflowRecord">
|
||||||
update sys_workflow_record set workflow_status = #{flowStatus} where id = #{id}
|
update sys_workflow_record set workflow_status = #{flowStatus} where id = #{id}
|
||||||
|
|
|
||||||
|
|
@ -40,20 +40,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectRolesByNodeId" resultType="java.lang.String">
|
<select id="selectRolesByNodeId" resultType="java.lang.String">
|
||||||
select roleIds from sys_workflow_config where node_id = #{nodeId}
|
select roleIds from sys_workflow_config where node_id = #{nodeId} SELECT
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectUnitConfigValuesByTaskId" resultType="java.lang.String">
|
|
||||||
SELECT
|
|
||||||
GROUP_CONCAT(su.user_id) configValue
|
GROUP_CONCAT(su.user_id) configValue
|
||||||
FROM
|
FROM
|
||||||
direct_apply_info dai
|
direct_apply_info dai
|
||||||
LEFT JOIN bm_agreement_info bai ON dai.lease_agreement_id = bai.agreement_id
|
LEFT JOIN bm_agreement_info bai ON dai.lease_agreement_id = bai.agreement_id
|
||||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||||
LEFT JOIN data_center.dx_fb_son dfs ON dfs.`ID` = bp.external_id
|
LEFT JOIN data_center.dx_fb_son dfs ON dfs.`ID` = bp.external_id
|
||||||
LEFT JOIN sbd_audit.sg_project_post_personnel sppp ON sppp.depart_id = dfs.`project dept id`
|
LEFT JOIN sbd_audit.sg_project_post_personnel sppp ON sppp.depart_id = dfs.`project_dept_id`
|
||||||
LEFT JOIN sys_user su ON su.user_name = sppp.cno
|
LEFT JOIN sys_user su ON su.user_name = sppp.cno
|
||||||
WHERE
|
WHERE
|
||||||
dai.id = #{taskId}
|
dai.id = #{taskId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectUnitConfigValuesByTaskId" resultType="java.lang.String">
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getImpUnit" resultType="java.lang.Integer">
|
||||||
|
select
|
||||||
|
imp_unit as impUnit
|
||||||
|
from
|
||||||
|
bm_project
|
||||||
|
where
|
||||||
|
pro_id = #{proId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
and task_type = #{taskType}
|
and task_type = #{taskType}
|
||||||
</if>
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
<update id="updateSysWorkflowType">
|
||||||
|
update sys_workflow_record set workflow_id = #{workflowId} where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="getSysWorkflowRecodeByTaskId" parameterType="Integer" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
|
||||||
<select id="getSysWorkflowRecodeByTaskId" parameterType="Integer" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
|
|
||||||
select
|
select
|
||||||
a.task_id as taskId,
|
a.task_id as taskId,
|
||||||
a.task_type as taskType,
|
a.task_type as taskType,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue