提交 575968f7 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v26.2-jdk17springboot3-20240912' into dev_jdk17

......@@ -21,6 +21,8 @@ public class OpenOrderChildDTO {
private String sourceOrderNo;
@Schema(description = "源结算单编号", example = "1234", required = true)
private String sourceSettlementNo;
@Schema(description = "订单来源", example = "1234")
private Integer orderSource;
@Schema(description = "运费单价(分/吨)", example = "162", required = true)
private Integer freightPrice;
......@@ -36,6 +38,8 @@ public class OpenOrderChildDTO {
private Integer lossFee;
@Schema(description = "货损单价(分/吨)", example = "123")
private Integer lossFeePrice;
@Schema(description = "管理费(分)", example = "123")
private Integer invoiceServiceFee;
@Schema(description = "发货皮重(吨)")
private BigDecimal sendTare;
......@@ -61,6 +65,8 @@ public class OpenOrderChildDTO {
private BigDecimal receiveRough;
@Schema(description = "收货净重(吨)")
private BigDecimal receiveNet;
@Schema(description = "实收净重(吨)")
private BigDecimal realNet;
@Schema(description = "备注", example = "", required = true)
private String remark;
......
package com.clx.performance.vo.pc.broker;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class TransportPayConfirmParam {
@Schema(description = "用户编号", required = true)
@NotNull(message = "用户编号不能为空")
private String userCode;
@Schema(description = "运单编号", required = true)
@NotNull(message = "运单编号不能为空")
String orderCode;
}
......@@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @Author: aiqinguo
......@@ -53,7 +53,7 @@ public class VehicleWarnUserVO {
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (VehicleWarnConfigEnum.OrderWarnType item : VehicleWarnConfigEnum.OrderWarnType.values()) {
......@@ -73,7 +73,7 @@ public class VehicleWarnUserVO {
List<Integer> warnTypeList = JSON.parseArray(warnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (VehicleWarnConfigEnum.WarnType item : VehicleWarnConfigEnum.WarnType.values()) {
......@@ -93,7 +93,7 @@ public class VehicleWarnUserVO {
List<Integer> warnTypeList = JSON.parseArray(lineWarnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (LineWarnConfigEnum.WarnType item : LineWarnConfigEnum.WarnType.values()) {
......
......@@ -711,6 +711,15 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
baseMapper.batchUpdateCancel(canCancelOrderChildList);
}
@Override
public List<OrderChild> findListByChildNoList(List<String> childNoList) {
return list(lQrWrapper()
.in(OrderChild :: getChildNo, childNoList)
);
}
@Override
public int countTakeByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.countTakeByOrderGoodsNo(orderGoodsNo);
......@@ -720,13 +729,4 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public int countLoadByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.countLoadByOrderGoodsNo(orderGoodsNo);
}
@Override
public List<OrderChild> findListByChildNoList(List<String> childNoList) {
return list(lQrWrapper()
.in(OrderChild :: getChildNo, childNoList)
);
}
}
......@@ -41,9 +41,11 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
public boolean updateInvoiceCompany(SettlementDriver item) {
return update(lUdWrapper()
.eq(SettlementDriver::getId, item.getId())
.set(SettlementDriver::getInvoiceType, item.getInvoiceType())
.set(SettlementDriver::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementDriver::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementDriver::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
.set(SettlementDriver::getPrepayFreightFlag, item.getPrepayFreightFlag())
);
}
......@@ -74,7 +76,6 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
@Override
public List<SettlementDriver> listDriverConfirmSync() {
return list(lUdWrapper()
.eq(SettlementDriver::getInvoiceType, SettlementOwnerEnum.InvoiceType.ONLINE.getCode())
.eq(SettlementDriver::getStatus, SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode())
);
}
......
......@@ -20,10 +20,10 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean updatePayStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
boolean updateSettleStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo);
......
......@@ -6,6 +6,7 @@ import com.clx.performance.enums.ResultEnum;
import com.clx.performance.extranal.broker.BrokerService;
import com.clx.performance.feign.BrokerFeign;
import com.clx.performance.vo.pc.broker.TransportParam;
import com.clx.performance.vo.pc.broker.TransportPayConfirmParam;
import com.clx.performance.vo.pc.broker.TransportVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
......@@ -48,7 +49,11 @@ public class BrokerServiceImpl implements BrokerService {
@Override
public void orderChildPay(String childNo) {
Result<Object> result = brokerFeign.payConfirm(childNo, settlementConfig.getBrokerUserCode());
TransportPayConfirmParam param = new TransportPayConfirmParam();
param.setOrderCode(childNo);
param.setUserCode(settlementConfig.getBrokerUserCode());
Result<Object> result = brokerFeign.payConfirm(param);
if (result.getCode() != 0) {
log.info("司机支付, childNo:{}, msg:{}", childNo, result.getMsg());
}
......
package com.clx.performance.feign;
import com.clx.performance.vo.pc.broker.TransportPayConfirmParam;
import com.clx.performance.vo.pc.broker.TransportParam;
import com.clx.performance.vo.pc.broker.TransportVO;
import com.msl.common.result.Result;
......@@ -32,7 +33,6 @@ public interface BrokerFeign {
* 司机支付
*/
@RequestMapping(value = "/broker-service/open/transport/payConfirm", method = RequestMethod.POST)
Result<Object> payConfirm(@RequestParam @NotBlank(message = "运单编号不能为空") String orderCode,
@RequestParam @NotNull(message = "userCode不能为空") String userCode);
Result<Object> payConfirm(@RequestBody TransportPayConfirmParam param);
}
......@@ -2,6 +2,7 @@ package com.clx.performance.listener;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.message.OrderInfoMessage;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.config.ConfiguredOpenProperties;
......@@ -16,6 +17,7 @@ import com.msl.message.sms.api.sms.content.SmsMessageContentImpl;
import com.msl.message.sms.api.sms.recipient.SmsMessageRecipientImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
......@@ -50,10 +52,18 @@ public class SendOrderStatusNoticeSmsListener {
public void onMessage(Message message) {
try{
log.info("监听到发送订单状态通知短信,消息内容{}", new String(message.getBody()));
OrderInfoMessage order = JSONUtil.toBean(new String(message.getBody()),
new TypeReference<MqWrapper<OrderInfoMessage>>() {
},false).getData();
String targets = getTargets(order.getOrderStatus());
log.info("获取需要发送短信的手机号列表:{}",targets);
if(StringUtils.isBlank(targets)){
return;
}
SmsMessage smsMessage = new SmsMessage();
//设置消息内容
......@@ -72,7 +82,7 @@ public class SendOrderStatusNoticeSmsListener {
//设置消息接收人
SmsMessageRecipientImpl smsMessageRecipient = new SmsMessageRecipientImpl();
smsMessageRecipient.setUserType(USER_MOBILE.getCode());
smsMessageRecipient.setTargets(getTargets(order.getOrderStatus()));
smsMessageRecipient.setTargets(targets);
smsMessage.setContent(smsMessageContent);
......@@ -83,7 +93,9 @@ public class SendOrderStatusNoticeSmsListener {
//向消息中心发送消息
log.info("订单状态提醒发送短信开始,请求参数:{}", JSON.toJSONString(smsMessage));
Result<Object> result = configuredOpenClient.doAction(new MessageAction(smsMessage));
log.info("订单状态提醒发送短信结束,响应结果:{}", JSON.toJSONString(result));
}catch (Exception e){
log.info("监听到发送订单状态通知短信发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
}
......
......@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.config.LoadAppConfig;
import com.clx.performance.config.PerformanceSmartCompanyNoConfig;
import com.clx.performance.dao.*;
import com.clx.performance.dto.payment.PaymentDTO;
import com.clx.performance.enums.*;
......@@ -15,11 +17,15 @@ import com.clx.performance.service.*;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.open.OpenClient;
import com.msl.common.open.RequestConfig;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import com.scm.lms.manage.action.LmsWeighingSignatureAction;
import com.smart.business.sdk.request.dto.WeightChildSignatureDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private final OcrRecognitionDao ocrRecognitionDao;
private final OrderChildPostService orderChildPostService;
private final OrderService orderService;
private final LoadAppConfig loadAppConfig;
private final PerformanceSmartCompanyNoConfig companyNoConfig;
@Override
public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) {
......@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
......@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadRough(poundAuditDetail.getUnloadRough());
vo.setLoadRough(poundAuditDetail.getLoadRough());
vo.setLoadTare(poundAuditDetail.getLoadTare());
vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType());
......@@ -101,9 +111,47 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setCooperativeCompaniesId(orderInfo.getCooperativeCompaniesId());
vo.setCooperativeCompaniesName(orderInfo.getCooperativeCompaniesName());
//首次回显过磅电子磅单
WeightChildSignatureDto weighingSignature = getWeighingSignature(childNo,SaleBuyEnum.Type.BUY.getCode());//获取电子磅单图片 类型:1-销售,2-采购
if(Objects.nonNull(weighingSignature)){
if(vo.getUnloadTare()== null && weighingSignature.getTare()!=null){//卸车皮重
vo.setUnloadTare(weighingSignature.getTare());
}
if(vo.getUnloadRough()== null && weighingSignature.getRough()!=null){//卸车毛重
vo.setUnloadRough(weighingSignature.getRough());
}
}
return vo;
}
public WeightChildSignatureDto getWeighingSignature(String childNo,Integer type){
App app = loadAppConfig.getApp(AppEnum.UniqueIdentifier.LMS_MANAGE.getCode());//对接物流子系统配置信息
//组装配置信息
RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo())
.setAppKey(app.getAppKey())
.setGatewayUrl(app.getCallback());
//通过运单号码查询电子磅单图片
LmsWeighingSignatureAction weightAction = new LmsWeighingSignatureAction();
weightAction.setChildNo(childNo);
weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo()));
weightAction.setType(type);
log.info("接口请求电子磅单参数,{}",weightAction);
Result<WeightChildSignatureDto> weighSignature = OpenClient.doAction(config, weightAction);
log.info("接口请求电子磅单返回结果,{}",weighSignature);
//数据处理
if(Objects.equals(weighSignature.getCode(),0)){
WeightChildSignatureDto weighSignatures = weighSignature.getData();
return weighSignatures;
}
return new WeightChildSignatureDto();
}
@Override
@Transactional(rollbackFor = Exception.class)
......
......@@ -100,7 +100,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;
......
......@@ -19,6 +19,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam;
import com.clx.performance.service.settle.SettlementPostService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
......
......@@ -260,6 +260,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSourceGoodsNo(orderChild.getOrderGoodsNo());
orderChildInfo.setSourceOrderNo(orderChild.getOrderNo());
orderChildInfo.setSourceSettlementNo(settlementOwnerDetail.getSettlementNo());
orderChildInfo.setOrderSource(orderChild.getOrderSource());
orderChildInfo.setFreight(orderChild.getFreightPrice()
.multiply(orderChild.getUnloadNet().min(orderChild.getLoadNet()))
......@@ -287,6 +288,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setReceiveTare(orderChild.getUnloadTare());
orderChildInfo.setReceiveRough(orderChild.getUnloadRough());
orderChildInfo.setReceiveNet(orderChild.getUnloadNet());
orderChildInfo.setRealNet(settlementOwnerDetail.getWeight());
orderChildInfo.setInvoiceServiceFee(settlementOwnerDetail.getInvoiceServiceFee().intValue());
orderChildInfo.setInvoiceFlag(settlementOwnerDetail.getInvoiceType()==null? null
:Objects.equals(settlementOwnerDetail.getInvoiceType(),
SettlementOwnerEnum.InvoiceType.ONLINE.getCode())? 2 : 1);
......
......@@ -253,11 +253,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Transactional(rollbackFor = Exception.class)
public void settlementDriverSettlement(SettlementDriverSettleMqParam mq) {
OrderChild orderChild = orderChildDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
......@@ -290,7 +285,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriver.setStatus(SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
......@@ -303,26 +298,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDetail.setSettlementNo(settlementDriver.getSettlementNo());
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
//车主结算单自动支付
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);
}
}
}
@Transactional(rollbackFor = Exception.class)
......@@ -709,46 +684,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){
......@@ -1152,15 +1087,20 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
if (settlementDriver != null) {
settlementDriver.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
}
if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){
// 网运单转普通单
orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), null);
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
return;
}
......@@ -1170,11 +1110,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 网运单转普通单
orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), settlementOrderChildRisk.getRiskRemark());
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildUpdate(childNo);
return;
}
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
//普通单解冻
applicationEventPublisher.publishEvent(new OwnerLoanThawEvent(this, childNo));
// 发送mq 结算统计
......@@ -1293,6 +1243,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())
......@@ -1300,6 +1253,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);
......
......@@ -94,6 +94,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementDriverDetailDao.updateConvertOrdinary(settlementDriverDetail);
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) {
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
}
else {
// 状态回滚
......
......@@ -30,6 +30,7 @@ import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.pc.owner.*;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.PlatformAccountConfigService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementOwnerService;
......@@ -99,7 +100,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final PlatformAccountConfigService platformAccountConfigService;
private final OrderFeign orderFeign;
private final BreakContractSettlementOwnerDao breakContractSettlementOwnerDao;
private final OrderChildBrokerMqService orderChildBrokerMqService;
@Override
......@@ -893,6 +894,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.saveEntity(merge);
//更新货主运单计费明细
settlementOwnerDetailDao.updateSettlementMerge(settlementNo,settlementNos);
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNo(settlementNo);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetailList.stream().map(item->item.getChildNo()).collect(Collectors.toList()));
}
}
......@@ -46,6 +46,7 @@ public class VehicleWarnUserServiceImpl implements VehicleWarnUserService {
if (optional.isPresent()){
throw new ServiceSystemException(ResultEnum.VEHICLE_WARN_USER_EXIST);
}
List<Integer> warnTypeList = Arrays.stream(VehicleWarnConfigEnum.WarnType.values())
.map(item -> item.getCode()).collect(Collectors.toList());
List<Integer> lineWarnTypeList = Arrays.stream(LineWarnConfigEnum.WarnType.values())
......@@ -54,6 +55,7 @@ public class VehicleWarnUserServiceImpl implements VehicleWarnUserService {
VehicleWarnUser vehicleWarnUser = new VehicleWarnUser();
vehicleWarnUser.setName(param.getName());
vehicleWarnUser.setMobile(param.getMobile());
vehicleWarnUser.setOrderWarnTypeJson(JSON.toJSONString(new ArrayList<>()));
vehicleWarnUser.setWarnTypeJson(JSON.toJSONString(warnTypeList));
vehicleWarnUser.setLineWarnTypeJson(JSON.toJSONString(lineWarnTypeList));
vehicleWarnUser.setCreateBy(loginUserInfo.getUserName());
......
......@@ -15,7 +15,7 @@ public interface SettlementPostService {
void updateInvoice(List<String> childNoList);
void driverSettle(String childNo);
void riskAdd(Integer id);
void driverSettle(String childNo);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论