提交 a0679811 authored 作者: huyufan's avatar huyufan

同步网络货运开票相关

上级 a1487a83
......@@ -33,7 +33,10 @@ public enum SettlementOwnerEnum {
public enum InvoiceStatus {
INVOICED(1, "已开票"),
NOT_INVOICE(2, "未开票"),
NO_NEED_INVOICE(3, "无需开票");
NO_NEED_INVOICE(3, "无需开票"),
PART_INVOICE(4, "部分开票")
;
private final Integer code;
private final String msg;
......
......@@ -66,6 +66,14 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
);
}
@Override
public boolean updateInvoiceStatusBySettlementNo(String settlementNo, Integer invoiceStatus) {
return update(lUdWrapper()
.eq(SettlementOwner::getSettlementNo, settlementNo)
.set(SettlementOwner::getInvoiceStatus, invoiceStatus)
);
}
@Override
public boolean updateInvoiceStatusById(Integer id, Integer invoiceStatus){
return update(lUdWrapper()
......
......@@ -76,9 +76,10 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
}
@Override
public List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType) {
public List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus) {
return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo)
.eq(SettlementOwnerDetail::getInvoiceType, invoiceType)
.eq(SettlementOwnerDetail::getInvoiceStatus, invoiceStatus)
);
}
......
......@@ -22,6 +22,9 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
boolean updateStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("status")Integer status);
boolean updateInvoiceStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("status")Integer status);
boolean updateInvoiceStatusById(@Param("id")Integer id, @Param("invoiceStatus")Integer invoiceStatus);
boolean updatePayment(SettlementOwner settlementOwner);
......
......@@ -30,7 +30,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
Optional<SettlementOwnerDetail> getByChildNo(String childNo);
List<SettlementOwnerDetail> getBySettlementNo(String settlementNo);
List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType);
List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus);
IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
......
......@@ -331,10 +331,6 @@ public class TransportSyncServiceImpl implements TransportSyncService {
}
public void generateRouteList(GdRouteDTO gdRouteDTO, ThirdOrderChildBrokerParam param) {
if ("13005382757".equals(param.getDriverInfoDTO().getMobile())) {
log.info("当前司机不需要获取轨迹");
return;
}
List<OrderChildTruckTraceDTO> list = new LinkedList<>();
for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) {
if (i == 6) {
......
......@@ -141,9 +141,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail);
} else {
if (settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo);
......
......@@ -466,11 +466,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
}
}else{ //网运单
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) > 0){ //结算金额>0的,结算单收款方付款确认后,更新状态为“是”
if(settlementOwner.getPrepayFreight().compareTo(BigDecimal.ZERO) == 0){ //结算金额>0的,结算单收款方付款确认后,更新状态为“是”
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode();
}else if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){ //结算金额=0的,默认“无需支付”。
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
}
/* else if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){ //结算金额=0的,默认“无需支付”。
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
}*/
}
if(Objects.nonNull(finalPaymentStatus)){
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, finalPaymentStatus);
......@@ -487,7 +488,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>();
param.setSettlementList(settlementList);
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
SettlementDriverEnum.InvoiceType.ONLINE.getCode());
SettlementDriverEnum.InvoiceType.ONLINE.getCode(),SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) {
String childNo = settlementOwnerDetail.getChildNo();
OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem();
......@@ -528,11 +529,19 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNoList.get(0)).get();
String settlementNo = settlementOwnerDetail.getSettlementNo();
List<SettlementOwnerDetail> list = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
SettlementOwnerEnum.InvoiceType.ONLINE.getCode()
);
SettlementOwnerEnum.InvoiceType.ONLINE.getCode(),SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
if (CollectionUtil.isEmpty(list)) {
log.info("开票结果回调查询当前结算单均已开完票,结算单信息为{}", settlementNo);
}
settlementOwnerDetailDao.updateSettlementByChildNoList(childNoList);
if (list.size() == childNoList.size()) {
log.info("当前是结算单所有计费都已经开票");
settlementOwnerDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode());
} else {
log.info("当前是结算单部分开票");
settlementOwnerDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
}
}
......
......@@ -146,7 +146,7 @@ public class SettlementServiceImpl implements SettlementService {
} else {
settlementDriverDetail.setPrepayFreightFlag(0);
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode());
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
}
} else {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_SYNC_ERROR);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论