|
@@ -1168,7 +1168,7 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
Double paidAmount = payOrderMapper.getOrderProductPaidAmount(orderProduct.getOrderProductId());
|
|
|
if (paidAmount != null && MathUtil.compare(paidAmount, 0) > 0) {
|
|
|
costPrice = MathUtil.sub(costPrice, paidAmount).doubleValue();
|
|
|
- splitAmount = MathUtil.sub(splitAmount, paidAmount).doubleValue();
|
|
|
+ splitAmount = MathUtil.sub(splitAmount, costPrice).doubleValue();
|
|
|
}
|
|
|
if (paidAmount == null || MathUtil.compare(paidAmount, costPrice) < 0) {
|
|
|
// 待分账金额>=本次待分账金额
|
|
@@ -1180,32 +1180,34 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
}
|
|
|
}
|
|
|
String commercialCode = payOrderMapper.getShopCommercialCode(orderProduct.getShopId());
|
|
|
- SplitAccountPo splitAccount = new SplitAccountPo();
|
|
|
- splitAccount.setOrderId(order.getOrderId());
|
|
|
- splitAccount.setOrderProductId(orderProduct.getOrderProductId());
|
|
|
- splitAccount.setShopId(orderProduct.getShopId());
|
|
|
- splitAccount.setSplitAccount(costPrice);
|
|
|
- splitAccount.setProductType(1);
|
|
|
- if (StringUtils.isNotBlank(commercialCode)) {
|
|
|
- // 供应商拥有子商户号
|
|
|
- splitAccount.setType(4);
|
|
|
- splitAccount.setSubUserNo(commercialCode);
|
|
|
- } else {
|
|
|
- if (1 == orderProduct.getInvoiceType()) {
|
|
|
- // 开增值税发票,则分账到公账-专票
|
|
|
- splitAccount.setType(1);
|
|
|
- splitAccount.setSubUserNo(PayUtil.publicAccountNo);
|
|
|
- } else if (2 == orderProduct.getInvoiceType()) {
|
|
|
- // 开普通发票,则分账到公账-普票
|
|
|
- splitAccount.setType(3);
|
|
|
- splitAccount.setSubUserNo(PayUtil.commonInvoiceNo);
|
|
|
+ if (costPrice > 0) {
|
|
|
+ SplitAccountPo splitAccount = new SplitAccountPo();
|
|
|
+ splitAccount.setOrderId(order.getOrderId());
|
|
|
+ splitAccount.setOrderProductId(orderProduct.getOrderProductId());
|
|
|
+ splitAccount.setShopId(orderProduct.getShopId());
|
|
|
+ splitAccount.setSplitAccount(costPrice);
|
|
|
+ splitAccount.setProductType(1);
|
|
|
+ if (StringUtils.isNotBlank(commercialCode)) {
|
|
|
+ // 供应商拥有子商户号
|
|
|
+ splitAccount.setType(4);
|
|
|
+ splitAccount.setSubUserNo(commercialCode);
|
|
|
} else {
|
|
|
- // 不能开票,则分账到私账-无票
|
|
|
- splitAccount.setType(2);
|
|
|
- splitAccount.setSubUserNo(PayUtil.privateAccountNo);
|
|
|
+ if (1 == orderProduct.getInvoiceType()) {
|
|
|
+ // 开增值税发票,则分账到公账-专票
|
|
|
+ splitAccount.setType(1);
|
|
|
+ splitAccount.setSubUserNo(PayUtil.publicAccountNo);
|
|
|
+ } else if (2 == orderProduct.getInvoiceType()) {
|
|
|
+ // 开普通发票,则分账到公账-普票
|
|
|
+ splitAccount.setType(3);
|
|
|
+ splitAccount.setSubUserNo(PayUtil.commonInvoiceNo);
|
|
|
+ } else {
|
|
|
+ // 不能开票,则分账到私账-无票
|
|
|
+ splitAccount.setType(2);
|
|
|
+ splitAccount.setSubUserNo(PayUtil.privateAccountNo);
|
|
|
+ }
|
|
|
}
|
|
|
+ list.add(splitAccount);
|
|
|
}
|
|
|
- list.add(splitAccount);
|
|
|
if (MathUtil.compare(splitAmount, 0) == 0) {
|
|
|
break;
|
|
|
}
|