工单审批判断当前审批人权限
This commit is contained in:
parent
414fab945b
commit
b8aeeeff3b
|
|
@ -103,7 +103,8 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService {
|
|||
public List<MaterialLeaseApplyInfo> selectLeaseApplyInfoList(MaterialLeaseApplyInfo leaseApplyInfo) {
|
||||
String username = SecurityUtils.getLoginUser().getUsername();
|
||||
// 根据用户名判断用户是否为班组长
|
||||
BmTeam teamData = materialMachineMapper.getTeamData(username);
|
||||
BmTeam teamData = materialMachineMapper.getTeamData(username);
|
||||
/*
|
||||
if (teamData == null) {
|
||||
// 根据用户名查询项目部信息
|
||||
String departId = mapper.getDepartId(username);
|
||||
|
|
@ -112,7 +113,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService {
|
|||
if (!CollectionUtils.isEmpty(projectIdList)) {
|
||||
leaseApplyInfo.setProjectIdList(projectIdList);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
List<MaterialLeaseApplyInfo> list = materialLeaseInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo);
|
||||
// 利用Stream API进行降序排序
|
||||
List<MaterialLeaseApplyInfo> sortedList = list.stream()
|
||||
|
|
|
|||
|
|
@ -41,4 +41,21 @@ public class SysWorkflowRecordHisController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批
|
||||
*/
|
||||
@ApiOperation(value = "审批")
|
||||
@GetMapping("/getAuditStatus")
|
||||
public AjaxResult getAuditStatus(@RequestBody SysWorkflowRecordHistory sysWorkflowRecordHistory)
|
||||
{
|
||||
try {
|
||||
SysWorkflowRecordHistory audit =sysWorkflowRecordHistoryService.getAuditStatus(sysWorkflowRecordHistory);
|
||||
return success(audit);
|
||||
}catch (Exception e){
|
||||
logger.error("修改失败{}", e.getMessage(), e);
|
||||
System.err.println("修改失败" + e.getMessage());
|
||||
return error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,4 +89,18 @@ public class SysWorkflowRecordHistory {
|
|||
* 领料工程
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 工单任务状态
|
||||
*/
|
||||
private String workflowStatus;
|
||||
/**
|
||||
* 审核状态0待审核1已审核
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
private String receiveUsername;
|
||||
/**
|
||||
* 工单审核状态0待审核1已审核
|
||||
*/
|
||||
private int isExamine;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.bonus.material.work.mapper;
|
||||
|
||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SysWorkflowRecordMapper {
|
||||
|
||||
// 增加审批流任务信息
|
||||
|
|
@ -19,4 +22,10 @@ public interface SysWorkflowRecordMapper {
|
|||
|
||||
// 根据任务id+审批流类型id , 查询审批流任务记录信息
|
||||
SysWorkflowAuditDto getSysWorkflowRecodeByTaskIdAndType(@Param("taskId") Integer taskId, @Param("taskType") Integer taskType, @Param("workflowId") Integer workflowId);
|
||||
|
||||
SysWorkflowRecordHistory getAuditStatus(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
List<SysWorkflowRecordHistory> getAuditUserByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
List<SysWorkflowRecordHistory> getAuditUserByRecordId(@Param("recordId") Integer recordId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,4 +7,6 @@ public interface SysWorkflowRecordHistoryService {
|
|||
|
||||
|
||||
int updateSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
SysWorkflowRecordHistory getAuditStatus(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,31 +115,94 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||
Long userId = sysUser.getUserId();
|
||||
Integer recordId = sysWorkflowRecordHistory.getRecordId();
|
||||
Integer taskId = sysWorkflowRecordHistory.getTaskId();
|
||||
Integer leaseId = sysWorkflowRecordHistory.getLeaseId();
|
||||
String recordCode = sysWorkflowRecordHistory.getTaskCode();
|
||||
String projectName = sysWorkflowRecordHistory.getProjectName();
|
||||
Integer nextNodeId = sysWorkflowRecordHistory.getNextNodeId();
|
||||
sysWorkflowRecordHistory.setCreateBy(userId.toString());
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
|
||||
if (sysWorkflowRecordHistory.getIsAccept() == null) {
|
||||
throw new ServiceException("请选择是否接受审批");
|
||||
|
||||
|
||||
String flag = checkAuditUser(recordId,sysUser);
|
||||
|
||||
if("0".equals( flag)){
|
||||
Integer taskId = sysWorkflowRecordHistory.getTaskId();
|
||||
Integer leaseId = sysWorkflowRecordHistory.getLeaseId();
|
||||
String recordCode = sysWorkflowRecordHistory.getTaskCode();
|
||||
String projectName = sysWorkflowRecordHistory.getProjectName();
|
||||
Integer nextNodeId = sysWorkflowRecordHistory.getNextNodeId();
|
||||
sysWorkflowRecordHistory.setCreateBy(userId.toString());
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
|
||||
if (sysWorkflowRecordHistory.getIsAccept() == null) {
|
||||
throw new ServiceException("请选择是否接受审批");
|
||||
}
|
||||
|
||||
// 查询出【当前任务所属审批流】的所有节点
|
||||
List<SysWorkflowNode> sysWorkflowNodeList = getWorkflowNodes(sysWorkflowRecordHistory);
|
||||
if (sysWorkflowRecordHistory.getIsAccept() == 1) {
|
||||
// 处理审批通过✅
|
||||
handleApproval(sysWorkflowNodeList, sysWorkflowRecordHistory, sysUser, taskId, leaseId, recordCode, projectName, recordId,nextNodeId);
|
||||
} else {
|
||||
// 处理审核驳回❌
|
||||
handleRejection(sysWorkflowNodeList, sysWorkflowRecordHistory);
|
||||
}
|
||||
}else{
|
||||
throw new ServiceException("当前账号没有审批权限!");
|
||||
}
|
||||
|
||||
// 查询出【当前任务所属审批流】的所有节点
|
||||
List<SysWorkflowNode> sysWorkflowNodeList = getWorkflowNodes(sysWorkflowRecordHistory);
|
||||
if (sysWorkflowRecordHistory.getIsAccept() == 1) {
|
||||
// 处理审批通过✅
|
||||
handleApproval(sysWorkflowNodeList, sysWorkflowRecordHistory, sysUser, taskId, leaseId, recordCode, projectName, recordId,nextNodeId);
|
||||
} else {
|
||||
// 处理审核驳回❌
|
||||
handleRejection(sysWorkflowNodeList, sysWorkflowRecordHistory);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private String checkAuditUser(Integer recordId, SysUser sysUser) {
|
||||
|
||||
String flag = "0";
|
||||
List<SysWorkflowRecordHistory> receiveList = sysWorkflowRecordMapper.getAuditUserByRecordId(recordId);
|
||||
|
||||
if (receiveList != null && !receiveList.isEmpty()){
|
||||
for (SysWorkflowRecordHistory receive : receiveList) {
|
||||
|
||||
if (receive.getReceiveUsername().equals(sysUser.getUserName())) {
|
||||
flag = "0";
|
||||
break;
|
||||
}else{
|
||||
flag = "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysWorkflowRecordHistory getAuditStatus(SysWorkflowRecordHistory sysWorkflowRecordHistory) {
|
||||
|
||||
//1判断sys_workflow_record中 workflow_status是否等于2
|
||||
|
||||
SysWorkflowRecordHistory taskStatus = sysWorkflowRecordMapper.getAuditStatus(sysWorkflowRecordHistory);
|
||||
|
||||
if (taskStatus != null) {
|
||||
String workflowStatus = taskStatus.getWorkflowStatus();
|
||||
if("2".equals(workflowStatus)){
|
||||
taskStatus.setAuditStatus("1");
|
||||
}
|
||||
return taskStatus;
|
||||
}
|
||||
//2查询皖送工单中的people receive_username,is_examine判断当前登录人账号是否存在其中,存在的审核状态是否审核
|
||||
List<SysWorkflowRecordHistory> receiveList = sysWorkflowRecordMapper.getAuditUserByTaskId(sysWorkflowRecordHistory);
|
||||
|
||||
if (receiveList != null && !receiveList.isEmpty()){
|
||||
for (SysWorkflowRecordHistory receive : receiveList) {
|
||||
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||
if (receive.getReceiveUsername().equals(sysUser.getUserName())) {
|
||||
if (receive.getIsExamine() == 0) {
|
||||
taskStatus.setAuditStatus("0");
|
||||
break;
|
||||
} else {
|
||||
taskStatus.setAuditStatus("1");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return taskStatus;
|
||||
}
|
||||
|
||||
// 获取审批流程节点
|
||||
private List<SysWorkflowNode> getWorkflowNodes(SysWorkflowRecordHistory sysWorkflowRecordHistory) {
|
||||
SysWorkflowNode sysWorkflowNode = new SysWorkflowNode();
|
||||
|
|
|
|||
|
|
@ -65,4 +65,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getAuditStatus" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
select
|
||||
a.id as id,
|
||||
a.task_id as taskId,
|
||||
a.task_type as taskType,
|
||||
a.task_code as taskCode,
|
||||
a.workflow_id as workflowId,
|
||||
a.workflow_status as workflowStatus
|
||||
from sys_workflow_record a
|
||||
|
||||
where task_id = #{taskId}
|
||||
</select>
|
||||
|
||||
<select id="getAuditUserByTaskId" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
select
|
||||
swr.task_id,
|
||||
swr.id,
|
||||
sp.receiver_username AS receiveUsername,
|
||||
sp.is_examine AS isExamine
|
||||
from
|
||||
uni_org.sys_information si
|
||||
|
||||
LEFT JOIN sys_workflow_record swr on swr.id = si.business_id
|
||||
LEFT JOIN uni_org.sys_information_people sp on si.id = sp.information_id
|
||||
WHERE swr.task_id=#{taskId} and si.web_app_id ="9fa73f046ef520b09e94bbffc3b07702"
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getAuditUserByRecordId" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
select
|
||||
swr.task_id,
|
||||
swr.id,
|
||||
sp.receiver_username AS receiveUsername,
|
||||
sp.is_examine AS isExamine
|
||||
from
|
||||
uni_org.sys_information si
|
||||
|
||||
LEFT JOIN sys_workflow_record swr on swr.id = si.business_id
|
||||
LEFT JOIN uni_org.sys_information_people sp on si.id = sp.information_id
|
||||
WHERE si.business_id=#{recordId} and si.web_app_id ="9fa73f046ef520b09e94bbffc3b07702"
|
||||
and sp.is_examine = 0
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue