提交 3cfefbac authored 作者: 杨启发's avatar 杨启发

Merge remote-tracking branch 'origin/v20.9_settlement_20240805' into v20.9_settlement_20240805

...@@ -107,4 +107,14 @@ public class TempSettlementController { ...@@ -107,4 +107,14 @@ public class TempSettlementController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "开票公司更新", notes = "<br>By:艾庆国")
@RequestMapping(value = "/updateInvoiceCompany", method = RequestMethod.GET)
public Result updateInvoiceCompany(Integer id) {
// 发送mq (开票公司更新)
settlementMqService.updateInvoiceCompany(id);
return Result.ok();
}
} }
...@@ -46,6 +46,7 @@ public class SettlementOrderChildRiskDaoImpl ...@@ -46,6 +46,7 @@ public class SettlementOrderChildRiskDaoImpl
.map(item -> lQrWrapper() .map(item -> lQrWrapper()
.eq(SettlementOrderChildRisk::getChildNo, childNo) .eq(SettlementOrderChildRisk::getChildNo, childNo)
.orderByDesc(SettlementOrderChildRisk::getId) .orderByDesc(SettlementOrderChildRisk::getId)
.last("limit 1")
) )
.map(super::getOne); .map(super::getOne);
} }
......
...@@ -19,6 +19,7 @@ import com.msl.common.dao.impl.BaseDaoImpl; ...@@ -19,6 +19,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -74,10 +75,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -74,10 +75,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return update(lUdWrapper() return update(lUdWrapper()
.eq(SettlementOwnerDetail::getId, item.getId()) .eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType()) .set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus()) .set(SettlementOwnerDetail::getInvoiceTypeStatus, item.getInvoiceTypeStatus())
.set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId()) .set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName()) .set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode()) .set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
.set(SettlementOwnerDetail::getInvoiceTypeModifiedTime, item.getInvoiceTypeModifiedTime())
); );
} }
...@@ -87,6 +89,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -87,6 +89,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.eq(SettlementOwnerDetail::getId, item.getId()) .eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType()) .set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceFreight, item.getInvoiceFreight()) .set(SettlementOwnerDetail::getInvoiceFreight, item.getInvoiceFreight())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus())
.set(SettlementOwnerDetail::getSettlementFreight, item.getSettlementFreight()) .set(SettlementOwnerDetail::getSettlementFreight, item.getSettlementFreight())
.set(SettlementOwnerDetail::getFinalPaymentStatus, item.getFinalPaymentStatus()) .set(SettlementOwnerDetail::getFinalPaymentStatus, item.getFinalPaymentStatus())
.set(SettlementOwnerDetail::getPrepayFreight, item.getPrepayFreight()) .set(SettlementOwnerDetail::getPrepayFreight, item.getPrepayFreight())
......
...@@ -3,12 +3,15 @@ package com.clx.performance.service.impl.broker; ...@@ -3,12 +3,15 @@ package com.clx.performance.service.impl.broker;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
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.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum; import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
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.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService; import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService; import com.clx.performance.service.broker.OrderChildBrokerMqService;
...@@ -19,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -19,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
...@@ -40,9 +44,38 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -40,9 +44,38 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
private OrderChildBrokerService orderChildBrokerService; private OrderChildBrokerService orderChildBrokerService;
@Autowired @Autowired
private OrderChildBrokerMqService orderChildBrokerMqService; private OrderChildBrokerMqService orderChildBrokerMqService;
@Autowired
private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) { public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
try{
doOrderChildSync(mq);
}catch (Exception e){
log.info("无车承运-运单同步 失败,msg:{}", ExceptionUtils.getStackTrace(e));
OrderChild orderChild = orderChildDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao
.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk();
settlementOrderChildRisk.setChildNo(orderChild.getChildNo());
settlementOrderChildRisk.setTruckNo(orderChild.getTruckNo());
settlementOrderChildRisk.setDriverName(orderChild.getDriverName());
settlementOrderChildRisk.setDriverMobile(orderChild.getDriverMobile());
settlementOrderChildRisk.setGoodsName(orderChild.getGoodsName());
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
}
}
public void doOrderChildSync(BrokerOrderChildSyncMqParam mq){
String childNo = mq.getChildNo(); String childNo = mq.getChildNo();
Integer invoiceType = mq.getInvoiceType(); Integer invoiceType = mq.getInvoiceType();
......
...@@ -843,6 +843,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -843,6 +843,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return uniqueOrderNumService.getUniqueOrderNum(com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), com.msl.common.utils.LocalDateTimeUtils.DATE_DAY)); return uniqueOrderNumService.getUniqueOrderNum(com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), com.msl.common.utils.LocalDateTimeUtils.DATE_DAY));
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void riskProcess(SettlementOrderChildRiskProcessMqParam mq) { public void riskProcess(SettlementOrderChildRiskProcessMqParam mq) {
SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao.getById(mq.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND); SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao.getById(mq.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
...@@ -865,6 +866,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -865,6 +866,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq) { public void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq) {
...@@ -908,6 +910,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -908,6 +910,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode()); settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
} }
if (settlementOwnerDetail.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0) {
settlementOwnerDetail.setInvoiceStatus(SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}
settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId()); settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName()); settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode()); settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
...@@ -940,6 +945,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -940,6 +945,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void settlementPlatformAutoConfirm(SettlementPlatformAutoConfirmMqParam mq) { public void settlementPlatformAutoConfirm(SettlementPlatformAutoConfirmMqParam mq) {
SettlementOwner settlementOwner = settlementOwnerDao SettlementOwner settlementOwner = settlementOwnerDao
......
...@@ -30,6 +30,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -30,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -52,6 +53,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -52,6 +53,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
@Autowired @Autowired
private SettlementMqService settlementMqService; private SettlementMqService settlementMqService;
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateRiskProcess(OwnerSettlementOrderChildRiskProcessUpdateParam param) { public void updateRiskProcess(OwnerSettlementOrderChildRiskProcessUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
...@@ -80,6 +82,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -80,6 +82,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOwnerDetail.setInvoicingCompanyShorterName(null); settlementOwnerDetail.setInvoicingCompanyShorterName(null);
settlementOwnerDetail.setInvoicingCompanyGroupCode(null); settlementOwnerDetail.setInvoicingCompanyGroupCode(null);
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode());
settlementOwnerDetail.setInvoiceTypeModifiedTime(LocalDateTime.now());
settlementOwnerDetailDao.updateConvertOrdinary(settlementOwnerDetail); settlementOwnerDetailDao.updateConvertOrdinary(settlementOwnerDetail);
settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType()); settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType());
......
...@@ -689,18 +689,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -689,18 +689,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList); networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList);
}else{ }else{
if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){ // 小于0不开票
int invoiceStatus; if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0 ) {
int detailInvoiceStatus; settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) > 0 ){ //结算单开票金额>0结算单填写发票物流单号以后,更新状态为“是”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode();
}else{ //结算单开票金额<=0的结算单,货主确认结算单后,更新状态为“无需开票”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode();
}
settlementOwner.setInvoiceStatus(invoiceStatus);
settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, detailInvoiceStatus);
} }
settlementOwner.setStatus(SettlementOwnerEnum.Status.COMPLETED.getCode()); settlementOwner.setStatus(SettlementOwnerEnum.Status.COMPLETED.getCode());
settlementOwnerDao.updateInvoiceStatusAndStatus(settlementOwner); settlementOwnerDao.updateInvoiceStatusAndStatus(settlementOwner);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论