|
|
@@ -22,6 +22,7 @@ import com.yc.ship.module.product.dal.mysql.voyagestockdetail.VoyageStockDetailL
|
|
|
import com.yc.ship.module.product.dal.mysql.voyagestockdetail.VoyageStockDetailMapper;
|
|
|
import com.yc.ship.module.product.dal.mysql.voyagestockdistribute.VoyageStockDistributeNewMapper;
|
|
|
import com.yc.ship.module.product.enums.DistributorOrStoreEnum;
|
|
|
+import com.yc.ship.module.product.enums.ProductStockStaticsName;
|
|
|
import com.yc.ship.module.product.enums.VoyageStockLogTypeEnum;
|
|
|
import com.yc.ship.module.product.enums.YesOrNoEnum;
|
|
|
import com.yc.ship.module.product.framework.lock.ProductRedisKeyConstants;
|
|
|
@@ -321,6 +322,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
Map<String, BigDecimal> totalNumMap = CollectionUtils.convertMap(detailLogList, item -> item.getRoomModelId() + "_" + item.getFloor(), item -> item.getRealNum().add(item.getVirtualNum()));
|
|
|
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
|
|
|
|
BigDecimal totalNum = totalNumMap.get(key);
|
|
|
@@ -475,6 +479,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
// 判断库存是否充足
|
|
|
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
BigDecimal detailShareNum = item.getShareNum();
|
|
|
BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
|
|
|
if (useNum == null) {
|
|
|
@@ -494,6 +501,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//使用的虚拟库存
|
|
|
List<BigDecimal> useVirtualNum = new ArrayList<>();
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
|
|
|
if (useNum == null) {
|
|
|
useNum = BigDecimal.ZERO;
|
|
|
@@ -635,6 +645,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//使用的虚拟库存
|
|
|
List<BigDecimal> useVirtualNum = new ArrayList<>();
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
|
|
|
if (useNum == null) {
|
|
|
useNum = BigDecimal.ZERO;
|
|
|
@@ -828,6 +841,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
Map<String, BigDecimal> totalNumMap = CollectionUtils.convertMap(detailLogList, item -> item.getRoomModelId() + "_" + item.getFloor(), item -> item.getRealNum().add(item.getVirtualNum()));
|
|
|
log.info("进入初定还库存详情操作,退还前库存详情-stockDetailList:{}", JSONArray.toJSONString(stockDetailList));
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
|
BigDecimal totalNum = MapUtils.getBigDecimal(totalNumMap, key);
|
|
|
BigDecimal realNum = MapUtils.getBigDecimal(realNumMap, key);
|
|
|
@@ -974,6 +990,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//使用的虚拟库存
|
|
|
List<BigDecimal> useVirtualNum = new ArrayList<>();
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//这个地方使用共享库存,不使用可销售数
|
|
|
// BigDecimal canSellNum = item.getCanSellNum();
|
|
|
BigDecimal detailShareNum = item.getShareNum();
|
|
|
@@ -989,6 +1008,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
});
|
|
|
// 库存充足,扣库存详情
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
|
|
|
if (useNum == null) {
|
|
|
useNum = BigDecimal.ZERO;
|
|
|
@@ -1123,6 +1145,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//使用的虚拟库存
|
|
|
List<BigDecimal> useVirtualNum = new ArrayList<>();
|
|
|
stockDetailList.forEach(item -> {
|
|
|
+ if(Objects.equals(item.getRoomModelName(), "合计") || Objects.equals(item.getRoomModelName(), "内舱房")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
|
|
|
if (useNum == null) {
|
|
|
useNum = BigDecimal.ZERO;
|