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

Merge remote-tracking branch 'origin/v6.5_transport_open_20231115' into test

...@@ -33,7 +33,10 @@ public enum SettlementOwnerEnum { ...@@ -33,7 +33,10 @@ public enum SettlementOwnerEnum {
public enum InvoiceStatus { public enum InvoiceStatus {
INVOICED(1, "已开票"), INVOICED(1, "已开票"),
NOT_INVOICE(2, "未开票"), NOT_INVOICE(2, "未开票"),
NO_NEED_INVOICE(3, "无需开票"); NO_NEED_INVOICE(3, "无需开票"),
PART_INVOICE(4, "部分开票")
;
private final Integer code; private final Integer code;
private final String msg; private final String msg;
......
...@@ -66,6 +66,14 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S ...@@ -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 @Override
public boolean updateInvoiceStatusById(Integer id, Integer invoiceStatus){ public boolean updateInvoiceStatusById(Integer id, Integer invoiceStatus){
return update(lUdWrapper() return update(lUdWrapper()
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper; import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
...@@ -74,6 +75,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -74,6 +75,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo)); return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo));
} }
@Override
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)
);
}
@Override @Override
public IPage<SettlementOwnerDetail> pageSettlementOwnerDetail( public IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(
...@@ -100,6 +109,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -100,6 +109,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return baseMapper.getInvoiceType(orderNo); return baseMapper.getInvoiceType(orderNo);
} }
@Override
public void updateSettlementByChildNoList(List<String> childNoList) {
update(lUdWrapper()
.in(SettlementOwnerDetail::getChildNo, childNoList)
.set(SettlementOwnerDetail::getInvoiceStatus, SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode())
);
}
@Override @Override
public IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param) { public IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param) {
LambdaQueryWrapper<SettlementOwnerDetail> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SettlementOwnerDetail> query = new LambdaQueryWrapper<>();
......
...@@ -22,6 +22,9 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl ...@@ -22,6 +22,9 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
boolean updateStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("status")Integer status); 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 updateInvoiceStatusById(@Param("id")Integer id, @Param("invoiceStatus")Integer invoiceStatus);
boolean updatePayment(SettlementOwner settlementOwner); boolean updatePayment(SettlementOwner settlementOwner);
......
...@@ -30,9 +30,14 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM ...@@ -30,9 +30,14 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
Optional<SettlementOwnerDetail> getByChildNo(String childNo); Optional<SettlementOwnerDetail> getByChildNo(String childNo);
List<SettlementOwnerDetail> getBySettlementNo(String settlementNo); List<SettlementOwnerDetail> getBySettlementNo(String settlementNo);
List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus);
IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param); IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param); IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param);
Integer getInvoiceType(String orderNo); Integer getInvoiceType(String orderNo);
void updateSettlementByChildNoList(List<String> childNoList);
} }
...@@ -331,10 +331,6 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -331,10 +331,6 @@ public class TransportSyncServiceImpl implements TransportSyncService {
} }
public void generateRouteList(GdRouteDTO gdRouteDTO, ThirdOrderChildBrokerParam param) { public void generateRouteList(GdRouteDTO gdRouteDTO, ThirdOrderChildBrokerParam param) {
if ("13005382757".equals(param.getDriverInfoDTO().getMobile())) {
log.info("当前司机不需要获取轨迹");
return;
}
List<OrderChildTruckTraceDTO> list = new LinkedList<>(); List<OrderChildTruckTraceDTO> list = new LinkedList<>();
for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) { for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) {
if (i == 6) { if (i == 6) {
......
...@@ -139,9 +139,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -139,9 +139,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) { if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail); paySettlementDriver(settlementDriverDetail);
} else { } else {
if (settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录 //插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail); childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
} }
}
// 更新结算单 // 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo); settlementOwnerDetail.setSettlementNo(settlementNo);
......
...@@ -11,10 +11,7 @@ import com.clx.performance.dao.settle.SettlementPlatformAccountDao; ...@@ -11,10 +11,7 @@ import com.clx.performance.dao.settle.SettlementPlatformAccountDao;
import com.clx.performance.dto.InvoicingStatusNotifyDTO; import com.clx.performance.dto.InvoicingStatusNotifyDTO;
import com.clx.performance.enums.OrderChildLogEnum; import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementLogEnum; import com.clx.performance.enums.settle.*;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.feign.TransportFeignService; import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.settle.SettlementLog; import com.clx.performance.model.settle.SettlementLog;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
...@@ -469,11 +466,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -469,11 +466,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode(); finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
} }
}else{ //网运单 }else{ //网运单
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) > 0){ //结算金额>0的,结算单收款方付款确认后,更新状态为“是” if(settlementOwner.getPrepayFreight().compareTo(BigDecimal.ZERO) == 0){ //结算金额>0的,结算单收款方付款确认后,更新状态为“是”
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode(); 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)){ if(Objects.nonNull(finalPaymentStatus)){
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, finalPaymentStatus); settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, finalPaymentStatus);
...@@ -489,7 +487,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -489,7 +487,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
param.setOwnerMobile(mobile); param.setOwnerMobile(mobile);
List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>(); List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>();
param.setSettlementList(settlementList); param.setSettlementList(settlementList);
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNo(settlementNo); List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
SettlementDriverEnum.InvoiceType.ONLINE.getCode(),SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) { for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) {
String childNo = settlementOwnerDetail.getChildNo(); String childNo = settlementOwnerDetail.getChildNo();
OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem(); OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem();
...@@ -521,6 +520,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -521,6 +520,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void invoicingStatusNotify(InvoicingStatusNotifyDTO invoicingStatusNotifyDTO) { public void invoicingStatusNotify(InvoicingStatusNotifyDTO invoicingStatusNotifyDTO) {
List<String> childNoList = invoicingStatusNotifyDTO.getChildNoList(); List<String> childNoList = invoicingStatusNotifyDTO.getChildNoList();
if (CollectionUtil.isEmpty(childNoList)) { if (CollectionUtil.isEmpty(childNoList)) {
...@@ -528,9 +528,19 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -528,9 +528,19 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNoList.get(0)).get(); SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNoList.get(0)).get();
String settlementNo = settlementOwnerDetail.getSettlementNo(); String settlementNo = settlementOwnerDetail.getSettlementNo();
List<SettlementOwnerDetail> list = settlementOwnerDetailDao.getBySettlementNo(settlementNo); List<SettlementOwnerDetail> list = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
for (SettlementOwnerDetail ownerDetail : list) { 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 { ...@@ -146,7 +146,7 @@ public class SettlementServiceImpl implements SettlementService {
} else { } else {
settlementDriverDetail.setPrepayFreightFlag(0); settlementDriverDetail.setPrepayFreightFlag(0);
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO); settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode()); settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
} }
} else { } else {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_SYNC_ERROR); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_SYNC_ERROR);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论