Files
klp-oa/klp-wms/src/main/java/com/klp/controller/WmsApprovalController.java
Joshi 1207072092 feat(wms): 新增用印审批功能
- 在审批API中添加按业务ID查询审批信息的方法
- 配置用印详情页面路由,支持通过业务ID查看用印详情
- 修改待办列表,为用印类型申请隐藏同意驳回按钮
- 在待办列表数据中添加业务ID字段,完善申请类型映射
- 更新审批服务接口和实现类,添加queryByBizId方法
- 重构用印详情页面,集成审批信息加载和权限校验逻辑
- 更新领域模型中的申请类型枚举,添加用印类型支持
- 完善审批任务服务,支持用印申请详情查询和申请人姓名显示
2026-03-19 15:30:28 +08:00

170 lines
5.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.vo.WmsApprovalVo;
import com.klp.domain.bo.WmsApprovalBo;
import com.klp.domain.vo.WmsApprovalTaskVo;
import com.klp.service.IWmsApprovalService;
import com.klp.service.IWmsApprovalTaskService;
import com.klp.common.core.page.TableDataInfo;
/**
* 通用审批(支持请假/外出等申请的审批)
*
* @author klp
* @date 2026-01-20
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/approval")
public class WmsApprovalController extends BaseController {
private final IWmsApprovalService iWmsApprovalService;
private final IWmsApprovalTaskService iWmsApprovalTaskService;
/**
* 查询通用审批(支持请假/外出等申请的审批)列表
*/
@GetMapping("/list")
public TableDataInfo<Map<String, Object>> list(WmsApprovalBo bo, PageQuery pageQuery) {
return iWmsApprovalService.queryPageList(bo, pageQuery);
}
/**
* 导出通用审批(支持请假/外出等申请的审批)列表
*/
@Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsApprovalBo bo, HttpServletResponse response) {
List<WmsApprovalVo> list = iWmsApprovalService.queryList(bo);
ExcelUtil.exportExcel(list, "通用审批(支持请假/外出等申请的审批)", WmsApprovalVo.class, response);
}
/**
* 获取通用审批(支持请假/外出等申请的审批)详细信息
*
* @param approvalId 主键
*/
@GetMapping("/{approvalId}")
public R<Map<String, Object>> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long approvalId) {
return R.ok(iWmsApprovalService.queryById(approvalId));
}
/**
* 新增通用审批(支持请假/外出等申请的审批)
*/
@Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsApprovalBo bo) {
return toAjax(iWmsApprovalService.insertByBo(bo));
}
/**
* 修改通用审批(支持请假/外出等申请的审批)
*/
@Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsApprovalBo bo) {
return toAjax(iWmsApprovalService.updateByBo(bo));
}
/**
* 删除通用审批(支持请假/外出等申请的审批)
*
* @param approvalIds 主键串
*/
@Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.DELETE)
@DeleteMapping("/{approvalIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] approvalIds) {
return toAjax(iWmsApprovalService.deleteWithValidByIds(Arrays.asList(approvalIds), true));
}
/**
* 审批任务通过
*
* @param taskId 任务ID
* @param approvalOpinion 审批意见
*/
@Log(title = "审批任务通过", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/approve")
public R<Map<String, Object>> approveTask(
@NotNull(message = "任务ID不能为空")
@RequestParam Long taskId,
@RequestParam(required = false) String approvalOpinion) {
return R.ok(iWmsApprovalService.approveTask(taskId, approvalOpinion));
}
/**
* 审批任务驳回
*
* @param taskId 任务ID
* @param approvalOpinion 审批意见
*/
@Log(title = "审批任务驳回", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/reject")
public R<Map<String, Object>> rejectTask(
@NotNull(message = "任务ID不能为空")
@RequestParam Long taskId,
@RequestParam(required = false) String approvalOpinion) {
return R.ok(iWmsApprovalService.rejectTask(taskId, approvalOpinion));
}
/**
* 查询审批任务列表
*
* @param approvalId 审批ID
*/
@GetMapping("/tasks/{approvalId}")
public R<List<WmsApprovalTaskVo>> getTasks(@PathVariable Long approvalId) {
return R.ok(iWmsApprovalTaskService.queryByApprovalId(approvalId));
}
/**
* 撤销审批
*
* @param approvalId 审批ID
*/
@Log(title = "撤销审批", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/cancel")
public R<Map<String, Object>> cancelApproval(
@NotNull(message = "审批ID不能为空")
@RequestParam Long approvalId) {
return R.ok(iWmsApprovalService.cancelApproval(approvalId));
}
/**
* 按业务ID查询审批信息用于用印等业务
*
* @param bizId 业务ID
*/
@GetMapping("/getByBizId")
public R<Map<String, Object>> getByBizId(@RequestParam Long bizId) {
return R.ok(iWmsApprovalService.queryByBizId(bizId));
}
}