预约单列表与确认

This commit is contained in:
赵辉
2026-02-12 08:35:41 +08:00
parent 144a5f625a
commit d970a01169
13 changed files with 2063 additions and 60 deletions
@@ -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;
}
@@ -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);
}
@@ -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);
}
@@ -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);
}
@@ -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;
}
@@ -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);
}
}
}
@@ -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);
}
}