|  | @@ -22,6 +22,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.domain.entity.TWarehouse;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.domain.model.LoginUser;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.exception.BaseException;
 | 
	
		
			
				|  |  | +import com.ruoyi.common.exception.StorageFeeException;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.exception.WarehouseException;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.utils.DateUtils;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.utils.DictUtils;
 | 
	
	
		
			
				|  | @@ -4551,6 +4552,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          // 获取税率
 | 
	
		
			
				|  |  |          List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        List<String> fMblnoMsgList = new ArrayList<>();
 | 
	
		
			
				|  |  |          for (CalculateStorageFeesInfoVO item : feesInfoVOList) {
 | 
	
		
			
				|  |  |              // 交以计算明细计费方式必填
 | 
	
		
			
				|  |  |              if (StringUtils.isNull(item.getFBillingway())) {
 | 
	
	
		
			
				|  | @@ -4611,7 +4613,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              storageFeesDto.setfNetweight(item.getFNetweight());
 | 
	
		
			
				|  |  |              storageFeesDto.setfGrossweight(item.getFGrossweight());
 | 
	
		
			
				|  |  |              // 仓储费协议计算
 | 
	
		
			
				|  |  | -            StorageFeeCalculationResultVO feeCalculationResultVO = tWarehouseAgreementService.getCarryingCost(storageFeesDto);
 | 
	
		
			
				|  |  | +            StorageFeeCalculationResultVO feeCalculationResultVO = null;
 | 
	
		
			
				|  |  | +            try {
 | 
	
		
			
				|  |  | +                feeCalculationResultVO = tWarehouseAgreementService.getCarryingCost(storageFeesDto);
 | 
	
		
			
				|  |  | +            } catch (StorageFeeException e) {
 | 
	
		
			
				|  |  | +                fMblnoMsgList.add(e.getMessage());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if (Objects.isNull(feeCalculationResultVO)) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -4665,6 +4673,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          resultVO.setAmt(sumAmt);
 | 
	
		
			
				|  |  |          resultVO.setItemFeesList(itemsList);
 | 
	
		
			
				|  |  | +        resultVO.setfMblnoMsgList(fMblnoMsgList);
 | 
	
		
			
				|  |  |          return resultVO;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4726,6 +4735,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          tWarehouseBills.setfId(null);
 | 
	
		
			
				|  |  |          List<CalculateStorageFeesInfoVO> feesInfoVOList = tWarehousebillsitemsMapper.selectStorageFeeItemList1(tWarehouseBills);
 | 
	
		
			
				|  |  |          tWarehouseBills.setfId(fPid);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<String> fMblnoMsgList = new ArrayList<>();
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(feesInfoVOList)) {
 | 
	
		
			
				|  |  |              StorageFeeCalculationResultVO resultVO = getWarehouseItems(tWarehouseBills, feesInfoVOList, loginUser, cangKey);
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(resultVO.getItemFeesList())) {
 | 
	
	
		
			
				|  | @@ -4737,6 +4748,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |                  itemsList = resultVO.getItemFeesList();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            fMblnoMsgList.addAll(resultVO.getfMblnoMsgList());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<CalculateStorageFeesInfoVO> whgenlegfeesInfoVOList = tWhgenlegMapper.selectStorageFeeItemList1(tWarehouseBills);
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(whgenlegfeesInfoVOList)) {
 | 
	
	
		
			
				|  | @@ -4754,6 +4766,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      itemsList.add(li);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            fMblnoMsgList.addAll(resultVO.getfMblnoMsgList());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          TFees tFees = new TFees();
 | 
	
		
			
				|  |  |          tFees.setfStatus("2");
 | 
	
	
		
			
				|  | @@ -4765,6 +4778,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          calculationResultVO.setFeesList(feesList);
 | 
	
		
			
				|  |  |          calculationResultVO.setWarehouseBills(tWarehouseBills);
 | 
	
		
			
				|  |  |          calculationResultVO.setWarehouseItemList(itemsList);
 | 
	
		
			
				|  |  | +        calculationResultVO.setfMblnoMsg(fMblnoMsgList.stream().distinct().collect(Collectors.joining(",")));
 | 
	
		
			
				|  |  |          return AjaxResult.success(calculationResultVO);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |