-- 9610 汇总申报单(ExportCustomsMode=9610Summary) -- 幂等:表已存在则跳过 SET @db := DATABASE(); -- t_9610_order SET @exists := ( SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 't_9610_order' ); SET @sql := IF( @exists = 0, 'CREATE TABLE `t_9610_order` ( `Id` INT NOT NULL AUTO_INCREMENT COMMENT ''主键'', `OrderId` INT NOT NULL COMMENT ''关联运单 t_order.Id'', `ServiceNo` VARCHAR(64) NULL COMMENT ''运单号冗余'', `CustomerId` INT NOT NULL DEFAULT 0 COMMENT ''客户Id'', `Status` VARCHAR(16) NOT NULL DEFAULT ''pending'' COMMENT ''pending待申报 / declared已申报'', `PlatformCode` VARCHAR(16) NOT NULL DEFAULT '''' COMMENT ''电商平台'', `EcomCorpCode` VARCHAR(18) NULL COMMENT ''电商企业代码'', `EcomCorpName` VARCHAR(100) NULL COMMENT ''电商企业名称'', `ProducerCode` VARCHAR(18) NULL COMMENT ''生产销售单位代码'', `ProducerName` VARCHAR(100) NULL COMMENT ''生产销售单位'', `ClientNo` VARCHAR(48) NOT NULL DEFAULT '''' COMMENT ''客户单号(对齐 t_order.ClientNo)'', `BusinessType` CHAR(1) NOT NULL DEFAULT ''B'' COMMENT ''业务类型 A简化/B汇总'', `Region` VARCHAR(10) NULL COMMENT ''区域 SZ/other'', `AgentDeclare` VARCHAR(2) NULL COMMENT ''是否代理申报 是/否'', `ActualSellerCode` VARCHAR(18) NULL COMMENT ''实际卖家信用代码'', `PreRecordFlag` CHAR(1) NULL COMMENT ''汇总预录 0已预录 1未预录'', `IsSummarySimple` TINYINT NOT NULL DEFAULT 0 COMMENT ''是否汇总简化申报'', `GrossWeight` DECIMAL(19,5) NOT NULL DEFAULT 0 COMMENT ''毛重KG'', `Currency` VARCHAR(4) NOT NULL DEFAULT ''CNY'' COMMENT ''币制'', `DestCountry` VARCHAR(4) NOT NULL DEFAULT '''' COMMENT ''目的国'', `Freight` DECIMAL(19,5) NULL COMMENT ''运费'', `FreightCurrency` VARCHAR(4) NULL COMMENT ''运费币制'', `FreightMark` INT NULL COMMENT ''运费标志 1率2单价3总价'', `PackageType` INT NULL COMMENT ''包装种类代码'', `PackageQty` INT NULL COMMENT ''件数'', `ShipmentNo` VARCHAR(32) NULL COMMENT ''出货单号'', `CustomsOrderNo` VARCHAR(32) NULL COMMENT ''海关订单号(申报回写)'', `DownstreamRefNo` VARCHAR(32) NULL COMMENT ''申报回写的 referenceNo 快照'', `EnterpriseBizNo` VARCHAR(48) NULL COMMENT ''企业唯一编号(上游 copNo)'', `ManifestNo` VARCHAR(48) NULL COMMENT ''清单编号(上游 invtNo)'', `ClearanceTime` VARCHAR(48) NULL COMMENT ''结关日期原文'', `CustomsInboundTime` VARCHAR(48) NULL COMMENT ''海关入库时间原文'', `CustomsState` VARCHAR(4) NULL COMMENT ''海关状态'', `DeclareCustomsCode` VARCHAR(4) NULL COMMENT ''申报地海关代码'', `PlatformCorpCode` VARCHAR(18) NULL COMMENT ''电商平台代码'', `PlatformName` VARCHAR(100) NULL COMMENT ''电商平台名称'', `LogisticsCorpCode` VARCHAR(18) NULL COMMENT ''物流企业代码'', `LogisticsCorpName` VARCHAR(100) NULL COMMENT ''物流企业名称'', `IeMark` VARCHAR(4) NULL COMMENT ''进出口标记 I/E'', `ExportPortCode` VARCHAR(4) NULL COMMENT ''出口口岸代码'', `ExportDate` VARCHAR(32) NULL COMMENT ''出口日期原文'', `DeclareAgentCode` VARCHAR(18) NULL COMMENT ''申报企业代码'', `DeclareAgentName` VARCHAR(100) NULL COMMENT ''申报企业名称'', `TradeModeCode` VARCHAR(4) NULL COMMENT ''贸易方式代码'', `TransportMode` VARCHAR(4) NULL COMMENT ''运输方式代码'', `DeclareTime` DATETIME NULL COMMENT ''申报成功时间'', `ManifestSyncTime` DATETIME NULL COMMENT ''清单数据最近同步时间'', `FailReason` VARCHAR(512) NULL COMMENT ''最近失败原因'', `IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT ''软删除'', `ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT ''并发戳'', `CreateUserId` INT NOT NULL DEFAULT 0 COMMENT ''创建人'', `CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'', `UpdateUserId` INT NULL COMMENT ''更新人'', `UpdateTime` DATETIME NULL COMMENT ''更新时间'', PRIMARY KEY (`Id`), UNIQUE KEY `uk_9610_order_id` (`OrderId`), KEY `idx_9610_status_ctime` (`Status`, `CreateTime`), KEY `idx_9610_service_no` (`ServiceNo`), KEY `idx_9610_client_no` (`ClientNo`), KEY `idx_9610_customer` (`CustomerId`, `CreateTime`), KEY `idx_9610_manifest` (`ManifestNo`) ) COMMENT=''9610汇总申报单''', 'SELECT ''skip t_9610_order'' AS msg' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- t_9610_order_item SET @exists := ( SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 't_9610_order_item' ); SET @sql := IF( @exists = 0, 'CREATE TABLE `t_9610_order_item` ( `Id` INT NOT NULL AUTO_INCREMENT COMMENT ''主键'', `Customs9610OrderId` INT NOT NULL COMMENT ''t_9610_order.Id'', `OrderDeclarationId` INT NULL COMMENT ''溯源 t_order_declaration.Id'', `Sku` VARCHAR(32) NOT NULL DEFAULT '''' COMMENT ''SKU(对齐 t_order_declaration.Sku)'', `CnName` VARCHAR(250) NOT NULL DEFAULT '''' COMMENT ''中文品名(对齐 t_order_declaration.CnName)'', `ExHsCode` VARCHAR(10) NULL COMMENT ''出口海关编码(对齐 t_order_declaration.ExHsCode)'', `DeclareElement` VARCHAR(255) NULL COMMENT ''申报要素'', `Barcode` VARCHAR(255) NULL COMMENT ''条形码'', `DestCountry` VARCHAR(255) NULL COMMENT ''目的国(地区)代码'', `ItemCurrency` VARCHAR(3) NULL COMMENT ''币制'', `UnitPrice` DECIMAL(19,5) NOT NULL DEFAULT 0 COMMENT ''单价(对齐 t_order_declaration.UnitPrice)'', `Amount` DECIMAL(19,5) NULL COMMENT ''总价(对齐 t_order_declaration.Amount)'', `Quantity` DECIMAL(19,5) NOT NULL DEFAULT 0 COMMENT ''数量(对齐 t_order_declaration.Quantity)'', `LegalQty` DECIMAL(19,5) NULL COMMENT ''法定数量'', `Unit` VARCHAR(3) NULL COMMENT ''计量单位(对齐 t_order_declaration.Unit)'', `LegalUnit` VARCHAR(3) NULL COMMENT ''法定计量单位'', `Freight` DECIMAL(12,4) NULL COMMENT ''行运费'', `SortNo` INT NOT NULL DEFAULT 0 COMMENT ''排序'', `IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT ''软删除'', `CreateUserId` INT NOT NULL DEFAULT 0 COMMENT ''创建人'', `CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'', `UpdateUserId` INT NULL COMMENT ''更新人'', `UpdateTime` DATETIME NULL COMMENT ''更新时间'', PRIMARY KEY (`Id`), KEY `idx_9610_item_header` (`Customs9610OrderId`, `IsDeleted`) ) COMMENT=''9610申报商品明细''', 'SELECT ''skip t_9610_order_item'' AS msg' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;