feat(hrm): 新增拨款申请功能模块

- 创建拨款申请实体类 HrmAppropriationReq 包含业务字段和审计字段
- 实现拨款申请控制器提供增删改查和分页查询接口
- 开发拨款申请服务层实现业务逻辑和流程实例启动功能
- 设计拨款申请数据传输对象包括请求体、视图对象和业务对象
- 配置MyBatis映射文件实现数据库操作和项目关联查询
- 添加流程模板集成支持拨款申请的审批流程管理
- 实现手动审批人指定和自动模板匹配的审批启动机制
This commit is contained in:
2026-02-26 09:59:44 +08:00
parent b62d836734
commit ce65595d40
8 changed files with 640 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
<?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.hrm.mapper.HrmAppropriationReqMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.hrm.domain.HrmAppropriationReq">
<id column="biz_id" property="bizId"/>
<result column="emp_id" property="empId"/>
<result column="project_id" property="projectId"/>
<result column="appropriation_type" property="appropriationType"/>
<result column="amount" property="amount"/>
<result column="payee_name" property="payeeName"/>
<result column="bank_name" property="bankName"/>
<result column="bank_account" property="bankAccount"/>
<result column="reason" property="reason"/>
<result column="status" property="status"/>
<result column="accessory_apply_ids" property="accessoryApplyIds"/>
<result column="accessory_receipt_ids" property="accessoryReceiptIds"/>
<result column="remark" property="remark"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<resultMap id="VoResultMap" type="com.ruoyi.hrm.domain.vo.HrmAppropriationReqVo" extends="BaseResultMap">
<result column="project_code" property="projectCode"/>
<result column="project_name" property="projectName"/>
<result column="project_num" property="projectNum"/>
<result column="project_type" property="projectType"/>
<result column="address" property="address"/>
<result column="funds" property="funds"/>
<result column="functionary" property="functionary"/>
<result column="begin_time" property="beginTime"/>
<result column="finish_time" property="finishTime"/>
<result column="delivery" property="delivery"/>
<result column="guarantee" property="guarantee"/>
<result column="project_grade" property="projectGrade"/>
<result column="project_status" property="projectStatus"/>
<result column="product_status" property="productStatus"/>
<result column="color" property="color"/>
<result column="customerId" property="customerId"/>
</resultMap>
<select id="selectVoWithProjectById" resultMap="VoResultMap">
SELECT
a.*,
p.project_code,
p.project_name,
p.project_num,
p.project_type,
p.address,
p.funds,
p.functionary,
p.begin_time,
p.finish_time,
p.delivery,
p.guarantee,
p.project_grade,
p.project_status,
p.product_status,
p.color,
p.customer_id AS customerId
FROM hrm_appropriation_req a
LEFT JOIN sys_oa_project p ON a.project_id = p.project_id
WHERE a.biz_id = #{bizId}
AND a.del_flag = 0
</select>
<select id="selectVoWithProjectByPage" resultMap="VoResultMap">
SELECT
a.*,
p.project_code,
p.project_name,
p.project_num,
p.project_type,
p.address,
p.funds,
p.functionary,
p.begin_time,
p.finish_time,
p.delivery,
p.guarantee,
p.project_grade,
p.project_status,
p.product_status,
p.color,
p.customer_id AS customerId
FROM hrm_appropriation_req a
LEFT JOIN sys_oa_project p ON a.project_id = p.project_id
WHERE a.del_flag = 0
<if test="bo.bizId != null">
AND a.biz_id = #{bo.bizId}
</if>
<if test="bo.empId != null">
AND a.emp_id = #{bo.empId}
</if>
<if test="bo.projectId != null">
AND a.project_id = #{bo.projectId}
</if>
<if test="bo.appropriationType != null and bo.appropriationType != ''">
AND a.appropriation_type = #{bo.appropriationType}
</if>
<if test="bo.status != null and bo.status != ''">
AND a.status = #{bo.status}
</if>
ORDER BY a.create_time DESC
</select>
<select id="selectVoWithProjectList" resultMap="VoResultMap">
SELECT
a.*,
p.project_code,
p.project_name,
p.project_num,
p.project_type,
p.address,
p.funds,
p.functionary,
p.begin_time,
p.finish_time,
p.delivery,
p.guarantee,
p.project_grade,
p.project_status,
p.product_status,
p.color,
p.customer_id AS customerId
FROM hrm_appropriation_req a
LEFT JOIN sys_oa_project p ON a.project_id = p.project_id
WHERE a.del_flag = 0
<if test="bo.bizId != null">
AND a.biz_id = #{bo.bizId}
</if>
<if test="bo.empId != null">
AND a.emp_id = #{bo.empId}
</if>
<if test="bo.projectId != null">
AND a.project_id = #{bo.projectId}
</if>
<if test="bo.appropriationType != null and bo.appropriationType != ''">
AND a.appropriation_type = #{bo.appropriationType}
</if>
<if test="bo.status != null and bo.status != ''">
AND a.status = #{bo.status}
</if>
ORDER BY a.create_time DESC
</select>
</mapper>