|
@@ -2032,8 +2032,8 @@ public class OrderServiceImpl implements OrderService {
|
|
for (GoodsEntity goodsEntity : queryGoodsList) {
|
|
for (GoodsEntity goodsEntity : queryGoodsList) {
|
|
// 如果当前还有需要购买的
|
|
// 如果当前还有需要购买的
|
|
if (sellVolume > 0) {
|
|
if (sellVolume > 0) {
|
|
- // 当前商品剩余的数量
|
|
|
|
- Integer remainAmount = goodsEntity.getGoodsNumber();
|
|
|
|
|
|
+ // 当前商品剩余的数量, 门店库存
|
|
|
|
+ Integer remainAmount = Integer.parseInt(goodsEntity.getStockNum());
|
|
if (sellVolume >= remainAmount) {
|
|
if (sellVolume >= remainAmount) {
|
|
// 证明该sku库存不足,需要继续向下个sku消费
|
|
// 证明该sku库存不足,需要继续向下个sku消费
|
|
sellVolume -= remainAmount;
|
|
sellVolume -= remainAmount;
|
|
@@ -2092,6 +2092,7 @@ public class OrderServiceImpl implements OrderService {
|
|
// return resultObj;
|
|
// return resultObj;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
+ // 门店库存变化记录
|
|
StoreMngChangeEntity storeMngChangeEntity = new StoreMngChangeEntity();
|
|
StoreMngChangeEntity storeMngChangeEntity = new StoreMngChangeEntity();
|
|
storeMngChangeEntity.setChangeType(Dict.changeType.item_1.getItem());
|
|
storeMngChangeEntity.setChangeType(Dict.changeType.item_1.getItem());
|
|
storeMngChangeEntity.setChangeReason("商品销售扣减");
|
|
storeMngChangeEntity.setChangeReason("商品销售扣减");
|
|
@@ -2108,14 +2109,8 @@ public class OrderServiceImpl implements OrderService {
|
|
storeMngChangeEntity.setIsValid(0);
|
|
storeMngChangeEntity.setIsValid(0);
|
|
storeMngChangeDao.save(storeMngChangeEntity);
|
|
storeMngChangeDao.save(storeMngChangeEntity);
|
|
|
|
|
|
- productInfo.setStockNum(productInfo.getStockNum() - num);
|
|
|
|
- productInfo.setStoreId(Long.valueOf(storeId));
|
|
|
|
- productInfo.setSellVolume(productInfo.getSellVolume() + num);
|
|
|
|
- productInfo.setLastSaleTime(new Date());
|
|
|
|
- productStoreRelaDao.updateStockNum(productInfo);//修改普通商品库存
|
|
|
|
-
|
|
|
|
|
|
+ int validNum = productInfo.getStockNum() - num;
|
|
if (goodsEntity != null) {
|
|
if (goodsEntity != null) {
|
|
- int diff = goodsEntity.getGoodsNumber() - num;
|
|
|
|
MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
|
|
mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
|
|
mngChangeEntity.setChangeReason("商品销售扣减");
|
|
mngChangeEntity.setChangeReason("商品销售扣减");
|
|
@@ -2126,19 +2121,25 @@ public class OrderServiceImpl implements OrderService {
|
|
mngChangeEntity.setIsValid(0);
|
|
mngChangeEntity.setIsValid(0);
|
|
mngChangeEntity.setMerchSn(goodsEntity.getMerchSn());
|
|
mngChangeEntity.setMerchSn(goodsEntity.getMerchSn());
|
|
mngChangeEntity.setOriginalNum(goodsEntity.getGoodsNumber());//原库存数
|
|
mngChangeEntity.setOriginalNum(goodsEntity.getGoodsNumber());//原库存数
|
|
- mngChangeEntity.setValidNum(diff);//可用数
|
|
|
|
|
|
+ mngChangeEntity.setValidNum(goodsEntity.getGoodsNumber() - num);//可用数
|
|
mngChangeEntity.setChangeNum(num);//变化数
|
|
mngChangeEntity.setChangeNum(num);//变化数
|
|
mngChangeEntity.setChangeType(Dict.changeType.item_1.getItem());
|
|
mngChangeEntity.setChangeType(Dict.changeType.item_1.getItem());
|
|
mngChangeEntity.setGoodsId(Integer.parseInt(String.valueOf(goodsEntity.getId())));
|
|
mngChangeEntity.setGoodsId(Integer.parseInt(String.valueOf(goodsEntity.getId())));
|
|
|
|
|
|
mngChangeDao.save(mngChangeEntity);
|
|
mngChangeDao.save(mngChangeEntity);
|
|
|
|
+
|
|
// 如果园区库存数量小于等于0, 则不更新园区库存, 园区库存只做参考
|
|
// 如果园区库存数量小于等于0, 则不更新园区库存, 园区库存只做参考
|
|
- if (diff >= 0) {
|
|
|
|
- goodsEntity.setGoodsNumber(diff);
|
|
|
|
- goodsEntity.setLastSaleTime(new Date());
|
|
|
|
- goodsDao.update(goodsEntity);
|
|
|
|
- }
|
|
|
|
|
|
+ int diff = Math.max(goodsEntity.getGoodsNumber() - num, 0);
|
|
|
|
+ goodsEntity.setGoodsNumber(diff);
|
|
|
|
+ goodsEntity.setLastSaleTime(new Date());
|
|
|
|
+ goodsDao.update(goodsEntity);
|
|
}
|
|
}
|
|
|
|
+ // 门店库存
|
|
|
|
+ productInfo.setStockNum(validNum);
|
|
|
|
+ productInfo.setStoreId(Long.valueOf(storeId));
|
|
|
|
+ productInfo.setSellVolume(productInfo.getSellVolume() + num);
|
|
|
|
+ productInfo.setLastSaleTime(new Date());
|
|
|
|
+ productStoreRelaDao.updateStockNum(productInfo);//修改普通商品库存
|
|
}
|
|
}
|
|
|
|
|
|
BigDecimal retailPrice = new BigDecimal(0);
|
|
BigDecimal retailPrice = new BigDecimal(0);
|