提交 908823f0 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v30.6_order_quote_20241022' into dev_jdk17

...@@ -39,6 +39,7 @@ public class OrderChild implements HasKey<Integer> { ...@@ -39,6 +39,7 @@ public class OrderChild implements HasKey<Integer> {
private Integer goodsId; //货物id private Integer goodsId; //货物id
private String goodsName; //货物名称 private String goodsName; //货物名称
private BigDecimal freightPrice; //运费单价(分) private BigDecimal freightPrice; //运费单价(分)
private BigDecimal forecastFreightPrice; //预估运费单价(分)
private BigDecimal lossPrice; //损耗单价(分) private BigDecimal lossPrice; //损耗单价(分)
private BigDecimal orderFreightPrice; //订单运费单价(分) private BigDecimal orderFreightPrice; //订单运费单价(分)
......
...@@ -169,6 +169,8 @@ public class OrderGoods implements HasKey<Integer> { ...@@ -169,6 +169,8 @@ public class OrderGoods implements HasKey<Integer> {
@Schema(description="挂单运费") @Schema(description="挂单运费")
private BigDecimal pendingOrderFreight; private BigDecimal pendingOrderFreight;
private BigDecimal forecastOrderFreight; //预估运费单价(分)
@TableField("user_no") @TableField("user_no")
@Schema(description="创建人用户编号") @Schema(description="创建人用户编号")
private Long userNo; private Long userNo;
......
...@@ -25,7 +25,7 @@ public class SettlementOrderChildRisk implements HasKey<Integer> { ...@@ -25,7 +25,7 @@ public class SettlementOrderChildRisk implements HasKey<Integer> {
private String driverMobile; // 司机手机号 private String driverMobile; // 司机手机号
private String goodsName; // 货物名称 private String goodsName; // 货物名称
private Integer invoiceType; // 开票标识:1网运单 2普通单 private Integer invoiceType; // 开票标识:1网运单 2普通单
private Integer invoiceConfigType; // 开票配置:0否 2 private Integer invoiceConfigType; // 开票配置:0否 1
private LocalDateTime poundAuditTime; // 磅单审核通过时间 private LocalDateTime poundAuditTime; // 磅单审核通过时间
private Integer riskType; // 风控标识:1同步失败 2结算打回 private Integer riskType; // 风控标识:1同步失败 2结算打回
private String riskRemark; // 风控失败原因 private String riskRemark; // 风控失败原因
......
package com.clx.performance.service.broker; package com.clx.performance.service.broker;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
...@@ -10,10 +9,9 @@ import com.clx.performance.model.settle.SettlementOwnerDetail; ...@@ -10,10 +9,9 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
public interface OrderChildBrokerService { public interface OrderChildBrokerService {
void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO); SettlementDriverDetail settlementDriverDetail);
void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver);
OwnerQuotationDetailVO quotationDetailVO);
void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail); void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail);
......
...@@ -498,6 +498,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -498,6 +498,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setOrderNo(orderGoods.getOrderNo()); orderChild.setOrderNo(orderGoods.getOrderNo());
orderChild.setOrderGoodsNo(orderGoods.getOrderGoodsNo()); orderChild.setOrderGoodsNo(orderGoods.getOrderGoodsNo());
orderChild.setFreightPrice(orderGoods.getPendingOrderFreight()); orderChild.setFreightPrice(orderGoods.getPendingOrderFreight());
orderChild.setForecastFreightPrice(orderGoods.getForecastOrderFreight());
orderChild.setLossPrice(orderGoods.getLossPrice()); orderChild.setLossPrice(orderGoods.getLossPrice());
orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice()); orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice());
......
package com.clx.performance.service.impl.broker; package com.clx.performance.service.impl.broker;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.InvoicingCompanyFeign;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO; import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
...@@ -65,12 +68,17 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -65,12 +68,17 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired @Autowired
private QuotationService quotationService; private QuotationService quotationService;
@Autowired
private InvoicingCompanyFeign invoicingCompanyFeign;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) { public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
try{ try{
doOrderChildSync(mq); doOrderChildSync(mq);
// 同步-无车承运成功后,更新开票标识为普通单
updateInvoiceTypeByChildNo(mq.getChildNo());
}catch (Exception e){ }catch (Exception e){
log.info("无车承运-运单同步 失败,msg:{}", ExceptionUtils.getStackTrace(e)); log.info("无车承运-运单同步 失败,msg:{}", ExceptionUtils.getStackTrace(e));
...@@ -94,8 +102,11 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -94,8 +102,11 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常"); settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk); // 若开票配置为是
if (this.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
} }
} }
...@@ -112,17 +123,13 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -112,17 +123,13 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 获取最新订单报价数据
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderChild.getOrderNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 更新状态 // 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail); settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
try{ try{
// 同步broker // 同步broker
orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail, quotationDetailVO); orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
} catch (Exception e) { } catch (Exception e) {
log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
...@@ -144,10 +151,6 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -144,10 +151,6 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
SettlementDriver settlementDriver = settlementDriverDao SettlementDriver settlementDriver = settlementDriverDao
.getByChildNo(orderChild.getChildNo()).orNull(); .getByChildNo(orderChild.getChildNo()).orNull();
// 获取最新订单报价数据
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderChild.getOrderNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){ if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){
return; return;
} }
...@@ -162,7 +165,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -162,7 +165,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
try{ try{
// 更新broker // 更新broker
orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail, orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver, quotationDetailVO); settlementDriverDetail, settlementDriver);
} catch (Exception e) { } catch (Exception e) {
log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
...@@ -182,4 +185,40 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -182,4 +185,40 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
} }
/**
* 开票配置为是
*
* @param orderNo
* @return
*/
public boolean invoiceConfigType(String orderNo) {
// 调用开票配置接口
Integer invoiceConfigType = invoicingCompanyFeign.getInvoicingConfigTypeByOrderNo(orderNo).getData();
log.info("notInvoiceConfigType invoiceConfigType:{}", invoiceConfigType);
// 若开票配置为是
return Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType,
QuotationEnum.InvoicingConfigType.YES.getCode());
}
/**
* 更新当前运单号,更新开票标识为普通单
*/
public void updateInvoiceTypeByChildNo(String childNo) {
// 获取货主详情
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao
.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 获取车主详情
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 开票配置为否时,更新开票标识为普通单
if (!this.invoiceConfigType(settlementOwnerDetail.getOrderNo())) {
// 货主更新开票标识
settlementOwnerDetail.setInvoiceType(InvoicingCompanyEnum.RiskProcessType.AUTO.getCode());
settlementOwnerDetailDao.updateEntityByKey(settlementOwnerDetail);
// 车主更新开票标识
settlementDriverDetail.setInvoiceType(InvoicingCompanyEnum.RiskProcessType.AUTO.getCode());
settlementDriverDetailDao.updateEntityByKey(settlementDriverDetail);
}
}
} }
package com.clx.performance.service.impl.broker; package com.clx.performance.service.impl.broker;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.AddressFeign; import com.clx.order.feign.AddressFeign;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildImageDao; import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.PowerTypeEnum; import com.clx.performance.enums.PowerTypeEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum; import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
...@@ -43,6 +42,7 @@ import java.util.Objects; ...@@ -43,6 +42,7 @@ import java.util.Objects;
@Service @Service
public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
private static final String LONG_TERM_TIME = "2099-01-01 00:00:00"; private static final String LONG_TERM_TIME = "2099-01-01 00:00:00";
private static final String ZERO_STR = "0";
@Autowired @Autowired
private BrokerService brokerService; private BrokerService brokerService;
...@@ -68,20 +68,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -68,20 +68,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
@Override @Override
public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO) { SettlementDriverDetail settlementDriverDetail) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, null, quotationDetailVO); settlementDriverDetail, null);
brokerService.orderChildSync(transportParam); brokerService.orderChildSync(transportParam);
} }
@Override @Override
public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver) {
OwnerQuotationDetailVO quotationDetailVO) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver, quotationDetailVO); settlementDriverDetail, settlementDriver);
// 运单更新 // 运单更新
brokerService.orderChildUpdate(transportParam); brokerService.orderChildUpdate(transportParam);
...@@ -95,13 +94,14 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -95,13 +94,14 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
} }
private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver){
OwnerQuotationDetailVO quotationDetailVO){
String host = documentFeign.getHost().getData(); String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
OwnerInfoFeignVO ownerInfoFeign = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData();
//String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile(); //String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile();
String ownerMobile = String.valueOf(orderInfoFeign.getOwnerUserNo()); String ownerMobile = String.valueOf(orderInfoFeign.getOwnerUserNo());
String ownerName = ownerInfoFeign.getName();
FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData(); FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData();
FeignAddressVO.Address receiveAddress = data.getReceiveAddress(); FeignAddressVO.Address receiveAddress = data.getReceiveAddress();
...@@ -118,13 +118,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -118,13 +118,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfoWithTransport(orderChild.getTruckId()).getData(); TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfoWithTransport(orderChild.getTruckId()).getData();
InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 参数组装 // 参数组装
TransportParam transportParam = new TransportParam(); TransportParam transportParam = new TransportParam();
transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode()); // 与承运平台约定默认设置0字符串
transportParam.setTransportPlatformCode(ZERO_STR);
// 若有开票配置,且开票配置为是,则使用开票配置的平台编码
if (Objects.equals(settlementOwnerDetail.getInvoiceConfigType(), QuotationEnum.InvoicingConfigType.YES.getCode())) {
InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode());
transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode());
}
transportParam.setOrderCode(orderChild.getChildNo()); transportParam.setOrderCode(orderChild.getChildNo());
transportParam.setOwnerMobile(ownerMobile); transportParam.setOwnerMobile(ownerMobile);
transportParam.setOwnerName(ownerName);
// 货单 // 货单
OpenOrderDTO orderInfo = new OpenOrderDTO(); OpenOrderDTO orderInfo = new OpenOrderDTO();
...@@ -304,9 +310,9 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -304,9 +310,9 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSettleStatus(settlementDriver!=null orderChildInfo.setSettleStatus(settlementDriver!=null
&& Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0); && Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0);
// 开票票配置 // 开票票配置
orderChildInfo.setInvoiceNeed(quotationDetailVO.getInvoiceConfigType()); orderChildInfo.setInvoiceNeed(settlementOwnerDetail.getInvoiceConfigType());
// 预估运费单价 // 预估运费单价
orderChildInfo.setPredictFreightPrice(quotationDetailVO.getForecastFreightQuotation().intValue()); orderChildInfo.setPredictFreightPrice(orderChild.getForecastFreightPrice().intValue());
transportParam.setOrder(orderInfo); transportParam.setOrder(orderInfo);
transportParam.setOrderChildImage(imageList); transportParam.setOrderChildImage(imageList);
......
...@@ -2,7 +2,10 @@ package com.clx.performance.service.impl.settle; ...@@ -2,7 +2,10 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
...@@ -75,10 +78,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -75,10 +78,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 结算金额 // 结算金额
settlementDriverDetail.setSettlementFreight(settlementFreightCalc(settlementDriverDetail.getFreight(), settlementDriverDetail.getLossFreight())); settlementDriverDetail.setSettlementFreight(settlementFreightCalc(settlementDriverDetail.getFreight(), settlementDriverDetail.getLossFreight()));
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 平台服务费: 司机结算金额*平台服务费费率 // 平台服务费: 司机结算金额*平台服务费费率
settlementDriverDetail.setPlatformServiceFeeRate(orderChild.getPlatformServiceFeeRate()==null settlementDriverDetail.setPlatformServiceFeeRate(orderChild.getPlatformServiceFeeRate()==null
? BigDecimal.ZERO ? BigDecimal.ZERO
...@@ -89,8 +88,12 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -89,8 +88,12 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 开票配置 // 开票配置
Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo()); Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
if (Objects.nonNull(invoiceConfigType)) { settlementDriverDetail.setInvoiceConfigType(invoiceConfigType);
settlementDriverDetail.setInvoiceConfigType(invoiceConfigType); if (Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
} }
settlementDriverDetailDao.saveEntity(settlementDriverDetail); settlementDriverDetailDao.saveEntity(settlementDriverDetail);
...@@ -195,7 +198,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -195,7 +198,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
rowData.add(new ExcelData(dto.getGoodsName())); rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getTruckNo())); rowData.add(new ExcelData(dto.getTruckNo()));
// 开票配置 // 开票配置
rowData.add(new ExcelData(dto.getInvoicingConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoicingConfigType()))); rowData.add(new ExcelData(dto.getInvoiceConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoiceConfigType())));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType()))); rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag()))); rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag())));
......
...@@ -3,7 +3,9 @@ package com.clx.performance.service.impl.settle; ...@@ -3,7 +3,9 @@ package com.clx.performance.service.impl.settle;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.clx.order.enums.InvoicingCompanyEnum; import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.enums.QuotationEnum; import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.config.MslPaymentConfig; import com.clx.performance.config.MslPaymentConfig;
import com.clx.performance.constant.RedissonConstants; import com.clx.performance.constant.RedissonConstants;
...@@ -35,6 +37,7 @@ import com.clx.performance.service.PaymentService; ...@@ -35,6 +37,7 @@ import com.clx.performance.service.PaymentService;
import com.clx.performance.service.broker.OrderChildBrokerMqService; import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService; import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.impl.broker.OrderChildBrokerMqHandlerServiceImpl;
import com.clx.performance.service.settle.*; import com.clx.performance.service.settle.*;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.RedisUtil; import com.clx.performance.utils.RedisUtil;
...@@ -158,6 +161,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -158,6 +161,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired @Autowired
private SettlementPostService settlementPostService; private SettlementPostService settlementPostService;
@Autowired
private OrderChildBrokerMqHandlerServiceImpl orderChildBrokerMqHandlerService;
@Autowired
private OrderFeign orderFeign;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -287,9 +295,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -287,9 +295,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriver.setStatus(SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode()); settlementDriver.setStatus(SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId()); // 订单报价需求-开票配置为否,对应开票公司信息赋值为null
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName()); settlementDriver.setInvoicingCompanyId(null != settlementDriverDetail.getInvoicingCompanyId()
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode()); ? settlementDriverDetail.getInvoicingCompanyId() : null);
settlementDriver.setInvoicingCompanyShorterName(null != settlementDriverDetail.getInvoicingCompanyShorterName()
? settlementDriverDetail.getInvoicingCompanyShorterName() : null);
settlementDriver.setInvoicingCompanyGroupCode(null != settlementDriverDetail.getInvoicingCompanyGroupCode()
? settlementDriverDetail.getInvoicingCompanyGroupCode() : null);
settlementDriver.setPlatformServiceFeeRate(settlementDriverDetail.getPlatformServiceFeeRate()); settlementDriver.setPlatformServiceFeeRate(settlementDriverDetail.getPlatformServiceFeeRate());
settlementDriver.setPlatformServiceFee(settlementDriverDetail.getPlatformServiceFee()); settlementDriver.setPlatformServiceFee(settlementDriverDetail.getPlatformServiceFee());
...@@ -372,7 +384,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -372,7 +384,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg()); settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk); // 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl invoiceTypeSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
...@@ -485,7 +501,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -485,7 +501,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg()); settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl invoiceStatusSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
...@@ -566,7 +587,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -566,7 +587,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg()); settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl payStatusSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
...@@ -611,7 +637,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -611,7 +637,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSettleMsg()); settlementOrderChildRisk.setRiskRemark(result.getSettleMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl-payStatusSync-结算状态为失败,当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
} }
...@@ -848,9 +879,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -848,9 +879,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setCompanyContactAddress(ownerInfo.getContactsAddress()); settlementOwner.setCompanyContactAddress(ownerInfo.getContactsAddress());
settlementOwner.setSettlementWay(settlementOwnerDetail.getSettlementWay()); settlementOwner.setSettlementWay(settlementOwnerDetail.getSettlementWay());
//设置开票公司 //设置开票公司
settlementOwner.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId()); settlementOwner.setInvoicingCompanyId(null != settlementOwnerDetail.getInvoicingCompanyId()
settlementOwner.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName()); ? settlementOwnerDetail.getInvoicingCompanyId() : null);
settlementOwner.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode()); settlementOwner.setInvoicingCompanyShorterName(null != settlementOwnerDetail.getInvoicingCompanyShorterName()
? settlementOwnerDetail.getInvoicingCompanyShorterName() : null);
settlementOwner.setInvoicingCompanyGroupCode(null != settlementOwnerDetail.getInvoicingCompanyGroupCode()
? settlementOwnerDetail.getInvoicingCompanyGroupCode() : null);
settlementOwner.setReportFlag(orderInfo.getReportFlag()); settlementOwner.setReportFlag(orderInfo.getReportFlag());
// 开票服务费 // 开票服务费
settlementOwner.setInvoiceServiceFee(settlementOwnerDetail.getInvoiceServiceFee()); settlementOwner.setInvoiceServiceFee(settlementOwnerDetail.getInvoiceServiceFee());
...@@ -1068,16 +1102,24 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -1068,16 +1102,24 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
OrderGoods orderGoods = orderGoodsDao OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 查询开票公司 // 开票配置
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO); settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) { FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
settlementOwnerDetail.setInvoiceServiceFeeRate( if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate()); InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
if (Objects.equals(settlementDriverDetail.getInvoiceConfigType(),
InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
// 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
} }
// 开票服务费 // 开票服务费
settlementOwnerDetail.setInvoiceServiceFee( settlementOwnerDetail.setInvoiceServiceFee(
settlementCommonService.invoiceServiceFeeCalc(orderChild.getSettlementWay(), settlementOwnerDetail)); settlementCommonService.invoiceServiceFeeCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
...@@ -1121,7 +1163,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -1121,7 +1163,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
} }
SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao
.findLastByChildNo(childNo).orElseThrow(ResultEnum.DATA_NOT_FIND); .findLastByChildNo(childNo).orNull();
if (settlementOrderChildRisk != null){ if (settlementOrderChildRisk != null){
// 网运单转普通单 // 网运单转普通单
orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), settlementOrderChildRisk.getRiskRemark()); orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), settlementOrderChildRisk.getRiskRemark());
......
...@@ -5,6 +5,8 @@ import com.alibaba.excel.EasyExcel; ...@@ -5,6 +5,8 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum; import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
...@@ -101,6 +103,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -101,6 +103,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Autowired @Autowired
private InvoicingCompanyService invoicingCompanyService; private InvoicingCompanyService invoicingCompanyService;
@Autowired
private OrderFeign orderFeign;
@Override @Override
public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail) { public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail) {
...@@ -147,15 +151,33 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -147,15 +151,33 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
//借款抵扣金额初始化 //借款抵扣金额初始化
settlementOwnerDetail.setLoanFreight(BigDecimal.ZERO); settlementOwnerDetail.setLoanFreight(BigDecimal.ZERO);
// 查询开票公司 // 开票配置
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany( Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); settlementOwnerDetail.setInvoiceConfigType(invoiceConfigType);
// 开票服务率 // 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO); settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
settlementOwnerDetail.setInvoiceServiceFeeRate( if (orderChild.getInvoicingCompanyId() != null) {
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate()); FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
if (Objects.equals(settlementOwnerDetail.getInvoiceConfigType(), InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
}
} }
// 开票服务费 // 开票服务费
...@@ -165,20 +187,6 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -165,20 +187,6 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetail.setInvoiceFreight( settlementOwnerDetail.setInvoiceFreight(
settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(), settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(),
orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail)); orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail));
// 开票配置
Integer invoicingConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementOwnerDetail.setInvoiceConfigType(invoicingConfigType);
// 若开票配置为否,设置开票标识为普通单
if (Objects.nonNull(invoicingConfigType) && Objects.equals(invoicingConfigType, InvoicingCompanyEnum.YesAndNo.NO.getCode())) {
// 赋值开票标识为普通单
settlementDriverDetail.setInvoiceType(InvoicingCompanyEnum.RiskProcessType.AUTO.getCode());
// 若开票配置非空,且为是,则开票公司信息
} else if (Objects.nonNull(invoicingConfigType) && Objects.equals(invoicingConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
}
// 结算金额 // 结算金额
settlementOwnerDetail.setSettlementFreight( settlementOwnerDetail.setSettlementFreight(
...@@ -585,7 +593,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -585,7 +593,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData.add(new ExcelData(dto.getInvoiceFreight()==null?null:dto.getInvoiceFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getInvoiceFreight()==null?null:dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType()))); rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(dto.getInvoicingConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoicingConfigType()))); rowData.add(new ExcelData(dto.getInvoiceConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoiceConfigType())));
rowData.add(new ExcelData(dto.getOrderNo())); rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getSettlementNo())); rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(dto.getCreateTime())); rowData.add(new ExcelData(dto.getCreateTime()));
......
...@@ -134,6 +134,7 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial ...@@ -134,6 +134,7 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
} }
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
...@@ -136,6 +136,7 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia ...@@ -136,6 +136,7 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
...@@ -133,6 +133,7 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In ...@@ -133,6 +133,7 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
...@@ -29,6 +29,9 @@ public class TransportParam { ...@@ -29,6 +29,9 @@ public class TransportParam {
@NotBlank(message = "货主手机号(货主账号)不能为空") @NotBlank(message = "货主手机号(货主账号)不能为空")
private String ownerMobile; private String ownerMobile;
@Schema(description = "货主用户名字", example = "", required = true)
private String ownerName;
@Schema(description = "运单编号", required = true) @Schema(description = "运单编号", required = true)
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
private String orderCode; private String orderCode;
......
...@@ -79,7 +79,7 @@ public class CarrierPageSettlementDriverDetailVO { ...@@ -79,7 +79,7 @@ public class CarrierPageSettlementDriverDetailVO {
@Schema(description = "开票公司简称") @Schema(description = "开票公司简称")
private String invoicingCompanyShorterName; private String invoicingCompanyShorterName;
@Schema(description = "开票配置") @Schema(description = "开票配置")
private Integer invoicingConfigType; private Integer invoiceConfigType;
@MoneyOutConvert @MoneyOutConvert
@Schema(description = "平台服务费") @Schema(description = "平台服务费")
private BigDecimal platformServiceFee; private BigDecimal platformServiceFee;
......
...@@ -75,7 +75,7 @@ public class CarrierPageSettlementOwnerDetailVO { ...@@ -75,7 +75,7 @@ public class CarrierPageSettlementOwnerDetailVO {
@Schema(description = "开票服务率") @Schema(description = "开票服务率")
private BigDecimal invoiceServiceFeeRate; private BigDecimal invoiceServiceFeeRate;
@Schema(description = "开票配置:0-否,1-是") @Schema(description = "开票配置:0-否,1-是")
private Integer invoicingConfigType; private Integer invoiceConfigType;
@MoneyOutConvert @MoneyOutConvert
@Schema(description = "借款抵扣金额") @Schema(description = "借款抵扣金额")
private BigDecimal loanFreight; private BigDecimal loanFreight;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论