package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.TOrderStock; import com.ruoyi.system.domain.TOrderStockGoods; import com.ruoyi.system.dto.TOrderStockDTO; import com.ruoyi.system.query.TOrderStockQuery; import com.ruoyi.system.service.TOrderStockGoodsService; import com.ruoyi.system.service.TOrderStockService; import com.ruoyi.system.vo.TOrderStockVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 进货单 前端控制器 *

* * @author xiaochen * @since 2024-08-14 */ @Api(tags = "进货单") @RestController @RequestMapping("/t-order-stock") public class TOrderStockController { private final TOrderStockService orderStockService; private final TOrderStockGoodsService orderStockGoodsService; private final TokenService tokenService; @Autowired public TOrderStockController(TOrderStockService orderStockService, TOrderStockGoodsService orderStockGoodsService, TokenService tokenService) { this.orderStockService = orderStockService; this.orderStockGoodsService = orderStockGoodsService; this.tokenService = tokenService; } /** * 查询进货单分页列表 */ @ApiOperation( value = "查询进货单分页列表") @PostMapping(value = "/pageList") public AjaxResult> pageList(@RequestBody TOrderStockQuery query) { query.setShopId(tokenService.getLoginUser().getObjectId()); query.setIsCover(1); return AjaxResult.success(orderStockService.pageList(query)); } /** * 进货单下单接口 */ @ApiOperation( value = "进货单下单接口") @PostMapping(value = "/add") public AjaxResult add(@RequestBody TOrderStockDTO dto) { dto.setShopId(tokenService.getLoginUser().getObjectId()); orderStockService.add(dto); return AjaxResult.success(); } /** * 编辑进货单下单接口 */ @ApiOperation( value = "编辑进货单下单接口") @PostMapping(value = "/edit") public AjaxResult edit(@RequestBody TOrderStockDTO dto) { orderStockService.edit(dto); return AjaxResult.success(); } /** * 编辑进货单下单接口 */ @ApiOperation( value = "编辑生成进货单接口") @PostMapping(value = "/editGenerator") public AjaxResult editGenerator(@RequestBody TOrderStockDTO dto) { orderStockService.editGenerator(dto); return AjaxResult.success(); } /** * 查看进货单详情 */ @ApiOperation( value = "查看进货单详情") @GetMapping(value = "/getDetailById") public AjaxResult getDetailById(@RequestParam("id") Long id) { TOrderStock orderStock = orderStockService.getById(id); TOrderStockVO orderStockVO = new TOrderStockVO(); BeanUtils.copyProperties(orderStock, orderStockVO); // 查询进货单商品 List list = orderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class) .eq(TOrderStockGoods::getOrderId, id)); orderStockVO.setOrderStockGoods(list); return AjaxResult.success(orderStockVO); } /** * 删除进货单 */ @ApiOperation( value = "删除进货单") @DeleteMapping(value = "/deleteById") public AjaxResult deleteById(@RequestParam("id") Long id) { // 删除进货商品 orderStockGoodsService.remove(Wrappers.lambdaQuery(TOrderStockGoods.class) .eq(TOrderStockGoods::getOrderId, id)); return AjaxResult.success(orderStockService.removeById(id)); } /** * 批量删除进货单 */ @ApiOperation( value = "批量删除进货单") @DeleteMapping(value = "/deleteByIds") public AjaxResult deleteByIds(@RequestBody List ids) { orderStockGoodsService.remove(Wrappers.lambdaQuery(TOrderStockGoods.class) .in(TOrderStockGoods::getOrderId, ids)); return AjaxResult.success(orderStockService.removeByIds(ids)); } }