From bfdb3faf4f27df01718f58ac8c4ec0bcc092e7b6 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 30 十一月 2024 18:50:47 +0800 Subject: [PATCH] 生成数据明细导出修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 43 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java index bcdbc55..d8182d0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java @@ -1,15 +1,15 @@ 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.common.utils.CodeGenerateUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.domain.TGoods; -import com.ruoyi.system.domain.TGoodsType; +import com.ruoyi.system.domain.*; import com.ruoyi.system.query.TGoodsQuery; -import com.ruoyi.system.service.TGoodsService; -import com.ruoyi.system.service.TGoodsTypeService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TGoodsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -35,12 +35,18 @@ private final TGoodsService goodsService; private final TGoodsTypeService goodsTypeService; private final TokenService tokenService; + private final TOrderStockGoodsService orderStockGoodsService; + private final TOrderSaleGoodsService orderSaleGoodsService; + private final TOrderMealGoodsService orderMealGoodsService; @Autowired - public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService) { + public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService, TOrderStockGoodsService orderStockGoodsService, TOrderSaleGoodsService orderSaleGoodsService, TOrderMealGoodsService orderMealGoodsService) { this.goodsService = goodsService; this.goodsTypeService = goodsTypeService; this.tokenService = tokenService; + this.orderStockGoodsService = orderStockGoodsService; + this.orderSaleGoodsService = orderSaleGoodsService; + this.orderMealGoodsService = orderMealGoodsService; } /** @@ -63,6 +69,13 @@ @PostMapping(value = "/add") public AjaxResult<Boolean> add(@RequestBody TGoods dto) { dto.setShopId(tokenService.getLoginUser().getObjectId()); + String num = CodeGenerateUtils.generateVolumeSn(); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getGoodsNum, num)); + if(count>0){ + num = CodeGenerateUtils.generateVolumeSn(); + } + dto.setGoodsNum(num); return AjaxResult.success(goodsService.save(dto)); } @@ -72,6 +85,24 @@ @ApiOperation( value = "修改商品管理") @PostMapping(value = "/update") public AjaxResult<Boolean> update(@RequestBody TGoods dto) { + // 判断是否修改了名称 + TGoods goods = goodsService.getById(dto.getId()); + if(!goods.getGoodsName().equals(dto.getGoodsName())){ + List<TOrderStockGoods> orderStockGoods = orderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class) + .eq(TOrderStockGoods::getGoodsNum, goods.getGoodsNum())); + orderStockGoods.stream().forEach(tOrderStockGoods -> tOrderStockGoods.setGoodsName(dto.getGoodsName())); + orderStockGoodsService.updateBatchById(orderStockGoods); + + List<TOrderMealGoods> orderMealGoods = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getGoodsNum, goods.getGoodsNum())); + orderMealGoods.stream().forEach(tOrderMealGoods -> tOrderMealGoods.setGoodsName(dto.getGoodsName())); + orderMealGoodsService.updateBatchById(orderMealGoods); + + List<TOrderSaleGoods> list = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) + .eq(TOrderSaleGoods::getGoodsNum, goods.getGoodsNum())); + list.stream().forEach(tOrderSaleGoods -> tOrderSaleGoods.setGoodsName(dto.getGoodsName())); + orderSaleGoodsService.updateBatchById(list); + } return AjaxResult.success(goodsService.updateById(dto)); } @@ -97,6 +128,13 @@ @ApiOperation( value = "删除商品管理") @DeleteMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getTypeId, goods.getTypeId()) + .ne(TGoods::getId,id)); + if(count == 0){ + return AjaxResult.error("当前菜品所属分类下至少保留一种菜品"); + } return AjaxResult.success(goodsService.removeById(id)); } -- Gitblit v1.7.1