昨天 5f73eb1fb9d04040fe6ba377d5ae582024429f2f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.ruoyi.purchase.controller;
 
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.purchase.dto.PurchaseApplicationDto;
import com.ruoyi.purchase.pojo.PurchaseApplication;
import com.ruoyi.purchase.service.PurchaseApplicationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.List;
 
/**
 * 采购申请单 Controller
 */
@RestController
@RequestMapping("/purchase/application")
@AllArgsConstructor
@Tag(name = "采购申请")
public class PurchaseApplicationController extends BaseController {
 
    private final PurchaseApplicationService purchaseApplicationService;
 
    /**
     * 查询采购申请列表
     */
    @GetMapping("/list")
    public TableDataInfo list(PurchaseApplicationDto purchaseApplicationDto) {
        startPage();
        List<PurchaseApplication> list = purchaseApplicationService.selectApplicationList(purchaseApplicationDto);
        return getDataTable(list);
    }
 
    /**
     * 查询采购申请详情(含产品明细)
     */
    @GetMapping("/getById")
    public AjaxResult getById(@RequestParam Long id) {
        return AjaxResult.success(purchaseApplicationService.getDetail(id));
    }
 
    /**
     * 新增采购申请(草稿)
     */
    @Log(title = "采购申请", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@RequestBody PurchaseApplicationDto purchaseApplicationDto) {
        return AjaxResult.success(purchaseApplicationService.saveApplication(purchaseApplicationDto));
    }
 
    /**
     * 修改采购申请,仅草稿状态允许修改
     */
    @Log(title = "采购申请", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody PurchaseApplicationDto purchaseApplicationDto) {
        return toAjax(purchaseApplicationService.updateApplication(purchaseApplicationDto));
    }
 
    /**
     * 删除采购申请,仅草稿状态允许删除
     */
    @Log(title = "采购申请", businessType = BusinessType.DELETE)
    @DeleteMapping("/delete")
    public AjaxResult delete(@RequestBody Long[] ids) {
        return toAjax(purchaseApplicationService.deleteApplications(
                ids == null ? List.of() : List.of(ids)));
    }
 
    /**
     * 采购申请转订单:生成采购台账并提交 OA 采购审批
     */
    @Operation(summary = "采购申请转订单")
    @Log(title = "采购申请转订单", businessType = BusinessType.OTHER)
    @PostMapping("/convertToOrder")
    public AjaxResult convertToOrder(@RequestParam Long id) {
        return AjaxResult.success(purchaseApplicationService.convertToOrder(id));
    }
}