|  | @@ -624,7 +624,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          if (StringUtils.isNull(warehouseBills.getfId())) {
 | 
	
		
			
				|  |  |              // 如果是新数据
 | 
	
		
			
				|  |  |              warehouseBills.setfBillstatus(2L);
 | 
	
		
			
				|  |  | -            warehouseBills.setfItemsStatus(1L);
 | 
	
		
			
				|  |  |              warehouseBills.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |              warehouseBills.setfBilltype(billsType);
 | 
	
		
			
				|  |  |              warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
 | 
	
	
		
			
				|  | @@ -657,10 +656,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              deleteBillsitems(fPid, tWarehousebillsitems);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 库存明细添加
 | 
	
		
			
				|  |  | -        if (StringUtils.isNull(tWarehousebillsitems) || "[]".equals(tWarehousebillsitems)) {
 | 
	
		
			
				|  |  | -            warehouseBills.setfItemsStatus(1L);
 | 
	
		
			
				|  |  | -            tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tWarehousebillsitems) && !"[]".equals(tWarehousebillsitems)) {
 | 
	
		
			
				|  |  |              JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
 | 
	
		
			
				|  |  |              List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  |              Date mixDate = new Date();
 | 
	
	
		
			
				|  | @@ -799,6 +795,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              tWarehousebillsitemsMapper.updatefStorageFeeDeadlinefPid(fPid);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        calculationWarehouseService.calculationBillStatus(warehouseBills);
 | 
	
		
			
				|  |  | +        tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  |          TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
 | 
	
		
			
				|  |  |          warehousebillsitems.setfPid(fPid);
 | 
	
		
			
				|  |  |          map.put("warehouseBills", tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()));
 | 
	
	
		
			
				|  | @@ -4523,7 +4521,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          // 取出明细id进行查询是否存在已计算仓储费的地方
 | 
	
		
			
				|  |  |          List<Long> ids = tWarehouseBillsList.stream().map(TWarehouseBills::getfId).distinct().collect(toList());
 | 
	
		
			
				|  |  |          // 判断是否存在仓库明细已被计算仓储费
 | 
	
		
			
				|  |  | -        if (tWarehousebillsitemsMapper.selectIsCalculateStorageFeesByIdsOrType(ids, WarehouseTypeEnum.CALCULATE.getType()) > 0) {
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(ids) && tWarehousebillsitemsMapper.selectIsCalculateStorageFeesByIdsOrType(ids, WarehouseTypeEnum.CALCULATE.getType()) > 0) {
 | 
	
		
			
				|  |  |              throw new WarehouseException("该出库已被计算仓储费");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<TWarehousebillsfees> list = new ArrayList<>();
 | 
	
	
		
			
				|  | @@ -4644,7 +4642,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 计算仓库状态
 | 
	
		
			
				|  |  | -        tWarehousebills.setfItemsStatus(calculationWarehouseService.calculationBillStatus(tWarehousebills));
 | 
	
		
			
				|  |  | +        calculationWarehouseService.calculationBillStatus(tWarehousebills);
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
 | 
	
		
			
				|  |  |          if (billstatus) {
 | 
	
		
			
				|  |  |              String key = "warehouse.storageFeeCalculation.ApprovalFlow";
 | 
	
	
		
			
				|  | @@ -4705,11 +4703,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<TWarehousebillsfees> feesList = tWarehousebillsfeesMapper.selectWarehousebillsfeesByPId(warehouseBills.getfId());
 | 
	
		
			
				|  |  |          if (CollectionUtils.isEmpty(feesList)) {
 | 
	
		
			
				|  |  | -            throw new WarehouseException("未找到需要跟新的费用信息");
 | 
	
		
			
				|  |  | +            throw new WarehouseException("未找到需要更新的费用信息");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 过滤出明细信息查询是否存在已计算仓储费
 | 
	
		
			
				|  |  | -        List<Long> ids = feesList.stream().map(TWarehousebillsfees::getSrcId).distinct().collect(toList());
 | 
	
		
			
				|  |  | -        if (tWarehousebillsitemsMapper.selectIsCalculateStorageFeesByIds(ids) > 0) {
 | 
	
		
			
				|  |  | +        List<Long> ids = feesList.stream().filter(li -> !li.getfBilltype().equals(WarehouseTypeEnum.KCZZ.getType()))
 | 
	
		
			
				|  |  | +                .map(TWarehousebillsfees::getSrcId).distinct().collect(toList());
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(ids) && tWarehousebillsitemsMapper.selectIsCalculateStorageFeesByIds(ids) > 0) {
 | 
	
		
			
				|  |  |              throw new WarehouseException("计算费用中存在已计算仓储费信息");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          for (TWarehousebillsfees fees : feesList) {
 | 
	
	
		
			
				|  | @@ -7063,7 +7062,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 计算明细数据件数、毛重、净重总和数量
 | 
	
		
			
				|  |  |          calculationWarehouseService.calculationWarehouseQuantity(warehouseBills);
 | 
	
		
			
				|  |  | -        warehouseBills.setfItemsStatus(calculationWarehouseService.calculationBillStatus(warehouseBills));
 | 
	
		
			
				|  |  | +        calculationWarehouseService.calculationBillStatus(warehouseBills);
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  |          // 遍历费用信息
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(warehousebillsDTO.getWarehousebillsfeesList())) {
 | 
	
	
		
			
				|  | @@ -7110,7 +7109,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 计算明细数据件数、毛重、净重总和数量
 | 
	
		
			
				|  |  |          calculationWarehouseService.calculationWarehouseQuantity(warehousebillsDTO);
 | 
	
		
			
				|  |  | -        warehousebillsDTO.setfItemsStatus(calculationWarehouseService.calculationBillStatus(warehousebillsDTO));
 | 
	
		
			
				|  |  | +        calculationWarehouseService.calculationBillStatus(warehousebillsDTO);
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(warehousebillsDTO);
 | 
	
		
			
				|  |  |          // 遍历费用信息
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(warehousebillsDTO.getWarehousebillsfeesList())) {
 |