wangzhuo 2 лет назад
Родитель
Сommit
8826a6c9a7

+ 11 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/feign/IDeliveryClient.java

@@ -26,6 +26,7 @@ public interface IDeliveryClient {
 	String GET_ORDER_MESSAGE = API_PREFIX + "getOrderMessage";
 	String GET_ORDER_MESSAGE = API_PREFIX + "getOrderMessage";
 	String SUBMITPAY = API_PREFIX +"/submitPay";
 	String SUBMITPAY = API_PREFIX +"/submitPay";
 	String GET_ORDER_DATA = API_PREFIX +"/getOrderData";
 	String GET_ORDER_DATA = API_PREFIX +"/getOrderData";
+	String GET_ORG_MESSAGE = API_PREFIX + "/getOrgMessage";
 
 
 	/**
 	/**
 	 * 生成发货单
 	 * 生成发货单
@@ -65,4 +66,14 @@ public interface IDeliveryClient {
 								   @RequestParam("billType") String billType,
 								   @RequestParam("billType") String billType,
 								   @RequestParam("tradeType") String tradeType);
 								   @RequestParam("tradeType") String tradeType);
 
 
+
+	/**
+	 * 根据销售订单系统号获取是否有收发货
+	 * @param orgOrderNo
+	 * @return
+	 */
+	@GetMapping(GET_ORG_MESSAGE)
+	List<Delivery> getOrgMessage(@RequestParam("orgOrderNo") String orgOrderNo,
+								   @RequestParam("tradeType") String tradeType);
+
 }
 }

+ 18 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -1191,4 +1191,22 @@ public class Order implements Serializable {
 	@ApiModelProperty("收货状态")
 	@ApiModelProperty("收货状态")
 	private String receivingStatus;
 	private String receivingStatus;
 
 
+	/**
+	 * 销售退单状态
+	 */
+	@ApiModelProperty(value = "销售退单状态")
+	private Integer chargebackStatus;
+
+	/**
+	 * 销售退单人
+	 */
+	@ApiModelProperty(value = "销售退单人")
+	private String chargebackUser;
+
+	/**
+	 * 销售退单时间
+	 */
+	@ApiModelProperty(value = "销售退单时间")
+	private Date chargebackTime;
+
 }
 }

+ 6 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/feign/DeliveryClient.java

@@ -83,4 +83,10 @@ public class DeliveryClient implements IDeliveryClient{
 		return deliveryService.list(new QueryWrapper<Delivery>().like("bill_no",orderNo).eq("is_deleted",0).eq("tenant_id", SecureUtil.getTenantId()).eq("trade_type",tradeType).eq("bill_type",billType));
 		return deliveryService.list(new QueryWrapper<Delivery>().like("bill_no",orderNo).eq("is_deleted",0).eq("tenant_id", SecureUtil.getTenantId()).eq("trade_type",tradeType).eq("bill_type",billType));
 
 
 	}
 	}
+
+	@Override
+	@GetMapping(GET_ORG_MESSAGE)
+	public List<Delivery> getOrgMessage(String orgOrderNo,String tradeType) {
+		return deliveryService.list(new QueryWrapper<Delivery>().eq("org_order_no",orgOrderNo).eq("is_deleted",0).eq("tenant_id", SecureUtil.getTenantId()).eq("trade_type",tradeType));
+	}
 }
 }

+ 5 - 5
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -799,7 +799,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		}
 		}
 
 
 		Date date = new Date();
 		Date date = new Date();
-		Order orderStatus = orderDescClient.getById(select.getOrgId());
+		Order orderStatus = orderDescClient.getById(select.getSrcId());
 		if("681169".equals(AuthUtil.getTenantId())){
 		if("681169".equals(AuthUtil.getTenantId())){
 			delivery.setDeliveryStatus("已发货");
 			delivery.setDeliveryStatus("已发货");
 			delivery.setFreightQuantity(select.getTotalQuantity());
 			delivery.setFreightQuantity(select.getTotalQuantity());
@@ -808,7 +808,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			baseMapper.updateById(delivery);
 			baseMapper.updateById(delivery);
 
 
 			Order temp = new Order();
 			Order temp = new Order();
-			temp.setId(select.getOrgId());//销售主表id
+			temp.setId(select.getSrcId());//销售主表id
 			if (ObjectUtil.isNotEmpty(orderStatus.getReceivingStatus()) && "已收货".equals(orderStatus.getReceivingStatus())){
 			if (ObjectUtil.isNotEmpty(orderStatus.getReceivingStatus()) && "已收货".equals(orderStatus.getReceivingStatus())){
 				temp.setOrderStatus("已完成");
 				temp.setOrderStatus("已完成");
 			}
 			}
@@ -826,7 +826,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			orderDescClient.updateOrder(temp);
 			orderDescClient.updateOrder(temp);
 
 
 			Order orderTemp = new Order();
 			Order orderTemp = new Order();
-			orderTemp.setId(select.getSrcId());//采购主表id
+			orderTemp.setId(select.getOrgId());//采购主表id
 			orderTemp.setOrderStatus("待收货");
 			orderTemp.setOrderStatus("待收货");
 			orderTemp.setActualDeliveryDate(select.getBusinessDate());
 			orderTemp.setActualDeliveryDate(select.getBusinessDate());
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){
@@ -845,7 +845,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			baseMapper.updateById(delivery);
 			baseMapper.updateById(delivery);
 
 
 			Order temp = new Order();
 			Order temp = new Order();
-			temp.setId(select.getOrgId());
+			temp.setId(select.getOrgId());//采购主表id
 			temp.setOrderStatus("待发货");
 			temp.setOrderStatus("待发货");
 			temp.setActualDeliveryDate(select.getBusinessDate());
 			temp.setActualDeliveryDate(select.getBusinessDate());
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){
@@ -857,7 +857,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			orderDescClient.updateOrder(temp);
 			orderDescClient.updateOrder(temp);
 
 
 			Order orderTemp = new Order();
 			Order orderTemp = new Order();
-			orderTemp.setId(select.getSrcId());
+			orderTemp.setId(select.getSrcId());//销售主表id
 			orderTemp.setOrderStatus("已发货");
 			orderTemp.setOrderStatus("已发货");
 			orderTemp.setActualDeliveryDate(select.getBusinessDate());
 			orderTemp.setActualDeliveryDate(select.getBusinessDate());
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){
 			if (select.getTotalQuantity().compareTo(BigDecimal.ZERO) == 0){

+ 34 - 5
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java

@@ -851,20 +851,49 @@ public class OrderController extends BladeController {
 	}
 	}
 
 
 	/**
 	/**
-	 * 审批通过撤销审
+	 * 申请退单审批请
 	 */
 	 */
-	@PostMapping("/checkPassCancel")
+	@PostMapping("/checkChargeBack")
+	@RepeatSubmit
+	public R checkChargeBack(@RequestBody Order order) {
+		orderService.checkChargeBack(order);
+		return R.data("操作成功");
+	}
+
+	/**
+	 * 申请退单审核中
+	 */
+	@PostMapping("/underChargeBackReview")
+	@ApiOperationSupport(order = 14)
+	@ApiOperation(value = "申请退单审核中", notes = "传入id")
+	public R underChargeBackReview(@ApiParam(value = "主表id", required = true) @RequestParam Long id) {
+		orderService.underChargeBackReview(id);
+		return R.success("操作成功");
+	}
+
+	/**
+	 * 申请退单审批通过
+	 */
+	@PostMapping("/checkRepealCancel")
 	@ApiOperationSupport(order = 12)
 	@ApiOperationSupport(order = 12)
 	@ApiOperation(value = "审批通过撤销审核", notes = "传入id")
 	@ApiOperation(value = "审批通过撤销审核", notes = "传入id")
 	public R checkRepealCancel(@ApiParam(value = "主表id", required = true) @RequestParam Long id) {
 	public R checkRepealCancel(@ApiParam(value = "主表id", required = true) @RequestParam Long id) {
-		if (id == null){
-			throw  new SecurityException("缺少必要的参数");
-		}
 		orderService.checkPassCancel(id);
 		orderService.checkPassCancel(id);
 		return R.success("操作成功");
 		return R.success("操作成功");
 	}
 	}
 
 
 	/**
 	/**
+	 * 申请退单审核不通过
+	 */
+	@PostMapping("/passChargeBackCancel")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "申请退单审核不通过", notes = "传入财务id")
+	public R passChargeBackCancel(@RequestParam Long id) {
+		orderService.passChargeBackCancel(id);
+		return R.success("操作成功");
+	}
+
+	/**
 	 * 特批审核通过
 	 * 特批审核通过
 	 */
 	 */
 	@PostMapping("/passSpecialCheck")
 	@PostMapping("/passSpecialCheck")

+ 2 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -1222,4 +1222,6 @@ public class ExportOrderController extends BladeController {
 			ExcelUtil.export(response, "数量金额汇总对比统计", "数量金额汇总对比统计", list, TotalSummaryExcel.class);
 			ExcelUtil.export(response, "数量金额汇总对比统计", "数量金额汇总对比统计", list, TotalSummaryExcel.class);
 		}
 		}
 	}
 	}
+
+
 }
 }

+ 3 - 3
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -2739,7 +2739,7 @@ ORDER BY
                 </foreach>
                 </foreach>
             </if>
             </if>
             <if test="totalSummaryVo.year !=null and totalSummaryVo.year != ''">
             <if test="totalSummaryVo.year !=null and totalSummaryVo.year != ''">
-                AND YEAR ( BO.create_time ) = #{totalSummaryVo.year}
+                AND YEAR ( BO.receipt_time ) = #{totalSummaryVo.year}
             </if>
             </if>
             <if test="totalSummaryVo.status != null and totalSummaryVo.status != '' and totalSummaryVo.status == 0">
             <if test="totalSummaryVo.status != null and totalSummaryVo.status != '' and totalSummaryVo.status == 0">
                 AND BO.receipt_time IS NOT NULL
                 AND BO.receipt_time IS NOT NULL
@@ -2787,7 +2787,7 @@ ORDER BY
                 </foreach>
                 </foreach>
             </if>
             </if>
             <if test="statisticsVo.year !=null and statisticsVo.year != ''">
             <if test="statisticsVo.year !=null and statisticsVo.year != ''">
-                AND YEAR ( BO.create_time ) = #{statisticsVo.year}
+                AND YEAR ( BO.receipt_time ) = #{statisticsVo.year}
             </if>
             </if>
             <if test="statisticsVo.month !=null and statisticsVo.month != ''">
             <if test="statisticsVo.month !=null and statisticsVo.month != ''">
                 AND IF
                 AND IF
@@ -3176,7 +3176,7 @@ ORDER BY
                 </foreach>
                 </foreach>
             </if>
             </if>
             <if test="totalSummaryVo.year !=null and totalSummaryVo.year != ''">
             <if test="totalSummaryVo.year !=null and totalSummaryVo.year != ''">
-                AND YEAR ( BO.create_time ) = #{totalSummaryVo.year}
+                AND YEAR ( BO.receipt_time ) = #{totalSummaryVo.year}
             </if>
             </if>
             <if test="totalSummaryVo.status != null and totalSummaryVo.status != '' and totalSummaryVo.status == 0">
             <if test="totalSummaryVo.status != null and totalSummaryVo.status != '' and totalSummaryVo.status == 0">
                 AND BO.receipt_time IS NOT NULL
                 AND BO.receipt_time IS NOT NULL

+ 18 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/IOrderService.java

@@ -112,6 +112,8 @@ public interface IOrderService extends IService<Order> {
 
 
 	void checkOrder(Order order);
 	void checkOrder(Order order);
 
 
+
+
 	void passCheck(Long id);
 	void passCheck(Long id);
 
 
 	void underReview(Long id);
 	void underReview(Long id);
@@ -119,10 +121,25 @@ public interface IOrderService extends IService<Order> {
 	void passCancel(Long id);
 	void passCancel(Long id);
 
 
 	/**
 	/**
-	 * 审批通过撤销审核
+	 * 申请退单审批请核
+	 */
+	void checkChargeBack(Order order);
+
+	/**
+	 * 申请退单审批中
+	 */
+	void underChargeBackReview(Long id);
+
+	/**
+	 * 申请退单审批通过
 	 */
 	 */
 	void checkPassCancel(Long id);
 	void checkPassCancel(Long id);
 
 
+	/**
+	 * 申请退单审批不通过
+	 */
+	void passChargeBackCancel(Long id);
+
 	void passSpecialCheck(Long id);
 	void passSpecialCheck(Long id);
 
 
 	void underSpecialReview(Long id);
 	void underSpecialReview(Long id);

+ 134 - 21
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -76,6 +76,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 
+import javax.sql.rowset.serial.SerialException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.math.BigInteger;
 import java.math.MathContext;
 import java.math.MathContext;
@@ -1132,6 +1133,122 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 	}
 
 
 	@Override
 	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
+	public void checkChargeBack(Order order) {
+		Order salesOrder = baseMapper.selectById(order.getId());
+
+		if (ObjectUtil.isEmpty(salesOrder)){//判断单据是否存在
+			throw new SecurityException("单据信息异常");
+		}
+
+		if (salesOrder.getChargebackStatus() == 1){
+			throw new SecurityException("订单已开启审核,请勿重复提交");
+		}
+
+		//根据销售订单id获得采购订单
+		Order orderPurchase = baseMapper.selectOne(new LambdaQueryWrapper<Order>()
+			.eq(Order::getIsDeleted, 0)
+			.eq(Order::getTenantId, AuthUtil.getTenantId())
+			.eq(Order::getSrcId, salesOrder.getId()));
+		if (ObjectUtil.isNotEmpty(orderPurchase)){//判断采购订单是否存在
+			throw new SecurityException("采购订单已存在,禁止撤销");
+		}
+
+		//根据订单号获得收发货
+		List<Delivery> deliveryList = deliveryClient.getOrgMessage(salesOrder.getOrderNo(), OrderTypeEnum.DOMESTIC.getType());
+		if (CollectionUtils.isNotEmpty(deliveryList)) {//判断收发货是否存在
+			throw new SecurityException("收发货单据已存在,禁止撤销");
+		}
+
+		//获得财务收款信息
+		List<Settlement> settlementList = financeClient.selectSrcOrderNo(salesOrder.getOrderNo());
+		if (CollectionUtils.isNotEmpty(settlementList)) {//判断收款是否存在
+			throw new SecurityException("收款单据已存在,禁止撤销");
+		}
+
+		//审批数据
+		AuditProecessDTO auditProecessDTO = new AuditProecessDTO();
+		//获取审批级次
+		List<AuditPathsLevels> auditPathsLevels = null;
+		// 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
+		AuditPathsActs pathsActs = null;
+		//是否开启流程
+		pathsActs = iCheckClient.getActsByActId(21, "status");
+		//获取审批信息
+		auditPathsLevels = iCheckClient.listLevelsByActId(21, "status");
+		auditProecessDTO.setTimes(1);
+
+		// 没开启审批流直接走 通过流程
+		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
+			throw new SecurityException("当前租户未查询到审批流配置");
+		} else {
+
+			if (CollectionUtils.isEmpty(auditPathsLevels)) {
+				throw new SecurityException("开启审批失败:未查询到审批信息");
+			}
+
+			//增加审批类型
+			auditProecessDTO.setProcessType("退单审批");
+
+			LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			orderItemsLambdaQueryWrapper
+				.eq(OrderItems::getGoodType, 0)
+				.eq(OrderItems::getPid, salesOrder.getId())
+				.eq(OrderItems::getIsDeleted, 0);
+			List<OrderItems> orderItems = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
+			if (CollectionUtils.isNotEmpty(orderItems)) {
+				auditProecessDTO.setOrderQuantity(orderItems.stream().map(OrderItems::getOrderQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				auditProecessDTO.setAmount(orderItems.stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setOrderQuantity(BigDecimal.ZERO);
+				auditProecessDTO.setAmount(BigDecimal.ZERO);
+			}
+
+			// 绑定审核类型
+			auditProecessDTO.setCheckType("XSTD");//代理订单
+			// 追加跳转路由url
+			auditProecessDTO.setUrl(salesOrder.getUrl());
+			auditProecessDTO.setPageStatus(salesOrder.getPageStatus());
+			auditProecessDTO.setPageLabel(salesOrder.getPageLabel());
+			auditProecessDTO.setOrderRemark(salesOrder.getOrderRemark());//订单备注
+			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			auditProecessDTO.setActId(1);
+			auditProecessDTO.setSrcBillId(salesOrder.getId());//申请表id
+			auditProecessDTO.setBillId(salesOrder.getId());//业务id
+			auditProecessDTO.setBillNo(salesOrder.getOrderNo());//业务编号
+			auditProecessDTO.setSendUserId(AuthUtil.getUserId());//请核人id
+			auditProecessDTO.setSendName(AuthUtil.getUserName());//请核人名称
+			auditProecessDTO.setSendTime(new Date());//请核时间
+			auditProecessDTO.setBillTime(salesOrder.getCreateTime());//业务日期
+			auditProecessDTO.setTenantId(AuthUtil.getTenantId());//租户id
+			R financeProcess = iCheckClient.createFinanceProcess(auditProecessDTO);
+			if (!financeProcess.isSuccess()) {
+				throw new SecurityException("操作失败,请联系管理员");
+			}
+		}
+
+		salesOrder.setChargebackStatus(1);
+		salesOrder.setChargebackUser(AuthUtil.getUserName());
+		salesOrder.setChargebackTime(new Date());
+		baseMapper.updateById(salesOrder);
+
+	}
+
+	/**
+	 * 申请退单审批中
+	 */
+	@Override
+	public void underChargeBackReview(Long id) {
+		Order order = baseMapper.selectById(id);
+		if (order == null) {
+			throw new SecurityException("审批失败");
+		}
+		order.setChargebackStatus(2);
+		baseMapper.updateById(order);
+	}
+
+	@Override
 	public void passCheck(Long id) {
 	public void passCheck(Long id) {
 
 
 		// ===========================start 审核通过修改销售订单信息==========================
 		// ===========================start 审核通过修改销售订单信息==========================
@@ -1370,27 +1487,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			throw new SecurityException("撤销失败");
 			throw new SecurityException("撤销失败");
 		}
 		}
 
 
-		//根据销售订单id获得采购订单
-		Order orderPurchase = baseMapper.selectOne(new LambdaQueryWrapper<Order>()
-			.eq(Order::getIsDeleted, 0)
-			.eq(Order::getTenantId, AuthUtil.getTenantId())
-			.eq(Order::getSrcId, orderMessage.getId()));
-		if (ObjectUtil.isNotEmpty(orderPurchase)){//判断采购订单是否存在
-			throw new SecurityException("采购订单已存在,禁止撤销");
-		}
-
-		//根据订单号获得工厂发货
-		List<Delivery> deliveryList = deliveryClient.getOrderMessage(orderMessage.getOrderNo(), OrderTypeEnum.DOMESTIC.getType());
-		if (CollectionUtils.isNotEmpty(deliveryList)) {//判断收发货是否存在
-			throw new SecurityException("收发货单据已存在,禁止撤销");
-		}
-
-		//获得财务收款信息
-		List<Settlement> settlementList = financeClient.selectSrcOrderNo(orderMessage.getOrderNo());
-		if (CollectionUtils.isNotEmpty(settlementList)) {//判断收款是否存在
-			throw new SecurityException("收款单据已存在,禁止撤销");
-		}
-
 		// 销售释放库存
 		// 销售释放库存
 		if ("XS".equals(orderMessage.getBillType()) && orderMessage.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
 		if ("XS".equals(orderMessage.getBillType()) && orderMessage.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
 			// ===========================Start 审核撤销释放库存=============================
 			// ===========================Start 审核撤销释放库存=============================
@@ -1514,6 +1610,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 
 	}
 	}
 
 
+	/**
+	 * 申请退单审批不通过
+	 */
+	@Override
+	public void passChargeBackCancel(Long id) {
+		Order order = baseMapper.selectById(id);
+		if (order == null) {
+			throw new SecurityException("审批失败");
+		}
+		baseMapper.update(null, new LambdaUpdateWrapper<Order>()
+			.set(Order::getChargebackStatus, 0)
+			.set(Order::getChargebackUser, null)
+			.set(Order::getChargebackTime, null)
+			.eq(Order::getId, id)
+		);
+	}
+
 	@Override
 	@Override
 	public void passSpecialCheck(Long id) {
 	public void passSpecialCheck(Long id) {
 		Order order = baseMapper.selectById(id);
 		Order order = baseMapper.selectById(id);

+ 3 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -1339,7 +1339,9 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				sysOrderNo = sysOrderNo.append(items.getSrcOrderno()).append(",");
 				sysOrderNo = sysOrderNo.append(items.getSrcOrderno()).append(",");
 			}
 			}
 		}
 		}
-		model.setSrcOrderno(sysOrderNo.substring(0, sysOrderNo.toString().length() - 1));
+		if (ObjectUtil.isNotEmpty(sysOrderNo)){
+			model.setSrcOrderno(sysOrderNo.substring(0, sysOrderNo.toString().length() - 1));
+		}
 
 
 		model.setForeignAmount(foreignTotal);
 		model.setForeignAmount(foreignTotal);
 		// todo 暂定用租户判断 国内贸易 收费 人民币金额 可以手输
 		// todo 暂定用租户判断 国内贸易 收费 人民币金额 可以手输