From 70599d191f373a3954756b11c8479863cff58fc0 Mon Sep 17 00:00:00 2001 From: 15066119699 Date: Fri, 7 Mar 2025 09:13:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E4=B8=8D=E6=BB=A1=E8=B6=B3?= =?UTF-8?q?=E6=8B=92=E6=94=B6=E5=87=BA=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/app/AppPmsController.java | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsController.java index 8987a7ce..4c227ddd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsController.java @@ -2,9 +2,7 @@ package com.ruoyi.web.controller.app; import com.ruoyi.app.domain.*; import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq; -import com.ruoyi.app.service.IAppPendingStorageService; -import com.ruoyi.app.service.IAppPmsOrderInService; -import com.ruoyi.app.service.IAppPmsOrderOutService; +import com.ruoyi.app.service.*; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -19,6 +17,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.web.domain.PmsOrderInRequest; import com.ruoyi.web.domain.PmsOrderOutRequest; import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.QueryAnnotation; @@ -45,6 +44,8 @@ public class AppPmsController extends BaseController { @Autowired private IAppPendingStorageService appPendingStorageService; + @Autowired + private IAppStockService appStockService; private final List orderInTypeList = Arrays.asList(1, 2, 3, 4, 5, 6); @@ -115,11 +116,28 @@ public class AppPmsController extends BaseController { || StringUtils.isEmpty(orderOutRequest.getGoodsDesc())) { return error("请求数据不完整。"); } - // 判断入库单号是否重复 + // 判断出库单号是否重复 AppPmsOrderOut existAppPmsOrderOut = appPmsOrderOutService.selectAppPmsOrderOutByListId(orderOutRequest.getListId()); if (existAppPmsOrderOut != null) { return error("出库单号重复。"); } + //查询库存是否足够 + AppStock appStock = new AppStock(); + appStock.setGoodsId(orderOutRequest.getGoodsId()); + appStock.setStockStatus(0); + List appStocks = appStockService.selectStockByGoodsId(appStock); + if(CollectionUtils.isEmpty(appStocks)){ + return error("库存不足。"); + } + //统计库存 累计appStocks下面的每条的剩余数量 用高级用法 + BigDecimal total = BigDecimal.ZERO; + for (AppStock appStock1 : appStocks) { + total = total.add(appStock1.getRemainNum()); + } + if(total.compareTo(BigDecimal.valueOf(orderOutRequest.getGoodsNum())) < 0){ + return error("库存不足。"); + } + AppPmsOrderOut appPmsOrderOut = new AppPmsOrderOut(); appPmsOrderOut.setRecordId(UUID.randomUUID().toString()); appPmsOrderOut.setOrderId(orderId); @@ -136,10 +154,15 @@ public class AppPmsController extends BaseController { appPmsOrderOut.setPickNum(BigDecimal.ZERO); appPmsOrderOut.setTrNum(BigDecimal.ZERO); appPmsOrderOut.setCreateBy("PMS出库接口"); - insertRow += appPmsOrderOutService.insertAppPmsOrderOut(appPmsOrderOut); + try { + appPmsOrderOutService.insertAppPmsOrderOut(appPmsOrderOut); + }catch (Exception e){ + logger.error("Pms出库单请求失败:{}", e.getMessage()); + return error("接收失败"); + } } - return insertRow == orderOutRequests.size() ? success("success") : error("出库单保存失败"); + return success("success"); } /**