| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package org.dromara.crm.controller;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import lombok.RequiredArgsConstructor;
- import org.dromara.common.core.domain.R;
- import org.dromara.common.idempotent.annotation.RepeatSubmit;
- import org.dromara.common.log.annotation.Log;
- import org.dromara.common.log.enums.BusinessType;
- import org.dromara.common.web.core.BaseController;
- import org.dromara.crm.domain.vo.CrmQuoteApprovalVo;
- import org.dromara.crm.service.ICrmQuoteApprovalService;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.Map;
- /**
- * 报价单审批Controller
- *
- * @author 系统管理员
- * @date 2025-01-03
- */
- @Validated
- @RequiredArgsConstructor
- @RestController
- @RequestMapping("/crm/quote/approval")
- public class CrmQuoteApprovalController extends BaseController {
- private final ICrmQuoteApprovalService quoteApprovalService;
- /**
- * 查询审批记录列表
- */
- // @SaCheckPermission("crm:quote:query")
- @GetMapping("/list")
- public R<List<CrmQuoteApprovalVo>> list(@RequestParam Long quoteId) {
- return R.ok(quoteApprovalService.queryListByQuoteId(quoteId));
- }
- /**
- * 审批报价单
- */
- // @SaCheckPermission("crm:quote:approval")
- @Log(title = "审批报价单", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PostMapping()
- public R<Void> approve(@RequestBody Map<String, Object> params) {
- Object idObj = params.get("id");
- if (idObj == null) {
- return R.fail("审批记录ID不能为空");
- }
- Long id = Long.valueOf(idObj.toString());
- String approvalResult = (String) params.get("approvalResult");
- String approvalOpinion = (String) params.get("approvalOpinion");
- String remark = (String) params.get("remark");
- return toAjax(quoteApprovalService.approveQuote(id, approvalResult, approvalOpinion, remark));
- }
- /**
- * 撤回审批
- */
- // @SaCheckPermission("crm:quote:edit")
- @Log(title = "撤回审批", businessType = BusinessType.UPDATE)
- @PutMapping("/withdraw")
- public R<Void> withdraw(@RequestBody Map<String, Object> params) {
- Object idObj = params.get("id");
- if (idObj == null) {
- return R.fail("报价单ID不能为空");
- }
- Long id = Long.valueOf(idObj.toString());
- String remark = (String) params.get("remark");
- return toAjax(quoteApprovalService.withdrawApproval(id, remark));
- }
- /**
- * 刷新审批人姓名(修复旧数据)
- */
- // @SaCheckPermission("crm:quote:edit")
- @Log(title = "刷新审批人姓名", businessType = BusinessType.UPDATE)
- @PostMapping("/refreshNames")
- public R<Integer> refreshApproverNames(@RequestBody(required = false) Map<String, Object> params) {
- Long quoteId = null;
- if (params != null && params.get("quoteId") != null) {
- quoteId = Long.valueOf(params.get("quoteId").toString());
- }
- Integer count = quoteApprovalService.refreshApproverNames(quoteId);
- return R.ok(count);
- }
- }
|