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,65 @@
package com.ruoyi.hrm.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.hrm.domain.bo.HrmAppropriationReqBo;
import com.ruoyi.hrm.domain.vo.HrmAppropriationReqVo;
import com.ruoyi.hrm.service.IHrmAppropriationReqService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 拨款申请
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/hrm/appropriation")
public class HrmAppropriationReqController extends BaseController {
private final IHrmAppropriationReqService service;
@GetMapping("/list")
public TableDataInfo<HrmAppropriationReqVo> list(HrmAppropriationReqBo bo, PageQuery pageQuery) {
return service.queryPageList(bo, pageQuery);
}
@GetMapping("/{bizId}")
public R<HrmAppropriationReqVo> getInfo(@PathVariable @NotNull Long bizId) {
return R.ok(service.queryById(bizId));
}
@Log(title = "拨款单", businessType = BusinessType.INSERT)
@PostMapping
public R<HrmAppropriationReqVo> add(@Validated @RequestBody HrmAppropriationReqBo bo) {
return R.ok(service.insertByBo(bo));
}
@Log(title = "拨款单", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody HrmAppropriationReqBo bo) {
return toAjax(service.updateByBo(bo));
}
@Log(title = "拨款单", businessType = BusinessType.DELETE)
@DeleteMapping("/{bizIds}")
public R<Void> remove(@PathVariable @NotEmpty Long[] bizIds) {
return toAjax(service.deleteWithValidByIds(Arrays.asList(bizIds), true));
}
@GetMapping("/all")
public R<List<HrmAppropriationReqVo>> all(HrmAppropriationReqBo bo) {
return R.ok(service.queryList(bo));
}
}