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));
|
}
|
}
|