|
@@ -114,6 +114,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void updateGoodsStatus(Integer goodsId, Integer status) {
|
|
|
if(Objects.isNull(goodsId)){
|
|
|
throw new BizException("请指定商品");
|
|
@@ -486,7 +487,12 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
SellOrder sellOrder = new SellOrder();
|
|
|
sellOrder.setGoodsId(goodsNumMapEntry.getKey());
|
|
|
sellOrder.setNum(goodsNumMapEntry.getValue().intValue());
|
|
|
- sellOrder.setStockType(goods.getStockType());
|
|
|
+ sellOrder.setGoodsName(goods.getName());
|
|
|
+ if(StockType.INTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.INTERNAL.equals(accountType))){
|
|
|
+ sellOrder.setStockType(StockType.INTERNAL);
|
|
|
+ }else if(StockType.EXTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.EXTERNAL.equals(accountType))){
|
|
|
+ sellOrder.setStockType(StockType.EXTERNAL);
|
|
|
+ }
|
|
|
sellOrder.setGoodsName(goods.getName());
|
|
|
sellOrder.setAccountType(accountType);
|
|
|
sellOrder.setBatchNo(batchNoGoodsIdMapEntry.getKey());
|
|
@@ -511,7 +517,12 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
sellOrder.setParentGoodsId(goodsProcurement.getParentGoodsId());
|
|
|
sellOrder.setGoodsId(goodsProcurement.getGoodsId());
|
|
|
sellOrder.setNum(1);
|
|
|
- sellOrder.setStockType(goods.getStockType());
|
|
|
+ sellOrder.setGoodsName(goods.getName());
|
|
|
+ if(StockType.INTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.INTERNAL.equals(accountType))){
|
|
|
+ sellOrder.setStockType(StockType.INTERNAL);
|
|
|
+ }else if(StockType.EXTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.EXTERNAL.equals(accountType))){
|
|
|
+ sellOrder.setStockType(StockType.EXTERNAL);
|
|
|
+ }
|
|
|
sellOrder.setGoodsName(goods.getName());
|
|
|
sellOrder.setAccountType(accountType);
|
|
|
sellOrder.setBatchNo(goodsProcurement.getBatchNo());
|
|
@@ -550,12 +561,12 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods> implement
|
|
|
for (SellOrder sellOrder : sellOrders) {
|
|
|
Goods goods = goodsDao.get(sellOrder.getGoodsId());
|
|
|
GoodsProcurement goodsProcurement = goodsProcurementDao.getWithGoodsAndBatchNo(sellOrder.getGoodsId(), sellOrder.getBatchNo());
|
|
|
- if(StockType.INTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.INTERNAL.equals(accountType))){
|
|
|
+ if(StockType.INTERNAL.equals(sellOrder.getStockType())){
|
|
|
goods.setStockCount(new AtomicInteger(goods.getStockCount()).addAndGet(sellOrder.getNum()));
|
|
|
if(Objects.nonNull(goodsProcurement)){
|
|
|
goodsProcurement.setStockSoldNum(new AtomicInteger(goodsProcurement.getStockSoldNum()).addAndGet(-sellOrder.getNum()));
|
|
|
}
|
|
|
- }else if(StockType.EXTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.EXTERNAL.equals(accountType))){
|
|
|
+ }else if(StockType.EXTERNAL.equals(sellOrder.getStockType())){
|
|
|
goods.setTaxStockCount(new AtomicInteger(goods.getTaxStockCount()).addAndGet(sellOrder.getNum()));
|
|
|
if(Objects.nonNull(goodsProcurement)){
|
|
|
goodsProcurement.setTaxStockSoldNum(new AtomicInteger(goodsProcurement.getTaxStockSoldNum()).addAndGet(-sellOrder.getNum()));
|