预约单列表与确认
This commit is contained in:
@@ -504,6 +504,9 @@ public class ReservationOrder {
|
||||
@ApiModelProperty(value = "订单结算状态:1未出账、2已出账、3部分结算、4已结算")
|
||||
private Integer settlementStatus;
|
||||
|
||||
@ApiModelProperty(value = "订单类型:0-预约单,1-业务单")
|
||||
private Integer orderType;
|
||||
|
||||
@ApiModelProperty(value = "订单运费结算时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@@ -692,4 +695,10 @@ public class ReservationOrder {
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date documentDate;
|
||||
|
||||
@ApiModelProperty("业务单id")
|
||||
private Long businessOrderId;
|
||||
|
||||
@ApiModelProperty("业务单号")
|
||||
private String businessOrderNumber;
|
||||
}
|
||||
|
||||
+25
-1
@@ -1,15 +1,39 @@
|
||||
package com.mhd.oms.domain.reservationOrder.repository.facade;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO;
|
||||
import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO;
|
||||
import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderAddDTO;
|
||||
import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderDTO;
|
||||
import com.mhd.common.core.utils.sms.Result;
|
||||
import com.mhd.common.core.web.domain.AjaxResult;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SignatureException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import com.mhd.oms.interfaces.facade.resevationOrder.BatchConfirmResult;
|
||||
|
||||
public interface IOmsAddressMultiService extends IService<ReservationOrder> {
|
||||
import java.util.List;
|
||||
|
||||
public interface IOmsAddressMultiService {
|
||||
|
||||
void save(OmsOrderAddDTO tmsOrderAddDTO) throws InvalidKeySpecException, NoSuchAlgorithmException, InvalidKeyException, SignatureException;
|
||||
|
||||
List<ReservationOrderPO> queryList(OmsOrderDTO omsOrderDTO);
|
||||
|
||||
/**
|
||||
* 确认预约单,生成业务单
|
||||
* @param goodsNumber 预约单号
|
||||
* @return 业务单信息
|
||||
*/
|
||||
BusinessDocumentOrderPO confirmReservationOrder(String goodsNumber);
|
||||
|
||||
/**
|
||||
* 批量确认预约单,生成业务单
|
||||
* @param goodsNumbers 预约单号列表
|
||||
* @return 批量处理结果
|
||||
*/
|
||||
Result<?> batchConfirmReservationOrder(List<String> goodsNumbers);
|
||||
}
|
||||
|
||||
+2
@@ -8,4 +8,6 @@ import java.util.List;
|
||||
|
||||
public interface ReservationAddressMultiMapper extends BaseMapper<ReservationAddressMulti> {
|
||||
void insertBatch(@Param("list") List<ReservationAddressMulti> addressMultiList);
|
||||
|
||||
String selectRouteNameByRouteId(String route);
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.mhd.oms.domain.reservationOrder.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO;
|
||||
import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ReservationDocumentOrderMapper extends BaseMapper<ReservationOrderPO> {
|
||||
|
||||
List<ReservationOrderPO> queryList(OmsOrderDTO omsOrderDTO);
|
||||
}
|
||||
+711
@@ -0,0 +1,711 @@
|
||||
package com.mhd.oms.domain.reservationOrder.repository.po;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.mhd.common.core.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: brb
|
||||
* @description:
|
||||
* @create: 2026-02-10 17:50
|
||||
*/
|
||||
@Data
|
||||
public class ReservationOrderPO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("修改时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty("修改人")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String updateBy;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String realCreateBy;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String realCreateName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String createCompanyId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingAreaId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingAddress;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingLongitude;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingLatitude;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingUnit;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String freighterName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String loadingPhone;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date loadingDate;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadAreaId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadAddress;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadLongitude;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadLatitude;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String dischargerName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadPhone;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date unloadingData;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsTypeId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsNameId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal weightMin;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal weightMax;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsUntisId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsUntis;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long transportationModeId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String transportationName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String carType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String carTypeName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String serviceRequireId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String serviceRequire;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String remarks;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long waybillFrom;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isSource;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date sourceCloseTime;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String executorId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isDelete;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String lineTitleLeft;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String lineTitleRight;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String sysOrgCode;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isCommon;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsTypeMajor;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long auditStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long waybillMode;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date latestBiddingTime;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal deliveryFreight;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal collectedFreight;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal uncollectedFreight;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal collectLessFreight;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String auditBy;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date auditTime;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String businessType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal transportationUnitPrice;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long radioValue;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String createrName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String createrPhone;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isElectricFence;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String wxaQrcode;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String appointShipperId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String createUserId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String appointShipper;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String signatureAddress;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String qrCodeImgUrl;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String shippingNote;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long receivableType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String thirdPartyOrderNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String dispatchOrderNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String appointDriverEnterpriseId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String appointDriverEnterprise;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String cancelOrderRemark;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String orderDriverId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal goodsQuantity;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsQuantityUnitId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsQuantityUnit;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String biddingUnit;
|
||||
|
||||
@ApiModelProperty("业务单状态 0-待审核 1-待执行 2-进行中 3-已完成 4-已取消 5-已拦截")
|
||||
private Long orderStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long splicingOrderType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long splicingStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String mainOrderId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String mainOrderNum;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String mergeOrderId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String mergeOrderNum;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long payerType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String machineNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long stockFlag;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal infoFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long infoFeePayeeType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String infoFeePayee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long infoFeeStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String infoFeeDocumentNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long orderShippingType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String recipientId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String recipientName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long settlementStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date settlementTime;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date paymentTime;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String reconciliationInnerNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String receivePaymentNumber;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String invoiceId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isInvoice;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String vehicleTypeId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String vehicleTypeName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String carrier;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String carrierName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long szwlUserId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal freightUnitPrice;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long biddingStatus;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String biddingRemarks;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal cargoInsuranceAmount;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String destination;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal freightCharges;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String payer;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String salesmanId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long isDeclare;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String route;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String containerType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String containerTypeName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String cardType;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String cardTypeName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String externalContainerNo;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String transitPlace;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String shipper;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsShipper;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsShipperTel;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String unloadingCompany;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String contractNo;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal freightFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal unloadingFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal customsFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal shortageFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal miscellaneousFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal otherFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal detentionFee;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal taxRate;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String settlementCurrency;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private BigDecimal volume;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String detailContent;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsRoute;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsPort;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsContact;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsContactPhone;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customsRemark;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String orgId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String goodsCategory;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String makerCodeNc;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String salesmanCodeNc;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String customerCodeNc;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String salesmanName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long organizationId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private String organizationName;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long topOrganizationId;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Date documentDate;
|
||||
|
||||
|
||||
@ApiModelProperty( "审核状态 0-未审核 1-审核通过 2-已驳回")
|
||||
private Long reviewStatus;
|
||||
|
||||
@ApiModelProperty("审核时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date reviewTime;
|
||||
|
||||
@ApiModelProperty("审核人id")
|
||||
private Long reviewId;
|
||||
|
||||
@ApiModelProperty("审核人")
|
||||
private String review;
|
||||
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long EXECUTE_STATUS;
|
||||
|
||||
@ApiModelProperty( "执行状态 0-无状态 1-未执行 2-已执行 3-已下发")
|
||||
private Long executeStatus;
|
||||
|
||||
@ApiModelProperty("执行时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date executeTime;
|
||||
|
||||
@ApiModelProperty("执行人id")
|
||||
private Long executeId;
|
||||
|
||||
@ApiModelProperty("审核人")
|
||||
private String executor;
|
||||
|
||||
@ApiModelProperty("业务单id")
|
||||
private Long businesssOrderId ;
|
||||
|
||||
@ApiModelProperty("业务单号")
|
||||
private String businessOrderNumber;
|
||||
|
||||
@ApiModelProperty("预约单类型")
|
||||
private String orderType;
|
||||
}
|
||||
+312
-49
@@ -1,17 +1,23 @@
|
||||
package com.mhd.oms.domain.reservationOrder.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.aliyun.oss.ServiceException;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
//import com.linke.transport.interfaces.dto.warehouse.inBoundOrder.InboundOrderDTO;
|
||||
import com.mhd.common.core.domain.entity.R;
|
||||
import com.mhd.common.core.utils.sms.Result;
|
||||
import com.mhd.oms.application.service.businessDocumentOrder.BusinessDocumentOrderApplicationService;
|
||||
import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocumentOrderService;
|
||||
import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder;
|
||||
import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO;
|
||||
import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti;
|
||||
import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper;
|
||||
import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti;
|
||||
import com.mhd.oms.domain.businessDocumentAddressMulti.repository.mapper.BusinessDocumentAddressMultiMapper;
|
||||
import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO;
|
||||
import com.mhd.oms.domain.reservationOrder.entity.ReservationAddressMulti;
|
||||
import com.mhd.oms.domain.reservationOrder.entity.ReservationCargoInfo;
|
||||
import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder;
|
||||
@@ -20,10 +26,12 @@ import com.mhd.common.core.domain.thirdparty.SysDepartInterfaceInfoDTO;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.facade.IOmsAddressMultiService;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.mapper.*;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO;
|
||||
import com.mhd.oms.enums.*;
|
||||
import com.mhd.oms.infrastructure.feign.ThirdPartyServiceFeign;
|
||||
//import com.mhd.oms.infrastructure.feign.TransportServiceFeign;
|
||||
import com.mhd.oms.interfaces.dto.resevationOrder.*;
|
||||
import com.mhd.oms.interfaces.facade.resevationOrder.BatchConfirmResult;
|
||||
import com.mhd.oms.util.DictDataUtils;
|
||||
import com.mhd.oms.util.OrderSequence;
|
||||
import com.mhd.system.api.domain.*;
|
||||
@@ -35,6 +43,7 @@ import com.mhd.common.core.domain.po.UserPo;
|
||||
import com.mhd.common.core.domain.po.UserShipperPo;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -46,8 +55,6 @@ import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SignatureException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.reflections.Reflections.log;
|
||||
|
||||
@@ -91,7 +98,21 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
|
||||
@Resource
|
||||
private ReservationAddressMultiMapper reservationAddressMultiMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessDocumentCargoMultiMapper businessDocumentCargoMultiMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessDocumentAddressMultiMapper businessDocumentAddressMultiMapper;
|
||||
|
||||
@Resource
|
||||
private ReservationOrderDomainService reservationOrderDomainService;
|
||||
|
||||
@Autowired
|
||||
private BusinessDocumentOrderApplicationService businessDocumentOrderApplicationService;
|
||||
|
||||
@Autowired
|
||||
private IBusinessDocumentOrderService businessDocumentOrderService;
|
||||
|
||||
|
||||
|
||||
@@ -118,7 +139,7 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
if (!shipperInfoResult.get("code").toString().equals("200")) {
|
||||
throw new ServiceException("获取货主信息失败");
|
||||
}
|
||||
UserShipperPo userShipperPo = objectMapper.convertValue(shipperInfoResult.get("data"), UserShipperPo.class);
|
||||
// UserShipperPo userShipperPo = objectMapper.convertValue(shipperInfoResult.get("data"), UserShipperPo.class);
|
||||
|
||||
//2022-01-15增加代运营人根据货主id查询
|
||||
|
||||
@@ -215,6 +236,7 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
resevationOrder.setSettlementStatus(1);//未出账
|
||||
resevationOrder.setAuditStatus(0);//未审核
|
||||
resevationOrder.setSzwlUserId(Long.valueOf(swzlUserId));
|
||||
resevationOrder.setTransitPlace(tmsOrderAddDTO.getTransitPlace());
|
||||
if (resevationOrder.getLoadingDate() != null && resevationOrder.getUnloadingData() != null) {
|
||||
if (resevationOrder.getUnloadingData().before(resevationOrder.getLoadingDate())) {
|
||||
throw new ServiceException("装货日期不能大于卸货日期!");
|
||||
@@ -259,6 +281,8 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
resevationOrder.setRealCreateBy(String.valueOf(userPo.getUserId()));
|
||||
resevationOrder.setRealCreateName(userPo.getUserName());
|
||||
resevationOrder.setAppointShipper(userShipperPoInfo.getShipperEnterpriseName());//20250-07-29修改:订单表委托方保存公司名字,而不是姓名
|
||||
resevationOrder.setUpdateTime(new Date());
|
||||
resevationOrder.setUpdateBy(String.valueOf(userShipperPoInfo.getShipperId()));
|
||||
String salesmanCodeNc = tmsOrderAddDTO.getSalesmanId();
|
||||
if (salesmanCodeNc != null) {
|
||||
String makerCodeNc = tmsOrderServiceImpl.selectByMakerCodeNc(salesmanCodeNc);
|
||||
@@ -846,6 +870,27 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ReservationOrderPO> queryList(OmsOrderDTO omsOrderDTO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
if (loginUser != null){
|
||||
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
|
||||
if (topOrganizationId != null && topOrganizationId != 1){
|
||||
omsOrderDTO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
|
||||
}
|
||||
}
|
||||
List<ReservationOrderPO> reservationOrderPOS = reservationOrderDomainService.queryList(omsOrderDTO);
|
||||
for (ReservationOrderPO reservationOrderPO : reservationOrderPOS){
|
||||
String route = reservationOrderPO.getRoute();
|
||||
if (route != null && !route.isEmpty()){
|
||||
String routeName = reservationAddressMultiMapper.selectRouteNameByRouteId(route);
|
||||
reservationOrderPO.setRoute(routeName);
|
||||
}
|
||||
}
|
||||
return reservationOrderPOS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理前端费用为null的情况
|
||||
* @param tmsOrderAddDTO
|
||||
@@ -1020,46 +1065,160 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean saveBatch(Collection<ReservationOrder> entityList, int batchSize) {
|
||||
return false;
|
||||
public BusinessDocumentOrderPO confirmReservationOrder(String goodsNumber) {
|
||||
// 1. 根据预约单号查询预约单信息
|
||||
LambdaQueryWrapper<ReservationOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ReservationOrder::getGoodsNumber, goodsNumber);
|
||||
ReservationOrder reservationOrder = resevationOrderMapper.selectOne(queryWrapper);
|
||||
|
||||
if (reservationOrder == null) {
|
||||
throw new ServiceException("未找到对应的预约单信息");
|
||||
}
|
||||
|
||||
// 2. 检查预约单状态,确保未被确认过
|
||||
if (reservationOrder.getOrderType() != null && reservationOrder.getOrderType() == 1) {
|
||||
throw new ServiceException("该预约单已被确认,不能重复确认");
|
||||
}
|
||||
|
||||
// 3. 获取当前登录用户信息
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
if (loginUser == null) {
|
||||
throw new ServiceException("用户未登录");
|
||||
}
|
||||
|
||||
// 4. 构造业务单数据
|
||||
BusinessDocumentOrderDO businessDocumentOrderDO = new BusinessDocumentOrderDO();
|
||||
|
||||
// 基本信息映射
|
||||
businessDocumentOrderDO.setGoodsNumber(OrderSequence.getOrderCodeByDate(new Date())); // 生成业务单号
|
||||
businessDocumentOrderDO.setOrderStatus(0L); // 业务单状态:0-待审核
|
||||
businessDocumentOrderDO.setReviewStatus(0L); // 审核状态:0-未审核
|
||||
businessDocumentOrderDO.setExecuteStatus(0L); // 执行状态:0-无状态
|
||||
|
||||
// 预约单信息映射
|
||||
businessDocumentOrderDO.setReservationOrderId(reservationOrder.getId());
|
||||
businessDocumentOrderDO.setReservationOrderNumber(reservationOrder.getGoodsNumber());
|
||||
|
||||
// 货物信息映射
|
||||
businessDocumentOrderDO.setGoodsName(reservationOrder.getGoodsName());
|
||||
businessDocumentOrderDO.setGoodsTypeId(reservationOrder.getGoodsTypeId());
|
||||
businessDocumentOrderDO.setWeightMin(reservationOrder.getWeightMin());
|
||||
businessDocumentOrderDO.setWeightMax(reservationOrder.getWeightMax());
|
||||
businessDocumentOrderDO.setGoodsUntis(reservationOrder.getGoodsUntis());
|
||||
businessDocumentOrderDO.setGoodsUntisId(reservationOrder.getGoodsUntisId());
|
||||
|
||||
// 地址信息映射
|
||||
businessDocumentOrderDO.setLoadingName(reservationOrder.getLoadingName());
|
||||
businessDocumentOrderDO.setLoadingAreaId(reservationOrder.getLoadingAreaId());
|
||||
businessDocumentOrderDO.setLoadingAddress(reservationOrder.getLoadingAddress());
|
||||
businessDocumentOrderDO.setLoadingLongitude(reservationOrder.getLoadingLongitude());
|
||||
businessDocumentOrderDO.setLoadingLatitude(reservationOrder.getLoadingLatitude());
|
||||
businessDocumentOrderDO.setLoadingPhone(reservationOrder.getLoadingPhone());
|
||||
businessDocumentOrderDO.setLoadingDate(reservationOrder.getLoadingDate());
|
||||
|
||||
businessDocumentOrderDO.setUnloadName(reservationOrder.getUnloadName());
|
||||
businessDocumentOrderDO.setUnloadAreaId(reservationOrder.getUnloadAreaId());
|
||||
businessDocumentOrderDO.setUnloadAddress(reservationOrder.getUnloadAddress());
|
||||
businessDocumentOrderDO.setUnloadLongitude(reservationOrder.getUnloadLongitude());
|
||||
businessDocumentOrderDO.setUnloadLatitude(reservationOrder.getUnloadLatitude());
|
||||
businessDocumentOrderDO.setUnloadPhone(reservationOrder.getUnloadPhone());
|
||||
businessDocumentOrderDO.setUnloadingData(reservationOrder.getUnloadingData());
|
||||
|
||||
// 其他信息映射
|
||||
businessDocumentOrderDO.setFreighterName(reservationOrder.getFreighterName());
|
||||
businessDocumentOrderDO.setDischargerName(reservationOrder.getDischargerName());
|
||||
businessDocumentOrderDO.setRemarks(reservationOrder.getRemarks());
|
||||
businessDocumentOrderDO.setTransportationModeId(reservationOrder.getTransportationModeId() != null ?
|
||||
reservationOrder.getTransportationModeId().longValue() : null);
|
||||
businessDocumentOrderDO.setTransportationName(reservationOrder.getTransportationName());
|
||||
businessDocumentOrderDO.setCarType(reservationOrder.getCarType());
|
||||
businessDocumentOrderDO.setCarTypeName(reservationOrder.getCarTypeName());
|
||||
businessDocumentOrderDO.setServiceRequireId(reservationOrder.getServiceRequireId());
|
||||
businessDocumentOrderDO.setServiceRequire(reservationOrder.getServiceRequire());
|
||||
businessDocumentOrderDO.setAppointShipperId(reservationOrder.getAppointShipperId());
|
||||
businessDocumentOrderDO.setAppointShipper(reservationOrder.getAppointShipper());
|
||||
businessDocumentOrderDO.setReceivableType(reservationOrder.getReceivableType() != null ?
|
||||
reservationOrder.getReceivableType().longValue() : 2L);
|
||||
// 添加订单类型映射
|
||||
businessDocumentOrderDO.setOrderShippingType(reservationOrder.getOrderShippingType() != null ?
|
||||
reservationOrder.getOrderShippingType().longValue() : 1L);
|
||||
|
||||
// 组织信息
|
||||
businessDocumentOrderDO.setOrganizationId(reservationOrder.getOrganizationId());
|
||||
businessDocumentOrderDO.setOrganizationName(reservationOrder.getOrganizationName());
|
||||
businessDocumentOrderDO.setTopOrganizationId(reservationOrder.getTopOrganizationId());
|
||||
businessDocumentOrderDO.setOrgId(reservationOrder.getOrgId());
|
||||
businessDocumentOrderDO.setOrgName(reservationOrder.getOrgName());
|
||||
|
||||
// 创建人信息
|
||||
businessDocumentOrderDO.setRealCreateBy(String.valueOf(loginUser.getUserid()));
|
||||
businessDocumentOrderDO.setRealCreateName(loginUser.getUsername());
|
||||
businessDocumentOrderDO.setCreateBy(loginUser.getUserid());
|
||||
businessDocumentOrderDO.setCreateByName(loginUser.getUsername());
|
||||
|
||||
// 时间信息
|
||||
businessDocumentOrderDO.setCreateTime(new Date());
|
||||
businessDocumentOrderDO.setUpdateTime(new Date());
|
||||
businessDocumentOrderDO.setDocumentDate(new Date());
|
||||
|
||||
// 设置默认值,避免空指针异常
|
||||
if (businessDocumentOrderDO.getOrderShippingType() == null) {
|
||||
businessDocumentOrderDO.setOrderShippingType(1L); // 默认设置为1
|
||||
}
|
||||
if (businessDocumentOrderDO.getInfoFeePayeeType() == null) {
|
||||
businessDocumentOrderDO.setInfoFeePayeeType(0L); // 默认设置为0
|
||||
}
|
||||
|
||||
// 5. 直接创建业务单记录(不使用ApplicationService)
|
||||
BusinessDocumentOrder businessDocumentOrder = new BusinessDocumentOrder();
|
||||
BeanUtils.copyProperties(businessDocumentOrderDO, businessDocumentOrder);
|
||||
businessDocumentOrder.setId(null); // 确保是新记录
|
||||
businessDocumentOrder.setCreateBy(Long.valueOf(loginUser.getUserid()));
|
||||
businessDocumentOrder.setCreateByName(loginUser.getUsername());
|
||||
businessDocumentOrder.setCreateTime(new Date());
|
||||
businessDocumentOrder.setUpdateTime(new Date());
|
||||
businessDocumentOrder.setDelFlag(1);
|
||||
|
||||
boolean insertResult = businessDocumentOrderService.save(businessDocumentOrder);
|
||||
if (!insertResult) {
|
||||
throw new ServiceException("创建业务单失败");
|
||||
}
|
||||
|
||||
// 6. 处理货物和地址信息(借鉴BusinessDocumentOrderDomainService的方法)
|
||||
// 先查询刚创建的业务单ID
|
||||
LambdaQueryWrapper<BusinessDocumentOrder> orderQueryWrapper = new LambdaQueryWrapper<>();
|
||||
orderQueryWrapper.eq(BusinessDocumentOrder::getGoodsNumber, businessDocumentOrderDO.getGoodsNumber());
|
||||
BusinessDocumentOrder createdOrder = businessDocumentOrderService.getOne(orderQueryWrapper);
|
||||
if (createdOrder == null) {
|
||||
throw new ServiceException("创建业务单后查询失败");
|
||||
}
|
||||
|
||||
// 处理货物信息(从预约单获取)
|
||||
// handleCargoInfoFromReservation(createdOrder.getId(), reservationOrder.getId());
|
||||
|
||||
// 处理地址信息(从预约单获取)
|
||||
handleAddressInfoFromReservation(createdOrder.getId(), reservationOrder.getId());
|
||||
|
||||
// 7. 更新预约单状态
|
||||
reservationOrder.setOrderType(1); // 设置为业务单类型
|
||||
reservationOrder.setBusinessOrderId(businessDocumentOrder.getId()); // 关联业务单ID
|
||||
reservationOrder.setBusinessOrderNumber(businessDocumentOrder.getGoodsNumber()); // 关联业务单号
|
||||
reservationOrder.setUpdateTime(new Date());
|
||||
reservationOrder.setUpdateBy(String.valueOf(loginUser.getUserid()));
|
||||
|
||||
int updateResult = resevationOrderMapper.updateById(reservationOrder);
|
||||
if (updateResult <= 0) {
|
||||
throw new ServiceException("更新预约单状态失败");
|
||||
}
|
||||
|
||||
// 8. 转换并返回业务单PO
|
||||
BusinessDocumentOrderPO businessDocumentOrderPO = new BusinessDocumentOrderPO();
|
||||
BeanUtils.copyProperties(businessDocumentOrder, businessDocumentOrderPO);
|
||||
|
||||
return businessDocumentOrderPO;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdateBatch(Collection<ReservationOrder> entityList, int batchSize) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateBatchById(Collection<ReservationOrder> entityList, int batchSize) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdate(ReservationOrder entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReservationOrder getOne(Wrapper<ReservationOrder> queryWrapper, boolean throwEx) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMap(Wrapper<ReservationOrder> queryWrapper) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <V> V getObj(Wrapper<ReservationOrder> queryWrapper, Function<? super Object, V> mapper) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseMapper<ReservationOrder> getBaseMapper() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private void saveAddress2CargoInfo(String id, List<OmsCargoInfoDTO> cargoInfoList, List<OmsAddressMultiDTO> loadingAddressList, List<OmsAddressMultiDTO> unloadAddressList) {
|
||||
|
||||
//根据ID先删除货物、装卸货信息
|
||||
@@ -1189,7 +1348,111 @@ public class OmsAddressMultiService implements IOmsAddressMultiService {
|
||||
// }
|
||||
// return serviceRequire.toString();
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Result<?> batchConfirmReservationOrder(List<String> goodsNumbers) {
|
||||
BatchConfirmResult result = new BatchConfirmResult();
|
||||
result.setTotal(goodsNumbers.size());
|
||||
result.setSuccessList(new ArrayList<>());
|
||||
result.setFailList(new ArrayList<>());
|
||||
|
||||
// 同步处理,避免线程池问题
|
||||
for (String goodsNumber : goodsNumbers) {
|
||||
try {
|
||||
BusinessDocumentOrderPO businessOrder = confirmReservationOrder(goodsNumber);
|
||||
result.getSuccessList().add(businessOrder);
|
||||
result.setSuccessCount(result.getSuccessCount() + 1);
|
||||
} catch (Exception e) {
|
||||
result.getFailList().add(new BatchConfirmResult.FailItem(goodsNumber, e.getMessage()));
|
||||
result.setFailCount(result.getFailCount() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
// 返回成功结果,包含详细的统计信息
|
||||
if (result.getFailCount() == 0) {
|
||||
Result<Object> successResult = new Result<>();
|
||||
successResult.success("批量确认成功");
|
||||
successResult.setResult(result);
|
||||
return successResult;
|
||||
} else {
|
||||
// 如果有失败项,返回错误状态,包含成功和失败的信息
|
||||
Result<Object> errorResult = new Result<>();
|
||||
errorResult.error500("部分确认失败,成功: " + result.getSuccessCount() + ", 失败: " + result.getFailCount());
|
||||
errorResult.setResult(result);
|
||||
return errorResult;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从预约单处理货物信息到业务单
|
||||
*/
|
||||
private void handleCargoInfoFromReservation(Long businessOrderId, Long reservationOrderId) {
|
||||
// 查询预约单的货物信息
|
||||
LambdaQueryWrapper<ReservationCargoInfo> cargoQueryWrapper = new LambdaQueryWrapper<>();
|
||||
cargoQueryWrapper.eq(ReservationCargoInfo::getOrderId, reservationOrderId);
|
||||
List<ReservationCargoInfo> reservationCargoList = reservationCargoInfoMapper.selectList(cargoQueryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(reservationCargoList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 直接保存到业务单货物表,排除数据库中不存在的字段
|
||||
for (ReservationCargoInfo reservationCargo : reservationCargoList) {
|
||||
BusinessDocumentCargoMulti businessCargo = new BusinessDocumentCargoMulti();
|
||||
// 只拷贝数据库中存在的字段,排除cargoNum等不存在的字段
|
||||
businessCargo.setOrganizationId(reservationCargo.getOrganizationId());
|
||||
businessCargo.setOrganizationName(reservationCargo.getOrganizationName());
|
||||
businessCargo.setTopOrganizationId(reservationCargo.getTopOrganizationId());
|
||||
// businessCargo.setLayInfoId(reservationCargo.getLayInfoId());
|
||||
businessCargo.setGoodsTypeId(reservationCargo.getGoodsTypeId());
|
||||
businessCargo.setGoodsType(reservationCargo.getGoodsType());
|
||||
businessCargo.setGoodsNameId(reservationCargo.getGoodsNameId());
|
||||
businessCargo.setGoodsName(reservationCargo.getGoodsName());
|
||||
businessCargo.setCargoWeight(reservationCargo.getCargoWeight());
|
||||
businessCargo.setCargoName(reservationCargo.getCargoName());
|
||||
businessCargo.setCargoUnitId(reservationCargo.getCargoUnitId());
|
||||
businessCargo.setCargoUnitName(reservationCargo.getCargoUnitName());
|
||||
// businessCargo.setWeight(reservationCargo.getWeight());
|
||||
businessCargo.setWeightUnitId(reservationCargo.getWeightUnitId());
|
||||
businessCargo.setWeightUnit(reservationCargo.getWeightUnit());
|
||||
businessCargo.setQuantityUnitId(reservationCargo.getQuantityUnitId());
|
||||
businessCargo.setQuantityUnit(reservationCargo.getQuantityUnit());
|
||||
businessCargo.setMachineCode(reservationCargo.getMachineCode());
|
||||
// businessCargo.setMaterialCode(reservationCargo.getMaterialCode());
|
||||
businessCargo.setId(Long.valueOf(IdUtil.getSnowflakeNextIdStr()));
|
||||
businessCargo.setOrderId(String.valueOf(businessOrderId));
|
||||
businessCargo.setCreateTime(new Date());
|
||||
businessCargo.setUpdateTime(new Date());
|
||||
businessCargo.setDelFlag(1); // 设置删除标志
|
||||
businessDocumentCargoMultiMapper.insert(businessCargo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从预约单处理地址信息到业务单
|
||||
*/
|
||||
private void handleAddressInfoFromReservation(Long businessOrderId, Long reservationOrderId) {
|
||||
// 查询预约单的地址信息
|
||||
LambdaQueryWrapper<ReservationAddressMulti> addressQueryWrapper = new LambdaQueryWrapper<>();
|
||||
addressQueryWrapper.eq(ReservationAddressMulti::getOrderId, reservationOrderId);
|
||||
List<ReservationAddressMulti> reservationAddressList = reservationAddressMultiMapper.selectList(addressQueryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(reservationAddressList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 直接保存到业务单地址表
|
||||
for (ReservationAddressMulti reservationAddress : reservationAddressList) {
|
||||
BusinessDocumentAddressMulti businessAddress = new BusinessDocumentAddressMulti();
|
||||
BeanUtils.copyProperties(reservationAddress, businessAddress, "id");
|
||||
businessAddress.setId(Long.valueOf(IdUtil.getSnowflakeNextIdStr()));
|
||||
businessAddress.setOrderId(String.valueOf(businessOrderId));
|
||||
businessAddress.setCreateTime(new Date());
|
||||
businessAddress.setUpdateTime(new Date());
|
||||
businessDocumentAddressMultiMapper.insert(businessAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.mhd.oms.domain.reservationOrder.service;
|
||||
|
||||
import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationDocumentOrderMapper;
|
||||
import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO;
|
||||
import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderDTO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: brb
|
||||
* @description:
|
||||
* @create: 2026-02-10 17:54
|
||||
*/
|
||||
@Service
|
||||
public class ReservationOrderDomainService {
|
||||
@Resource
|
||||
private ReservationDocumentOrderMapper reservationDocumentOrderMapper;
|
||||
|
||||
|
||||
public List<ReservationOrderPO> queryList(OmsOrderDTO omsOrderDTO) {
|
||||
|
||||
return reservationDocumentOrderMapper.queryList(omsOrderDTO);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user