tao.mo

Merge branch 'master' of D:\workspace\iClear-api with conflicts.

/*
Navicat Premium Data Transfer
Source Server : 40.73.78.157
Source Server Type : SQL Server
Source Server Version : 11002100
Source Host : 40.73.78.157:1433
Source Catalog : IClearDev
Source Schema : dbo
Target Server Type : SQL Server
Target Server Version : 11002100
File Encoding : 65001
Date: 21/01/2022 16:38:26
*/
-- ----------------------------
-- Table structure for T_ICLEAR_API_APPINFO 身份认证表
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ICLEAR_API_APPINFO]') AND type IN ('U'))
DROP TABLE [dbo].[T_ICLEAR_API_APPINFO]
GO
CREATE TABLE [dbo].[T_ICLEAR_API_APPINFO] (
[ID] int NOT NULL,
[APPID] varchar(40) COLLATE Chinese_PRC_CI_AS NULL,
[APPKEY] varchar(40) COLLATE Chinese_PRC_CI_AS NULL,
[SECURITY] varchar(16) COLLATE Chinese_PRC_CI_AS NULL,
[CREATE_TIME] date NULL,
[IS_ENABLE] varchar(1) COLLATE Chinese_PRC_CI_AS NULL
CREATE TABLE T_ICLEAR_API_APPINFO(
ID int IDENTITY(1,1) NOT NULL PRIMARY KEY
,APPID VARCHAR(40)
,APPKEY VARCHAR(40)
,SECURITY VARCHAR(16)
,CREATE_TIME DATE
,IS_ENABLE VARCHAR(1)
)
GO
ALTER TABLE [dbo].[T_ICLEAR_API_APPINFO] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'PK',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'ID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'用户ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'APPID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'功能权限',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'APPKEY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'密码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'SECURITY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'CREATE_TIME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'是否有效 1 有效 0 无效',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_APPINFO',
'COLUMN', N'IS_ENABLE'
GO
-- ----------------------------
-- Primary Key structure for table T_ICLEAR_API_APPINFO
-- ----------------------------
ALTER TABLE [dbo].[T_ICLEAR_API_APPINFO] ADD CONSTRAINT [PK__T_ICLEAR__3214EC27D61E172D] PRIMARY KEY CLUSTERED ([ID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO
-------------------------------------------------------------------
/*
Navicat Premium Data Transfer
Source Server : 40.73.78.157
Source Server Type : SQL Server
Source Server Version : 11002100
Source Host : 40.73.78.157:1433
Source Catalog : IClearDev
Source Schema : dbo
Target Server Type : SQL Server
Target Server Version : 11002100
File Encoding : 65001
Date: 21/01/2022 16:41:25
*/
-- ----------------------------
-- Table structure for T_ICLEAR_API_LOG 请求接口数据日志
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ICLEAR_API_LOG]') AND type IN ('U'))
DROP TABLE [dbo].[T_ICLEAR_API_LOG]
GO
CREATE TABLE [dbo].[T_ICLEAR_API_LOG] (
[MSGID] int IDENTITY(1,1) NOT NULL,
[MSG_TYPE] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[APPID] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[APPKEY] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[CREATE_TIME] datetime NULL,
[PUSH_TIME] datetime NULL,
[RECEIVE_RESULT] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[ERROR_CODE] varchar(10) COLLATE Chinese_PRC_CI_AS NULL,
[RESPONSE_TIME] datetime NULL,
[SPEND_TIME] numeric(5) NULL,
[SENDTIMES] int NULL,
[BILLNO] varchar(300) COLLATE Chinese_PRC_CI_AS NULL,
[CONTRNO] varchar(50) COLLATE Chinese_PRC_CI_AS NULL
INSERT INTO T_ICLEAR_API_APPINFO VALUES('IDE','iClearExport','b92131f03f19a348',GETDATE(),'1');
INSERT INTO T_ICLEAR_API_APPINFO VALUES('BASF','iClearExportC','6db193cb4165a71b',GETDATE(),'1');
INSERT INTO T_ICLEAR_API_APPINFO VALUES('BASF','iClearExport','6db193cb4165a71b',GETDATE(),'1');
CREATE TABLE T_ICLEAR_API_LOG(
MSGID int identity(1,1) primary key --PK
,MSG_TYPE VARCHAR(20) --类型: C D
,APPID VARCHAR(20) --用户ID
,APPKEY VARCHAR(20) --用户key
,CREATE_TIME datetime --创建时间
,PUSH_TIME datetime --消息推送时间
,RECEIVE_RESULT VARCHAR(100) --记录接收后是否验证通过的结果
,ERROR_CODE VARCHAR(10) --错误代码
,RESPONSE_TIME datetime -- 响应时间
,SPEND_TIME numeric(5, 0) --消耗时间(ms)
,SENDTIMES int --更新次数
,BILLNO VARCHAR(20) --运单号
,CONTRNO VARCHAR(20) --合同号
)
GO
ALTER TABLE [dbo].[T_ICLEAR_API_LOG] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'PK',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'MSGID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消息类型',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'MSG_TYPE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'用户ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'APPID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'功能权限',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'APPKEY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间 ',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'CREATE_TIME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'推送时间',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'PUSH_TIME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'接收数据的结果',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'RECEIVE_RESULT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'错误代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'ERROR_CODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'响应时间',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'RESPONSE_TIME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'接收数据用时 单位ms',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'SPEND_TIME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'推送次数',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'SENDTIMES'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运单号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'BILLNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'合同号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_LOG',
'COLUMN', N'CONTRNO'
GO
-- ----------------------------
-- Primary Key structure for table T_ICLEAR_API_LOG
-- ----------------------------
ALTER TABLE [dbo].[T_ICLEAR_API_LOG] ADD CONSTRAINT [PK__T_ICLEAR__2091A51C0AAEF3B7] PRIMARY KEY CLUSTERED ([MSGID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO
------------------------------------------------------------------------------------------------------------------------
/*
Navicat Premium Data Transfer
Source Server : 40.73.78.157
Source Server Type : SQL Server
Source Server Version : 11002100
Source Host : 40.73.78.157:1433
Source Catalog : IClearDev
Source Schema : dbo
Target Server Type : SQL Server
Target Server Version : 11002100
File Encoding : 65001
Date: 21/01/2022 16:41:48
*/
-- ----------------------------
-- Table structure for T_ICLEAR_API_MAWB 运单表
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ICLEAR_API_MAWB]') AND type IN ('U'))
DROP TABLE [dbo].[T_ICLEAR_API_MAWB]
GO
CREATE TABLE [dbo].[T_ICLEAR_API_MAWB] (
[ID] int IDENTITY(1,1) NOT NULL,
[MSGID] int NULL,
[APPID] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[IEFlag] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[TYPE] varchar(6) COLLATE Chinese_PRC_CI_AS NULL,
[AGENTCODE] varchar(18) COLLATE Chinese_PRC_CI_AS NULL,
[AGENTNAME] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[BILLNO] varchar(200) COLLATE Chinese_PRC_CI_AS NULL,
[CONTRNO] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[CUSTOMMASTER] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[CUTMODE] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[DECLTRNREL] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[DISTINATEPORT] varchar(6) COLLATE Chinese_PRC_CI_AS NULL,
[EDIID] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[ENTRYID] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[FEECURR] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[FEEMARK] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[FEERATE] numeric(29,10) NULL,
[CROSSWET] numeric(29,10) NULL,
[IEPORT] varchar(4) COLLATE Chinese_PRC_CI_AS NULL,
[INPUTERNAME] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[INSURCURR] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[INSURMARK] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[INSURRATE] numeric(29,10) NULL,
[MANUALNO] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[NETWT] numeric(29,10) NULL,
[OTHERCURR] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[OTHERRATE] numeric(29,10) NULL,
[OTHERMARK] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[OWNERCODE] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[OWNERNAME] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[PACKNO] numeric(8) NULL,
[PREENTRYID] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[TRADECOUNTRY] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[TRADEMODE] varchar(4) COLLATE Chinese_PRC_CI_AS NULL,
[TRADECODE] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[TRAFMODE] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[TRADENAME] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[TRANSMODE] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[WRAPTYPE] varchar(2) COLLATE Chinese_PRC_CI_AS NULL,
[TRADECODESCC] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[OWNERCODESCC] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[TRADEAREACODE] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[MARKNO] varchar(255) COLLATE Chinese_PRC_CI_AS NULL,
[ENTYPORTCODE] varchar(8) COLLATE Chinese_PRC_CI_AS NULL,
[GOODSPLACE] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[DECLARENAME] varchar(100) COLLATE Chinese_PRC_CI_AS NULL,
[OVERSEASCONSIGNORCODE] varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
[OVERSEASCONSIGNEECODE] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[OVERSEASCONSIGNEEENAME] varchar(150) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL,
[CONSIGNMENTCODEID] bigint NULL,
[EANNO] varchar(100) COLLATE Chinese_PRC_CI_AS NULL
CREATE TABLE T_ICLEAR_API_MAWB(
ID int identity(1,1) primary key --PK
,MSGID int
,APPID VARCHAR(20) --用户ID
,IEFlag varchar(1)
,TYPE VARCHAR(6)
,AGENTCODE VARCHAR(18)
,AGENTNAME VARCHAR(70)
,BILLNO VARCHAR(32)
,CONTRNO VARCHAR(32)
,CUSTOMMASTER VARCHAR(4)
,CUTMODE VARCHAR(3)
,DECLTRNREL VARCHAR(1)
,DISTINATEPORT VARCHAR(6)
,EDIID VARCHAR(3)
,ENTRYID VARCHAR(18)
,FEECURR VARCHAR(3)
,FEEMARK VARCHAR(1)
,FEERATE NUMERIC(19,5)
,CROSSWET NUMERIC(19,5)
,IEPORT VARCHAR(4)
,INPUTERNAME VARCHAR(32)
,INSURCURR VARCHAR(3)
,INSURMARK VARCHAR(1)
,INSURRATE NUMERIC(19,5)
,MANUALNO VARCHAR(12)
,NETWT NUMERIC(19,5)
,OTHERCURR VARCHAR(3)
,OTHERRATE NUMERIC(19,5)
,OTHERMARK VARCHAR(1)
,OWNERCODE VARCHAR(18)
,OWNERNAME VARCHAR(70)
,PACKNO NUMERIC(9)
,PREENTRYID VARCHAR(9)
,TRADECOUNTRY VARCHAR(3)
,TRADEMODE VARCHAR(4)
,TRADECODE VARCHAR(18)
,TRAFMODE VARCHAR(1)
,TRADENAME VARCHAR(70)
,TRANSMODE VARCHAR(1)
,WRAPTYPE VARCHAR(2)
,TRADECODESCC VARCHAR(18)
,OWNERCODESCC VARCHAR(18)
,TRADEAREACODE VARCHAR(3)
,MARKNO VARCHAR(400)
,ENTYPORTCODE VARCHAR(8)
,GOODSPLACE VARCHAR(100)
,DECLARENAME VARCHAR(50)
,OVERSEASCONSIGNORCODE VARCHAR(50)
,OVERSEASCONSIGNEECODE VARCHAR(50)
,OVERSEASCONSIGNEEENAME VARCHAR(400)
)
GO
ALTER TABLE [dbo].[T_ICLEAR_API_MAWB] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'PK',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'ID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消息ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'MSGID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'用户ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'APPID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'进出口标志',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'IEFlag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'报关类型',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TYPE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报单位代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'AGENTCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报单位名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'AGENTNAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'提单号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'BILLNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'合同号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'CONTRNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'主管海关(申报地海关)',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'CUSTOMMASTER'
GO
EXEC sp_addextendedproperty
'MS_Description', N'征免性质',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'CUTMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'报关/转关关系标志',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'DECLTRNREL'
GO
EXEC sp_addextendedproperty
'MS_Description', N'经停港/指运港',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'DISTINATEPORT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'报关标志',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'EDIID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'海关编号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'ENTRYID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运费币制',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'FEECURR'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运费标记',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'FEEMARK'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运费/率',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'FEERATE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'毛重',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'CROSSWET'
GO
EXEC sp_addextendedproperty
'MS_Description', N'出入境关闭',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'IEPORT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'录入人名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'INPUTERNAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保险费币制',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'INSURCURR'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保险费标记',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'INSURMARK'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保险费/率',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'INSURRATE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备案号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'MANUALNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'净重',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'NETWT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'杂费币制',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OTHERCURR'
GO
EXEC sp_addextendedproperty
'MS_Description', N'杂费/率',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OTHERRATE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'杂费标志',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OTHERMARK'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消费使用/生产销售单位代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OWNERCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消费使用/生产销售单位名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OWNERNAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'件数',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'PACKNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'预录入编号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'PREENTRYID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'启运国/运抵国',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADECOUNTRY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'监管方式',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADEMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境内收发货人编号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADECODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运输方式代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRAFMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境内收发货人名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADENAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'成交方式',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRANSMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'包装种类',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'WRAPTYPE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产核销单位统一信用代码---报关形式类型',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADECODESCC'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消费使用/生产销售单位单位统一编码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OWNERCODESCC'
GO
EXEC sp_addextendedproperty
'MS_Description', N'贸易国别',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'TRADEAREACODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'标记及号码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'MARKNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入境口岸代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'ENTYPORTCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入境口岸代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'GOODSPLACE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报人员姓名---报关员证号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'DECLARENAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境外发货人代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OVERSEASCONSIGNORCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境外收货人编码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OVERSEASCONSIGNEECODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境外收货人名称(外文)',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'OVERSEASCONSIGNEEENAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'运单ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'CONSIGNMENTCODEID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'EANNo',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWB',
'COLUMN', N'EANNO'
GO
-- ----------------------------
-- Primary Key structure for table T_ICLEAR_API_MAWB
-- ----------------------------
ALTER TABLE [dbo].[T_ICLEAR_API_MAWB] ADD CONSTRAINT [PK__T_ICLEAR__3214EC27FAF18BF6] PRIMARY KEY CLUSTERED ([ID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO
------------------------------------------------------------------------------------------------------------------------
/*
Navicat Premium Data Transfer
Source Server : 40.73.78.157
Source Server Type : SQL Server
Source Server Version : 11002100
Source Host : 40.73.78.157:1433
Source Catalog : IClearDev
Source Schema : dbo
Target Server Type : SQL Server
Target Server Version : 11002100
File Encoding : 65001
Date: 21/01/2022 16:41:57
*/
-- ----------------------------
-- Table structure for T_ICLEAR_API_MAWBDETAIL 运单明细
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ICLEAR_API_MAWBDETAIL]') AND type IN ('U'))
DROP TABLE [dbo].[T_ICLEAR_API_MAWBDETAIL]
GO
CREATE TABLE [dbo].[T_ICLEAR_API_MAWBDETAIL] (
[ID] int IDENTITY(1,1) NOT NULL,
[MSGID] int NULL,
[MAWBID] int NULL,
[DETAILID] varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
[CLASSMARK] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[CODETS] varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
[DECLPRICE] numeric(29,10) NULL,
[DECLTOTAL] numeric(29,10) NULL,
[DUTYMODE] varchar(4) COLLATE Chinese_PRC_CI_AS NULL,
[EXGNO] varchar(30) COLLATE Chinese_PRC_CI_AS NULL,
[EXGVERSION] varchar(8) COLLATE Chinese_PRC_CI_AS NULL,
[FIRSTUNIT] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[FIRSTQTY] numeric(19,5) NULL,
[GUNIT] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[GMODE] varchar(1000) COLLATE Chinese_PRC_CI_AS NULL,
[GNAME] varchar(1000) COLLATE Chinese_PRC_CI_AS NULL,
[GNO] numeric(19) NULL,
[GQTY] numeric(19,5) NULL,
[ORIGINCURRENTY] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[SECONDUNIT] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[SECONDQTY] numeric(19,5) NULL,
[TRADECURR] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[USETO] varchar(2) COLLATE Chinese_PRC_CI_AS NULL,
[WORKUSD] numeric(19,4) NULL,
[DESTINATIONCOUNTRY] varchar(3) COLLATE Chinese_PRC_CI_AS NULL,
[CIQCODE] varchar(20) COLLATE Chinese_PRC_CI_AS NULL,
[DECLGOODSENAME] varchar(255) COLLATE Chinese_PRC_CI_AS NULL,
[DESTCODE] varchar(8) COLLATE Chinese_PRC_CI_AS NULL,
[DISTRICTCODE] varchar(5) COLLATE Chinese_PRC_CI_AS NULL,
[DECLAREDWEIGHT] numeric(19) NULL
CREATE TABLE T_ICLEAR_API_MAWBDETAIL(
ID int identity(1,1) primary key --PK
,MSGID int
,MAWBID int
,DETAILID VARCHAR(50)
,CLASSMARK VARCHAR(1)
,CODETS VARCHAR(10)
,DECLPRICE NUMERIC(19,5)
,DECLTOTAL NUMERIC(19,5)
,DUTYMODE VARCHAR(1)
,EXGNO VARCHAR(30)
,EXGVERSION VARCHAR(8)
,FIRSTUNIT VARCHAR(3)
,FIRSTQTY NUMERIC(19,5)
,GUNIT VARCHAR(3)
,GMODE VARCHAR(255)
,GNAME VARCHAR(255)
,GNO NUMERIC(19)
,GQTY NUMERIC(19,5)
,ORIGINCURRENTY VARCHAR(3)
,SECONDUNIT VARCHAR(3)
,SECONDQTY NUMERIC(19,5)
,TRADECURR VARCHAR(3)
,USETO VARCHAR(2)
,WORKUSD NUMERIC(19,4)
,DESTINATIONCOUNTRY VARCHAR(3)
,CIQCODE VARCHAR(20)
,DECLGOODSENAME VARCHAR(100)
,DESTCODE VARCHAR(8)
,DISTRICTCODE VARCHAR(5)
)
GO
ALTER TABLE [dbo].[T_ICLEAR_API_MAWBDETAIL] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'PK',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'ID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'消息ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'MSGID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'主单ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'MAWBID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'明细ID',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DETAILID'
GO
EXEC sp_addextendedproperty
'MS_Description', N'归类标志',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'CLASSMARK'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品编号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'CODETS'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报单价',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DECLPRICE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报总价',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DECLTOTAL'
GO
EXEC sp_addextendedproperty
'MS_Description', N'征免方式',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DUTYMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'货号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'EXGNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'版本号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'EXGVERSION'
GO
EXEC sp_addextendedproperty
'MS_Description', N'第一计量单位(法定单位)',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'FIRSTUNIT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'第一法定数量',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'FIRSTQTY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'成交计量单位',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'GUNIT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品规格、型号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'GMODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'GNAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品序号',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'GNO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'成交数量',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'GQTY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'原产国',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'ORIGINCURRENTY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'第二计量单位',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'SECONDUNIT'
GO
EXEC sp_addextendedproperty
'MS_Description', N'第二法定数量',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'SECONDQTY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'成交币制',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'TRADECURR'
GO
EXEC sp_addextendedproperty
'MS_Description', N'用途/生产厂家',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'USETO'
GO
EXEC sp_addextendedproperty
'MS_Description', N'工缴费',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'WORKUSD'
GO
EXEC sp_addextendedproperty
'MS_Description', N'最终目的国(地区)',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DESTINATIONCOUNTRY'
GO
EXEC sp_addextendedproperty
'MS_Description', N'检验检疫编',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'CIQCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报货物英文名称',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DECLGOODSENAME'
GO
EXEC sp_addextendedproperty
'MS_Description', N'目的地代码',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DESTCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'境内目的地/境内货源地',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DISTRICTCODE'
GO
EXEC sp_addextendedproperty
'MS_Description', N'申报重量',
'SCHEMA', N'dbo',
'TABLE', N'T_ICLEAR_API_MAWBDETAIL',
'COLUMN', N'DECLAREDWEIGHT'
GO
-- ----------------------------
-- Primary Key structure for table T_ICLEAR_API_MAWBDETAIL
-- ----------------------------
ALTER TABLE [dbo].[T_ICLEAR_API_MAWBDETAIL] ADD CONSTRAINT [PK__T_ICLEAR__3214EC27295588F6] PRIMARY KEY CLUSTERED ([ID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO
------------------------------------------------------------------------------------------------------------------------
INSERT INTO T_ICLEAR_API_APPINFO VALUES(1,'IDE','iClearExport','89b358b0cc07788c',GETDATE(),'1');
insert INTO T_ICLEAR_API_APPINFO VALUES(2,'BASF','iClearExportC','9496c3df094023ce',GETDATE(),'1');
alter table T_CHM_CONSIGNMENT ADD EANNO varchar(100);
alter table T_DECLEAR_TASK ADD DECELEAR_INFO_ID varchar(50);
---ALTER TABLE T_ICLEAR_API_MAWB ADD SOURCE_TYPE VARCHAR(10);
ALTER TABLE T_CHM_CONSIGNMENT_DETAIL ADD DETAILID VARCHAR(50);
------------------------------------------------------------------------------------------------------------------------
---海关编码
INSERT INTO T_BI_DICTIONARY(CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,PARENT_ID) VALUES('customsNo','海关编码','customsNo','海关编码',1,23)
--INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0101','PVG','PVG','PVG',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5001,'port_pvg','0101')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0101','PEK','PEK','PEK',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5002,'port_pek','0101')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0207','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5003,'port_tsn','0207')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0200','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5004,'port_tsn','0200')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0201','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5005,'port_tsn','0201')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0202','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5006,'port_tsn','0202')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0203','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5007,'port_tsn','0203')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0204','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5008,'port_tsn','0204')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0205','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5009,'port_tsn','0205')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0206','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5010,'port_tsn','0206')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0208','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5011,'port_tsn','0208')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0209','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5012,'port_tsn','0209')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0210','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5013,'port_tsn','0210')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0211','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5014,'port_tsn','0211')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0212','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5015,'port_tsn','0212')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0213','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5016,'port_tsn','0213')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0214','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5017,'port_tsn','0214')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0215','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5018,'port_tsn','0215')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0216','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5019,'port_tsn','0216')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0217','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5200,'port_tsn','0217')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0218','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5021,'port_tsn','0218')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0219','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5022,'port_tsn','0219')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0220','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5023,'port_tsn','0220')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0221','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5024,'port_tsn','0221')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0222','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5025,'port_tsn','0222')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0223','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5026,'port_tsn','0223')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0224','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5027,'port_tsn','0224')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0225','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5028,'port_tsn','0225')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0226','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5029,'port_tsn','0226')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0227','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5030,'port_tsn','0227')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0228','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5031,'port_tsn','0228')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0229','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5032,'port_tsn','0229')
--添加tsn口岸
INSERT into T_AU_ORGANIZATION(CODE,NAME,TYPE_ID,PARENT_ID,[LEVEL],CREATE_USER_ID,CREATE_TIME)VALUES('tsn','tsn口岸',84534,1,6,5503,GETDATE())
--添加tsn口岸操作员02
insert into T_AU_USER (LOGIN_NAME,USERNAME,PASSWORD,IS_VALID,VISIBLE,CREATE_TIME,VERSION,CHANGE_PASSWORD,ORG_ID,ORG_NAME,INIT_OWNER_NAME,TYPE_ID,TYPE_NAME)VALUES('tsnczy2','TSN操作员02','985111aed0bc0920dce9b362de2b1fa122a5ccdd6ac2a8e9b3ae5cfa58169f7725830de4566b7c43',1,1,GETDATE(),0,1,(select ID from T_AU_ORGANIZATION where code = 'tsn'),(select NAME from T_AU_ORGANIZATION where code = 'tsn'),1,(select ID from T_BI_DICTIONARY_ENTRIES where ID = 84534),(select CHINESE_NAME from T_BI_DICTIONARY_ENTRIES where ID = 84534))
--添加权限
insert into T_AU_USER_ROLES (USER_ID,ROLE_ID,VERSION)VALUES(53573,3910,0);
insert into T_AU_USER_ROLES (USER_ID,ROLE_ID,VERSION)VALUES(53574,3910,0);
--数据字段中添加天津口岸
insert INTO T_BI_DICTIONARY_ENTRIES(CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL)VALUES('port_tsn','TSN','TSN','TSN',1,'50161','port',50)
CREATE TABLE T_ICLEAR_API_HSCODE_LOG(
ID int identity(1,1) primary key --PK
,APPID VARCHAR(20) --用户ID
,APPKEY VARCHAR(20) --用户key
,CODE VARCHAR(2000) --hscode编码
,CREATE_TIME datetime --创建时间
,RECEIVE_RESULT VARCHAR(100) --记录接收后是否验证通过的结果
,ERROR_CODE VARCHAR(10) --错误代码
,RESPONSE_TIME datetime -- 响应时间
,SPEND_TIME numeric(5, 0) --消耗时间(ms)
)
\ No newline at end of file
......
package com.erry.iclear.dateInterface.api;
import com.erry.iclear.dateInterface.api.request.HsCodeParam;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.service.HsCodeService;
import com.erry.iclear.dateInterface.util.StringUtil;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author Administrator
*/
@RestController
@RequestMapping("/hscode")
@Slf4j
public class HsCodeInterface {
@Autowired
HsCodeService hsCodeService;
@ApiOperation(value = "接收HsCode临时数据", httpMethod = "POST", notes = "ex: http://192.168.1.71:8080/hscode/hscodeRequest")
@PostMapping("/hscodeRequest")
@ResponseBody
public ResultHsCode hscodeRequest(HttpServletRequest request
, @RequestBody HsCodeParam hscode) {
log.info("接收到请求数据hscode:【"+hscode.getHscode()+"】");
String appId = (String) request.getHeader("Appid");
String appkey = (String) request.getHeader("Appkey");
String timeStamp = (String) request.getHeader("TimeStamp");
String token = (String) request.getHeader("token");
if(!StringUtil.isEmpty(hscode.getHscode())){
ResultHsCode resultHsCode = hsCodeService.findHsCodeListByCode(hscode.getHscode());
return resultHsCode;
}else{
//如果没有传hscode需要限制10分钟只能只能查询一次
ResultHsCode resultHsCode = hsCodeService.findAllHsCodeList();
return resultHsCode;
}
}
}
\ No newline at end of file
package com.erry.iclear.dateInterface.api.request;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
/**
* 请求hscode参数
* mt
* 2022年2月10日16:06:40
*/
@ApiModel(value = "hscode", description = "需要查询的hscode列表")
@Data
public class HsCodeParam implements Serializable {
private static final long serialVersionUID = 786697399667065141L;
String hscode;
}
package com.erry.iclear.dateInterface.api.response;
import com.erry.iclear.dateInterface.api.request.BasfcReceipt;
import com.erry.iclear.dateInterface.entity.HsCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@AllArgsConstructor
public class ResultHsCode implements Serializable {
//成功标识
private Boolean success = true;
//结果编码
private String code;
//错误信息
private String msg;
//HsCode信息
private List<HsCode> hsCodeResultList;
}
package com.erry.iclear.dateInterface.config;
import com.erry.iclear.dateInterface.interceptor.HsCodeInterceptor;
import com.erry.iclear.dateInterface.interceptor.SignInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
......@@ -13,7 +14,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SignInterceptor()).addPathPatterns("/customs/*");
registry.addInterceptor(new HsCodeInterceptor()).addPathPatterns("/hscode/*");
}
}
......
package com.erry.iclear.dateInterface.entity;
import com.erry.iclear.dateInterface.common.BaseModel;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* 商品信息表
* Created by xujin 2019/7/04.
*/
@Entity
@Table(name = "T_CC_HS_CODE")
public class HsCode extends BaseModel {
private static final long serialVersionUID = 2693103610036977383L;
/**
* 商品信息表ID,自动增加
*/
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
/**
* 商品编号
*/
@Column(name = "SKU_CODE")
private String skuCode;
/**
* 商品名称
*/
@Column(name = "SKUNAME")
private String skuName;
/**
* 关税率
*/
@Column(name = "DUTY_RATE")
private BigDecimal dutyRate;
/**
* 消费税率
*/
@Column(name = "REG_RATE")
private BigDecimal regRate;
/**
* 增值税率
*/
@Column(name = "TAX_RATE")
private BigDecimal taxRate;
/**
* 建议计量单位
*/
@Column(name = "MEASURE_UNIT")
private String measureUnit;
/**
* 监管条件
*/
@Column(name = "MONITOR_CONDITION")
private String monitorCondition;
/**
* 备注
*/
@Column(name = "REMARK")
private String remark;
/**
* 运单创建时间
*/
@Column(name = "CREATE_TIME")
private Date createTime;
/**
* 运单创建人ID
*/
@JsonIgnore
@ManyToOne(targetEntity = SysUser.class)
@JoinColumn(name = "CREATOR_ID")
private SysUser creatorId;
/**
* 运单创建人
*/
@Column(name = "CREATOR")
private String creator;
/**
* 运单更新时间
*/
@Column(name = "UPDATE_TIME")
private Date updateTime;
/**
* 运单更新人ID
*/
@JsonIgnore
@ManyToOne(targetEntity = SysUser.class)
@JoinColumn(name = "UPDATE_USER_ID")
private SysUser updateUser;
/**
* 运单更新人
*/
@Column(name = "UPDATE_USER")
private String updateUserName;
/**
* 是否有效
*/
@Column(name = "VALIDATE")
private Boolean validate;
/**
* 第一(法定)计量单位
*/
@Column(name = "UNIT_LEGAL_FIRST")
private String unitLegalFirst;
/**
* 第二计量单位
*/
@Column(name = "UNIT_LEGAL_SECOND")
private String unitLegalSecond;
/**
* CCC标记
*/
@Column(name = "ISCCC")
private Boolean isCcc;
/**
* 出口含税标记
*/
@Column(name = "EXPORTTAX")
private Boolean exporttax;
/**
* 要素1
*/
@Column(name = "ELEMENT1")
private String element1;
@Column(name = "FLAG1")
private BigDecimal flag1;
@Column(name = "SELECT1")
private String select1;
@Column(name = "SELECTFLAG1")
private BigDecimal selectFlag1;
/**
* 要素2
*/
@Column(name = "ELEMENT2")
private String element2;
@Column(name = "FLAG2")
private BigDecimal flag2;
@Column(name = "SELECT2")
private String select2;
@Column(name = "SELECTFLAG2")
private BigDecimal selectFlag2;
/**
* 要素3
*/
@Column(name = "ELEMENT3")
private String element3;
@Column(name = "FLAG3")
private BigDecimal flag3;
@Column(name = "SELECT3")
private String select3;
@Column(name = "SELECTFLAG3")
private BigDecimal selectFlag3;
/**
* 要素4
*/
@Column(name = "ELEMENT4")
private String element4;
@Column(name = "FLAG4")
private BigDecimal flag4;
@Column(name = "SELECT4")
private String select4;
@Column(name = "SELECTFLAG4")
private BigDecimal selectFlag4;
/**
* 要素5
*/
@Column(name = "ELEMENT5")
private String element5;
@Column(name = "FLAG5")
private BigDecimal flag5;
@Column(name = "SELECT5")
private String select5;
@Column(name = "SELECTFLAG5")
private BigDecimal selectFlag5;
/**
* 要素6
*/
@Column(name = "ELEMENT6")
private String element6;
@Column(name = "FLAG6")
private BigDecimal flag6;
@Column(name = "SELECT6")
private String select6;
@Column(name = "SELECTFLAG6")
private BigDecimal selectFlag6;
/**
* 要素7
*/
@Column(name = "ELEMENT7")
private String element7;
@Column(name = "FLAG7")
private BigDecimal flag7;
@Column(name = "SELECT7")
private String select7;
@Column(name = "SELECTFLAG7")
private BigDecimal selectFlag7;
/**
* 要素8
*/
@Column(name = "ELEMENT8")
private String element8;
@Column(name = "FLAG8")
private BigDecimal flag8;
@Column(name = "SELECT8")
private String select8;
@Column(name = "SELECTFLAG8")
private BigDecimal selectFlag8;
/**
* 要素9
*/
@Column(name = "ELEMENT9")
private String element9;
@Column(name = "FLAG9")
private BigDecimal flag9;
@Column(name = "SELECT9")
private String select9;
@Column(name = "SELECTFLAG9")
private BigDecimal selectFlag9;
/**
* 要素10
*/
@Column(name = "ELEMENT10")
private String element10;
@Column(name = "FLAG10")
private BigDecimal flag10;
@Column(name = "SELECT10")
private String select10;
@Column(name = "SELECTFLAG10")
private BigDecimal selectFlag10;
/**
* 要素11
*/
@Column(name = "ELEMENT11")
private String element11;
@Column(name = "FLAG11")
private BigDecimal flag11;
@Column(name = "SELECT11")
private String select11;
@Column(name = "SELECTFLAG11")
private BigDecimal selectFlag11;
/**
* 要素12
*/
@Column(name = "ELEMENT12")
private String element12;
@Column(name = "FLAG12")
private BigDecimal flag12;
@Column(name = "SELECT12")
private String select12;
@Column(name = "SELECTFLAG12")
private BigDecimal selectFlag12;
/**
* 要素13
*/
@Column(name = "ELEMENT13")
private String element13;
@Column(name = "FLAG13")
private BigDecimal flag13;
@Column(name = "SELECT13")
private String select13;
@Column(name = "SELECTFLAG13")
private BigDecimal selectFlag13;
/**
* 要素14
*/
@Column(name = "ELEMENT14")
private String element14;
@Column(name = "FLAG14")
private BigDecimal flag14;
@Column(name = "SELECT14")
private String select14;
@Column(name = "SELECTFLAG14")
private BigDecimal selectFlag14;
/**
* 要素15
*/
@Column(name = "ELEMENT15")
private String element15;
@Column(name = "FLAG15")
private BigDecimal flag15;
@Column(name = "SELECT15")
private String select15;
@Column(name = "SELECTFLAG15")
private BigDecimal selectFlag15;
/**
* 要素16
*/
@Column(name = "ELEMENT16")
private String element16;
@Column(name = "FLAG16")
private BigDecimal flag16;
@Column(name = "SELECT16")
private String select16;
@Column(name = "SELECTFLAG16")
private BigDecimal selectFlag16;
/**
* 要素17
*/
@Column(name = "ELEMENT17")
private String element17;
@Column(name = "FLAG17")
private BigDecimal flag17;
@Column(name = "SELECT17")
private String select17;
@Column(name = "SELECTFLAG17")
private BigDecimal selectFlag17;
/**
* 要素18
*/
@Column(name = "ELEMENT18")
private String element18;
@Column(name = "FLAG18")
private BigDecimal flag18;
@Column(name = "SELECT18")
private String select18;
@Column(name = "SELECTFLAG18")
private BigDecimal selectFlag18;
/**
* 要素19
*/
@Column(name = "ELEMENT19")
private String element19;
@Column(name = "FLAG19")
private BigDecimal flag19;
@Column(name = "SELECT19")
private String select19;
@Column(name = "SELECTFLAG19")
private BigDecimal selectFlag19;
/**
* 要素20
*/
@Column(name = "ELEMENT20")
private String element20;
@Column(name = "FLAG20")
private BigDecimal flag20;
@Column(name = "SELECT20")
private String select20;
@Column(name = "SELECTFLAG20")
private BigDecimal selectFlag20;
/**
* 出口关税率
*/
@Column(name = "OUT_RATE")
private BigDecimal outRate;
public static long getSerialVersionUID() {
return serialVersionUID;
}
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
public String getSkuCode() {
return skuCode;
}
public void setSkuCode(String skuCode) {
this.skuCode = skuCode;
}
public String getSkuName() {
return skuName;
}
public void setSkuName(String skuName) {
this.skuName = skuName;
}
public BigDecimal getDutyRate() {
return dutyRate;
}
public void setDutyRate(BigDecimal dutyRate) {
this.dutyRate = dutyRate;
}
public BigDecimal getRegRate() {
return regRate;
}
public void setRegRate(BigDecimal regRate) {
this.regRate = regRate;
}
public BigDecimal getTaxRate() {
return taxRate;
}
public void setTaxRate(BigDecimal taxRate) {
this.taxRate = taxRate;
}
public String getMeasureUnit() {
return measureUnit;
}
public void setMeasureUnit(String measureUnit) {
this.measureUnit = measureUnit;
}
public String getMonitorCondition() {
return monitorCondition;
}
public void setMonitorCondition(String monitorCondition) {
this.monitorCondition = monitorCondition;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public SysUser getCreatorId() {
return creatorId;
}
public void setCreatorId(SysUser creatorId) {
this.creatorId = creatorId;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public SysUser getUpdateUser() {
return updateUser;
}
public void setUpdateUser(SysUser updateUser) {
this.updateUser = updateUser;
}
public String getUpdateUserName() {
return updateUserName;
}
public void setUpdateUserName(String updateUserName) {
this.updateUserName = updateUserName;
}
public Boolean getValidate() {
return validate;
}
public void setValidate(Boolean validate) {
this.validate = validate;
}
public String getUnitLegalFirst() {
return unitLegalFirst;
}
public void setUnitLegalFirst(String unitLegalFirst) {
this.unitLegalFirst = unitLegalFirst;
}
public String getUnitLegalSecond() {
return unitLegalSecond;
}
public void setUnitLegalSecond(String unitLegalSecond) {
this.unitLegalSecond = unitLegalSecond;
}
public Boolean getCcc() {
return isCcc;
}
public void setCcc(Boolean ccc) {
isCcc = ccc;
}
public Boolean getExporttax() {
return exporttax;
}
public void setExporttax(Boolean exporttax) {
this.exporttax = exporttax;
}
public String getElement1() {
return element1;
}
public void setElement1(String element1) {
this.element1 = element1;
}
public BigDecimal getFlag1() {
return flag1;
}
public void setFlag1(BigDecimal flag1) {
this.flag1 = flag1;
}
public String getSelect1() {
return select1;
}
public void setSelect1(String select1) {
this.select1 = select1;
}
public BigDecimal getSelectFlag1() {
return selectFlag1;
}
public void setSelectFlag1(BigDecimal selectFlag1) {
this.selectFlag1 = selectFlag1;
}
public String getElement2() {
return element2;
}
public void setElement2(String element2) {
this.element2 = element2;
}
public BigDecimal getFlag2() {
return flag2;
}
public void setFlag2(BigDecimal flag2) {
this.flag2 = flag2;
}
public String getSelect2() {
return select2;
}
public void setSelect2(String select2) {
this.select2 = select2;
}
public BigDecimal getSelectFlag2() {
return selectFlag2;
}
public void setSelectFlag2(BigDecimal selectFlag2) {
this.selectFlag2 = selectFlag2;
}
public String getElement3() {
return element3;
}
public void setElement3(String element3) {
this.element3 = element3;
}
public BigDecimal getFlag3() {
return flag3;
}
public void setFlag3(BigDecimal flag3) {
this.flag3 = flag3;
}
public String getSelect3() {
return select3;
}
public void setSelect3(String select3) {
this.select3 = select3;
}
public BigDecimal getSelectFlag3() {
return selectFlag3;
}
public void setSelectFlag3(BigDecimal selectFlag3) {
this.selectFlag3 = selectFlag3;
}
public String getElement4() {
return element4;
}
public void setElement4(String element4) {
this.element4 = element4;
}
public BigDecimal getFlag4() {
return flag4;
}
public void setFlag4(BigDecimal flag4) {
this.flag4 = flag4;
}
public String getSelect4() {
return select4;
}
public void setSelect4(String select4) {
this.select4 = select4;
}
public BigDecimal getSelectFlag4() {
return selectFlag4;
}
public void setSelectFlag4(BigDecimal selectFlag4) {
this.selectFlag4 = selectFlag4;
}
public String getElement5() {
return element5;
}
public void setElement5(String element5) {
this.element5 = element5;
}
public BigDecimal getFlag5() {
return flag5;
}
public void setFlag5(BigDecimal flag5) {
this.flag5 = flag5;
}
public String getSelect5() {
return select5;
}
public void setSelect5(String select5) {
this.select5 = select5;
}
public BigDecimal getSelectFlag5() {
return selectFlag5;
}
public void setSelectFlag5(BigDecimal selectFlag5) {
this.selectFlag5 = selectFlag5;
}
public String getElement6() {
return element6;
}
public void setElement6(String element6) {
this.element6 = element6;
}
public BigDecimal getFlag6() {
return flag6;
}
public void setFlag6(BigDecimal flag6) {
this.flag6 = flag6;
}
public String getSelect6() {
return select6;
}
public void setSelect6(String select6) {
this.select6 = select6;
}
public BigDecimal getSelectFlag6() {
return selectFlag6;
}
public void setSelectFlag6(BigDecimal selectFlag6) {
this.selectFlag6 = selectFlag6;
}
public String getElement7() {
return element7;
}
public void setElement7(String element7) {
this.element7 = element7;
}
public BigDecimal getFlag7() {
return flag7;
}
public void setFlag7(BigDecimal flag7) {
this.flag7 = flag7;
}
public String getSelect7() {
return select7;
}
public void setSelect7(String select7) {
this.select7 = select7;
}
public BigDecimal getSelectFlag7() {
return selectFlag7;
}
public void setSelectFlag7(BigDecimal selectFlag7) {
this.selectFlag7 = selectFlag7;
}
public String getElement8() {
return element8;
}
public void setElement8(String element8) {
this.element8 = element8;
}
public BigDecimal getFlag8() {
return flag8;
}
public void setFlag8(BigDecimal flag8) {
this.flag8 = flag8;
}
public String getSelect8() {
return select8;
}
public void setSelect8(String select8) {
this.select8 = select8;
}
public BigDecimal getSelectFlag8() {
return selectFlag8;
}
public void setSelectFlag8(BigDecimal selectFlag8) {
this.selectFlag8 = selectFlag8;
}
public String getElement9() {
return element9;
}
public void setElement9(String element9) {
this.element9 = element9;
}
public BigDecimal getFlag9() {
return flag9;
}
public void setFlag9(BigDecimal flag9) {
this.flag9 = flag9;
}
public String getSelect9() {
return select9;
}
public void setSelect9(String select9) {
this.select9 = select9;
}
public BigDecimal getSelectFlag9() {
return selectFlag9;
}
public void setSelectFlag9(BigDecimal selectFlag9) {
this.selectFlag9 = selectFlag9;
}
public String getElement10() {
return element10;
}
public void setElement10(String element10) {
this.element10 = element10;
}
public BigDecimal getFlag10() {
return flag10;
}
public void setFlag10(BigDecimal flag10) {
this.flag10 = flag10;
}
public String getSelect10() {
return select10;
}
public void setSelect10(String select10) {
this.select10 = select10;
}
public BigDecimal getSelectFlag10() {
return selectFlag10;
}
public void setSelectFlag10(BigDecimal selectFlag10) {
this.selectFlag10 = selectFlag10;
}
public String getElement11() {
return element11;
}
public void setElement11(String element11) {
this.element11 = element11;
}
public BigDecimal getFlag11() {
return flag11;
}
public void setFlag11(BigDecimal flag11) {
this.flag11 = flag11;
}
public String getSelect11() {
return select11;
}
public void setSelect11(String select11) {
this.select11 = select11;
}
public BigDecimal getSelectFlag11() {
return selectFlag11;
}
public void setSelectFlag11(BigDecimal selectFlag11) {
this.selectFlag11 = selectFlag11;
}
public String getElement12() {
return element12;
}
public void setElement12(String element12) {
this.element12 = element12;
}
public BigDecimal getFlag12() {
return flag12;
}
public void setFlag12(BigDecimal flag12) {
this.flag12 = flag12;
}
public String getSelect12() {
return select12;
}
public void setSelect12(String select12) {
this.select12 = select12;
}
public BigDecimal getSelectFlag12() {
return selectFlag12;
}
public void setSelectFlag12(BigDecimal selectFlag12) {
this.selectFlag12 = selectFlag12;
}
public String getElement13() {
return element13;
}
public void setElement13(String element13) {
this.element13 = element13;
}
public BigDecimal getFlag13() {
return flag13;
}
public void setFlag13(BigDecimal flag13) {
this.flag13 = flag13;
}
public String getSelect13() {
return select13;
}
public void setSelect13(String select13) {
this.select13 = select13;
}
public BigDecimal getSelectFlag13() {
return selectFlag13;
}
public void setSelectFlag13(BigDecimal selectFlag13) {
this.selectFlag13 = selectFlag13;
}
public String getElement14() {
return element14;
}
public void setElement14(String element14) {
this.element14 = element14;
}
public BigDecimal getFlag14() {
return flag14;
}
public void setFlag14(BigDecimal flag14) {
this.flag14 = flag14;
}
public String getSelect14() {
return select14;
}
public void setSelect14(String select14) {
this.select14 = select14;
}
public BigDecimal getSelectFlag14() {
return selectFlag14;
}
public void setSelectFlag14(BigDecimal selectFlag14) {
this.selectFlag14 = selectFlag14;
}
public String getElement15() {
return element15;
}
public void setElement15(String element15) {
this.element15 = element15;
}
public BigDecimal getFlag15() {
return flag15;
}
public void setFlag15(BigDecimal flag15) {
this.flag15 = flag15;
}
public String getSelect15() {
return select15;
}
public void setSelect15(String select15) {
this.select15 = select15;
}
public BigDecimal getSelectFlag15() {
return selectFlag15;
}
public void setSelectFlag15(BigDecimal selectFlag15) {
this.selectFlag15 = selectFlag15;
}
public String getElement16() {
return element16;
}
public void setElement16(String element16) {
this.element16 = element16;
}
public BigDecimal getFlag16() {
return flag16;
}
public void setFlag16(BigDecimal flag16) {
this.flag16 = flag16;
}
public String getSelect16() {
return select16;
}
public void setSelect16(String select16) {
this.select16 = select16;
}
public BigDecimal getSelectFlag16() {
return selectFlag16;
}
public void setSelectFlag16(BigDecimal selectFlag16) {
this.selectFlag16 = selectFlag16;
}
public String getElement17() {
return element17;
}
public void setElement17(String element17) {
this.element17 = element17;
}
public BigDecimal getFlag17() {
return flag17;
}
public void setFlag17(BigDecimal flag17) {
this.flag17 = flag17;
}
public String getSelect17() {
return select17;
}
public void setSelect17(String select17) {
this.select17 = select17;
}
public BigDecimal getSelectFlag17() {
return selectFlag17;
}
public void setSelectFlag17(BigDecimal selectFlag17) {
this.selectFlag17 = selectFlag17;
}
public String getElement18() {
return element18;
}
public void setElement18(String element18) {
this.element18 = element18;
}
public BigDecimal getFlag18() {
return flag18;
}
public void setFlag18(BigDecimal flag18) {
this.flag18 = flag18;
}
public String getSelect18() {
return select18;
}
public void setSelect18(String select18) {
this.select18 = select18;
}
public BigDecimal getSelectFlag18() {
return selectFlag18;
}
public void setSelectFlag18(BigDecimal selectFlag18) {
this.selectFlag18 = selectFlag18;
}
public String getElement19() {
return element19;
}
public void setElement19(String element19) {
this.element19 = element19;
}
public BigDecimal getFlag19() {
return flag19;
}
public void setFlag19(BigDecimal flag19) {
this.flag19 = flag19;
}
public String getSelect19() {
return select19;
}
public void setSelect19(String select19) {
this.select19 = select19;
}
public BigDecimal getSelectFlag19() {
return selectFlag19;
}
public void setSelectFlag19(BigDecimal selectFlag19) {
this.selectFlag19 = selectFlag19;
}
public String getElement20() {
return element20;
}
public void setElement20(String element20) {
this.element20 = element20;
}
public BigDecimal getFlag20() {
return flag20;
}
public void setFlag20(BigDecimal flag20) {
this.flag20 = flag20;
}
public String getSelect20() {
return select20;
}
public void setSelect20(String select20) {
this.select20 = select20;
}
public BigDecimal getSelectFlag20() {
return selectFlag20;
}
public void setSelectFlag20(BigDecimal selectFlag20) {
this.selectFlag20 = selectFlag20;
}
public BigDecimal getOutRate() {
return outRate;
}
public void setOutRate(BigDecimal outRate) {
this.outRate = outRate;
}
@Override
public String toString() {
return "HsCode{" +
"id=" + id +
", skuCode='" + skuCode + '\'' +
", skuName='" + skuName + '\'' +
", dutyRate=" + dutyRate +
", regRate=" + regRate +
", taxRate=" + taxRate +
", measureUnit='" + measureUnit + '\'' +
", monitorCondition='" + monitorCondition + '\'' +
", remark='" + remark + '\'' +
", createTime=" + createTime +
", creatorId=" + creatorId +
", creator='" + creator + '\'' +
", updateTime=" + updateTime +
", updateUser=" + updateUser +
", updateUserName='" + updateUserName + '\'' +
", validate=" + validate +
", unitLegalFirst='" + unitLegalFirst + '\'' +
", unitLegalSecond='" + unitLegalSecond + '\'' +
", isCcc=" + isCcc +
", exporttax=" + exporttax +
", element1='" + element1 + '\'' +
", flag1=" + flag1 +
", select1='" + select1 + '\'' +
", selectFlag1=" + selectFlag1 +
", element2='" + element2 + '\'' +
", flag2=" + flag2 +
", select2='" + select2 + '\'' +
", selectFlag2=" + selectFlag2 +
", element3='" + element3 + '\'' +
", flag3=" + flag3 +
", select3='" + select3 + '\'' +
", selectFlag3=" + selectFlag3 +
", element4='" + element4 + '\'' +
", flag4=" + flag4 +
", select4='" + select4 + '\'' +
", selectFlag4=" + selectFlag4 +
", element5='" + element5 + '\'' +
", flag5=" + flag5 +
", select5='" + select5 + '\'' +
", selectFlag5=" + selectFlag5 +
", element6='" + element6 + '\'' +
", flag6=" + flag6 +
", select6='" + select6 + '\'' +
", selectFlag6=" + selectFlag6 +
", element7='" + element7 + '\'' +
", flag7=" + flag7 +
", select7='" + select7 + '\'' +
", selectFlag7=" + selectFlag7 +
", element8='" + element8 + '\'' +
", flag8=" + flag8 +
", select8='" + select8 + '\'' +
", selectFlag8=" + selectFlag8 +
", element9='" + element9 + '\'' +
", flag9=" + flag9 +
", select9='" + select9 + '\'' +
", selectFlag9=" + selectFlag9 +
", element10='" + element10 + '\'' +
", flag10=" + flag10 +
", select10='" + select10 + '\'' +
", selectFlag10=" + selectFlag10 +
", element11='" + element11 + '\'' +
", flag11=" + flag11 +
", select11='" + select11 + '\'' +
", selectFlag11=" + selectFlag11 +
", element12='" + element12 + '\'' +
", flag12=" + flag12 +
", select12='" + select12 + '\'' +
", selectFlag12=" + selectFlag12 +
", element13='" + element13 + '\'' +
", flag13=" + flag13 +
", select13='" + select13 + '\'' +
", selectFlag13=" + selectFlag13 +
", element14='" + element14 + '\'' +
", flag14=" + flag14 +
", select14='" + select14 + '\'' +
", selectFlag14=" + selectFlag14 +
", element15='" + element15 + '\'' +
", flag15=" + flag15 +
", select15='" + select15 + '\'' +
", selectFlag15=" + selectFlag15 +
", element16='" + element16 + '\'' +
", flag16=" + flag16 +
", select16='" + select16 + '\'' +
", selectFlag16=" + selectFlag16 +
", element17='" + element17 + '\'' +
", flag17=" + flag17 +
", select17='" + select17 + '\'' +
", selectFlag17=" + selectFlag17 +
", element18='" + element18 + '\'' +
", flag18=" + flag18 +
", select18='" + select18 + '\'' +
", selectFlag18=" + selectFlag18 +
", element19='" + element19 + '\'' +
", flag19=" + flag19 +
", select19='" + select19 + '\'' +
", selectFlag19=" + selectFlag19 +
", element20='" + element20 + '\'' +
", flag20=" + flag20 +
", select20='" + select20 + '\'' +
", selectFlag20=" + selectFlag20 +
", outRate=" + outRate +
'}';
}
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @author Administrator
*/
@Entity
@Table(name = "T_ICLEAR_API_HSCODE_LOG")
@Data
public class IClearApiHsCodeLog implements Serializable {
private static final long serialVersionUID = 8299265671871200609L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "MSGID", insertable = false, nullable = false)
private Long msgId;
@Column(name = "APPID")
private String appId;
@Column(name= "APPKEY")
private String appKey;
@Column(name= "CODE")
private String code;
@Column(name= "CREATE_TIME")
private Date createTime;
@Column(name= "RECEIVE_RESULT")
private String receiveResult;
@Column(name= "ERROR_CODE")
private String errorCode;
@Column(name= "RESPONSE_TIME")
private Date responseTime;
@Column(name= "SPEND_TIME")
private Long spendTime;
}
package com.erry.iclear.dateInterface.interceptor;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.util.SHA256Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.HashMap;
/**
* @author Administrator
*/
@Component
@Slf4j
public class HsCodeInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
String appId = (String) request.getHeader("Appid");
String appkey = (String) request.getHeader("Appkey");
String timeStamp = (String) request.getHeader("TimeStamp");
String token = (String) request.getHeader("token");
//TODO 增加请求路径是否在权限里的判断
//String uri = request.getRequestURI();
if(StringUtils.isBlank(appId)){
this.returnJson(response,false,"10016","Appid 不能为空");
return false;
}
if(StringUtils.isBlank(appkey)){
this.returnJson(response,false,"10017","Appkey 不能为空");
return false;
}
if(StringUtils.isBlank(timeStamp)){
this.returnJson(response,false,"10018","TimeStamp 不能为空");
return false;
}
if(StringUtils.isBlank(token)){
this.returnJson(response,false,"10013","token 不能为空");
return false;
}
HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
if(secretMap==null){
this.returnJson(response,false,"10001","系统异常,该appId没有注册");
return false;
}
String secretInSys = secretMap.get(appkey);
if (StringUtils.isBlank(secretInSys)) {
this.returnJson(response,false,"10002","系统异常,该appId没有当前Appkey的权限");
return false;
}
String sha256Str = SHA256Util.getSHA256String(appId+appkey+secretInSys+timeStamp);
if(!token.equals(sha256Str)){
this.returnJson(response,false,"10014","Token验证失败");
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
private void returnJson(HttpServletResponse response,Boolean success ,String code,String msg){
PrintWriter writer = null;
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
writer = response.getWriter();
ResultHsCode resultHsCode = new ResultHsCode(success,code,msg,null);
writer.print(resultHsCode);
} catch (IOException e){
log.error("拦截器输出流异常"+e);
} finally {
if(writer != null){
writer.close();
}
}
}
}
\ No newline at end of file
package com.erry.iclear.dateInterface.repository;
import com.erry.iclear.dateInterface.entity.HsCode;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 商品信息表 Repository
* Created by xujin 2019/7/08.
*/
@Repository
public interface HsCodeRepository extends JpaSpecificationExecutor<HsCode>, JpaRepository<HsCode, Long> {
/**
*
* 根据hscode编码查询最新一条hscode信息
* @param code
* @return
*/
@Query(nativeQuery = true,value = "select top 1 * from T_CC_HS_CODE where VALIDATE=1 and SKU_CODE =?1 order by id desc ")
public HsCode findHsCodeByCode(String code);
/**
* 根据hscode编码查询对应的hscode
* @param skuCodeList
* @return
*/
@Query(nativeQuery = true, value = "select * from [dbo].[T_CC_HS_CODE] where VALIDATE=1 and SKU_CODE in ?1")
List<HsCode> findHsCodeListByCode(List<String> skuCodeList);
/**
* 查询所有有效hscode
* @return
*/
@Query(nativeQuery = true,value = "select * from T_CC_HS_CODE where VALIDATE=1")
public List<HsCode> findAllHsCodeList();
}
\ No newline at end of file
......@@ -13,6 +13,7 @@ import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.entity.DeclearTask;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.repository.DeclearTaskRepository;
import com.erry.iclear.dateInterface.repository.HsCodeRepository;
import com.erry.iclear.dateInterface.repository.ReceiptMessageRepository;
import com.erry.iclear.dateInterface.util.DateUtils;
import com.erry.iclear.dateInterface.util.JsonToJava;
......@@ -47,6 +48,8 @@ public class ApiService {
String customsUrl;
@Value("${api.address.complete-msg-url}")
String completeMsgUrl;
@Value("${api.address.basf-hscode-url}")
String basfHscodeUrl;
@Autowired
ReceiptMessageRepository receiptMessageRepository;
......@@ -63,6 +66,9 @@ public class ApiService {
@Autowired
ChmConsignmentDetailService consignmentDetailService;
@Autowired
private HsCodeRepository hsCodeRepository;
/**
* 获取token信息
* @return
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.entity.HsCode;
import com.erry.iclear.dateInterface.repository.HsCodeRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* hscode service
* mt
* 2022年2月10日16:26:34
*/
@Service
@Slf4j
public class HsCodeService {
@Autowired
HsCodeRepository hsCodeRepository;
/**
* 根据hscode编码查询对应的hscode
* @param hscode
* @return
*/
public ResultHsCode findHsCodeListByCode(String hscode){
ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
try{
String[] hscodeArrays = hscode.split(",");
if(hscodeArrays.length > 100){
resultHsCode.setCode("30100");
resultHsCode.setMsg("hscode编码个数超过100个");
return resultHsCode;
}
List<String> skuCodeList = Arrays.asList(hscodeArrays);
List<HsCode> hsCodeList = this.hsCodeRepository.findHsCodeListByCode(skuCodeList);
//如果未查找到对应的hscode则构造一条未找到数据返回
skuCodeList.forEach(code ->{
boolean exist = false;
for (HsCode hsCode : hsCodeList) {
if(hsCode.getSkuCode().equals(code)){
exist = true;
}
}
//如果不存在则构造一条不存在数据
if(!exist){
HsCode hsCode = new HsCode();
hsCode.setSkuCode(code);
hsCode.setRemark("未找到对应hscode数据");
hsCodeList.add(hsCode);
}
});
resultHsCode.setSuccess(Boolean.TRUE);
resultHsCode.setCode("0");
resultHsCode.setMsg("操作成功");
resultHsCode.setHsCodeResultList(hsCodeList);
}catch(Exception ex){
log.error(ex.getMessage());
ex.printStackTrace();
resultHsCode.setSuccess(Boolean.FALSE);
resultHsCode.setCode("30101");
resultHsCode.setMsg("数据查询异常");
}
return resultHsCode;
}
/**
* 查询所有有效hscode
* @return
*/
public ResultHsCode findAllHsCodeList(){
ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
try{
List<HsCode> hsCodeList = this.hsCodeRepository.findAllHsCodeList();
resultHsCode.setSuccess(Boolean.TRUE);
resultHsCode.setCode("0");
resultHsCode.setMsg("操作成功");
resultHsCode.setHsCodeResultList(hsCodeList);
}catch(Exception ex){
log.error(ex.getMessage());
ex.printStackTrace();
resultHsCode.setSuccess(Boolean.FALSE);
resultHsCode.setCode("30101");
resultHsCode.setMsg("数据查询异常");
}
return resultHsCode;
}
}
package com.erry.iclear.dateInterface.task;
import com.alibaba.fastjson.JSONObject;
import com.erry.iclear.dateInterface.api.response.TokenResult;
import com.erry.iclear.dateInterface.common.Constants;
import com.erry.iclear.dateInterface.entity.HsCode;
import com.erry.iclear.dateInterface.repository.HsCodeRepository;
import com.erry.iclear.dateInterface.service.ApiService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......