Browse Source

如果配箱数据件数合计小于等于0 不重新计算委托的件重尺

lijunping 4 months ago
parent
commit
495f85d18c

+ 14 - 10
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersServiceImpl.java

@@ -497,6 +497,7 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R submitList(List<Containers> list) {
+		BigDecimal quantity;
 		String deptId = AuthUtil.getDeptId();
 		String deptName = "";
 		String branchId = AuthUtil.getDeptId();
@@ -509,16 +510,19 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 //		List<ContainersBills> subtractContainersBillsList = new ArrayList<>();
 		List<ContainersCommodity> containersCommodityList = new ArrayList<>();
 		Bills bills = billsMapper.selectById(list.get(0).getPid());
-		bills.setQuantity(list.stream().map(Containers::getQuantity).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setGrossWeight(list.stream().map(Containers::getGrossWeight).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setMeasurement(list.stream().map(Containers::getMeasurement).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setCfsQuantity(list.stream().map(Containers::getQuantity).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setCfsGrossWeight(list.stream().map(Containers::getGrossWeight).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setCfsMeasurement(list.stream().map(Containers::getMeasurement).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		bills.setUpdateUserName(AuthUtil.getUserName());
-		bills.setUpdateUser(AuthUtil.getUserId());
-		bills.setUpdateTime(new Date());
-		billsMapper.updateById(bills);
+		quantity = list.stream().map(Containers::getQuantity).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+		if (quantity.compareTo(BigDecimal.ZERO) > 0){
+			bills.setQuantity(quantity);
+			bills.setGrossWeight(list.stream().map(Containers::getGrossWeight).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			bills.setMeasurement(list.stream().map(Containers::getMeasurement).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			bills.setCfsQuantity(list.stream().map(Containers::getQuantity).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			bills.setCfsGrossWeight(list.stream().map(Containers::getGrossWeight).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			bills.setCfsMeasurement(list.stream().map(Containers::getMeasurement).filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			bills.setUpdateUserName(AuthUtil.getUserName());
+			bills.setUpdateUser(AuthUtil.getUserId());
+			bills.setUpdateTime(new Date());
+			billsMapper.updateById(bills);
+		}
 		for (Containers containers : list) {
 			BoxNumUtils.containerNumberVerification(containers.getCntrNo());
 			String sealNo = ObjectUtils.isNotNull(containers.getSealNo()) ? containers.getSealNo().toUpperCase() : "";