Files
klp-oa/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanController.java

116 lines
3.7 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 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.WmsPurchasePlanVo;
import com.klp.domain.bo.WmsPurchasePlanBo;
import com.klp.service.IWmsPurchasePlanService;
import com.klp.common.core.page.TableDataInfo;
/**
* 采购计划主
*
* @author Joshi
* @date 2025-07-18
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/purchasePlan")
public class WmsPurchasePlanController extends BaseController {
private final IWmsPurchasePlanService iWmsPurchasePlanService;
/**
* 新增采购计划(含明细)
*/
@PostMapping("/addWithDetails")
public R<Void> addPurchasePlan(@RequestBody WmsPurchasePlanVo planVo) {
return toAjax(iWmsPurchasePlanService.insertWithDetails(planVo));
}
/**
* 根据订单ID生成推荐采购计划只返回不落库
*/
@GetMapping("/recommend/{orderId}")
public R<WmsPurchasePlanVo> recommendPurchasePlan(@PathVariable Long orderId) {
WmsPurchasePlanVo planVo = iWmsPurchasePlanService.recommendPurchasePlanByOrder(orderId);
return R.ok(planVo);
}
/**
* 查询采购计划主列表
*/
@GetMapping("/list")
public TableDataInfo<WmsPurchasePlanVo> list(WmsPurchasePlanBo bo, PageQuery pageQuery) {
return iWmsPurchasePlanService.queryPageList(bo, pageQuery);
}
/**
* 导出采购计划主列表
*/
@Log(title = "采购计划主", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsPurchasePlanBo bo, HttpServletResponse response) {
List<WmsPurchasePlanVo> list = iWmsPurchasePlanService.queryList(bo);
ExcelUtil.exportExcel(list, "采购计划主", WmsPurchasePlanVo.class, response);
}
/**
* 获取采购计划主详细信息
*
* @param planId 主键
*/
@GetMapping("/{planId}")
public R<WmsPurchasePlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long planId) {
return R.ok(iWmsPurchasePlanService.queryById(planId));
}
/**
* 新增采购计划主
*/
@Log(title = "采购计划主", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsPurchasePlanBo bo) {
return toAjax(iWmsPurchasePlanService.insertByBo(bo));
}
/**
* 修改采购计划主
*/
@Log(title = "采购计划主", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsPurchasePlanBo bo) {
return toAjax(iWmsPurchasePlanService.updateByBo(bo));
}
/**
* 删除采购计划主
*
* @param planIds 主键串
*/
@Log(title = "采购计划主", businessType = BusinessType.DELETE)
@DeleteMapping("/{planIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] planIds) {
return toAjax(iWmsPurchasePlanService.deleteWithValidByIds(Arrays.asList(planIds), true));
}
}