Commit 26d71c17 authored by 祁正's avatar 祁正

审批

parent a99e8046
package com.ruoyi.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.ProjectCostRequestApproval;
import com.ruoyi.service.IExpenseApprovalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
//费用审批
@RestController
@RequestMapping("/expenseApproval")
public class ExpenseApprovalController extends BaseController {
@Autowired
private IExpenseApprovalService expenseApprovalService;
//获取当前登录用户角色列表
@GetMapping("/getAllRoleList")
public AjaxResult getAllRoleList(){
return AjaxResult.success(expenseApprovalService.getExpenseApproval());
}
//项目费用申请-审批通过
@PostMapping("/projectCostRequestApproval")
public AjaxResult projectCostRequestApproval(@RequestBody List<ProjectCostRequestApproval> fyglProjectCostDTO) {
System.out.println("审批 = " + fyglProjectCostDTO);
return AjaxResult.success(expenseApprovalService.updateStatus(fyglProjectCostDTO));
}
}
package com.ruoyi.domain;
import lombok.Data;
//项目费用审批实体
@Data
public class ProjectCostRequestApproval {
//项目费用id
private Integer projectCostId;
//下一个节点nodeId
private Integer nextNodeId;
//是否终审
private Boolean isEndApproval;
//整体审核状态
private Integer approveStatus;
}
package com.ruoyi.domain;
import lombok.Data;
//角色名称和id
@Data
public class RoleNameAndId {
private Integer roleId;
private String roleName;
}
package com.ruoyi.mapper;
import com.ruoyi.domain.ProjectCostRequestApproval;
import com.ruoyi.domain.RoleNameAndId;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface ExpenseApprovalMapper{
List<RoleNameAndId> getRolesByUserId(Long userId);
//修改项目费用申请的审核状态
int updateStatus(ProjectCostRequestApproval projectCostRequestApproval);
}
package com.ruoyi.material.service.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import cn.hutool.core.util.ArrayUtil;
import com.ruoyi.attendance.enums.AttendanceDelFlag;
import com.ruoyi.attendance.enums.AttendanceDraft;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.material.domain.PsaMaterial;
import com.ruoyi.material.domain.PsaMaterialType;
import com.ruoyi.material.domain.PsaMaterialTypeDetail;
import com.ruoyi.material.domain.dto.EditMaterialDTO;
import com.ruoyi.material.domain.dto.MaterialQueryDTO;
import com.ruoyi.material.domain.dto.PsaMaterialNewDTO;
import com.ruoyi.material.mapper.PsaMaterialMapper;
import com.ruoyi.material.service.IPsaMaterialService;
import com.ruoyi.materialentry.domain.PsaMaterialEntry;
import com.ruoyi.materialentry.mapper.PsaMaterialEntryMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.material.mapper.PsaMaterialMapper;
import com.ruoyi.material.domain.PsaMaterial;
import com.ruoyi.material.service.IPsaMaterialService;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
/**
* 物品信息Service业务层处理
*
......
package com.ruoyi.service;
import com.ruoyi.domain.ProjectCostRequestApproval;
import com.ruoyi.domain.RoleNameAndId;
import java.util.List;
public interface IExpenseApprovalService {
//获取当前角色名字和id
List<RoleNameAndId> getExpenseApproval();
//修改项目费用申请的审核状态
int updateStatus(List<ProjectCostRequestApproval> projectCostRequestApproval);
}
package com.ruoyi.service.impl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.domain.ProjectCostRequestApproval;
import com.ruoyi.domain.RoleNameAndId;
import com.ruoyi.mapper.ExpenseApprovalMapper;
import com.ruoyi.service.IExpenseApprovalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class IExpenseApprovalServiceImpl implements IExpenseApprovalService {
@Autowired
private ExpenseApprovalMapper expenseApprovalMapper;
@Override
public List<RoleNameAndId> getExpenseApproval() {
Long userId = SecurityUtils.getUserId();
System.out.println("userId = " + userId);
return expenseApprovalMapper.getRolesByUserId(userId);
}
@Override
@Transactional
public int updateStatus(List<ProjectCostRequestApproval> projectCostRequestApproval) {
for(ProjectCostRequestApproval p : projectCostRequestApproval){
//如果是最终审批,那么项目整体审批状态为已通过
if(p.getIsEndApproval()){
p.setApproveStatus(3);
}
expenseApprovalMapper.updateStatus(p);
}
return 1;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mapper.ExpenseApprovalMapper">
<update id="updateStatus" parameterType="com.ruoyi.domain.ProjectCostRequestApproval">
update fygl_project_cost_request
<trim prefix="SET" suffixOverrides=",">
<if test="approveStatus != null">approve_status = #{approveStatus},</if>
<if test="nextNodeId != null">current_audit_role_id = #{nextNodeId}</if>
</trim>
where id = #{projectCostId}
</update>
<select id="getRolesByUserId" resultType="com.ruoyi.domain.RoleNameAndId">
SELECT
ru.role_id as roleId,
r.role_name as roleName
FROM
sys_user_role ru,
sys_role r
WHERE
ru.user_id = #{userId}
AND ru.role_id = r.role_id
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment