package com.ruoyi.stock.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.stock.dto.ProductBorrowDto;
|
import com.ruoyi.stock.service.ProductBorrowService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 产品领用 Controller
|
*
|
* @author ruoyi
|
*/
|
@Tag(name = "产品领用")
|
@RestController
|
@RequestMapping("/productBorrow")
|
@RequiredArgsConstructor
|
public class ProductBorrowController {
|
|
private final ProductBorrowService productBorrowService;
|
|
@PostMapping("/listPage")
|
@Log(title = "产品领用-列表", businessType = BusinessType.OTHER)
|
@Operation(summary = "分页查询领用记录")
|
public AjaxResult listPage(@RequestBody Page<ProductBorrowDto> page, @RequestBody ProductBorrowDto dto) {
|
IPage<ProductBorrowDto> result = productBorrowService.listPage(page, dto);
|
return AjaxResult.success(result);
|
}
|
|
@PostMapping("/getDetail")
|
@Log(title = "产品领用-详情", businessType = BusinessType.OTHER)
|
@Operation(summary = "查询领用记录详情")
|
public AjaxResult getDetail(@RequestBody ProductBorrowDto dto) {
|
ProductBorrowDto result = productBorrowService.getDetailById(dto.getId());
|
return AjaxResult.success(result);
|
}
|
|
@PostMapping("/add")
|
@Log(title = "产品领用-新增", businessType = BusinessType.INSERT)
|
@Operation(summary = "新增领用记录")
|
public AjaxResult add(@RequestBody ProductBorrowDto dto) {
|
productBorrowService.add(dto);
|
return AjaxResult.success();
|
}
|
|
@PostMapping("/update")
|
@Log(title = "产品领用-修改", businessType = BusinessType.UPDATE)
|
@Operation(summary = "修改领用记录")
|
public AjaxResult update(@RequestBody ProductBorrowDto dto) {
|
productBorrowService.update(dto);
|
return AjaxResult.success();
|
}
|
|
@PostMapping("/delete")
|
@Log(title = "产品领用-删除", businessType = BusinessType.DELETE)
|
@Operation(summary = "删除领用记录")
|
public AjaxResult delete(@RequestBody List<Long> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
productBorrowService.delete(ids);
|
return AjaxResult.success();
|
}
|
|
@PostMapping("/approve")
|
@Log(title = "产品领用-审批", businessType = BusinessType.UPDATE)
|
@Operation(summary = "批量审批领用记录")
|
public AjaxResult approve(@RequestBody ProductBorrowDto dto) {
|
if (CollectionUtils.isEmpty(dto.getIds())) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
productBorrowService.batchApprove(dto.getIds(), dto.getApprovalStatusParam());
|
return AjaxResult.success();
|
}
|
|
@PostMapping("/reAudit")
|
@Log(title = "产品领用-反审", businessType = BusinessType.UPDATE)
|
@Operation(summary = "批量反审领用记录")
|
public AjaxResult reAudit(@RequestBody ProductBorrowDto dto) {
|
if (CollectionUtils.isEmpty(dto.getIds())) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
// 反审:将已通过的记录状态改回待审批,需要考虑是否已经归还
|
// 此处暂不实现反审逻辑,如需要可以扩展
|
return AjaxResult.error("反审功能暂未实现");
|
}
|
}
|