Compare commits

...

2 Commits

Author SHA1 Message Date
陈放 e283fe4364 FWHL-268 已修复 1 month ago
陈放 ab140373be FWHL-304 已修复 1 month 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.in("from_location_code",locationCodes).or().in("to_location_code",locationCodes);
inventorymoveRecordDetailDOQueryWrapper.orderByDesc("create_time");
return inventorymoveRecordDetailMapper.selectPage(pageReqVO,inventorymoveRecordDetailDOQueryWrapper); 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<>(); QueryWrapper<BalanceDO> balanceDOQueryWrapper = new QueryWrapper<>();
balanceDOQueryWrapper.eq("item_code",saleShipmentDetailDO.getItemCode()); balanceDOQueryWrapper.eq("item_code",saleShipmentDetailDO.getItemCode());
balanceDOQueryWrapper.eq("location_code",saleShipmentDetailDO.getFromLocationCode()); balanceDOQueryWrapper.eq("location_code",saleShipmentDetailDO.getFromLocationCode());
balanceDOQueryWrapper.eq("inventory_status",saleShipmentDetailDO.getInventoryStatus()); balanceDOQueryWrapper.eq("inventory_status","OK");
List<BalanceDO> balanceDOS = balanceMapper.selectList(balanceDOQueryWrapper); List<BalanceDO> balanceDOS = balanceMapper.selectList(balanceDOQueryWrapper);
if(balanceDOS.size() == 0){ if(balanceDOS.size() == 0){
BalanceDO balanceDO = new BalanceDO(); BalanceDO balanceDONew = new BalanceDO();
balanceDO.setItemCode(saleShipmentDetailDO.getItemCode()); balanceDONew.setItemCode(saleShipmentDetailDO.getItemCode());
balanceDO.setLocationCode(saleShipmentDetailDO.getFromLocationCode()); balanceDONew.setLocationCode(saleShipmentDetailDO.getFromLocationCode());
balanceDO.setInventoryStatus(saleShipmentDetailDO.getInventoryStatus()); balanceDONew.setInventoryStatus(saleShipmentDetailDO.getInventoryStatus());
balanceDO.setQty(saleShipmentDetailDO.getQty()); balanceDONew.setQty(saleShipmentDetailDO.getQty());
LocationDO locationDO = locationService.selectLocation(saleShipmentDetailDO.getFromLocationCode()); LocationDO locationDO = locationService.selectLocation(saleShipmentDetailDO.getFromLocationCode());
if(locationDO != null) { if(locationDO != null) {
balanceDO.setAreaCode(locationDO.getAreaCode()); balanceDONew.setAreaCode(locationDO.getAreaCode());
balanceDO.setLocationGroupCode(locationDO.getLocationGroupCode()); balanceDONew.setLocationGroupCode(locationDO.getLocationGroupCode());
balanceDO.setWarehouseCode(locationDO.getWarehouseCode()); balanceDONew.setWarehouseCode(locationDO.getWarehouseCode());
} }
String key = balanceDO.getItemCode()+"#"+balanceDO.getLocationCode(); String key = balanceDONew.getItemCode()+"#"+balanceDONew.getLocationCode();
if(balanceMap.containsKey(key)){ if(balanceMap.containsKey(key)){
List<BalanceDO> balanceDOList = balanceMap.get(key); List<BalanceDO> balanceDOList = balanceMap.get(key);
balanceDOList.add(balanceDO); balanceDOList.add(balanceDONew);
balanceMap.put(key,balanceDOList); balanceMap.put(key,balanceDOList);
}else { }else {
List<BalanceDO> balanceDOList = new ArrayList<>(); List<BalanceDO> balanceDOList = new ArrayList<>();
balanceDOList.add(balanceDO); balanceDOList.add(balanceDONew);
balanceMap.put(key,balanceDOList); balanceMap.put(key,balanceDOList);
} }
balanceList.add(balanceDO); balanceList.add(balanceDONew);
}else { }else {
for(BalanceDO balanceDO:balanceDOS){ for(BalanceDO balanceDO:balanceDOS){
String key = balanceDO.getItemCode()+"#"+balanceDO.getLocationCode(); String key = balanceDO.getItemCode()+"#"+balanceDO.getLocationCode();
@ -426,8 +426,8 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
balanceDOList.add(balanceDO); balanceDOList.add(balanceDO);
balanceMap.put(key,balanceDOList); 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); // List<BalanceDO> balanceList = balanceService.selectByBusinessType(mainDO.getBusinessType(), itemCodeSet, new ArrayList<String>(Arrays.asList("OK")), locationCodes);
@ -568,22 +568,33 @@ public class SaleShipmentMainServiceImpl implements SaleShipmentMainService {
}else { }else {
diffeBalance = bo.getQty().subtract(transactionCreateReqVO.getQty()); 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());
recordDetailDOList.add(recordDetailDO);
bo.setQty(diffeBalance);
balanceMap.put(key,qtylist);
break;
} else if (diffeBalance.compareTo(BigDecimal.ZERO) >= 0 && recordDetailDO.getQty().compareTo(BigDecimal.ZERO) < 0) {
transactionCreateReqVO.setBatch(bo.getBatch()); 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); transactionCreateReqVOList.add(transactionCreateReqVO);
recordDetailDO.setBatch(bo.getBatch()); recordDetailDO.setBatch(bo.getBatch());
recordDetailDOList.add(recordDetailDO); recordDetailDOList.add(recordDetailDO);
bo.setQty(diffeBalance); bo.setQty(diffeBalance);
balanceMap.put(key,qtylist); balanceMap.put(key,qtylist);
break; break;
} else if (diffeBalance.compareTo(BigDecimal.ZERO) < 0) { }else if (diffeBalance.compareTo(BigDecimal.ZERO) < 0) {
TransactionCreateReqVO transactionCreateReqVO1 = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO1 = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVO, transactionCreateReqVO1); BeanUtils.copyProperties(transactionCreateReqVO, transactionCreateReqVO1);
transactionCreateReqVO1.setBatch(bo.getBatch()); transactionCreateReqVO1.setBatch(bo.getBatch());
transactionCreateReqVO1.setQty(bo.getQty()); transactionCreateReqVO1.setQty(bo.getQty());
transactionCreateReqVOList.add(transactionCreateReqVO1); transactionCreateReqVOList.add(transactionCreateReqVO1);
transactionCreateReqVO.setQty(transactionCreateReqVO.getQty().subtract(bo.getQty())); transactionCreateReqVO.setQty(transactionCreateReqVO.getQty().subtract(bo.getQty()));
SaleShipmentDetailRecordDO recordDetailDO1 = new SaleShipmentDetailRecordDO(); SaleShipmentDetailRecordDO recordDetailDO1 = new SaleShipmentDetailRecordDO();
BeanUtils.copyProperties(recordDetailDO, recordDetailDO1); BeanUtils.copyProperties(recordDetailDO, recordDetailDO1);
recordDetailDO1.setBatch(bo.getBatch()); recordDetailDO1.setBatch(bo.getBatch());

Loading…
Cancel
Save