搭建流程控制基础

This commit is contained in:
2025-02-21 20:39:20 +08:00
parent 6716d289cb
commit e1aad0580a
23 changed files with 1717 additions and 31 deletions

View File

@@ -0,0 +1,106 @@
package com.ruoyi.web.controller.oa;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
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.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.oa.domain.vo.SysOaClaimVo;
import com.ruoyi.oa.domain.bo.SysOaClaimBo;
import com.ruoyi.oa.service.ISysOaClaimService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 差旅费报销
*
* @author ruoyi
* @date 2025-02-21
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/oaClaim")
public class SysOaClaimController extends BaseController {
private final ISysOaClaimService iSysOaClaimService;
/**
* 查询差旅费报销列表
*/
@SaCheckPermission("system:oaClaim:list")
@GetMapping("/list")
public TableDataInfo<SysOaClaimVo> list(SysOaClaimBo bo, PageQuery pageQuery) {
return iSysOaClaimService.queryPageList(bo, pageQuery);
}
/**
* 导出差旅费报销列表
*/
@SaCheckPermission("system:oaClaim:export")
@Log(title = "差旅费报销", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysOaClaimBo bo, HttpServletResponse response) {
List<SysOaClaimVo> list = iSysOaClaimService.queryList(bo);
ExcelUtil.exportExcel(list, "差旅费报销", SysOaClaimVo.class, response);
}
/**
* 获取差旅费报销详细信息
*
* @param claimId 主键
*/
@SaCheckPermission("system:oaClaim:query")
@GetMapping("/{claimId}")
public R<SysOaClaimVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long claimId) {
return R.ok(iSysOaClaimService.queryById(claimId));
}
/**
* 新增差旅费报销
*/
@SaCheckPermission("system:oaClaim:add")
@Log(title = "差旅费报销", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaClaimBo bo) {
return toAjax(iSysOaClaimService.insertByBo(bo));
}
/**
* 修改差旅费报销
*/
@SaCheckPermission("system:oaClaim:edit")
@Log(title = "差旅费报销", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaClaimBo bo) {
return toAjax(iSysOaClaimService.updateByBo(bo));
}
/**
* 删除差旅费报销
*
* @param claimIds 主键串
*/
@SaCheckPermission("system:oaClaim:remove")
@Log(title = "差旅费报销", businessType = BusinessType.DELETE)
@DeleteMapping("/{claimIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] claimIds) {
return toAjax(iSysOaClaimService.deleteWithValidByIds(Arrays.asList(claimIds), true));
}
}

View File

@@ -0,0 +1,106 @@
package com.ruoyi.web.controller.oa;
import java.util.List;
import java.util.Arrays;
import com.ruoyi.oa.domain.bo.SysOaClaimDetailBo;
import com.ruoyi.oa.domain.vo.SysOaClaimDetailVo;
import com.ruoyi.oa.service.ISysOaClaimDetailService;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
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.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 报销明细
*
* @author hdka
* @date 2025-02-21
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/oaClaimDetail")
public class SysOaClaimDetailController extends BaseController {
private final ISysOaClaimDetailService iSysOaClaimDetailService;
/**
* 查询报销明细列表
*/
@SaCheckPermission("system:oaClaimDetail:list")
@GetMapping("/list")
public TableDataInfo<SysOaClaimDetailVo> list(SysOaClaimDetailBo bo, PageQuery pageQuery) {
return iSysOaClaimDetailService.queryPageList(bo, pageQuery);
}
/**
* 导出报销明细列表
*/
@SaCheckPermission("system:oaClaimDetail:export")
@Log(title = "报销明细", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysOaClaimDetailBo bo, HttpServletResponse response) {
List<SysOaClaimDetailVo> list = iSysOaClaimDetailService.queryList(bo);
ExcelUtil.exportExcel(list, "报销明细", SysOaClaimDetailVo.class, response);
}
/**
* 获取报销明细详细信息
*
* @param claimDetailId 主键
*/
@SaCheckPermission("system:oaClaimDetail:query")
@GetMapping("/{claimDetailId}")
public R<SysOaClaimDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long claimDetailId) {
return R.ok(iSysOaClaimDetailService.queryById(claimDetailId));
}
/**
* 新增报销明细
*/
@SaCheckPermission("system:oaClaimDetail:add")
@Log(title = "报销明细", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaClaimDetailBo bo) {
return toAjax(iSysOaClaimDetailService.insertByBo(bo));
}
/**
* 修改报销明细
*/
@SaCheckPermission("system:oaClaimDetail:edit")
@Log(title = "报销明细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaClaimDetailBo bo) {
return toAjax(iSysOaClaimDetailService.updateByBo(bo));
}
/**
* 删除报销明细
*
* @param claimDetailIds 主键串
*/
@SaCheckPermission("system:oaClaimDetail:remove")
@Log(title = "报销明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{claimDetailIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] claimDetailIds) {
return toAjax(iSysOaClaimDetailService.deleteWithValidByIds(Arrays.asList(claimDetailIds), true));
}
}

View File

@@ -208,6 +208,18 @@ public class WfProcessController extends BaseController {
}
/**
* 根据流程定义id启动流程实例
*
* @param variables 变量集合,json对象
*/
@SaCheckPermission("workflow:process:start")
@PostMapping("/startClaim")
public R<String> startClaim(@RequestBody Map<String, Object> variables) {
String procInsId = processService.startClaim(variables);
return R.ok("流程启动成功",procInsId);
}
/**
* 删除流程实例
*