纪新园 пре 3 година
родитељ
комит
87000c301f

+ 8 - 2
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java

@@ -429,11 +429,17 @@ public class AppPartsController extends BladeController {
 		//成本
 		BigDecimal cost = new BigDecimal("0.00");
 		Map<String, BigDecimal> mapXS = orderService.turnoverAnalysis("XS", type, statusDate, endDate);
+
 		Map<String, BigDecimal> mapCG = orderService.turnoverAnalysis("CG", type, statusDate, endDate);
+
 		income = income.add(mapXS.get("income"));
+
 		expenditure = expenditure.add(mapCG.get("expenditure"));
-		profit = profit.add(mapXS.get("profit").subtract(mapCG.get("profit")));
-		cost = cost.add(mapXS.get("cost").subtract(mapCG.get("cost")));
+
+		cost = cost.add(mapXS.get("cost"));
+
+		profit = profit.add(mapXS.get("income").subtract(cost));
+
 		map.put("income", income);
 		map.put("expenditure", expenditure);
 		map.put("profit", profit);

+ 233 - 192
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -1798,200 +1798,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	 */
 	@Override
 	public Map<String, Object> calculationDomesticFees(Order order) {
-
-		//客户
-		List<CorpsDesc> corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
-		//总费用
-		BigDecimal amount = new BigDecimal(0);
-		//分摊金额
-		BigDecimal amountF = new BigDecimal(0);
+		List<Map<String,Object>> mapList = new ArrayList<>();
+		if (order.getDomesticAbroad().equals("1")){
+			order.setDomesticAbroad("1");
+			List<Map<String,Object>> mapList1 = calculationDomestic(order,1);
+			mapList.addAll(mapList1);
+			order.setDomesticAbroad("2");
+			List<Map<String,Object>> mapList2 = calculationDomestic(order,1);
+			mapList.addAll(mapList2);
+		}else{
+			List<Map<String,Object>> mapList2 = calculationDomestic(order,2);
+			mapList.addAll(mapList2);
+		}
 		//返回数据
 		Map<String, Object> map = new HashMap<>();
-		//应收集合
-		List<Map<String, Object>> mapList = new ArrayList<>();
-
-		//获取费用主表信息
-		LambdaQueryWrapper<OrderCost> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(OrderCost::getGoodsAttribute, order.getCargoType())
-			.eq(OrderCost::getOutHarborName, order.getPortOfLoad());
-		if (order.getDomesticAbroad().equals("2")) {//判断是否计算国际费用
-			lambdaQueryWrapper.eq(OrderCost::getObjectiveName, order.getPortOfDestination());
-		}
-		lambdaQueryWrapper.eq(OrderCost::getStatus, 0)
-			.eq(OrderCost::getTenantId, AuthUtil.getTenantId())
-			.eq(OrderCost::getIsDeleted, 0);
-		//明细数据
-		List<OrderItems> orderItemsList = order.getOrderItemsList();
-		//获取费用主表信息
-		List<OrderCost> orderCostList = orderCostMapper.selectList(lambdaQueryWrapper);
-		//国内费用追加海运费
-		if(order.getDomesticAbroad().equals("1")){
-			//获取费用主表信息
-			LambdaQueryWrapper<OrderCost> lambdaQueryWrappers = new LambdaQueryWrapper<>();
-			lambdaQueryWrappers.eq(OrderCost::getGoodsAttribute, order.getCargoType())
-				.eq(OrderCost::getOutHarborName, order.getPortOfLoad());
-			lambdaQueryWrappers.eq(OrderCost::getObjectiveName, order.getPortOfDestination());
-			lambdaQueryWrappers.eq(OrderCost::getStatus, 0)
-				.eq(OrderCost::getTenantId, AuthUtil.getTenantId())
-				.eq(OrderCost::getIsDeleted, 0);
-			//获取费用主表信息
-			List<OrderCost> orderCostLists = orderCostMapper.selectList(lambdaQueryWrapper);
-			orderCostList.addAll(orderCostLists);
-		}
-		for (OrderCost orderCost : orderCostList) {
-			//获取费用明细
-			LambdaQueryWrapper<OrderCostItem> itemLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			itemLambdaQueryWrapper.eq(OrderCostItem::getPId, orderCost.getId());
-			if (order.getDomesticAbroad().equals("1")) {//判断是否计算国际费用
-				//获取明细第一条供应商所在地
-				if (ObjectUtils.isNotNull(orderItemsList)) {
-					Long corpId = orderItemsList.get(0).getCorpId();
-					//供应商
-					CorpsDesc corpsDesc = corpsDescList.stream().filter(corps -> corps.getId().equals(corpId)).findFirst().orElse(null);
-					if (ObjectUtils.isNotNull(corpsDesc) && ObjectUtils.isNotNull(corpsDesc.getBelongtoarea())) {
-						itemLambdaQueryWrapper.apply("find_in_set(departure,'" + corpsDesc.getBelongtoarea() + "')");//明细供应商所在地址
-					}
-				}
-			}
-			itemLambdaQueryWrapper.eq(OrderCostItem::getStatus, 0)
-				.eq(OrderCostItem::getTenantId, AuthUtil.getTenantId())
-				.eq(OrderCostItem::getIsDeleted, 0);
-			//获取费用明细
-			List<OrderCostItem> orderCostItemList = orderCostItemMapper.selectList(itemLambdaQueryWrapper);
-			for (OrderCostItem orderCostItem : orderCostItemList) {
-				Map<String, Object> feesMap = new HashMap<>();
-				feesMap.put("feeName", orderCostItem.getFeesName());
-				feesMap.put("itemId", orderCostItem.getFeesId());
-
-				//判断是否计算国内费用
-				if (order.getDomesticAbroad().equals("1") && orderCostItem.getCurrency().equals("CNY")) {
-					feesMap.put("currency", "CNY");
-					feesMap.put("exchangeRate", "1.00");
-					//陆运费
-					if (orderCostItem.getType() == 1) {
-						feesMap.put("quantity", order.getBoxNumber());
-						//陆运费=箱型费用*箱量/汇率
-						if ("20GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "20GP");
-							feesMap.put("price", orderCostItem.getTwentyGp());
-						} else if ("40GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40GP");
-							feesMap.put("price", orderCostItem.getFortyGp());
-						} else if ("40HC".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40HC");
-							feesMap.put("price", orderCostItem.getFortyHc());
-						} else if ("45GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyFiveGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "45GP");
-							feesMap.put("price", orderCostItem.getFortyFiveGp());
-						} else if ("PALLET".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getPallet().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "PALLET");
-							feesMap.put("price", orderCostItem.getPallet());
-						}
-					} else if (orderCostItem.getType() == 2) {//运费
-						feesMap.put("quantity", order.getBoxNumber());
-						//运费=箱型费用*箱量/汇率  || 箱型费用*箱量
-						if ("20GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "20GP");
-							feesMap.put("price", orderCostItem.getTwentyGp());
-						} else if ("40GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40GP");
-							feesMap.put("price", orderCostItem.getFortyGp());
-						} else if ("40HC".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40HC");
-							feesMap.put("price", orderCostItem.getFortyHc());
-						}
-					} else if (orderCostItem.getType() == 3) {//杂费
-						//杂费 = 票费用/汇率  || 票费用
-						amount = amount.add(orderCostItem.getTicket());
-						feesMap.put("unit", "JOB");
-						feesMap.put("price", orderCostItem.getTicket());
-						feesMap.put("quantity", 1);
-					}
-					mapList.add(feesMap);
-				} else if (order.getDomesticAbroad().equals("2") && orderCostItem.getCurrency().equals("USD")) {
-					feesMap.put("currency", "USD");
-					feesMap.put("exchangeRate", order.getExchangeRate());
-					//陆运费
-					if (orderCostItem.getType() == 1) {
-						feesMap.put("quantity", order.getBoxNumber());
-						//陆运费=箱型费用*箱量/汇率
-						if ("20GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "20GP");
-							feesMap.put("price", orderCostItem.getTwentyGp());
-						} else if ("40GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40GP");
-							feesMap.put("price", orderCostItem.getFortyGp());
-						} else if ("40HC".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40HC");
-							feesMap.put("price", orderCostItem.getFortyHc());
-						} else if ("45GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyFiveGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "45GP");
-							feesMap.put("price", orderCostItem.getFortyFiveGp());
-						} else if ("PALLET".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getPallet().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "PALLET");
-							feesMap.put("price", orderCostItem.getPallet());
-						}
-					} else if (orderCostItem.getType() == 2) {//运费
-						feesMap.put("quantity", order.getBoxNumber());
-						//运费=箱型费用*箱量/汇率  || 箱型费用*箱量
-						if ("20GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "20GP");
-							feesMap.put("price", orderCostItem.getTwentyGp());
-						} else if ("40GP".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40GP");
-							feesMap.put("price", orderCostItem.getFortyGp());
-						} else if ("40HC".equals(order.getBoxPile())) {
-							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
-							feesMap.put("unit", "40HC");
-							feesMap.put("price", orderCostItem.getFortyHc());
-						}
-					} else if (orderCostItem.getType() == 3) {//杂费
-						//杂费 = 票费用/汇率  || 票费用
-						amount = amount.add(orderCostItem.getTicket());
-						feesMap.put("unit", "JOB");
-						feesMap.put("price", orderCostItem.getTicket());
-						feesMap.put("quantity", 1);
-					}
-					mapList.add(feesMap);
-				}
-			}
-		}
-//		//分摊费用额 = 总费用/总货值
-//		if (!amount.equals(new BigDecimal(0))) {
-//			if (order.getDomesticAbroad().equals("1") && order.getCurrency().equals("CNY")) {
-//				amount = amount;
-//			} else if (order.getDomesticAbroad().equals("1") && order.getCurrency().equals("USD")) {
-//				amount = amount.divide(order.getExchangeRate(), MathContext.DECIMAL32);
-//			} else if (order.getDomesticAbroad().equals("2") && order.getCurrency().equals("CNY")) {
-//				amount = amount.multiply(order.getExchangeRate(), MathContext.DECIMAL32);
-//			} else if (order.getDomesticAbroad().equals("2") && order.getCurrency().equals("USD")) {
-//				amount = amount;
-//			}
-//			if(ObjectUtils.isNotNull(order.getTotalValue()) || !order.getTotalValue().equals(new BigDecimal("0.00"))){
-//				amountF = amount.divide(order.getTotalValue(), MathContext.DECIMAL32);
-//				amountF = amountF.setScale(8, BigDecimal.ROUND_HALF_UP);
-//				amount = amount.setScale(8, BigDecimal.ROUND_HALF_UP);
-//			}else{
-//				throw new RuntimeException("总货值为0");
-//			}
-//		}
-//		map.put("amount", amount.toString());
-//		map.put("amountF", amountF.toString());
 		map.put("fees", mapList);
 		return map;
 	}
@@ -3149,6 +2969,227 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		}
 	}
 
+	public List<Map<String,Object>> calculationDomestic(Order order,int type) {
+
+		//应收集合
+		List<Map<String, Object>> mapList = new ArrayList<>();
+
+		//客户
+		List<CorpsDesc> corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
+		//总费用
+		BigDecimal amount = new BigDecimal(0);
+		//分摊金额
+		BigDecimal amountF = new BigDecimal(0);
+
+		//获取费用主表信息
+		LambdaQueryWrapper<OrderCost> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(OrderCost::getGoodsAttribute, order.getCargoType())
+			.eq(OrderCost::getOutHarborName, order.getPortOfLoad());
+		if (order.getDomesticAbroad().equals("2")) {//判断是否计算国际费用
+			lambdaQueryWrapper.eq(OrderCost::getObjectiveName, order.getPortOfDestination());
+		}
+		lambdaQueryWrapper.eq(OrderCost::getStatus, 0)
+			.eq(OrderCost::getTenantId, AuthUtil.getTenantId())
+			.eq(OrderCost::getIsDeleted, 0);
+		//明细数据
+		List<OrderItems> orderItemsList = order.getOrderItemsList();
+		//获取费用主表信息
+		List<OrderCost> orderCostList = orderCostMapper.selectList(lambdaQueryWrapper);
+		for (OrderCost orderCost : orderCostList) {
+			//获取费用明细
+			LambdaQueryWrapper<OrderCostItem> itemLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			itemLambdaQueryWrapper.eq(OrderCostItem::getPId, orderCost.getId());
+			if (order.getDomesticAbroad().equals("1")) {//判断是否计算国际费用
+				//获取明细第一条供应商所在地
+				if (ObjectUtils.isNotNull(orderItemsList)) {
+					Long corpId = orderItemsList.get(0).getCorpId();
+					//供应商
+					CorpsDesc corpsDesc = corpsDescList.stream().filter(corps -> corps.getId().equals(corpId)).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(corpsDesc) && ObjectUtils.isNotNull(corpsDesc.getBelongtoarea())) {
+						itemLambdaQueryWrapper.apply("find_in_set(departure,'" + corpsDesc.getBelongtoarea() + "')");//明细供应商所在地址
+					}
+				}
+			}
+			itemLambdaQueryWrapper.eq(OrderCostItem::getStatus, 0)
+				.eq(OrderCostItem::getTenantId, AuthUtil.getTenantId())
+				.eq(OrderCostItem::getIsDeleted, 0);
+			//获取费用明细
+			List<OrderCostItem> orderCostItemList = orderCostItemMapper.selectList(itemLambdaQueryWrapper);
+			for (OrderCostItem orderCostItem : orderCostItemList) {
+				Map<String, Object> feesMap = new HashMap<>();
+				feesMap.put("feeName", orderCostItem.getFeesName());
+				feesMap.put("itemId", orderCostItem.getFeesId());
+
+				//判断是否计算国内费用
+				if (order.getDomesticAbroad().equals("1") && orderCostItem.getCurrency().equals("CNY")) {
+					feesMap.put("currency", "CNY");
+					feesMap.put("exchangeRate", "1.00");
+					//陆运费
+					if (orderCostItem.getType() == 1) {
+						feesMap.put("quantity", order.getBoxNumber());
+						//陆运费=箱型费用*箱量/汇率
+						if ("20GP".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "20GP");
+							feesMap.put("price", orderCostItem.getTwentyGp());
+						} else if ("40GP".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "40GP");
+							feesMap.put("price", orderCostItem.getFortyGp());
+						} else if ("40HC".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "40HC");
+							feesMap.put("price", orderCostItem.getFortyHc());
+						} else if ("45GP".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getFortyFiveGp().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "45GP");
+							feesMap.put("price", orderCostItem.getFortyFiveGp());
+						} else if ("PALLET".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getPallet().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "PALLET");
+							feesMap.put("price", orderCostItem.getPallet());
+						}
+					} else if (orderCostItem.getType() == 2) {//运费
+						feesMap.put("quantity", order.getBoxNumber());
+						//运费=箱型费用*箱量/汇率  || 箱型费用*箱量
+						if ("20GP".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "20GP");
+							feesMap.put("price", orderCostItem.getTwentyGp());
+						} else if ("40GP".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "40GP");
+							feesMap.put("price", orderCostItem.getFortyGp());
+						} else if ("40HC".equals(order.getBoxPile())) {
+							amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+							feesMap.put("unit", "40HC");
+							feesMap.put("price", orderCostItem.getFortyHc());
+						}
+					} else if (orderCostItem.getType() == 3) {//杂费
+						//杂费 = 票费用/汇率  || 票费用
+						amount = amount.add(orderCostItem.getTicket());
+						feesMap.put("unit", "JOB");
+						feesMap.put("price", orderCostItem.getTicket());
+						feesMap.put("quantity", 1);
+					}
+					mapList.add(feesMap);
+				} else if (order.getDomesticAbroad().equals("2")) {
+					if (type == 2){
+						if (orderCostItem.getCurrency().equals("USD")){
+							feesMap.put("currency", "USD");
+							feesMap.put("exchangeRate", order.getExchangeRate());
+							//陆运费
+							if (orderCostItem.getType() == 1) {
+								feesMap.put("quantity", order.getBoxNumber());
+								//陆运费=箱型费用*箱量/汇率
+								if ("20GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "20GP");
+									feesMap.put("price", orderCostItem.getTwentyGp());
+								} else if ("40GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40GP");
+									feesMap.put("price", orderCostItem.getFortyGp());
+								} else if ("40HC".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40HC");
+									feesMap.put("price", orderCostItem.getFortyHc());
+								} else if ("45GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyFiveGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "45GP");
+									feesMap.put("price", orderCostItem.getFortyFiveGp());
+								} else if ("PALLET".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getPallet().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "PALLET");
+									feesMap.put("price", orderCostItem.getPallet());
+								}
+							} else if (orderCostItem.getType() == 2) {//运费
+								feesMap.put("quantity", order.getBoxNumber());
+								//运费=箱型费用*箱量/汇率  || 箱型费用*箱量
+								if ("20GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "20GP");
+									feesMap.put("price", orderCostItem.getTwentyGp());
+								} else if ("40GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40GP");
+									feesMap.put("price", orderCostItem.getFortyGp());
+								} else if ("40HC".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40HC");
+									feesMap.put("price", orderCostItem.getFortyHc());
+								}
+							} else if (orderCostItem.getType() == 3) {//杂费
+								//杂费 = 票费用/汇率  || 票费用
+								amount = amount.add(orderCostItem.getTicket());
+								feesMap.put("unit", "JOB");
+								feesMap.put("price", orderCostItem.getTicket());
+								feesMap.put("quantity", 1);
+							}
+							mapList.add(feesMap);
+						}
+					}else{
+						if (orderCostItem.getCurrency().equals("CNY")) {
+							feesMap.put("currency", "CNY");
+							feesMap.put("exchangeRate", "1");
+							//陆运费
+							if (orderCostItem.getType() == 1) {
+								feesMap.put("quantity", order.getBoxNumber());
+								//陆运费=箱型费用*箱量/汇率
+								if ("20GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "20GP");
+									feesMap.put("price", orderCostItem.getTwentyGp());
+								} else if ("40GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40GP");
+									feesMap.put("price", orderCostItem.getFortyGp());
+								} else if ("40HC".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40HC");
+									feesMap.put("price", orderCostItem.getFortyHc());
+								} else if ("45GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyFiveGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "45GP");
+									feesMap.put("price", orderCostItem.getFortyFiveGp());
+								} else if ("PALLET".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getPallet().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "PALLET");
+									feesMap.put("price", orderCostItem.getPallet());
+								}
+							} else if (orderCostItem.getType() == 2) {//运费
+								feesMap.put("quantity", order.getBoxNumber());
+								//运费=箱型费用*箱量/汇率  || 箱型费用*箱量
+								if ("20GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getTwentyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "20GP");
+									feesMap.put("price", orderCostItem.getTwentyGp());
+								} else if ("40GP".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyGp().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40GP");
+									feesMap.put("price", orderCostItem.getFortyGp());
+								} else if ("40HC".equals(order.getBoxPile())) {
+									amount = amount.add(orderCostItem.getFortyHc().multiply(order.getBoxNumber()));
+									feesMap.put("unit", "40HC");
+									feesMap.put("price", orderCostItem.getFortyHc());
+								}
+							} else if (orderCostItem.getType() == 3) {//杂费
+								//杂费 = 票费用/汇率  || 票费用
+								amount = amount.add(orderCostItem.getTicket());
+								feesMap.put("unit", "JOB");
+								feesMap.put("price", orderCostItem.getTicket());
+								feesMap.put("quantity", 1);
+							}
+							mapList.add(feesMap);
+						}
+					}
+				}
+			}
+		}
+		return mapList;
+	}
+
+
 	/**
 	 * 将Object转换成List类型
 	 *