提交 969d3040 authored 作者: 艾庆国's avatar 艾庆国

承运优化需求9.25-车主结算单

上级 1c05e538
......@@ -94,7 +94,6 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction;
import com.purchase.manage.dto.SupervisionLoadInfoDto;
import com.purchase.manage.dto.SupervisionLoadTruckInfoDto;
import com.scm.lms.manage.action.LmsWeighingSignatureAction;
import com.smart.business.sdk.request.dto.WeighingSignatureDto;
import com.smart.business.sdk.request.dto.WeightChildSignatureDto;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
......
......@@ -240,34 +240,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
}
//生成车主结算单
// settlementDriverSave(settlementDriverDetail,settlementNo);
//车主结算单自动支付
log.info(" 运单号 {}, 是否是普通单 {} ",settlementDriverDetail.getChildNo(),settlementDriverDetail.getInvoiceType());
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail);
} else {
if (Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),
QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
&& Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
else if (settlementDriverDetail.getPrepayFreightFlag().equals(SettlementDriverEnum.PrepayFreightFlag.PAYED.getCode())
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo);
settlementDriverDetail.setSettlementNo(settlementNo);
settlementOwnerDetailDao.updateSettlementNo(settlementOwnerDetail);
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
}
@Override
......@@ -306,7 +285,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode());
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
......@@ -316,7 +295,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDao.saveEntity(settlementDriver);
settlementPostService.driverSettle(settlementDriverDetail.getChildNo());
settlementDriverDetail.setSettlementNo(settlementDriver.getSettlementNo());
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
}
@Transactional(rollbackFor = Exception.class)
......@@ -695,46 +675,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
}
// private void settlementDriverSave(SettlementDriverDetail detail,String settlementNo){
// SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(detail.getChildNo()).orElse(new SettlementDriver());
// settlementDriver.setDriverUserNo(detail.getDriverUserNo());
// settlementDriver.setDriverName(detail.getDriverName());
// settlementDriver.setSettlementNo(settlementNo);
// settlementDriver.setChildNo(detail.getChildNo());
// settlementDriver.setOrderGoodsNo(detail.getOrderGoodsNo());
// settlementDriver.setOrderNo(detail.getOrderNo());
// settlementDriver.setGoodsId(detail.getGoodsId());
// settlementDriver.setGoodsName(detail.getGoodsName());
// settlementDriver.setTruckNo(detail.getTruckNo());
// settlementDriver.setFreightPrice(detail.getFreightPrice());
// settlementDriver.setWeight(detail.getWeight());
// settlementDriver.setFreight(detail.getFreight());
// settlementDriver.setLossPrice(detail.getLossPrice());
// settlementDriver.setLossWeight(detail.getLossWeight());
// settlementDriver.setLoanFlag(detail.getLoanFlag());
// settlementDriver.setLossFreight(detail.getLossFreight());
// settlementDriver.setPrepayFreightFlag(detail.getPrepayFreightFlag());
// settlementDriver.setSettlementFreight(detail.getSettlementFreight());
// settlementDriver.setInvoiceType(detail.getInvoiceType());
// settlementDriver.setSettlementPlatform(detail.getInvoiceType() == 1 ?
// String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
// String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
//
// settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
//
// settlementDriver.setInvoicingCompanyId(detail.getInvoicingCompanyId());
// settlementDriver.setInvoicingCompanyShorterName(detail.getInvoicingCompanyShorterName());
// settlementDriver.setInvoicingCompanyGroupCode(detail.getInvoicingCompanyGroupCode());
// settlementDriver.setPlatformServiceFeeRate(detail.getPlatformServiceFeeRate());
// settlementDriver.setPlatformServiceFee(detail.getPlatformServiceFee());
//
// if (settlementDriver.getId() == null) {
// settlementDriverDao.saveEntity(settlementDriver);
// }else {
// settlementDriverDao.updateEntityByKey(settlementDriver);
// }
// }
@Override
public void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg){
......@@ -1270,6 +1210,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
OrderChild orderChild = orderChildDao.getByChildNo(mq.getChildNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (orderChild.getConfirmTime() == null) {return;}
OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(orderChild.getChildNo()).orNull();
if (settlementDriver == null
|| !Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode())
......@@ -1277,6 +1220,28 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return;
}
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//车主结算单自动支付
log.info(" 运单号 {}, 是否是普通单 {} ",settlementDriverDetail.getChildNo(),settlementDriverDetail.getInvoiceType());
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail);
} else {
if (Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),
QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
&& Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
else if (settlementDriverDetail.getPrepayFreightFlag().equals(SettlementDriverEnum.PrepayFreightFlag.PAYED.getCode())
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriverDao.updateSettleStatus(settlementDriver);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论