Compare commits

...

2 Commits

Author SHA1 Message Date
陈放 e283fe4364 FWHL-268 已修复 3 weeks ago
陈放 ab140373be FWHL-304 已修复 3 weeks ago
  1. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRecord/InventorymoveRecordDetailServiceImpl.java
  2. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleShipmentRequest/SaleShipmentMainServiceImpl.java

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRecord/InventorymoveRecordDetailServiceImpl.java

@ -115,6 +115,7 @@ public class InventorymoveRecordDetailServiceImpl implements InventorymoveRecord
}
}
inventorymoveRecordDetailDOQueryWrapper.in("from_location_code",locationCodes).or().in("to_location_code",locationCodes);
inventorymoveRecordDetailDOQueryWrapper.orderByDesc("create_time");
return inventorymoveRecordDetailMapper.selectPage(pageReqVO,inventorymoveRecordDetailDOQueryWrapper);
}

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleShipmentRequest/SaleShipmentMainServiceImpl.java

@ -389,31 +389,31 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
QueryWrapper<BalanceDO> balanceDOQueryWrapper = new QueryWrapper<>();
balanceDOQueryWrapper.eq("item_code",saleShipmentDetailDO.getItemCode());
balanceDOQueryWrapper.eq("location_code",saleShipmentDetailDO.getFromLocationCode());
balanceDOQueryWrapper.eq("inventory_status",saleShipmentDetailDO.getInventoryStatus());
balanceDOQueryWrapper.eq("inventory_status","OK");
List<BalanceDO> balanceDOS = balanceMapper.selectList(balanceDOQueryWrapper);
if(balanceDOS.size() == 0){
BalanceDO balanceDO = new BalanceDO();
balanceDO.setItemCode(saleShipmentDetailDO.getItemCode());
balanceDO.setLocationCode(saleShipmentDetailDO.getFromLocationCode());
balanceDO.setInventoryStatus(saleShipmentDetailDO.getInventoryStatus());
balanceDO.setQty(saleShipmentDetailDO.getQty());
BalanceDO balanceDONew = new BalanceDO();
balanceDONew.setItemCode(saleShipmentDetailDO.getItemCode());
balanceDONew.setLocationCode(saleShipmentDetailDO.getFromLocationCode());
balanceDONew.setInventoryStatus(saleShipmentDetailDO.getInventoryStatus());
balanceDONew.setQty(saleShipmentDetailDO.getQty());
LocationDO locationDO = locationService.selectLocation(saleShipmentDetailDO.getFromLocationCode());
if(locationDO != null) {
balanceDO.setAreaCode(locationDO.getAreaCode());
balanceDO.setLocationGroupCode(locationDO.getLocationGroupCode());
balanceDO.setWarehouseCode(locationDO.getWarehouseCode());
balanceDONew.setAreaCode(locationDO.getAreaCode());
balanceDONew.setLocationGroupCode(locationDO.getLocationGroupCode());
balanceDONew.setWarehouseCode(locationDO.getWarehouseCode());
}
String key = balanceDO.getItemCode()+"#"+balanceDO.getLocationCode();
String key = balanceDONew.getItemCode()+"#"+balanceDONew.getLocationCode();
if(balanceMap.containsKey(key)){
List<BalanceDO> balanceDOList = balanceMap.get(key);
balanceDOList.add(balanceDO);
balanceDOList.add(balanceDONew);
balanceMap.put(key,balanceDOList);
}else {
List<BalanceDO> balanceDOList = new ArrayList<>();
balanceDOList.add(balanceDO);
balanceDOList.add(balanceDONew);
balanceMap.put(key,balanceDOList);
}
balanceList.add(balanceDO);
balanceList.add(balanceDONew);
}else {
for(BalanceDO balanceDO:balanceDOS){
String key = balanceDO.getItemCode()+"#"+balanceDO.getLocationCode();
@ -426,8 +426,8 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
balanceDOList.add(balanceDO);
balanceMap.put(key,balanceDOList);
}
balanceList.add(balanceDO);
}
balanceList.add(balanceDOS.get(0));
}
}
// List<BalanceDO> balanceList = balanceService.selectByBusinessType(mainDO.getBusinessType(), itemCodeSet, new ArrayList<String>(Arrays.asList("OK")), locationCodes);
@ -568,7 +568,7 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
}else {
diffeBalance = bo.getQty().subtract(transactionCreateReqVO.getQty());
}
if (diffeBalance.compareTo(BigDecimal.ZERO) >= 0) {
if (diffeBalance.compareTo(BigDecimal.ZERO) >= 0 && recordDetailDO.getQty().compareTo(BigDecimal.ZERO) >= 0) {
transactionCreateReqVO.setBatch(bo.getBatch());
transactionCreateReqVOList.add(transactionCreateReqVO);
recordDetailDO.setBatch(bo.getBatch());
@ -576,14 +576,25 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
bo.setQty(diffeBalance);
balanceMap.put(key,qtylist);
break;
} else if (diffeBalance.compareTo(BigDecimal.ZERO) < 0) {
} else if (diffeBalance.compareTo(BigDecimal.ZERO) >= 0 && recordDetailDO.getQty().compareTo(BigDecimal.ZERO) < 0) {
transactionCreateReqVO.setBatch(bo.getBatch());
transactionCreateReqVO.setQty(recordDetailDO.getQty().abs());
TransactiontypeDO inTransactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(inTransactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVOList.add(transactionCreateReqVO);
recordDetailDO.setBatch(bo.getBatch());
recordDetailDOList.add(recordDetailDO);
bo.setQty(diffeBalance);
balanceMap.put(key,qtylist);
break;
}else if (diffeBalance.compareTo(BigDecimal.ZERO) < 0) {
TransactionCreateReqVO transactionCreateReqVO1 = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVO, transactionCreateReqVO1);
transactionCreateReqVO1.setBatch(bo.getBatch());
transactionCreateReqVO1.setQty(bo.getQty());
transactionCreateReqVOList.add(transactionCreateReqVO1);
transactionCreateReqVO.setQty(transactionCreateReqVO.getQty().subtract(bo.getQty()));
SaleShipmentDetailRecordDO recordDetailDO1 = new SaleShipmentDetailRecordDO();
BeanUtils.copyProperties(recordDetailDO, recordDetailDO1);
recordDetailDO1.setBatch(bo.getBatch());

Loading…
Cancel
Save