From c7cf2d1a8590940bb40093319f5765bb1512e580 Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Mon, 21 Sep 2026 10:55:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/price/domain/PrcOrderBill.java | 6 + .../ruoyi/price/domain/PrcOrderBillExt.java | 208 +++++- .../price/domain/vo/TmsPriceBillRequest.java | 9 + .../price/domain/vo/TmsPriceQuoteResult.java | 8 +- .../oracle/OracleOrderBillExtFiller.java | 253 +++++++ .../price/oracle/OracleOrderBillMapper.java | 9 +- .../impl/PrcBillingTaskServiceImpl.java | 24 +- .../service/impl/PrcOrderBillServiceImpl.java | 36 +- .../mapper/price/PrcBillingTaskMapper.xml | 5 +- .../mapper/price/PrcOrderBillExtMapper.xml | 700 +++++++++++++++++- .../mapper/price/PrcOrderBillMapper.xml | 15 +- bms-back/sql/price/order_bill_ext.sql | 3 +- .../price/order_bill_ext_drop_sync_json.sql | 4 + .../price/order_bill_sales_and_ext_alter.sql | 180 +++++ .../order_bill_sales_and_ext_comment.sql | 179 +++++ bms-front/src/views/price/billing/bill.vue | 3 + .../price/billing/components/BillDetail.vue | 3 + 17 files changed, 1585 insertions(+), 60 deletions(-) create mode 100644 bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillExtFiller.java create mode 100644 bms-back/sql/price/order_bill_ext_drop_sync_json.sql create mode 100644 bms-back/sql/price/order_bill_sales_and_ext_alter.sql create mode 100644 bms-back/sql/price/order_bill_sales_and_ext_comment.sql diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBill.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBill.java index 18eafda2..3035f84d 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBill.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBill.java @@ -23,6 +23,12 @@ public class PrcOrderBill extends BaseEntity private String trackingNo; /** transfer order no */ private String transferNo; + /** 所属销售员 */ + private String belongSaler; + /** 结算员 */ + private String settlementMan; + /** 客服员 */ + private String serviceMan; private Long customerId; private String customerCode; private String customerName; diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBillExt.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBillExt.java index ef2673c1..95594fab 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBillExt.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/PrcOrderBillExt.java @@ -1,22 +1,216 @@ package com.ruoyi.price.domain; -import java.io.Serializable; -import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; import lombok.Data; -/** Extension of prc_order_bill: upstream sync payload snapshot. */ +/** 计费订单扩展表:TAB_ORDER 剩余字段 + 同步请求快照 */ @Data public class PrcOrderBillExt implements Serializable { private static final long serialVersionUID = 1L; - /** prc_order_bill.bill_id */ private String billId; - /** business order no */ private String orderNo; - /** upstream request JSON after prc_order_bill persist success */ - private String syncJson; + private String upstreamId; + private String lineNo; + private Integer packageNum; + private BigDecimal actualVolume; + private Integer cpType; + private String consigneeMobile; + private String orderReturnsign; + private String tradeType; + private String dutyType; + private String batteryType; + private String consigneeCompanyname; + private String consigneeAddress; + private String consigneeTelephone; + private String consigneeState; + private String consigneeCity; + private String consigneeSuburb; + private String consigneePassportno; + private String consigneeEmail; + private String consigneeTaxno; + private String consigneeTaxnotype; + private String consigneeTaxnocountry; + private String consigneeStreetno; + private String consigneeDoorno; + private String shipperTaxnotype; + private String shipperTaxno; + private String shipperTaxnocountry; + private String customerId; + private String productImagepath; + private String orderTransactionurl; + private BigDecimal orderCargoamount; + private String cargoType; + private String shipperCompanyname; + private String shipperAddress1; + private String shipperAddress2; + private String shipperAddress3; + private String shipperCity; + private String shipperState; + private String shipperPostcode; + private String shipperCountry; + private String shipperTelephone; + private String shipperSuburb; + private String shipperEmail; + private String shipperPassportno; + private String importCode; + private String importName; + private String importCompanyname; + private String importAddress; + private String importAddress2; + private String importAddress3; + private String importTelephone; + private String importEmail; + private String importPostcode; + private String importCity; + private String importState; + private String importCountry; + private String buyerid; + private Integer orderStatus; + private String createAt; + private Integer payType; + private String lineCode; + private String lineName; + private String productType; + private String lineType; + private String cargoName; + private String productFloorCode; + private BigDecimal orderInsurance; + private BigDecimal productSumPrice; + private BigDecimal productSum; + private String shipperDoorno; + private String tariffPaymentAccount; + private BigDecimal topayment; + private String productFloor; + private String latestTrajectory; + private String wayBill; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pickupDate; + private Integer blBaging; + private Integer blPickup; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date bagDate; + private Integer orgOrderStatus; + private String statusDescription; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date zzDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date shippingDate; + private BigDecimal orderType; + private String receivingPhoto; + private BigDecimal freight; + private Integer isReceivable; + private Integer isMeet; + private String billNoReceivable; + private String billNoMeet; + private String countryEingthName; + private Integer isReceivableFee; + private BigDecimal settlementFee; + private String productId; + private BigDecimal serviceFreight; + private Integer isPayFee; + private Integer hasAddedSurcharge; + private BigDecimal yfFee; + private BigDecimal yfTotailFee; + private Integer trajectoryStatus; + private String cargoTypeName; + private String serviceCode; + private String threeCode; + private BigDecimal volumeHeightOld; + private BigDecimal volumeLengthOld; + private BigDecimal volumeWidthOld; + private String registerManOld; + private String bagNoOld; + private String airNoOld; + private String boxSiziOld; + private String bagingManOld; + private String retrievalManOld; + private String invoiceAmountOld; + private String invoiceTitleOld; + private String invoiceWeightOld; + private String skuOld; + private String hsCodeOld; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date registerDateOld; + private String invoiceCurrencyOld; + private Integer trajectorySubState; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date signInTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date warehouseTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date declarationTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date releaseTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date stationTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date takeoffTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date landingTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date clearanceAndDeliveryTime; + private String supplierName; + private String creditCode; + private String otherId; + private String platformCode; + private Integer syncShipmentStatus; + private BigDecimal updateWeight; + private String otherBagNo; + private Integer bagFlag; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date onlineTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date outboundTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date airConfirmDate; + private String shipmentType; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date trackQueryTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date airConfirmTime; + private Integer packageType; + private BigDecimal dimensionalWeightFactor; + private String updateBy; + private String customerPickupSite; + private String barcodeNumber; + private String trackingReflectStatus; + private Integer remotePostcode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date clearanceTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date arriveStockTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date departureTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date firstDeliverTime; + private BigDecimal hsCodeTaxCount; + private BigDecimal hsCodeTaxAmount; + private String hsCodeTaxCurrency; + private String invoiceUrl; + private String clearanceNo; + private BigDecimal pushWeight; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date internalCheckTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date airDelayTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date firstLandingTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date secondTakeoffTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date desPortCheckTime; + private String stayRemark; + private String missBoxRemark; + private String productChannelId; + private String customerTrackId; + private String registerSite; + private Integer packageTypeFinancial; + private String mrn; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceBillRequest.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceBillRequest.java index dec65633..8605d769 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceBillRequest.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceBillRequest.java @@ -2,6 +2,7 @@ package com.ruoyi.price.domain.vo; import java.math.BigDecimal; import java.util.Date; +import java.util.Map; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import jakarta.validation.constraints.AssertTrue; @@ -22,6 +23,12 @@ public class TmsPriceBillRequest extends TmsPriceQuoteRequest private String trackingNo; /** transfer order no */ private String transferNo; + /** 所属销售员 */ + private String belongSaler; + /** 结算员 */ + private String settlementMan; + /** 客服员 */ + private String serviceMan; private String customerName; private Integer pieces; private BigDecimal actualWeight; @@ -36,6 +43,8 @@ public class TmsPriceBillRequest extends TmsPriceQuoteRequest @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date orderTime; private String orderRemark; + /** 上游 TAB_ORDER 整行,用于写入 prc_order_bill_ext 扩展字段 */ + private Map upstreamRow; @JsonIgnore @AssertTrue(message = "bizDate is required") diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceQuoteResult.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceQuoteResult.java index 5d11ebe0..ed78ba52 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceQuoteResult.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/domain/vo/TmsPriceQuoteResult.java @@ -75,6 +75,12 @@ public class TmsPriceQuoteResult implements Serializable private String trackingNo; /** transfer order no */ private String transferNo; + /** 所属销售员 */ + private String belongSaler; + /** 结算员 */ + private String settlementMan; + /** 客服员 */ + private String serviceMan; private String customerCode; private String customerName; /** ACTIVE / MISSING / DISABLED */ @@ -96,7 +102,7 @@ public class TmsPriceQuoteResult implements Serializable private String orderRemark; /** true=hit stored quote */ private Boolean fromCache; - /** original TMS sync request JSON from prc_order_bill_ext */ + /** 计费请求 JSON(当次响应/日志用,不落库) */ private String requestJson; /** original billing response JSON from Elasticsearch */ private String responseJson; diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillExtFiller.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillExtFiller.java new file mode 100644 index 00000000..132310da --- /dev/null +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillExtFiller.java @@ -0,0 +1,253 @@ +package com.ruoyi.price.oracle; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.Map; +import com.ruoyi.price.domain.PrcOrderBillExt; + +/** + * 从 Oracle TAB_ORDER 行填充 prc_order_bill_ext(仅包含未落在 prc_order_bill 的字段)。 + */ +public final class OracleOrderBillExtFiller +{ + private OracleOrderBillExtFiller() {} + + public static void fillFromRow(PrcOrderBillExt ext, Map row) + { + if (ext == null || row == null || row.isEmpty()) + { + return; + } + ext.setUpstreamId(str(row, "ID")); + ext.setLineNo(str(row, "LINE_NO")); + ext.setPackageNum(integer(row, "PACKAGE_NUM")); + ext.setActualVolume(decimal(row, "ACTUAL_VOLUME")); + ext.setCpType(integer(row, "CP_TYPE")); + ext.setConsigneeMobile(str(row, "CONSIGNEE_MOBILE")); + ext.setOrderReturnsign(str(row, "ORDER_RETURNSIGN")); + ext.setTradeType(str(row, "TRADE_TYPE")); + ext.setDutyType(str(row, "DUTY_TYPE")); + ext.setBatteryType(str(row, "BATTERY_TYPE")); + ext.setConsigneeCompanyname(str(row, "CONSIGNEE_COMPANYNAME")); + ext.setConsigneeAddress(str(row, "CONSIGNEE_ADDRESS")); + ext.setConsigneeTelephone(str(row, "CONSIGNEE_TELEPHONE")); + ext.setConsigneeState(str(row, "CONSIGNEE_STATE")); + ext.setConsigneeCity(str(row, "CONSIGNEE_CITY")); + ext.setConsigneeSuburb(str(row, "CONSIGNEE_SUBURB")); + ext.setConsigneePassportno(str(row, "CONSIGNEE_PASSPORTNO")); + ext.setConsigneeEmail(str(row, "CONSIGNEE_EMAIL")); + ext.setConsigneeTaxno(str(row, "CONSIGNEE_TAXNO")); + ext.setConsigneeTaxnotype(str(row, "CONSIGNEE_TAXNOTYPE")); + ext.setConsigneeTaxnocountry(str(row, "CONSIGNEE_TAXNOCOUNTRY")); + ext.setConsigneeStreetno(str(row, "CONSIGNEE_STREETNO")); + ext.setConsigneeDoorno(str(row, "CONSIGNEE_DOORNO")); + ext.setShipperTaxnotype(str(row, "SHIPPER_TAXNOTYPE")); + ext.setShipperTaxno(str(row, "SHIPPER_TAXNO")); + ext.setShipperTaxnocountry(str(row, "SHIPPER_TAXNOCOUNTRY")); + ext.setCustomerId(str(row, "CUSTOMER_ID")); + ext.setProductImagepath(str(row, "PRODUCT_IMAGEPATH")); + ext.setOrderTransactionurl(str(row, "ORDER_TRANSACTIONURL")); + ext.setOrderCargoamount(decimal(row, "ORDER_CARGOAMOUNT")); + ext.setCargoType(str(row, "CARGO_TYPE")); + ext.setShipperCompanyname(str(row, "SHIPPER_COMPANYNAME")); + ext.setShipperAddress1(str(row, "SHIPPER_ADDRESS1")); + ext.setShipperAddress2(str(row, "SHIPPER_ADDRESS2")); + ext.setShipperAddress3(str(row, "SHIPPER_ADDRESS3")); + ext.setShipperCity(str(row, "SHIPPER_CITY")); + ext.setShipperState(str(row, "SHIPPER_STATE")); + ext.setShipperPostcode(str(row, "SHIPPER_POSTCODE")); + ext.setShipperCountry(str(row, "SHIPPER_COUNTRY")); + ext.setShipperTelephone(str(row, "SHIPPER_TELEPHONE")); + ext.setShipperSuburb(str(row, "SHIPPER_SUBURB")); + ext.setShipperEmail(str(row, "SHIPPER_EMAIL")); + ext.setShipperPassportno(str(row, "SHIPPER_PASSPORTNO")); + ext.setImportCode(str(row, "IMPORT_CODE")); + ext.setImportName(str(row, "IMPORT_NAME")); + ext.setImportCompanyname(str(row, "IMPORT_COMPANYNAME")); + ext.setImportAddress(str(row, "IMPORT_ADDRESS")); + ext.setImportAddress2(str(row, "IMPORT_ADDRESS2")); + ext.setImportAddress3(str(row, "IMPORT_ADDRESS3")); + ext.setImportTelephone(str(row, "IMPORT_TELEPHONE")); + ext.setImportEmail(str(row, "IMPORT_EMAIL")); + ext.setImportPostcode(str(row, "IMPORT_POSTCODE")); + ext.setImportCity(str(row, "IMPORT_CITY")); + ext.setImportState(str(row, "IMPORT_STATE")); + ext.setImportCountry(str(row, "IMPORT_COUNTRY")); + ext.setBuyerid(str(row, "BUYERID")); + ext.setOrderStatus(integer(row, "ORDER_STATUS")); + ext.setCreateAt(str(row, "CREATE_AT")); + ext.setPayType(integer(row, "PAY_TYPE")); + ext.setLineCode(str(row, "LINE_CODE")); + ext.setLineName(str(row, "LINE_NAME")); + ext.setProductType(str(row, "PRODUCT_TYPE")); + ext.setLineType(str(row, "LINE_TYPE")); + ext.setCargoName(str(row, "CARGO_NAME")); + ext.setProductFloorCode(str(row, "PRODUCT_FLOOR_CODE")); + ext.setOrderInsurance(decimal(row, "ORDER_INSURANCE")); + ext.setProductSumPrice(decimal(row, "PRODUCT_SUM_PRICE")); + ext.setProductSum(decimal(row, "PRODUCT_SUM")); + ext.setShipperDoorno(str(row, "SHIPPER_DOORNO")); + ext.setTariffPaymentAccount(str(row, "TARIFF_PAYMENT_ACCOUNT")); + ext.setTopayment(decimal(row, "TOPAYMENT")); + ext.setProductFloor(str(row, "PRODUCT_FLOOR")); + ext.setLatestTrajectory(str(row, "LATEST_TRAJECTORY")); + ext.setWayBill(str(row, "WAY_BILL")); + ext.setPickupDate(date(row, "PICKUP_DATE")); + ext.setBlBaging(integer(row, "BL_BAGING")); + ext.setBlPickup(integer(row, "BL_PICKUP")); + ext.setBagDate(date(row, "BAG_DATE")); + ext.setOrgOrderStatus(integer(row, "ORG_ORDER_STATUS")); + ext.setStatusDescription(str(row, "STATUS_DESCRIPTION")); + ext.setZzDate(date(row, "ZZ_DATE")); + ext.setShippingDate(date(row, "SHIPPING_DATE")); + ext.setOrderType(decimal(row, "ORDER_TYPE")); + ext.setReceivingPhoto(str(row, "RECEIVING_PHOTO")); + ext.setFreight(decimal(row, "FREIGHT")); + ext.setIsReceivable(integer(row, "IS_RECEIVABLE")); + ext.setIsMeet(integer(row, "IS_MEET")); + ext.setBillNoReceivable(str(row, "BILL_NO_RECEIVABLE")); + ext.setBillNoMeet(str(row, "BILL_NO_MEET")); + ext.setCountryEingthName(str(row, "COUNTRY_EINGTH_NAME")); + ext.setIsReceivableFee(integer(row, "IS_RECEIVABLE_FEE")); + ext.setSettlementFee(decimal(row, "SETTLEMENT_FEE")); + ext.setProductId(str(row, "PRODUCT_ID")); + ext.setServiceFreight(decimal(row, "SERVICE_FREIGHT")); + ext.setIsPayFee(integer(row, "IS_PAY_FEE")); + ext.setHasAddedSurcharge(integer(row, "HAS_ADDED_SURCHARGE")); + ext.setYfFee(decimal(row, "YF_FEE")); + ext.setYfTotailFee(decimal(row, "YF_TOTAIL_FEE")); + ext.setTrajectoryStatus(integer(row, "TRAJECTORY_STATUS")); + ext.setCargoTypeName(str(row, "CARGO_TYPE_NAME")); + ext.setServiceCode(str(row, "SERVICE_CODE")); + ext.setThreeCode(str(row, "THREE_CODE")); + ext.setVolumeHeightOld(decimal(row, "VOLUME_HEIGHT_OLD")); + ext.setVolumeLengthOld(decimal(row, "VOLUME_LENGTH_OLD")); + ext.setVolumeWidthOld(decimal(row, "VOLUME_WIDTH_OLD")); + ext.setRegisterManOld(str(row, "REGISTER_MAN_OLD")); + ext.setBagNoOld(str(row, "BAG_NO_OLD")); + ext.setAirNoOld(str(row, "AIR_NO_OLD")); + ext.setBoxSiziOld(str(row, "BOX_SIZI_OLD")); + ext.setBagingManOld(str(row, "BAGING_MAN_OLD")); + ext.setRetrievalManOld(str(row, "RETRIEVAL_MAN_OLD")); + ext.setInvoiceAmountOld(str(row, "INVOICE_AMOUNT_OLD")); + ext.setInvoiceTitleOld(str(row, "INVOICE_TITLE_OLD")); + ext.setInvoiceWeightOld(str(row, "INVOICE_WEIGHT_OLD")); + ext.setSkuOld(str(row, "SKU_OLD")); + ext.setHsCodeOld(str(row, "HS_CODE_OLD")); + ext.setRegisterDateOld(date(row, "REGISTER_DATE_OLD")); + ext.setInvoiceCurrencyOld(str(row, "INVOICE_CURRENCY_OLD")); + ext.setTrajectorySubState(integer(row, "TRAJECTORY_SUB_STATE")); + ext.setSignInTime(date(row, "SIGN_IN_TIME")); + ext.setWarehouseTime(date(row, "WAREHOUSE_TIME")); + ext.setDeclarationTime(date(row, "DECLARATION_TIME")); + ext.setReleaseTime(date(row, "RELEASE_TIME")); + ext.setStationTime(date(row, "STATION_TIME")); + ext.setTakeoffTime(date(row, "TAKEOFF_TIME")); + ext.setLandingTime(date(row, "LANDING_TIME")); + ext.setClearanceAndDeliveryTime(date(row, "CLEARANCE_AND_DELIVERY_TIME")); + ext.setSupplierName(str(row, "SUPPLIER_NAME")); + ext.setCreditCode(str(row, "CREDIT_CODE")); + ext.setOtherId(str(row, "OTHER_ID")); + ext.setPlatformCode(str(row, "PLATFORM_CODE")); + ext.setSyncShipmentStatus(integer(row, "SYNC_SHIPMENT_STATUS")); + ext.setUpdateWeight(decimal(row, "UPDATE_WEIGHT")); + ext.setOtherBagNo(str(row, "OTHER_BAG_NO")); + ext.setBagFlag(integer(row, "BAG_FLAG")); + ext.setOnlineTime(date(row, "ONLINE_TIME")); + ext.setOutboundTime(date(row, "OUTBOUND_TIME")); + ext.setAirConfirmDate(date(row, "AIR_CONFIRM_DATE")); + ext.setShipmentType(str(row, "SHIPMENT_TYPE")); + ext.setTrackQueryTime(date(row, "TRACK_QUERY_TIME")); + ext.setAirConfirmTime(date(row, "AIR_CONFIRM_TIME")); + ext.setPackageType(integer(row, "PACKAGE_TYPE")); + ext.setDimensionalWeightFactor(decimal(row, "DIMENSIONAL_WEIGHT_FACTOR")); + ext.setUpdateBy(str(row, "UPDATE_BY")); + ext.setCustomerPickupSite(str(row, "CUSTOMER_PICKUP_SITE")); + ext.setBarcodeNumber(str(row, "BARCODE_NUMBER")); + ext.setTrackingReflectStatus(str(row, "TRACKING_REFLECT_STATUS")); + ext.setRemotePostcode(integer(row, "REMOTE_POSTCODE")); + ext.setClearanceTime(date(row, "CLEARANCE_TIME")); + ext.setArriveStockTime(date(row, "ARRIVE_STOCK_TIME")); + ext.setDepartureTime(date(row, "DEPARTURE_TIME")); + ext.setFirstDeliverTime(date(row, "FIRST_DELIVER_TIME")); + ext.setHsCodeTaxCount(decimal(row, "HS_CODE_TAX_COUNT")); + ext.setHsCodeTaxAmount(decimal(row, "HS_CODE_TAX_AMOUNT")); + ext.setHsCodeTaxCurrency(str(row, "HS_CODE_TAX_CURRENCY")); + ext.setInvoiceUrl(str(row, "INVOICE_URL")); + ext.setClearanceNo(str(row, "CLEARANCE_NO")); + ext.setPushWeight(decimal(row, "PUSH_WEIGHT")); + ext.setInternalCheckTime(date(row, "INTERNAL_CHECK_TIME")); + ext.setAirDelayTime(date(row, "AIR_DELAY_TIME")); + ext.setFirstLandingTime(date(row, "FIRST_LANDING_TIME")); + ext.setSecondTakeoffTime(date(row, "SECOND_TAKEOFF_TIME")); + ext.setDesPortCheckTime(date(row, "DES_PORT_CHECK_TIME")); + ext.setStayRemark(str(row, "STAY_REMARK")); + ext.setMissBoxRemark(str(row, "MISS_BOX_REMARK")); + ext.setProductChannelId(str(row, "PRODUCT_CHANNEL_ID")); + ext.setCustomerTrackId(str(row, "CUSTOMER_TRACK_ID")); + ext.setRegisterSite(str(row, "REGISTER_SITE")); + ext.setPackageTypeFinancial(integer(row, "PACKAGE_TYPE_FINANCIAL")); + ext.setMrn(str(row, "MRN")); + } + + private static String str(Map row, String key) + { + Object v = get(row, key); + if (v == null) return null; + String s = String.valueOf(v).trim(); + return s.isEmpty() ? null : s; + } + + private static BigDecimal decimal(Map row, String key) + { + Object v = get(row, key); + if (v == null || "".equals(String.valueOf(v).trim())) return null; + if (v instanceof BigDecimal) return (BigDecimal) v; + if (v instanceof Number) return BigDecimal.valueOf(((Number) v).doubleValue()); + try { return new BigDecimal(String.valueOf(v).trim()); } catch (Exception e) { return null; } + } + + private static Integer integer(Map row, String key) + { + BigDecimal d = decimal(row, key); + return d == null ? null : Integer.valueOf(d.intValue()); + } + + private static Long longVal(Map row, String key) + { + BigDecimal d = decimal(row, key); + return d == null ? null : Long.valueOf(d.longValue()); + } + + private static Date date(Map row, String key) + { + Object v = get(row, key); + if (v == null) return null; + if (v instanceof Date) return (Date) v; + String s = String.valueOf(v).trim(); + String[] formats = { + "dd/MM/yyyy HH:mm:ss", "dd/MM/yyyy HH:mm", "yyyy-MM-dd HH:mm:ss", + "yyyy-MM-dd'T'HH:mm:ss", "yyyy-MM-dd" + }; + for (String fmt : formats) + { + try { return new SimpleDateFormat(fmt, Locale.ENGLISH).parse(s); } + catch (Exception ignored) {} + } + return null; + } + + private static Object get(Map row, String key) + { + if (row.containsKey(key)) return row.get(key); + String upper = key.toUpperCase(Locale.ROOT); + if (row.containsKey(upper)) return row.get(upper); + for (Map.Entry e : row.entrySet()) + { + if (e.getKey() != null && e.getKey().equalsIgnoreCase(key)) return e.getValue(); + } + return null; + } +} diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillMapper.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillMapper.java index 69afffe2..6367ba45 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillMapper.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/oracle/OracleOrderBillMapper.java @@ -22,9 +22,14 @@ public class OracleOrderBillMapper return null; } TmsPriceBillRequest req = new TmsPriceBillRequest(); - req.setOrderNo(firstStr(row, "ORG_ORDER_ID", "ORDER_ID", "TRANSFER_ORDER_ID")); - req.setTrackingNo(firstStr(row, "TRANSFER_ORDER_ID", "TRACK_ID", "BARCODE_NUMBER", "CUSTOMER_TRACK_ID")); + // TAB_ORDER: ORDER_ID=客户订单号, ORG_ORDER_ID=运单号, TRANSFER_ORDER_ID=转单号, TRACK_ID=轨迹ID + req.setOrderNo(firstStr(row, "ORDER_ID", "ORG_ORDER_ID", "TRANSFER_ORDER_ID")); + req.setTrackingNo(firstStr(row, "ORG_ORDER_ID", "TRACK_ID", "BARCODE_NUMBER", "CUSTOMER_TRACK_ID")); req.setTransferNo(firstStr(row, "TRANSFER_ORDER_ID")); + req.setBelongSaler(firstStr(row, "BELONG_SALER_OLD")); + req.setSettlementMan(firstStr(row, "SETTLEMENT_MAN_OLD")); + req.setServiceMan(firstStr(row, "SERVICE_MAN_OLD")); + req.setUpstreamRow(row); req.setCustomerCode(firstStr(row, "CUSTOMER_CODE")); req.setCustomerName(firstStr(row, "CUSTOMER_NAME")); String product = firstStr(row, "PRODUCT_CODE", "GOODS_CODE", "CHANNEL_CODE"); diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcBillingTaskServiceImpl.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcBillingTaskServiceImpl.java index e9ac2cce..6387f184 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcBillingTaskServiceImpl.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcBillingTaskServiceImpl.java @@ -140,15 +140,19 @@ public class PrcBillingTaskServiceImpl implements IPrcBillingTaskService { throw new ServiceException("Oracle order mapped weight invalid"); } - // Prefer task keys when Oracle mapping missed them - if (StringUtils.isEmpty(billReq.getTransferNo()) && StringUtils.isNotEmpty(task.getTransferNo())) + // Identity keys from mobile inbound are source of truth; do not replace with Oracle remap. + if (StringUtils.isNotEmpty(task.getTransferNo())) { billReq.setTransferNo(task.getTransferNo()); } - if (StringUtils.isEmpty(billReq.getTrackingNo()) && StringUtils.isNotEmpty(task.getTrackingNo())) + if (StringUtils.isNotEmpty(task.getTrackingNo())) { billReq.setTrackingNo(task.getTrackingNo()); } + if (StringUtils.isNotEmpty(task.getOrderNo())) + { + billReq.setOrderNo(task.getOrderNo()); + } // Billing date from task.bill_time (mobile), not Oracle CREATE_DATE. if (task.getBillTime() == null) { @@ -165,12 +169,12 @@ public class PrcBillingTaskServiceImpl implements IPrcBillingTaskService TmsPriceQuoteResult result = prcOrderBillService.bill(billReq); writeback(task, BillTaskSuccessStatus.SUCCESS, result == null ? null : result.getBillId(), - billReq, null); + null); } catch (RuntimeException e) { log.error("billing task failed taskId={}", taskId, e); - writeback(task, BillTaskSuccessStatus.FAILED, null, null, cut(e.getMessage(), 900)); + writeback(task, BillTaskSuccessStatus.FAILED, null, cut(e.getMessage(), 900)); } } @@ -204,21 +208,15 @@ public class PrcBillingTaskServiceImpl implements IPrcBillingTaskService return existed == null ? BillTaskType.PENDING : BillTaskType.REBILL; } + /** Write back status/billId/error only; keep inbound transfer/tracking/order/billTime untouched. */ private void writeback(PrcBillingTask task, BillTaskSuccessStatus status, String billId, - TmsPriceBillRequest billReq, String errorMessage) + String errorMessage) { PrcBillingTask upd = new PrcBillingTask(); upd.setTaskId(task.getTaskId()); upd.setSuccessStatus(status.getCode()); - // Keep bill_time as mobile billing time; do not overwrite on writeback. upd.setBillId(billId); upd.setErrorMessage(errorMessage); - if (billReq != null) - { - upd.setOrderNo(billReq.getOrderNo()); - upd.setTrackingNo(billReq.getTrackingNo()); - upd.setTransferNo(billReq.getTransferNo()); - } billingTaskMapper.updateBillingResult(upd); } diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcOrderBillServiceImpl.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcOrderBillServiceImpl.java index 14867cad..5593d878 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcOrderBillServiceImpl.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/price/service/impl/PrcOrderBillServiceImpl.java @@ -33,6 +33,7 @@ import com.ruoyi.price.mapper.PrcIncomeBillFeeMapper; import com.ruoyi.price.mapper.PrcOrderBillExtMapper; import com.ruoyi.price.mapper.PrcOrderBillMapper; import com.ruoyi.price.mapper.PrcPayBillFeeMapper; +import com.ruoyi.price.oracle.OracleOrderBillExtFiller; import com.ruoyi.price.search.EsBizLogSupport; import com.ruoyi.price.search.EsLogType; import com.ruoyi.price.search.IBillSearchStore; @@ -196,6 +197,9 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService bill.setCustomerName(request.getCustomerName()); bill.setTrackingNo(request.getTrackingNo()); bill.setTransferNo(request.getTransferNo()); + bill.setBelongSaler(request.getBelongSaler()); + bill.setSettlementMan(request.getSettlementMan()); + bill.setServiceMan(request.getServiceMan()); String customerActiveStatus = result == null ? null : result.getCustomerActiveStatus(); if (StringUtils.isEmpty(customerActiveStatus)) { @@ -277,7 +281,7 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService incomeBillFeeMapper.insertBatch(fees); } String syncJson = toRequestJson(request); - persistBillExt(bill, syncJson); + persistBillExt(bill, request.getUpstreamRow()); result.setRequestJson(syncJson); billSearchStore.save(EsLogType.BILL, orderNo, syncJson, toResponseJson(result)); } @@ -513,37 +517,27 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService r.setBizDate(bill.getBizDate()); r.setFeeDetails(toIncomeFeeLines(incomeFees)); r.setPayFeeDetails(toPayFeeLines(payFees)); - fillSyncJson(r, bill.getBillId()); return r; } - /** Persist upstream request JSON after prc_order_bill insert/update succeeds. */ - private void persistBillExt(PrcOrderBill bill, String syncJson) + /** 仅在存在上游 TAB_ORDER 行时写入 prc_order_bill_ext。 */ + private void persistBillExt(PrcOrderBill bill, java.util.Map upstreamRow) { - if (bill == null || StringUtils.isEmpty(bill.getBillId()) || StringUtils.isEmpty(syncJson)) + if (bill == null || StringUtils.isEmpty(bill.getBillId())) + { + return; + } + if (upstreamRow == null || upstreamRow.isEmpty()) { return; } PrcOrderBillExt ext = new PrcOrderBillExt(); ext.setBillId(bill.getBillId()); ext.setOrderNo(bill.getOrderNo()); - ext.setSyncJson(syncJson); + OracleOrderBillExtFiller.fillFromRow(ext, upstreamRow); orderBillExtMapper.upsertPrcOrderBillExt(ext); } - private void fillSyncJson(TmsPriceQuoteResult result, String billId) - { - if (result == null || StringUtils.isEmpty(billId)) - { - return; - } - PrcOrderBillExt ext = orderBillExtMapper.selectByBillId(billId); - if (ext != null) - { - result.setRequestJson(ext.getSyncJson()); - } - } - private List toIncomeFeeLines(List fees) { List lines = new ArrayList(); @@ -592,6 +586,9 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService { r.setTrackingNo(bill.getTrackingNo()); r.setTransferNo(bill.getTransferNo()); + r.setBelongSaler(bill.getBelongSaler()); + r.setSettlementMan(bill.getSettlementMan()); + r.setServiceMan(bill.getServiceMan()); r.setCustomerName(bill.getCustomerName()); r.setCustomerActiveStatus(bill.getCustomerActiveStatus()); r.setCreditArrearsStatus(bill.getCreditArrearsStatus()); @@ -618,6 +615,7 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService return null; } obj.remove("apiCode"); + obj.remove("upstreamRow"); return obj.toJSONString(); } diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcBillingTaskMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcBillingTaskMapper.xml index a6d04f3e..71435b9e 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcBillingTaskMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcBillingTaskMapper.xml @@ -80,15 +80,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where task_id = #{taskId} - + update prc_billing_task set success_status = #{successStatus}, bill_id = #{billId}, error_message = #{errorMessage}, - order_no = coalesce(#{orderNo}, order_no), - tracking_no = coalesce(#{trackingNo}, tracking_no), - transfer_no = coalesce(#{transferNo}, transfer_no), update_time = sysdate() where task_id = #{taskId} diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillExtMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillExtMapper.xml index 846e4367..0def3320 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillExtMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillExtMapper.xml @@ -5,15 +5,184 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select bill_id, order_no, sync_json, create_time, update_time + select bill_id, order_no, upstream_id, line_no, package_num, actual_volume, cp_type, consignee_mobile, order_returnsign, trade_type, duty_type, battery_type, consignee_companyname, consignee_address, consignee_telephone, consignee_state, consignee_city, consignee_suburb, consignee_passportno, consignee_email, consignee_taxno, consignee_taxnotype, consignee_taxnocountry, consignee_streetno, consignee_doorno, shipper_taxnotype, shipper_taxno, shipper_taxnocountry, customer_id, product_imagepath, order_transactionurl, order_cargoamount, cargo_type, shipper_companyname, shipper_address1, shipper_address2, shipper_address3, shipper_city, shipper_state, shipper_postcode, shipper_country, shipper_telephone, shipper_suburb, shipper_email, shipper_passportno, import_code, import_name, import_companyname, import_address, import_address2, import_address3, import_telephone, import_email, import_postcode, import_city, import_state, import_country, buyerid, order_status, create_at, pay_type, line_code, line_name, product_type, line_type, cargo_name, product_floor_code, order_insurance, product_sum_price, product_sum, shipper_doorno, tariff_payment_account, topayment, product_floor, latest_trajectory, way_bill, pickup_date, bl_baging, bl_pickup, bag_date, org_order_status, status_description, zz_date, shipping_date, order_type, receiving_photo, freight, is_receivable, is_meet, bill_no_receivable, bill_no_meet, country_eingth_name, is_receivable_fee, settlement_fee, product_id, service_freight, is_pay_fee, has_added_surcharge, yf_fee, yf_totail_fee, trajectory_status, cargo_type_name, service_code, three_code, volume_height_old, volume_length_old, volume_width_old, register_man_old, bag_no_old, air_no_old, box_sizi_old, baging_man_old, retrieval_man_old, invoice_amount_old, invoice_title_old, invoice_weight_old, sku_old, hs_code_old, register_date_old, invoice_currency_old, trajectory_sub_state, sign_in_time, warehouse_time, declaration_time, release_time, station_time, takeoff_time, landing_time, clearance_and_delivery_time, supplier_name, credit_code, other_id, platform_code, sync_shipment_status, update_weight, other_bag_no, bag_flag, online_time, outbound_time, air_confirm_date, shipment_type, track_query_time, air_confirm_time, package_type, dimensional_weight_factor, update_by, customer_pickup_site, barcode_number, tracking_reflect_status, remote_postcode, clearance_time, arrive_stock_time, departure_time, first_deliver_time, hs_code_tax_count, hs_code_tax_amount, hs_code_tax_currency, invoice_url, clearance_no, push_weight, internal_check_time, air_delay_time, first_landing_time, second_takeoff_time, des_port_check_time, stay_remark, miss_box_remark, product_channel_id, customer_track_id, register_site, package_type_financial, mrn, create_time, update_time from prc_order_bill_ext @@ -29,21 +198,534 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into prc_order_bill_ext ( - bill_id, order_no, sync_json, create_time, update_time + bill_id, order_no, upstream_id, line_no, package_num, actual_volume, cp_type, consignee_mobile, order_returnsign, trade_type, duty_type, battery_type, consignee_companyname, consignee_address, consignee_telephone, consignee_state, consignee_city, consignee_suburb, consignee_passportno, consignee_email, consignee_taxno, consignee_taxnotype, consignee_taxnocountry, consignee_streetno, consignee_doorno, shipper_taxnotype, shipper_taxno, shipper_taxnocountry, customer_id, product_imagepath, order_transactionurl, order_cargoamount, cargo_type, shipper_companyname, shipper_address1, shipper_address2, shipper_address3, shipper_city, shipper_state, shipper_postcode, shipper_country, shipper_telephone, shipper_suburb, shipper_email, shipper_passportno, import_code, import_name, import_companyname, import_address, import_address2, import_address3, import_telephone, import_email, import_postcode, import_city, import_state, import_country, buyerid, order_status, create_at, pay_type, line_code, line_name, product_type, line_type, cargo_name, product_floor_code, order_insurance, product_sum_price, product_sum, shipper_doorno, tariff_payment_account, topayment, product_floor, latest_trajectory, way_bill, pickup_date, bl_baging, bl_pickup, bag_date, org_order_status, status_description, zz_date, shipping_date, order_type, receiving_photo, freight, is_receivable, is_meet, bill_no_receivable, bill_no_meet, country_eingth_name, is_receivable_fee, settlement_fee, product_id, service_freight, is_pay_fee, has_added_surcharge, yf_fee, yf_totail_fee, trajectory_status, cargo_type_name, service_code, three_code, volume_height_old, volume_length_old, volume_width_old, register_man_old, bag_no_old, air_no_old, box_sizi_old, baging_man_old, retrieval_man_old, invoice_amount_old, invoice_title_old, invoice_weight_old, sku_old, hs_code_old, register_date_old, invoice_currency_old, trajectory_sub_state, sign_in_time, warehouse_time, declaration_time, release_time, station_time, takeoff_time, landing_time, clearance_and_delivery_time, supplier_name, credit_code, other_id, platform_code, sync_shipment_status, update_weight, other_bag_no, bag_flag, online_time, outbound_time, air_confirm_date, shipment_type, track_query_time, air_confirm_time, package_type, dimensional_weight_factor, update_by, customer_pickup_site, barcode_number, tracking_reflect_status, remote_postcode, clearance_time, arrive_stock_time, departure_time, first_deliver_time, hs_code_tax_count, hs_code_tax_amount, hs_code_tax_currency, invoice_url, clearance_no, push_weight, internal_check_time, air_delay_time, first_landing_time, second_takeoff_time, des_port_check_time, stay_remark, miss_box_remark, product_channel_id, customer_track_id, register_site, package_type_financial, mrn, create_time ) values ( - #{billId}, #{orderNo}, #{syncJson}, sysdate(), sysdate() + #{billId}, + #{orderNo}, + #{upstreamId}, + #{lineNo}, + #{packageNum}, + #{actualVolume}, + #{cpType}, + #{consigneeMobile}, + #{orderReturnsign}, + #{tradeType}, + #{dutyType}, + #{batteryType}, + #{consigneeCompanyname}, + #{consigneeAddress}, + #{consigneeTelephone}, + #{consigneeState}, + #{consigneeCity}, + #{consigneeSuburb}, + #{consigneePassportno}, + #{consigneeEmail}, + #{consigneeTaxno}, + #{consigneeTaxnotype}, + #{consigneeTaxnocountry}, + #{consigneeStreetno}, + #{consigneeDoorno}, + #{shipperTaxnotype}, + #{shipperTaxno}, + #{shipperTaxnocountry}, + #{customerId}, + #{productImagepath}, + #{orderTransactionurl}, + #{orderCargoamount}, + #{cargoType}, + #{shipperCompanyname}, + #{shipperAddress1}, + #{shipperAddress2}, + #{shipperAddress3}, + #{shipperCity}, + #{shipperState}, + #{shipperPostcode}, + #{shipperCountry}, + #{shipperTelephone}, + #{shipperSuburb}, + #{shipperEmail}, + #{shipperPassportno}, + #{importCode}, + #{importName}, + #{importCompanyname}, + #{importAddress}, + #{importAddress2}, + #{importAddress3}, + #{importTelephone}, + #{importEmail}, + #{importPostcode}, + #{importCity}, + #{importState}, + #{importCountry}, + #{buyerid}, + #{orderStatus}, + #{createAt}, + #{payType}, + #{lineCode}, + #{lineName}, + #{productType}, + #{lineType}, + #{cargoName}, + #{productFloorCode}, + #{orderInsurance}, + #{productSumPrice}, + #{productSum}, + #{shipperDoorno}, + #{tariffPaymentAccount}, + #{topayment}, + #{productFloor}, + #{latestTrajectory}, + #{wayBill}, + #{pickupDate}, + #{blBaging}, + #{blPickup}, + #{bagDate}, + #{orgOrderStatus}, + #{statusDescription}, + #{zzDate}, + #{shippingDate}, + #{orderType}, + #{receivingPhoto}, + #{freight}, + #{isReceivable}, + #{isMeet}, + #{billNoReceivable}, + #{billNoMeet}, + #{countryEingthName}, + #{isReceivableFee}, + #{settlementFee}, + #{productId}, + #{serviceFreight}, + #{isPayFee}, + #{hasAddedSurcharge}, + #{yfFee}, + #{yfTotailFee}, + #{trajectoryStatus}, + #{cargoTypeName}, + #{serviceCode}, + #{threeCode}, + #{volumeHeightOld}, + #{volumeLengthOld}, + #{volumeWidthOld}, + #{registerManOld}, + #{bagNoOld}, + #{airNoOld}, + #{boxSiziOld}, + #{bagingManOld}, + #{retrievalManOld}, + #{invoiceAmountOld}, + #{invoiceTitleOld}, + #{invoiceWeightOld}, + #{skuOld}, + #{hsCodeOld}, + #{registerDateOld}, + #{invoiceCurrencyOld}, + #{trajectorySubState}, + #{signInTime}, + #{warehouseTime}, + #{declarationTime}, + #{releaseTime}, + #{stationTime}, + #{takeoffTime}, + #{landingTime}, + #{clearanceAndDeliveryTime}, + #{supplierName}, + #{creditCode}, + #{otherId}, + #{platformCode}, + #{syncShipmentStatus}, + #{updateWeight}, + #{otherBagNo}, + #{bagFlag}, + #{onlineTime}, + #{outboundTime}, + #{airConfirmDate}, + #{shipmentType}, + #{trackQueryTime}, + #{airConfirmTime}, + #{packageType}, + #{dimensionalWeightFactor}, + #{updateBy}, + #{customerPickupSite}, + #{barcodeNumber}, + #{trackingReflectStatus}, + #{remotePostcode}, + #{clearanceTime}, + #{arriveStockTime}, + #{departureTime}, + #{firstDeliverTime}, + #{hsCodeTaxCount}, + #{hsCodeTaxAmount}, + #{hsCodeTaxCurrency}, + #{invoiceUrl}, + #{clearanceNo}, + #{pushWeight}, + #{internalCheckTime}, + #{airDelayTime}, + #{firstLandingTime}, + #{secondTakeoffTime}, + #{desPortCheckTime}, + #{stayRemark}, + #{missBoxRemark}, + #{productChannelId}, + #{customerTrackId}, + #{registerSite}, + #{packageTypeFinancial}, + #{mrn}, + sysdate() ) insert into prc_order_bill_ext ( - bill_id, order_no, sync_json, create_time, update_time + bill_id, order_no, upstream_id, line_no, package_num, actual_volume, cp_type, consignee_mobile, order_returnsign, trade_type, duty_type, battery_type, consignee_companyname, consignee_address, consignee_telephone, consignee_state, consignee_city, consignee_suburb, consignee_passportno, consignee_email, consignee_taxno, consignee_taxnotype, consignee_taxnocountry, consignee_streetno, consignee_doorno, shipper_taxnotype, shipper_taxno, shipper_taxnocountry, customer_id, product_imagepath, order_transactionurl, order_cargoamount, cargo_type, shipper_companyname, shipper_address1, shipper_address2, shipper_address3, shipper_city, shipper_state, shipper_postcode, shipper_country, shipper_telephone, shipper_suburb, shipper_email, shipper_passportno, import_code, import_name, import_companyname, import_address, import_address2, import_address3, import_telephone, import_email, import_postcode, import_city, import_state, import_country, buyerid, order_status, create_at, pay_type, line_code, line_name, product_type, line_type, cargo_name, product_floor_code, order_insurance, product_sum_price, product_sum, shipper_doorno, tariff_payment_account, topayment, product_floor, latest_trajectory, way_bill, pickup_date, bl_baging, bl_pickup, bag_date, org_order_status, status_description, zz_date, shipping_date, order_type, receiving_photo, freight, is_receivable, is_meet, bill_no_receivable, bill_no_meet, country_eingth_name, is_receivable_fee, settlement_fee, product_id, service_freight, is_pay_fee, has_added_surcharge, yf_fee, yf_totail_fee, trajectory_status, cargo_type_name, service_code, three_code, volume_height_old, volume_length_old, volume_width_old, register_man_old, bag_no_old, air_no_old, box_sizi_old, baging_man_old, retrieval_man_old, invoice_amount_old, invoice_title_old, invoice_weight_old, sku_old, hs_code_old, register_date_old, invoice_currency_old, trajectory_sub_state, sign_in_time, warehouse_time, declaration_time, release_time, station_time, takeoff_time, landing_time, clearance_and_delivery_time, supplier_name, credit_code, other_id, platform_code, sync_shipment_status, update_weight, other_bag_no, bag_flag, online_time, outbound_time, air_confirm_date, shipment_type, track_query_time, air_confirm_time, package_type, dimensional_weight_factor, update_by, customer_pickup_site, barcode_number, tracking_reflect_status, remote_postcode, clearance_time, arrive_stock_time, departure_time, first_deliver_time, hs_code_tax_count, hs_code_tax_amount, hs_code_tax_currency, invoice_url, clearance_no, push_weight, internal_check_time, air_delay_time, first_landing_time, second_takeoff_time, des_port_check_time, stay_remark, miss_box_remark, product_channel_id, customer_track_id, register_site, package_type_financial, mrn, create_time ) values ( - #{billId}, #{orderNo}, #{syncJson}, sysdate(), sysdate() + #{billId}, + #{orderNo}, + #{upstreamId}, + #{lineNo}, + #{packageNum}, + #{actualVolume}, + #{cpType}, + #{consigneeMobile}, + #{orderReturnsign}, + #{tradeType}, + #{dutyType}, + #{batteryType}, + #{consigneeCompanyname}, + #{consigneeAddress}, + #{consigneeTelephone}, + #{consigneeState}, + #{consigneeCity}, + #{consigneeSuburb}, + #{consigneePassportno}, + #{consigneeEmail}, + #{consigneeTaxno}, + #{consigneeTaxnotype}, + #{consigneeTaxnocountry}, + #{consigneeStreetno}, + #{consigneeDoorno}, + #{shipperTaxnotype}, + #{shipperTaxno}, + #{shipperTaxnocountry}, + #{customerId}, + #{productImagepath}, + #{orderTransactionurl}, + #{orderCargoamount}, + #{cargoType}, + #{shipperCompanyname}, + #{shipperAddress1}, + #{shipperAddress2}, + #{shipperAddress3}, + #{shipperCity}, + #{shipperState}, + #{shipperPostcode}, + #{shipperCountry}, + #{shipperTelephone}, + #{shipperSuburb}, + #{shipperEmail}, + #{shipperPassportno}, + #{importCode}, + #{importName}, + #{importCompanyname}, + #{importAddress}, + #{importAddress2}, + #{importAddress3}, + #{importTelephone}, + #{importEmail}, + #{importPostcode}, + #{importCity}, + #{importState}, + #{importCountry}, + #{buyerid}, + #{orderStatus}, + #{createAt}, + #{payType}, + #{lineCode}, + #{lineName}, + #{productType}, + #{lineType}, + #{cargoName}, + #{productFloorCode}, + #{orderInsurance}, + #{productSumPrice}, + #{productSum}, + #{shipperDoorno}, + #{tariffPaymentAccount}, + #{topayment}, + #{productFloor}, + #{latestTrajectory}, + #{wayBill}, + #{pickupDate}, + #{blBaging}, + #{blPickup}, + #{bagDate}, + #{orgOrderStatus}, + #{statusDescription}, + #{zzDate}, + #{shippingDate}, + #{orderType}, + #{receivingPhoto}, + #{freight}, + #{isReceivable}, + #{isMeet}, + #{billNoReceivable}, + #{billNoMeet}, + #{countryEingthName}, + #{isReceivableFee}, + #{settlementFee}, + #{productId}, + #{serviceFreight}, + #{isPayFee}, + #{hasAddedSurcharge}, + #{yfFee}, + #{yfTotailFee}, + #{trajectoryStatus}, + #{cargoTypeName}, + #{serviceCode}, + #{threeCode}, + #{volumeHeightOld}, + #{volumeLengthOld}, + #{volumeWidthOld}, + #{registerManOld}, + #{bagNoOld}, + #{airNoOld}, + #{boxSiziOld}, + #{bagingManOld}, + #{retrievalManOld}, + #{invoiceAmountOld}, + #{invoiceTitleOld}, + #{invoiceWeightOld}, + #{skuOld}, + #{hsCodeOld}, + #{registerDateOld}, + #{invoiceCurrencyOld}, + #{trajectorySubState}, + #{signInTime}, + #{warehouseTime}, + #{declarationTime}, + #{releaseTime}, + #{stationTime}, + #{takeoffTime}, + #{landingTime}, + #{clearanceAndDeliveryTime}, + #{supplierName}, + #{creditCode}, + #{otherId}, + #{platformCode}, + #{syncShipmentStatus}, + #{updateWeight}, + #{otherBagNo}, + #{bagFlag}, + #{onlineTime}, + #{outboundTime}, + #{airConfirmDate}, + #{shipmentType}, + #{trackQueryTime}, + #{airConfirmTime}, + #{packageType}, + #{dimensionalWeightFactor}, + #{updateBy}, + #{customerPickupSite}, + #{barcodeNumber}, + #{trackingReflectStatus}, + #{remotePostcode}, + #{clearanceTime}, + #{arriveStockTime}, + #{departureTime}, + #{firstDeliverTime}, + #{hsCodeTaxCount}, + #{hsCodeTaxAmount}, + #{hsCodeTaxCurrency}, + #{invoiceUrl}, + #{clearanceNo}, + #{pushWeight}, + #{internalCheckTime}, + #{airDelayTime}, + #{firstLandingTime}, + #{secondTakeoffTime}, + #{desPortCheckTime}, + #{stayRemark}, + #{missBoxRemark}, + #{productChannelId}, + #{customerTrackId}, + #{registerSite}, + #{packageTypeFinancial}, + #{mrn}, + sysdate() ) on duplicate key update order_no = values(order_no), - sync_json = values(sync_json), + upstream_id = values(upstream_id), + line_no = values(line_no), + package_num = values(package_num), + actual_volume = values(actual_volume), + cp_type = values(cp_type), + consignee_mobile = values(consignee_mobile), + order_returnsign = values(order_returnsign), + trade_type = values(trade_type), + duty_type = values(duty_type), + battery_type = values(battery_type), + consignee_companyname = values(consignee_companyname), + consignee_address = values(consignee_address), + consignee_telephone = values(consignee_telephone), + consignee_state = values(consignee_state), + consignee_city = values(consignee_city), + consignee_suburb = values(consignee_suburb), + consignee_passportno = values(consignee_passportno), + consignee_email = values(consignee_email), + consignee_taxno = values(consignee_taxno), + consignee_taxnotype = values(consignee_taxnotype), + consignee_taxnocountry = values(consignee_taxnocountry), + consignee_streetno = values(consignee_streetno), + consignee_doorno = values(consignee_doorno), + shipper_taxnotype = values(shipper_taxnotype), + shipper_taxno = values(shipper_taxno), + shipper_taxnocountry = values(shipper_taxnocountry), + customer_id = values(customer_id), + product_imagepath = values(product_imagepath), + order_transactionurl = values(order_transactionurl), + order_cargoamount = values(order_cargoamount), + cargo_type = values(cargo_type), + shipper_companyname = values(shipper_companyname), + shipper_address1 = values(shipper_address1), + shipper_address2 = values(shipper_address2), + shipper_address3 = values(shipper_address3), + shipper_city = values(shipper_city), + shipper_state = values(shipper_state), + shipper_postcode = values(shipper_postcode), + shipper_country = values(shipper_country), + shipper_telephone = values(shipper_telephone), + shipper_suburb = values(shipper_suburb), + shipper_email = values(shipper_email), + shipper_passportno = values(shipper_passportno), + import_code = values(import_code), + import_name = values(import_name), + import_companyname = values(import_companyname), + import_address = values(import_address), + import_address2 = values(import_address2), + import_address3 = values(import_address3), + import_telephone = values(import_telephone), + import_email = values(import_email), + import_postcode = values(import_postcode), + import_city = values(import_city), + import_state = values(import_state), + import_country = values(import_country), + buyerid = values(buyerid), + order_status = values(order_status), + create_at = values(create_at), + pay_type = values(pay_type), + line_code = values(line_code), + line_name = values(line_name), + product_type = values(product_type), + line_type = values(line_type), + cargo_name = values(cargo_name), + product_floor_code = values(product_floor_code), + order_insurance = values(order_insurance), + product_sum_price = values(product_sum_price), + product_sum = values(product_sum), + shipper_doorno = values(shipper_doorno), + tariff_payment_account = values(tariff_payment_account), + topayment = values(topayment), + product_floor = values(product_floor), + latest_trajectory = values(latest_trajectory), + way_bill = values(way_bill), + pickup_date = values(pickup_date), + bl_baging = values(bl_baging), + bl_pickup = values(bl_pickup), + bag_date = values(bag_date), + org_order_status = values(org_order_status), + status_description = values(status_description), + zz_date = values(zz_date), + shipping_date = values(shipping_date), + order_type = values(order_type), + receiving_photo = values(receiving_photo), + freight = values(freight), + is_receivable = values(is_receivable), + is_meet = values(is_meet), + bill_no_receivable = values(bill_no_receivable), + bill_no_meet = values(bill_no_meet), + country_eingth_name = values(country_eingth_name), + is_receivable_fee = values(is_receivable_fee), + settlement_fee = values(settlement_fee), + product_id = values(product_id), + service_freight = values(service_freight), + is_pay_fee = values(is_pay_fee), + has_added_surcharge = values(has_added_surcharge), + yf_fee = values(yf_fee), + yf_totail_fee = values(yf_totail_fee), + trajectory_status = values(trajectory_status), + cargo_type_name = values(cargo_type_name), + service_code = values(service_code), + three_code = values(three_code), + volume_height_old = values(volume_height_old), + volume_length_old = values(volume_length_old), + volume_width_old = values(volume_width_old), + register_man_old = values(register_man_old), + bag_no_old = values(bag_no_old), + air_no_old = values(air_no_old), + box_sizi_old = values(box_sizi_old), + baging_man_old = values(baging_man_old), + retrieval_man_old = values(retrieval_man_old), + invoice_amount_old = values(invoice_amount_old), + invoice_title_old = values(invoice_title_old), + invoice_weight_old = values(invoice_weight_old), + sku_old = values(sku_old), + hs_code_old = values(hs_code_old), + register_date_old = values(register_date_old), + invoice_currency_old = values(invoice_currency_old), + trajectory_sub_state = values(trajectory_sub_state), + sign_in_time = values(sign_in_time), + warehouse_time = values(warehouse_time), + declaration_time = values(declaration_time), + release_time = values(release_time), + station_time = values(station_time), + takeoff_time = values(takeoff_time), + landing_time = values(landing_time), + clearance_and_delivery_time = values(clearance_and_delivery_time), + supplier_name = values(supplier_name), + credit_code = values(credit_code), + other_id = values(other_id), + platform_code = values(platform_code), + sync_shipment_status = values(sync_shipment_status), + update_weight = values(update_weight), + other_bag_no = values(other_bag_no), + bag_flag = values(bag_flag), + online_time = values(online_time), + outbound_time = values(outbound_time), + air_confirm_date = values(air_confirm_date), + shipment_type = values(shipment_type), + track_query_time = values(track_query_time), + air_confirm_time = values(air_confirm_time), + package_type = values(package_type), + dimensional_weight_factor = values(dimensional_weight_factor), + update_by = values(update_by), + customer_pickup_site = values(customer_pickup_site), + barcode_number = values(barcode_number), + tracking_reflect_status = values(tracking_reflect_status), + remote_postcode = values(remote_postcode), + clearance_time = values(clearance_time), + arrive_stock_time = values(arrive_stock_time), + departure_time = values(departure_time), + first_deliver_time = values(first_deliver_time), + hs_code_tax_count = values(hs_code_tax_count), + hs_code_tax_amount = values(hs_code_tax_amount), + hs_code_tax_currency = values(hs_code_tax_currency), + invoice_url = values(invoice_url), + clearance_no = values(clearance_no), + push_weight = values(push_weight), + internal_check_time = values(internal_check_time), + air_delay_time = values(air_delay_time), + first_landing_time = values(first_landing_time), + second_takeoff_time = values(second_takeoff_time), + des_port_check_time = values(des_port_check_time), + stay_remark = values(stay_remark), + miss_box_remark = values(miss_box_remark), + product_channel_id = values(product_channel_id), + customer_track_id = values(customer_track_id), + register_site = values(register_site), + package_type_financial = values(package_type_financial), + mrn = values(mrn), update_time = sysdate() diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillMapper.xml index 6d95011f..7db925c0 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/price/PrcOrderBillMapper.xml @@ -12,6 +12,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -69,7 +72,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select bill_id, bill_key, order_no, tracking_no, transfer_no, customer_id, customer_code, customer_name, + select bill_id, bill_key, order_no, tracking_no, transfer_no, belong_saler, settlement_man, service_man, + customer_id, customer_code, customer_name, pieces, actual_weight, volume, volume_weight, pkg_length, pkg_width, pkg_height, shipper_name, consignee_name, dest_postcode, warehouse_code, order_time, order_remark, product_code, product_name, country_code, country_name, weight, biz_date, tms_id, @@ -302,7 +306,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into prc_order_bill ( - bill_id, bill_key, order_no, tracking_no, transfer_no, customer_id, customer_code, customer_name, + bill_id, bill_key, order_no, tracking_no, transfer_no, belong_saler, settlement_man, service_man, + customer_id, customer_code, customer_name, pieces, actual_weight, volume, volume_weight, pkg_length, pkg_width, pkg_height, shipper_name, consignee_name, dest_postcode, warehouse_code, order_time, order_remark, product_code, product_name, country_code, country_name, weight, biz_date, tms_id, @@ -314,7 +319,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" customer_active_status, credit_arrears_status, round_mode, create_time ) values ( - #{billId}, #{billKey}, #{orderNo}, #{trackingNo}, #{transferNo}, #{customerId}, #{customerCode}, #{customerName}, + #{billId}, #{billKey}, #{orderNo}, #{trackingNo}, #{transferNo}, #{belongSaler}, #{settlementMan}, #{serviceMan}, + #{customerId}, #{customerCode}, #{customerName}, #{pieces}, #{actualWeight}, #{volume}, #{volumeWeight}, #{pkgLength}, #{pkgWidth}, #{pkgHeight}, #{shipperName}, #{consigneeName}, #{destPostcode}, #{warehouseCode}, #{orderTime}, #{orderRemark}, #{productCode}, #{productName}, #{countryCode}, #{countryName}, #{weight}, #{bizDate}, #{tmsId}, @@ -333,6 +339,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" set bill_key = #{billKey}, tracking_no = #{trackingNo}, transfer_no = #{transferNo}, + belong_saler = #{belongSaler}, + settlement_man = #{settlementMan}, + service_man = #{serviceMan}, customer_id = #{customerId}, customer_code = #{customerCode}, customer_name = #{customerName}, diff --git a/bms-back/sql/price/order_bill_ext.sql b/bms-back/sql/price/order_bill_ext.sql index 3bb9c4d3..132e1519 100644 --- a/bms-back/sql/price/order_bill_ext.sql +++ b/bms-back/sql/price/order_bill_ext.sql @@ -1,10 +1,9 @@ --- prc_order_bill_ext: snapshot of upstream sync payload after prc_order_bill persist success +-- prc_order_bill_ext:计费订单扩展(TAB_ORDER 剩余字段) SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS prc_order_bill_ext ( bill_id VARCHAR(36) NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id', order_no VARCHAR(64) NOT NULL COMMENT '订单号', - sync_json LONGTEXT NOT NULL COMMENT '上游同步成功写入 prc_order_bill 时的请求JSON', create_time DATETIME NOT NULL COMMENT '创建时间', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (bill_id), diff --git a/bms-back/sql/price/order_bill_ext_drop_sync_json.sql b/bms-back/sql/price/order_bill_ext_drop_sync_json.sql new file mode 100644 index 00000000..661f056f --- /dev/null +++ b/bms-back/sql/price/order_bill_ext_drop_sync_json.sql @@ -0,0 +1,4 @@ +-- 删除 prc_order_bill_ext.sync_json +SET NAMES utf8mb4; + +ALTER TABLE prc_order_bill_ext DROP COLUMN sync_json; diff --git a/bms-back/sql/price/order_bill_sales_and_ext_alter.sql b/bms-back/sql/price/order_bill_sales_and_ext_alter.sql new file mode 100644 index 00000000..41768513 --- /dev/null +++ b/bms-back/sql/price/order_bill_sales_and_ext_alter.sql @@ -0,0 +1,180 @@ +-- prc_order_bill / prc_order_bill_ext:从 TAB_ORDER 补充字段 +SET NAMES utf8mb4; + +ALTER TABLE prc_order_bill + ADD COLUMN belong_saler VARCHAR(64) DEFAULT NULL COMMENT '所属销售员' AFTER transfer_no, + ADD COLUMN settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员' AFTER belong_saler, + ADD COLUMN service_man VARCHAR(64) DEFAULT NULL COMMENT '客服员' AFTER settlement_man; + +-- prc_order_bill_ext:TAB_ORDER 中尚未落在 prc_order_bill 的字段 +ALTER TABLE prc_order_bill_ext + ADD COLUMN upstream_id VARCHAR(64) DEFAULT NULL COMMENT 'guid', + ADD COLUMN line_no VARCHAR(32) DEFAULT NULL COMMENT '线路', + ADD COLUMN package_num INT DEFAULT NULL COMMENT '包裹数量', + ADD COLUMN actual_volume DECIMAL(10,3) DEFAULT NULL COMMENT '实际体积重', + ADD COLUMN cp_type TINYINT DEFAULT NULL COMMENT '线路产品类型 1全程 2干线 3尾程', + ADD COLUMN consignee_mobile VARCHAR(32) DEFAULT NULL COMMENT '收件人手机', + ADD COLUMN order_returnsign CHAR(1) DEFAULT NULL COMMENT '退回标志,默认N表示不退回,Y标表示退回。中邮可以忽略该属性', + ADD COLUMN trade_type VARCHAR(10) DEFAULT NULL COMMENT '交易类型,值为ZYXT', + ADD COLUMN duty_type VARCHAR(10) DEFAULT NULL COMMENT '关税类型,值为DDU或DDP', + ADD COLUMN battery_type VARCHAR(20) DEFAULT NULL COMMENT '电池类型代码,联系货代提供', + ADD COLUMN consignee_companyname VARCHAR(255) DEFAULT NULL COMMENT '收件公司名,如有最好填写', + ADD COLUMN consignee_address VARCHAR(255) DEFAULT NULL COMMENT '收件地址街道,必填', + ADD COLUMN consignee_telephone VARCHAR(50) DEFAULT NULL COMMENT '收件电话,必填', + ADD COLUMN consignee_state VARCHAR(100) DEFAULT NULL COMMENT '州/省', + ADD COLUMN consignee_city VARCHAR(100) DEFAULT NULL COMMENT '城市', + ADD COLUMN consignee_suburb VARCHAR(100) DEFAULT NULL COMMENT '收件区,选填', + ADD COLUMN consignee_passportno VARCHAR(50) DEFAULT NULL COMMENT '收件护照号,选填', + ADD COLUMN consignee_email VARCHAR(255) DEFAULT NULL COMMENT '邮箱,选填', + ADD COLUMN consignee_taxno VARCHAR(50) DEFAULT NULL COMMENT '收件人税号', + ADD COLUMN consignee_taxnotype VARCHAR(50) DEFAULT NULL COMMENT '收件人税号类型', + ADD COLUMN consignee_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '收件人税号国家', + ADD COLUMN consignee_streetno VARCHAR(50) DEFAULT NULL COMMENT '街道号', + ADD COLUMN consignee_doorno VARCHAR(50) DEFAULT NULL COMMENT '门牌号', + ADD COLUMN shipper_taxnotype VARCHAR(20) DEFAULT NULL COMMENT '税号类型,邮政产品可选值:IOSS,NO - IOSS,OTHER;DHL可选值:SDT、VAT、FTZ、DAN、EOR、CNP、EIN等(类型说明参照文档底部“DHL发件人税号类型”)', + ADD COLUMN shipper_taxno VARCHAR(50) DEFAULT NULL COMMENT '发件人税号', + ADD COLUMN shipper_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '发件人税号国家,用国家二字码', + ADD COLUMN customer_id VARCHAR(50) DEFAULT NULL COMMENT '客户ID,必填', + ADD COLUMN product_imagepath TEXT DEFAULT NULL COMMENT '图片地址,多图片地址用分号隔开', + ADD COLUMN order_transactionurl TEXT DEFAULT NULL COMMENT '产品销售地址', + ADD COLUMN order_cargoamount DECIMAL(12,5) DEFAULT NULL COMMENT '选填;用于DHL/FEDEX运费;或用于白关申报(订单实际金额,特殊渠道使用);或其他用途', + ADD COLUMN cargo_type CHAR(1) DEFAULT NULL COMMENT '包裹类型,P代表包裹,D代表文件,B代表PAK袋', + ADD COLUMN shipper_companyname VARCHAR(255) DEFAULT NULL COMMENT '发件人公司名,选填', + ADD COLUMN shipper_address1 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址1,选填', + ADD COLUMN shipper_address2 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址2,选填', + ADD COLUMN shipper_address3 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址3,选填', + ADD COLUMN shipper_city VARCHAR(100) DEFAULT NULL COMMENT '发件人城市,选填', + ADD COLUMN shipper_state VARCHAR(100) DEFAULT NULL COMMENT '发件人州,选填', + ADD COLUMN shipper_postcode VARCHAR(20) DEFAULT NULL COMMENT '发件人邮编,选填', + ADD COLUMN shipper_country VARCHAR(100) DEFAULT NULL COMMENT '发件人国家,选填', + ADD COLUMN shipper_telephone VARCHAR(20) DEFAULT NULL COMMENT '发件人电话,选填', + ADD COLUMN shipper_suburb VARCHAR(100) DEFAULT NULL COMMENT '发件人区,选填', + ADD COLUMN shipper_email VARCHAR(255) DEFAULT NULL COMMENT '发件人邮箱,选填', + ADD COLUMN shipper_passportno VARCHAR(50) DEFAULT NULL COMMENT '发件人护照号,选填', + ADD COLUMN import_code VARCHAR(50) DEFAULT NULL COMMENT '进口商代码', + ADD COLUMN import_name VARCHAR(255) DEFAULT NULL COMMENT '进口商名称', + ADD COLUMN import_companyname VARCHAR(255) DEFAULT NULL COMMENT '进口商公司名称', + ADD COLUMN import_address VARCHAR(255) DEFAULT NULL COMMENT '进口商地址', + ADD COLUMN import_address2 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址2', + ADD COLUMN import_address3 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址3', + ADD COLUMN import_telephone VARCHAR(20) DEFAULT NULL COMMENT '进口商电话', + ADD COLUMN import_email VARCHAR(255) DEFAULT NULL COMMENT '进口商邮箱', + ADD COLUMN import_postcode VARCHAR(20) DEFAULT NULL COMMENT '进口商邮编', + ADD COLUMN import_city VARCHAR(100) DEFAULT NULL COMMENT '进口商城市', + ADD COLUMN import_state VARCHAR(100) DEFAULT NULL COMMENT '进口商州省', + ADD COLUMN import_country VARCHAR(100) DEFAULT NULL COMMENT '进口商国家', + ADD COLUMN buyerid VARCHAR(100) DEFAULT NULL COMMENT '买家ID', + ADD COLUMN order_status TINYINT DEFAULT NULL COMMENT '0-预报订单 1:确认订单 2-已中转 3- 已收货 4-已装箱 5-已出库 6-转运中 7-已上网 8-已签收 9-已退件 10-已删除 已取消', + ADD COLUMN create_at VARCHAR(255) DEFAULT NULL COMMENT '创建人', + ADD COLUMN pay_type TINYINT DEFAULT NULL COMMENT '付款方式 0-预付 1-到付', + ADD COLUMN line_code VARCHAR(20) DEFAULT NULL COMMENT '线路产品编号', + ADD COLUMN line_name VARCHAR(100) DEFAULT NULL COMMENT '线路产品名称', + ADD COLUMN product_type VARCHAR(20) DEFAULT NULL COMMENT '产品类型(全称产品/全称B2B/尾程产品)', + ADD COLUMN line_type VARCHAR(20) DEFAULT NULL COMMENT '物流模式(国际快递/邮政小包)', + ADD COLUMN cargo_name VARCHAR(100) DEFAULT NULL COMMENT '货物类型(普货/敏感/特货)', + ADD COLUMN product_floor_code TEXT DEFAULT NULL COMMENT '渠道编码', + ADD COLUMN order_insurance DECIMAL(12,5) DEFAULT NULL COMMENT '保险金额', + ADD COLUMN product_sum_price DECIMAL(12,5) DEFAULT NULL COMMENT '商品总价值', + ADD COLUMN product_sum DECIMAL(18,6) DEFAULT NULL COMMENT '商品总件数', + ADD COLUMN shipper_doorno VARCHAR(20) DEFAULT NULL COMMENT '发件人门牌号', + ADD COLUMN tariff_payment_account VARCHAR(20) DEFAULT NULL COMMENT '关税支付账号', + ADD COLUMN topayment DECIMAL(12,5) DEFAULT NULL COMMENT '代收货款', + ADD COLUMN product_floor TEXT DEFAULT NULL COMMENT '渠道名称', + ADD COLUMN latest_trajectory TEXT DEFAULT NULL COMMENT '订单轨迹', + ADD COLUMN way_bill TEXT DEFAULT NULL COMMENT '电子面单', + ADD COLUMN pickup_date DATETIME DEFAULT NULL COMMENT '收件时间', + ADD COLUMN bl_baging TINYINT DEFAULT NULL COMMENT '是否装箱 0 未装箱 1 已装箱', + ADD COLUMN bl_pickup TINYINT DEFAULT NULL COMMENT '是否收件 0 未收件 1 已收件', + ADD COLUMN bag_date DATETIME DEFAULT NULL COMMENT '装箱时间', + ADD COLUMN org_order_status TINYINT DEFAULT NULL COMMENT '渠道状态 0-未下单 1-获取中 2-获取成功 3-获取失败', + ADD COLUMN status_description VARCHAR(255) DEFAULT NULL COMMENT '状态描述,对当前轨迹状态的详细说明', + ADD COLUMN zz_date DATETIME DEFAULT NULL COMMENT '中转时间', + ADD COLUMN shipping_date DATETIME DEFAULT NULL COMMENT '出货时间', + ADD COLUMN order_type DECIMAL(18,6) DEFAULT NULL COMMENT '0-中性面单 1-尾程面单', + ADD COLUMN receiving_photo TEXT DEFAULT NULL COMMENT '收货照片', + ADD COLUMN freight DECIMAL(10,3) DEFAULT NULL COMMENT '应收总运费', + ADD COLUMN is_receivable TINYINT DEFAULT NULL COMMENT '是否已经生成应收账单[0.未生成,1.已生成]', + ADD COLUMN is_meet TINYINT DEFAULT NULL COMMENT '是否已经生成应付账单[0.未生成,1.已生成]', + ADD COLUMN bill_no_receivable VARCHAR(255) DEFAULT NULL COMMENT '应收账单编号', + ADD COLUMN bill_no_meet VARCHAR(255) DEFAULT NULL COMMENT '应付账单编号', + ADD COLUMN country_eingth_name VARCHAR(200) DEFAULT NULL COMMENT '收件人英文国家名称', + ADD COLUMN is_receivable_fee TINYINT DEFAULT NULL COMMENT '是否已计算应收费用0-未计算 1-已计算', + ADD COLUMN settlement_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应收运费', + ADD COLUMN product_id VARCHAR(100) DEFAULT NULL COMMENT '中转产品ID', + ADD COLUMN service_freight DECIMAL(10,3) DEFAULT NULL COMMENT '服务商运费', + ADD COLUMN is_pay_fee TINYINT DEFAULT NULL COMMENT '是否已计算应付费用0-未计算 1-已计算', + ADD COLUMN has_added_surcharge TINYINT DEFAULT NULL COMMENT '是否已经添加过附加费 0未添加 1 已添加', + ADD COLUMN yf_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付运费', + ADD COLUMN yf_totail_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付总运费', + ADD COLUMN trajectory_status TINYINT DEFAULT NULL COMMENT '轨迹状态:1.已收货、2.查询失败、3.转运中、4.派送中、5.投递失败、6.退仓、7.异常、8.已签收', + ADD COLUMN cargo_type_name VARCHAR(60) DEFAULT NULL COMMENT '货物类型中文', + ADD COLUMN service_code VARCHAR(20) DEFAULT NULL COMMENT '所属服务商编号', + ADD COLUMN three_code VARCHAR(30) DEFAULT NULL COMMENT '三字码', + ADD COLUMN volume_height_old DECIMAL(10,2) DEFAULT NULL COMMENT '高,单位 CM', + ADD COLUMN volume_length_old DECIMAL(10,2) DEFAULT NULL COMMENT '长,单位 CM', + ADD COLUMN volume_width_old DECIMAL(10,2) DEFAULT NULL COMMENT '宽,单位 CM', + ADD COLUMN register_man_old VARCHAR(60) DEFAULT NULL COMMENT '收货人', + ADD COLUMN bag_no_old VARCHAR(60) DEFAULT NULL COMMENT '箱号', + ADD COLUMN air_no_old VARCHAR(60) DEFAULT NULL COMMENT '航空主单号', + ADD COLUMN box_sizi_old VARCHAR(255) DEFAULT NULL COMMENT '箱子规格', + ADD COLUMN baging_man_old VARCHAR(60) DEFAULT NULL COMMENT '装箱人', + ADD COLUMN retrieval_man_old VARCHAR(60) DEFAULT NULL COMMENT '出货人', + ADD COLUMN invoice_amount_old TEXT DEFAULT NULL COMMENT '申报总价值,必填', + ADD COLUMN invoice_title_old TEXT DEFAULT NULL COMMENT '英文品名,必填', + ADD COLUMN invoice_weight_old TEXT DEFAULT NULL COMMENT '单件重', + ADD COLUMN sku_old TEXT DEFAULT NULL COMMENT '中文品名', + ADD COLUMN hs_code_old TEXT DEFAULT NULL COMMENT '海关编码', + ADD COLUMN register_date_old DATETIME DEFAULT NULL COMMENT '收件时间', + ADD COLUMN invoice_currency_old TEXT DEFAULT NULL COMMENT '申报币种', + ADD COLUMN trajectory_sub_state TINYINT DEFAULT NULL COMMENT '轨迹子状态', + ADD COLUMN sign_in_time DATETIME DEFAULT NULL COMMENT '签收时间', + ADD COLUMN warehouse_time DATETIME DEFAULT NULL COMMENT '仓库操作完成,已安排出库时间', + ADD COLUMN declaration_time DATETIME DEFAULT NULL COMMENT '送仓报关时间', + ADD COLUMN release_time DATETIME DEFAULT NULL COMMENT '报关放行时间', + ADD COLUMN station_time DATETIME DEFAULT NULL COMMENT '货站收货时间', + ADD COLUMN takeoff_time DATETIME DEFAULT NULL COMMENT '航班起飞时间', + ADD COLUMN landing_time DATETIME DEFAULT NULL COMMENT '航班落地时间', + ADD COLUMN clearance_and_delivery_time DATETIME DEFAULT NULL COMMENT '已通知清关行提货时间', + ADD COLUMN supplier_name VARCHAR(255) DEFAULT NULL COMMENT '生产销售供应商', + ADD COLUMN credit_code VARCHAR(255) DEFAULT NULL COMMENT '社会信用代码', + ADD COLUMN other_id VARCHAR(50) DEFAULT NULL COMMENT '其他ID', + ADD COLUMN platform_code VARCHAR(255) DEFAULT NULL COMMENT '平台代码', + ADD COLUMN sync_shipment_status TINYINT DEFAULT NULL COMMENT '物流同步状态, 0:未同步, 1: 已同步', + ADD COLUMN update_weight DECIMAL(10,3) DEFAULT NULL COMMENT '客户更新重量', + ADD COLUMN other_bag_no VARCHAR(60) DEFAULT NULL COMMENT '其它箱号', + ADD COLUMN bag_flag TINYINT DEFAULT NULL COMMENT '装箱标记,1: 已装箱 0:未装箱', + ADD COLUMN online_time DATETIME DEFAULT NULL COMMENT '上网时间', + ADD COLUMN outbound_time DATETIME DEFAULT NULL COMMENT '出库时间', + ADD COLUMN air_confirm_date DATETIME DEFAULT NULL COMMENT '主单号确认时间', + ADD COLUMN shipment_type VARCHAR(50) DEFAULT NULL COMMENT '订单配送类型', + ADD COLUMN track_query_time DATETIME DEFAULT NULL COMMENT '轨迹抓取时间', + ADD COLUMN air_confirm_time DATETIME DEFAULT NULL COMMENT '航班已配载时间', + ADD COLUMN package_type TINYINT DEFAULT NULL COMMENT '0:软包;1:硬包', + ADD COLUMN dimensional_weight_factor DECIMAL(10,3) DEFAULT NULL COMMENT '计费重', + ADD COLUMN update_by VARCHAR(255) DEFAULT NULL COMMENT '更新人', + ADD COLUMN customer_pickup_site VARCHAR(255) DEFAULT NULL COMMENT '取货地点', + ADD COLUMN barcode_number VARCHAR(255) DEFAULT NULL COMMENT '面单条形码', + ADD COLUMN tracking_reflect_status VARCHAR(128) DEFAULT NULL COMMENT '轨迹映射状态', + ADD COLUMN remote_postcode TINYINT DEFAULT NULL COMMENT '是否偏远邮编', + ADD COLUMN clearance_time DATETIME DEFAULT NULL COMMENT 'CLEARANCE_TIME', + ADD COLUMN arrive_stock_time DATETIME DEFAULT NULL COMMENT 'ARRIVE_STOCK_TIME', + ADD COLUMN departure_time DATETIME DEFAULT NULL COMMENT 'DEPARTURE_TIME', + ADD COLUMN first_deliver_time DATETIME DEFAULT NULL COMMENT 'FIRST_DELIVER_TIME', + ADD COLUMN hs_code_tax_count DECIMAL(10,2) DEFAULT NULL COMMENT 'HS_CODE_TAX_COUNT', + ADD COLUMN hs_code_tax_amount DECIMAL(10,4) DEFAULT NULL COMMENT 'HS_CODE_TAX_AMOUNT', + ADD COLUMN hs_code_tax_currency VARCHAR(8) DEFAULT NULL COMMENT 'HS_CODE_TAX_CURRENCY', + ADD COLUMN invoice_url TEXT DEFAULT NULL COMMENT 'INVOICE_URL', + ADD COLUMN clearance_no VARCHAR(32) DEFAULT NULL COMMENT 'CLEARANCE_NO', + ADD COLUMN push_weight DECIMAL(10,3) DEFAULT NULL COMMENT 'PUSH_WEIGHT', + ADD COLUMN internal_check_time DATETIME DEFAULT NULL COMMENT 'INTERNAL_CHECK_TIME', + ADD COLUMN air_delay_time DATETIME DEFAULT NULL COMMENT 'AIR_DELAY_TIME', + ADD COLUMN first_landing_time DATETIME DEFAULT NULL COMMENT 'FIRST_LANDING_TIME', + ADD COLUMN second_takeoff_time DATETIME DEFAULT NULL COMMENT 'SECOND_TAKEOFF_TIME', + ADD COLUMN des_port_check_time DATETIME DEFAULT NULL COMMENT 'DES_PORT_CHECK_TIME', + ADD COLUMN stay_remark TEXT DEFAULT NULL COMMENT 'STAY_REMARK', + ADD COLUMN miss_box_remark TEXT DEFAULT NULL COMMENT 'MISS_BOX_REMARK', + ADD COLUMN product_channel_id VARCHAR(32) DEFAULT NULL COMMENT 'PRODUCT_CHANNEL_ID', + ADD COLUMN customer_track_id VARCHAR(32) DEFAULT NULL COMMENT 'CUSTOMER_TRACK_ID', + ADD COLUMN register_site VARCHAR(255) DEFAULT NULL COMMENT 'REGISTER_SITE', + ADD COLUMN package_type_financial TINYINT DEFAULT NULL COMMENT '财务包裹类型,软硬包', + ADD COLUMN mrn VARCHAR(64) DEFAULT NULL COMMENT 'MRN'; diff --git a/bms-back/sql/price/order_bill_sales_and_ext_comment.sql b/bms-back/sql/price/order_bill_sales_and_ext_comment.sql new file mode 100644 index 00000000..e023ae9c --- /dev/null +++ b/bms-back/sql/price/order_bill_sales_and_ext_comment.sql @@ -0,0 +1,179 @@ +-- 若已执行过 ADD,可用本脚本仅更新字段注释为中文 +SET NAMES utf8mb4; + +ALTER TABLE prc_order_bill + MODIFY COLUMN belong_saler VARCHAR(64) DEFAULT NULL COMMENT '所属销售员', + MODIFY COLUMN settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员', + MODIFY COLUMN service_man VARCHAR(64) DEFAULT NULL COMMENT '客服员'; + +ALTER TABLE prc_order_bill_ext + MODIFY COLUMN upstream_id VARCHAR(64) DEFAULT NULL COMMENT 'guid', + MODIFY COLUMN line_no VARCHAR(32) DEFAULT NULL COMMENT '线路', + MODIFY COLUMN package_num INT DEFAULT NULL COMMENT '包裹数量', + MODIFY COLUMN actual_volume DECIMAL(10,3) DEFAULT NULL COMMENT '实际体积重', + MODIFY COLUMN cp_type TINYINT DEFAULT NULL COMMENT '线路产品类型 1全程 2干线 3尾程', + MODIFY COLUMN consignee_mobile VARCHAR(32) DEFAULT NULL COMMENT '收件人手机', + MODIFY COLUMN order_returnsign CHAR(1) DEFAULT NULL COMMENT '退回标志,默认N表示不退回,Y标表示退回。中邮可以忽略该属性', + MODIFY COLUMN trade_type VARCHAR(10) DEFAULT NULL COMMENT '交易类型,值为ZYXT', + MODIFY COLUMN duty_type VARCHAR(10) DEFAULT NULL COMMENT '关税类型,值为DDU或DDP', + MODIFY COLUMN battery_type VARCHAR(20) DEFAULT NULL COMMENT '电池类型代码,联系货代提供', + MODIFY COLUMN consignee_companyname VARCHAR(255) DEFAULT NULL COMMENT '收件公司名,如有最好填写', + MODIFY COLUMN consignee_address VARCHAR(255) DEFAULT NULL COMMENT '收件地址街道,必填', + MODIFY COLUMN consignee_telephone VARCHAR(50) DEFAULT NULL COMMENT '收件电话,必填', + MODIFY COLUMN consignee_state VARCHAR(100) DEFAULT NULL COMMENT '州/省', + MODIFY COLUMN consignee_city VARCHAR(100) DEFAULT NULL COMMENT '城市', + MODIFY COLUMN consignee_suburb VARCHAR(100) DEFAULT NULL COMMENT '收件区,选填', + MODIFY COLUMN consignee_passportno VARCHAR(50) DEFAULT NULL COMMENT '收件护照号,选填', + MODIFY COLUMN consignee_email VARCHAR(255) DEFAULT NULL COMMENT '邮箱,选填', + MODIFY COLUMN consignee_taxno VARCHAR(50) DEFAULT NULL COMMENT '收件人税号', + MODIFY COLUMN consignee_taxnotype VARCHAR(50) DEFAULT NULL COMMENT '收件人税号类型', + MODIFY COLUMN consignee_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '收件人税号国家', + MODIFY COLUMN consignee_streetno VARCHAR(50) DEFAULT NULL COMMENT '街道号', + MODIFY COLUMN consignee_doorno VARCHAR(50) DEFAULT NULL COMMENT '门牌号', + MODIFY COLUMN shipper_taxnotype VARCHAR(20) DEFAULT NULL COMMENT '税号类型,邮政产品可选值:IOSS,NO - IOSS,OTHER;DHL可选值:SDT、VAT、FTZ、DAN、EOR、CNP、EIN等(类型说明参照文档底部“DHL发件人税号类型”)', + MODIFY COLUMN shipper_taxno VARCHAR(50) DEFAULT NULL COMMENT '发件人税号', + MODIFY COLUMN shipper_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '发件人税号国家,用国家二字码', + MODIFY COLUMN customer_id VARCHAR(50) DEFAULT NULL COMMENT '客户ID,必填', + MODIFY COLUMN product_imagepath TEXT DEFAULT NULL COMMENT '图片地址,多图片地址用分号隔开', + MODIFY COLUMN order_transactionurl TEXT DEFAULT NULL COMMENT '产品销售地址', + MODIFY COLUMN order_cargoamount DECIMAL(12,5) DEFAULT NULL COMMENT '选填;用于DHL/FEDEX运费;或用于白关申报(订单实际金额,特殊渠道使用);或其他用途', + MODIFY COLUMN cargo_type CHAR(1) DEFAULT NULL COMMENT '包裹类型,P代表包裹,D代表文件,B代表PAK袋', + MODIFY COLUMN shipper_companyname VARCHAR(255) DEFAULT NULL COMMENT '发件人公司名,选填', + MODIFY COLUMN shipper_address1 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址1,选填', + MODIFY COLUMN shipper_address2 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址2,选填', + MODIFY COLUMN shipper_address3 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址3,选填', + MODIFY COLUMN shipper_city VARCHAR(100) DEFAULT NULL COMMENT '发件人城市,选填', + MODIFY COLUMN shipper_state VARCHAR(100) DEFAULT NULL COMMENT '发件人州,选填', + MODIFY COLUMN shipper_postcode VARCHAR(20) DEFAULT NULL COMMENT '发件人邮编,选填', + MODIFY COLUMN shipper_country VARCHAR(100) DEFAULT NULL COMMENT '发件人国家,选填', + MODIFY COLUMN shipper_telephone VARCHAR(20) DEFAULT NULL COMMENT '发件人电话,选填', + MODIFY COLUMN shipper_suburb VARCHAR(100) DEFAULT NULL COMMENT '发件人区,选填', + MODIFY COLUMN shipper_email VARCHAR(255) DEFAULT NULL COMMENT '发件人邮箱,选填', + MODIFY COLUMN shipper_passportno VARCHAR(50) DEFAULT NULL COMMENT '发件人护照号,选填', + MODIFY COLUMN import_code VARCHAR(50) DEFAULT NULL COMMENT '进口商代码', + MODIFY COLUMN import_name VARCHAR(255) DEFAULT NULL COMMENT '进口商名称', + MODIFY COLUMN import_companyname VARCHAR(255) DEFAULT NULL COMMENT '进口商公司名称', + MODIFY COLUMN import_address VARCHAR(255) DEFAULT NULL COMMENT '进口商地址', + MODIFY COLUMN import_address2 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址2', + MODIFY COLUMN import_address3 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址3', + MODIFY COLUMN import_telephone VARCHAR(20) DEFAULT NULL COMMENT '进口商电话', + MODIFY COLUMN import_email VARCHAR(255) DEFAULT NULL COMMENT '进口商邮箱', + MODIFY COLUMN import_postcode VARCHAR(20) DEFAULT NULL COMMENT '进口商邮编', + MODIFY COLUMN import_city VARCHAR(100) DEFAULT NULL COMMENT '进口商城市', + MODIFY COLUMN import_state VARCHAR(100) DEFAULT NULL COMMENT '进口商州省', + MODIFY COLUMN import_country VARCHAR(100) DEFAULT NULL COMMENT '进口商国家', + MODIFY COLUMN buyerid VARCHAR(100) DEFAULT NULL COMMENT '买家ID', + MODIFY COLUMN order_status TINYINT DEFAULT NULL COMMENT '0-预报订单 1:确认订单 2-已中转 3- 已收货 4-已装箱 5-已出库 6-转运中 7-已上网 8-已签收 9-已退件 10-已删除 已取消', + MODIFY COLUMN create_at VARCHAR(255) DEFAULT NULL COMMENT '创建人', + MODIFY COLUMN pay_type TINYINT DEFAULT NULL COMMENT '付款方式 0-预付 1-到付', + MODIFY COLUMN line_code VARCHAR(20) DEFAULT NULL COMMENT '线路产品编号', + MODIFY COLUMN line_name VARCHAR(100) DEFAULT NULL COMMENT '线路产品名称', + MODIFY COLUMN product_type VARCHAR(20) DEFAULT NULL COMMENT '产品类型(全称产品/全称B2B/尾程产品)', + MODIFY COLUMN line_type VARCHAR(20) DEFAULT NULL COMMENT '物流模式(国际快递/邮政小包)', + MODIFY COLUMN cargo_name VARCHAR(100) DEFAULT NULL COMMENT '货物类型(普货/敏感/特货)', + MODIFY COLUMN product_floor_code TEXT DEFAULT NULL COMMENT '渠道编码', + MODIFY COLUMN order_insurance DECIMAL(12,5) DEFAULT NULL COMMENT '保险金额', + MODIFY COLUMN product_sum_price DECIMAL(12,5) DEFAULT NULL COMMENT '商品总价值', + MODIFY COLUMN product_sum DECIMAL(18,6) DEFAULT NULL COMMENT '商品总件数', + MODIFY COLUMN shipper_doorno VARCHAR(20) DEFAULT NULL COMMENT '发件人门牌号', + MODIFY COLUMN tariff_payment_account VARCHAR(20) DEFAULT NULL COMMENT '关税支付账号', + MODIFY COLUMN topayment DECIMAL(12,5) DEFAULT NULL COMMENT '代收货款', + MODIFY COLUMN product_floor TEXT DEFAULT NULL COMMENT '渠道名称', + MODIFY COLUMN latest_trajectory TEXT DEFAULT NULL COMMENT '订单轨迹', + MODIFY COLUMN way_bill TEXT DEFAULT NULL COMMENT '电子面单', + MODIFY COLUMN pickup_date DATETIME DEFAULT NULL COMMENT '收件时间', + MODIFY COLUMN bl_baging TINYINT DEFAULT NULL COMMENT '是否装箱 0 未装箱 1 已装箱', + MODIFY COLUMN bl_pickup TINYINT DEFAULT NULL COMMENT '是否收件 0 未收件 1 已收件', + MODIFY COLUMN bag_date DATETIME DEFAULT NULL COMMENT '装箱时间', + MODIFY COLUMN org_order_status TINYINT DEFAULT NULL COMMENT '渠道状态 0-未下单 1-获取中 2-获取成功 3-获取失败', + MODIFY COLUMN status_description VARCHAR(255) DEFAULT NULL COMMENT '状态描述,对当前轨迹状态的详细说明', + MODIFY COLUMN zz_date DATETIME DEFAULT NULL COMMENT '中转时间', + MODIFY COLUMN shipping_date DATETIME DEFAULT NULL COMMENT '出货时间', + MODIFY COLUMN order_type DECIMAL(18,6) DEFAULT NULL COMMENT '0-中性面单 1-尾程面单', + MODIFY COLUMN receiving_photo TEXT DEFAULT NULL COMMENT '收货照片', + MODIFY COLUMN freight DECIMAL(10,3) DEFAULT NULL COMMENT '应收总运费', + MODIFY COLUMN is_receivable TINYINT DEFAULT NULL COMMENT '是否已经生成应收账单[0.未生成,1.已生成]', + MODIFY COLUMN is_meet TINYINT DEFAULT NULL COMMENT '是否已经生成应付账单[0.未生成,1.已生成]', + MODIFY COLUMN bill_no_receivable VARCHAR(255) DEFAULT NULL COMMENT '应收账单编号', + MODIFY COLUMN bill_no_meet VARCHAR(255) DEFAULT NULL COMMENT '应付账单编号', + MODIFY COLUMN country_eingth_name VARCHAR(200) DEFAULT NULL COMMENT '收件人英文国家名称', + MODIFY COLUMN is_receivable_fee TINYINT DEFAULT NULL COMMENT '是否已计算应收费用0-未计算 1-已计算', + MODIFY COLUMN settlement_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应收运费', + MODIFY COLUMN product_id VARCHAR(100) DEFAULT NULL COMMENT '中转产品ID', + MODIFY COLUMN service_freight DECIMAL(10,3) DEFAULT NULL COMMENT '服务商运费', + MODIFY COLUMN is_pay_fee TINYINT DEFAULT NULL COMMENT '是否已计算应付费用0-未计算 1-已计算', + MODIFY COLUMN has_added_surcharge TINYINT DEFAULT NULL COMMENT '是否已经添加过附加费 0未添加 1 已添加', + MODIFY COLUMN yf_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付运费', + MODIFY COLUMN yf_totail_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付总运费', + MODIFY COLUMN trajectory_status TINYINT DEFAULT NULL COMMENT '轨迹状态:1.已收货、2.查询失败、3.转运中、4.派送中、5.投递失败、6.退仓、7.异常、8.已签收', + MODIFY COLUMN cargo_type_name VARCHAR(60) DEFAULT NULL COMMENT '货物类型中文', + MODIFY COLUMN service_code VARCHAR(20) DEFAULT NULL COMMENT '所属服务商编号', + MODIFY COLUMN three_code VARCHAR(30) DEFAULT NULL COMMENT '三字码', + MODIFY COLUMN volume_height_old DECIMAL(10,2) DEFAULT NULL COMMENT '高,单位 CM', + MODIFY COLUMN volume_length_old DECIMAL(10,2) DEFAULT NULL COMMENT '长,单位 CM', + MODIFY COLUMN volume_width_old DECIMAL(10,2) DEFAULT NULL COMMENT '宽,单位 CM', + MODIFY COLUMN register_man_old VARCHAR(60) DEFAULT NULL COMMENT '收货人', + MODIFY COLUMN bag_no_old VARCHAR(60) DEFAULT NULL COMMENT '箱号', + MODIFY COLUMN air_no_old VARCHAR(60) DEFAULT NULL COMMENT '航空主单号', + MODIFY COLUMN box_sizi_old VARCHAR(255) DEFAULT NULL COMMENT '箱子规格', + MODIFY COLUMN baging_man_old VARCHAR(60) DEFAULT NULL COMMENT '装箱人', + MODIFY COLUMN retrieval_man_old VARCHAR(60) DEFAULT NULL COMMENT '出货人', + MODIFY COLUMN invoice_amount_old TEXT DEFAULT NULL COMMENT '申报总价值,必填', + MODIFY COLUMN invoice_title_old TEXT DEFAULT NULL COMMENT '英文品名,必填', + MODIFY COLUMN invoice_weight_old TEXT DEFAULT NULL COMMENT '单件重', + MODIFY COLUMN sku_old TEXT DEFAULT NULL COMMENT '中文品名', + MODIFY COLUMN hs_code_old TEXT DEFAULT NULL COMMENT '海关编码', + MODIFY COLUMN register_date_old DATETIME DEFAULT NULL COMMENT '收件时间', + MODIFY COLUMN invoice_currency_old TEXT DEFAULT NULL COMMENT '申报币种', + MODIFY COLUMN trajectory_sub_state TINYINT DEFAULT NULL COMMENT '轨迹子状态', + MODIFY COLUMN sign_in_time DATETIME DEFAULT NULL COMMENT '签收时间', + MODIFY COLUMN warehouse_time DATETIME DEFAULT NULL COMMENT '仓库操作完成,已安排出库时间', + MODIFY COLUMN declaration_time DATETIME DEFAULT NULL COMMENT '送仓报关时间', + MODIFY COLUMN release_time DATETIME DEFAULT NULL COMMENT '报关放行时间', + MODIFY COLUMN station_time DATETIME DEFAULT NULL COMMENT '货站收货时间', + MODIFY COLUMN takeoff_time DATETIME DEFAULT NULL COMMENT '航班起飞时间', + MODIFY COLUMN landing_time DATETIME DEFAULT NULL COMMENT '航班落地时间', + MODIFY COLUMN clearance_and_delivery_time DATETIME DEFAULT NULL COMMENT '已通知清关行提货时间', + MODIFY COLUMN supplier_name VARCHAR(255) DEFAULT NULL COMMENT '生产销售供应商', + MODIFY COLUMN credit_code VARCHAR(255) DEFAULT NULL COMMENT '社会信用代码', + MODIFY COLUMN other_id VARCHAR(50) DEFAULT NULL COMMENT '其他ID', + MODIFY COLUMN platform_code VARCHAR(255) DEFAULT NULL COMMENT '平台代码', + MODIFY COLUMN sync_shipment_status TINYINT DEFAULT NULL COMMENT '物流同步状态, 0:未同步, 1: 已同步', + MODIFY COLUMN update_weight DECIMAL(10,3) DEFAULT NULL COMMENT '客户更新重量', + MODIFY COLUMN other_bag_no VARCHAR(60) DEFAULT NULL COMMENT '其它箱号', + MODIFY COLUMN bag_flag TINYINT DEFAULT NULL COMMENT '装箱标记,1: 已装箱 0:未装箱', + MODIFY COLUMN online_time DATETIME DEFAULT NULL COMMENT '上网时间', + MODIFY COLUMN outbound_time DATETIME DEFAULT NULL COMMENT '出库时间', + MODIFY COLUMN air_confirm_date DATETIME DEFAULT NULL COMMENT '主单号确认时间', + MODIFY COLUMN shipment_type VARCHAR(50) DEFAULT NULL COMMENT '订单配送类型', + MODIFY COLUMN track_query_time DATETIME DEFAULT NULL COMMENT '轨迹抓取时间', + MODIFY COLUMN air_confirm_time DATETIME DEFAULT NULL COMMENT '航班已配载时间', + MODIFY COLUMN package_type TINYINT DEFAULT NULL COMMENT '0:软包;1:硬包', + MODIFY COLUMN dimensional_weight_factor DECIMAL(10,3) DEFAULT NULL COMMENT '计费重', + MODIFY COLUMN update_by VARCHAR(255) DEFAULT NULL COMMENT '更新人', + MODIFY COLUMN customer_pickup_site VARCHAR(255) DEFAULT NULL COMMENT '取货地点', + MODIFY COLUMN barcode_number VARCHAR(255) DEFAULT NULL COMMENT '面单条形码', + MODIFY COLUMN tracking_reflect_status VARCHAR(128) DEFAULT NULL COMMENT '轨迹映射状态', + MODIFY COLUMN remote_postcode TINYINT DEFAULT NULL COMMENT '是否偏远邮编', + MODIFY COLUMN clearance_time DATETIME DEFAULT NULL COMMENT 'CLEARANCE_TIME', + MODIFY COLUMN arrive_stock_time DATETIME DEFAULT NULL COMMENT 'ARRIVE_STOCK_TIME', + MODIFY COLUMN departure_time DATETIME DEFAULT NULL COMMENT 'DEPARTURE_TIME', + MODIFY COLUMN first_deliver_time DATETIME DEFAULT NULL COMMENT 'FIRST_DELIVER_TIME', + MODIFY COLUMN hs_code_tax_count DECIMAL(10,2) DEFAULT NULL COMMENT 'HS_CODE_TAX_COUNT', + MODIFY COLUMN hs_code_tax_amount DECIMAL(10,4) DEFAULT NULL COMMENT 'HS_CODE_TAX_AMOUNT', + MODIFY COLUMN hs_code_tax_currency VARCHAR(8) DEFAULT NULL COMMENT 'HS_CODE_TAX_CURRENCY', + MODIFY COLUMN invoice_url TEXT DEFAULT NULL COMMENT 'INVOICE_URL', + MODIFY COLUMN clearance_no VARCHAR(32) DEFAULT NULL COMMENT 'CLEARANCE_NO', + MODIFY COLUMN push_weight DECIMAL(10,3) DEFAULT NULL COMMENT 'PUSH_WEIGHT', + MODIFY COLUMN internal_check_time DATETIME DEFAULT NULL COMMENT 'INTERNAL_CHECK_TIME', + MODIFY COLUMN air_delay_time DATETIME DEFAULT NULL COMMENT 'AIR_DELAY_TIME', + MODIFY COLUMN first_landing_time DATETIME DEFAULT NULL COMMENT 'FIRST_LANDING_TIME', + MODIFY COLUMN second_takeoff_time DATETIME DEFAULT NULL COMMENT 'SECOND_TAKEOFF_TIME', + MODIFY COLUMN des_port_check_time DATETIME DEFAULT NULL COMMENT 'DES_PORT_CHECK_TIME', + MODIFY COLUMN stay_remark TEXT DEFAULT NULL COMMENT 'STAY_REMARK', + MODIFY COLUMN miss_box_remark TEXT DEFAULT NULL COMMENT 'MISS_BOX_REMARK', + MODIFY COLUMN product_channel_id VARCHAR(32) DEFAULT NULL COMMENT 'PRODUCT_CHANNEL_ID', + MODIFY COLUMN customer_track_id VARCHAR(32) DEFAULT NULL COMMENT 'CUSTOMER_TRACK_ID', + MODIFY COLUMN register_site VARCHAR(255) DEFAULT NULL COMMENT 'REGISTER_SITE', + MODIFY COLUMN package_type_financial TINYINT DEFAULT NULL COMMENT '财务包裹类型,软硬包', + MODIFY COLUMN mrn VARCHAR(64) DEFAULT NULL COMMENT 'MRN'; diff --git a/bms-front/src/views/price/billing/bill.vue b/bms-front/src/views/price/billing/bill.vue index 65eb6dc1..4c0aa20f 100644 --- a/bms-front/src/views/price/billing/bill.vue +++ b/bms-front/src/views/price/billing/bill.vue @@ -98,6 +98,9 @@ const columns = [ { label: '订单号', prop: 'orderNo', minWidth: 140, showOverflowTooltip: true }, { label: '运单号', prop: 'trackingNo', minWidth: 140, showOverflowTooltip: true }, { label: '转单号', prop: 'transferNo', minWidth: 140, showOverflowTooltip: true }, + { label: '销售员', prop: 'belongSaler', minWidth: 100, showOverflowTooltip: true }, + { label: '结算员', prop: 'settlementMan', minWidth: 100, showOverflowTooltip: true }, + { label: '客服员', prop: 'serviceMan', minWidth: 100, showOverflowTooltip: true }, { label: '客户', prop: 'customerName', minWidth: 140, showOverflowTooltip: true }, { label: '客户代码', prop: 'customerCode', width: 120 }, { label: '产品', prop: 'product', minWidth: 160, slot: 'product' }, diff --git a/bms-front/src/views/price/billing/components/BillDetail.vue b/bms-front/src/views/price/billing/components/BillDetail.vue index c93c6aa2..86870e82 100644 --- a/bms-front/src/views/price/billing/components/BillDetail.vue +++ b/bms-front/src/views/price/billing/components/BillDetail.vue @@ -17,6 +17,9 @@ {{ detail.orderNo || '-' }} {{ detail.trackingNo || '-' }} {{ detail.transferNo || '-' }} + {{ detail.belongSaler || '-' }} + {{ detail.settlementMan || '-' }} + {{ detail.serviceMan || '-' }} {{ displayCustomer(detail) }} {{ customerActiveLabel(detail.customerActiveStatus) }} {{ creditArrearsLabel(detail.creditArrearsStatus) }}