This commit is contained in:
葛林强 2025-03-07 09:25:16 +08:00
commit 97c808bc7a

View File

@ -2,9 +2,7 @@ package com.ruoyi.web.controller.app;
import com.ruoyi.app.domain.*; import com.ruoyi.app.domain.*;
import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq; import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq;
import com.ruoyi.app.service.IAppPendingStorageService; import com.ruoyi.app.service.*;
import com.ruoyi.app.service.IAppPmsOrderInService;
import com.ruoyi.app.service.IAppPmsOrderOutService;
import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; 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.PmsOrderInRequest;
import com.ruoyi.web.domain.PmsOrderOutRequest; import com.ruoyi.web.domain.PmsOrderOutRequest;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.annotation.QueryAnnotation; import org.springframework.data.annotation.QueryAnnotation;
@ -45,6 +44,8 @@ public class AppPmsController extends BaseController {
@Autowired @Autowired
private IAppPendingStorageService appPendingStorageService; private IAppPendingStorageService appPendingStorageService;
@Autowired
private IAppStockService appStockService;
private final List<Integer> orderInTypeList = Arrays.asList(1, 2, 3, 4, 5, 6); private final List<Integer> orderInTypeList = Arrays.asList(1, 2, 3, 4, 5, 6);
@ -115,11 +116,28 @@ public class AppPmsController extends BaseController {
|| StringUtils.isEmpty(orderOutRequest.getGoodsDesc())) { || StringUtils.isEmpty(orderOutRequest.getGoodsDesc())) {
return error("请求数据不完整。"); return error("请求数据不完整。");
} }
// 判断库单号是否重复 // 判断库单号是否重复
AppPmsOrderOut existAppPmsOrderOut = appPmsOrderOutService.selectAppPmsOrderOutByListId(orderOutRequest.getListId()); AppPmsOrderOut existAppPmsOrderOut = appPmsOrderOutService.selectAppPmsOrderOutByListId(orderOutRequest.getListId());
if (existAppPmsOrderOut != null) { if (existAppPmsOrderOut != null) {
return error("出库单号重复。"); return error("出库单号重复。");
} }
//查询库存是否足够
AppStock appStock = new AppStock();
appStock.setGoodsId(orderOutRequest.getGoodsId());
appStock.setStockStatus(0);
List<AppStock> 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 appPmsOrderOut = new AppPmsOrderOut();
appPmsOrderOut.setRecordId(UUID.randomUUID().toString()); appPmsOrderOut.setRecordId(UUID.randomUUID().toString());
appPmsOrderOut.setOrderId(orderId); appPmsOrderOut.setOrderId(orderId);
@ -136,10 +154,15 @@ public class AppPmsController extends BaseController {
appPmsOrderOut.setPickNum(BigDecimal.ZERO); appPmsOrderOut.setPickNum(BigDecimal.ZERO);
appPmsOrderOut.setTrNum(BigDecimal.ZERO); appPmsOrderOut.setTrNum(BigDecimal.ZERO);
appPmsOrderOut.setCreateBy("PMS出库接口"); 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");
} }
/** /**