732 lines
45 KiB
C#
732 lines
45 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
|
||
namespace TransmissionClient
|
||
{
|
||
public class DataBaseUpdate
|
||
{
|
||
readonly Transmission.SDK.OracleHelper OracleHelper;
|
||
public DataBaseUpdate(Transmission.SDK.OracleHelper oracleHelper)
|
||
{
|
||
OracleHelper = oracleHelper;
|
||
}
|
||
public bool CreateTable(string tableName)
|
||
{
|
||
try
|
||
{
|
||
switch (tableName.ToUpper())
|
||
{
|
||
case "T_SELLDATA_EXTRA_HIS"://移动支付交易记录历史表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA_HIS
|
||
(SELLDATA_ID NUMBER(9,0) NOT NULL,SELLDATA_TYPE VARCHAR2(50),
|
||
SELLDATA_DATE TIMESTAMP(7),SERVERPARTCODE VARCHAR2(10),
|
||
SHOPCODE VARCHAR2(6),MACHINECODE VARCHAR2(6),
|
||
TICKETCODE VARCHAR2(50),WORKERCODE VARCHAR2(6),
|
||
COMMODITY_CODE VARCHAR2(4000),SELLCOUNT NUMBER(16,2),
|
||
SELLPRICE NUMBER(16,2),OFFPRICE NUMBER(16,2),FACTAMOUNT NUMBER(16,2),
|
||
LINENUM NUMBER(9,0) DEFAULT 1 NOT NULL,FLAG NUMBER(1,0) DEFAULT 0,
|
||
SELLDATA_EXTRA_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
break;
|
||
case "T_UPEXCEPTION"://收银异常稽核数据上传配置表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_UPEXCEPTION
|
||
(UPEXCEPTION_ID NUMBER(9,0) NOT NULL,SERVERPARTCODE VARCHAR2(20),
|
||
SERVERPARTNAME VARCHAR2(200),SHOPCODE VARCHAR2(20),
|
||
SHOPNAME VARCHAR2(200),BUSINESSTYPE VARCHAR2(200),
|
||
EXCEPTIONTYPE VARCHAR2(50),EXCEPTIONTYPENAME VARCHAR2(100),
|
||
ISUPLOAD NUMBER(4,0) DEFAULT 1,UPEXCEPTION_DESC VARCHAR2(2000))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_UPEXCEPTION
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "TR_UPEXCEPTION"://收银异常稽核数据上传配置触发器
|
||
OracleHelper.ExecuteSqlTran(@"CREATE OR REPLACE TRIGGER HIGHWAY_EXCHANGE.TR_UPEXCEPTION
|
||
BEFORE INSERT
|
||
ON HIGHWAY_EXCHANGE.T_UPEXCEPTION
|
||
REFERENCING OLD AS OLD NEW AS NEW
|
||
FOR EACH ROW
|
||
BEGIN SELECT HIGHWAY_EXCHANGE.SEQ_UPEXCEPTION.NEXTVAL INTO :NEW.UPEXCEPTION_ID FROM DUAL; END;");
|
||
break;
|
||
case "T_BUSINESSCONFIG"://业态统一收银配置表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_BUSINESSCONFIG
|
||
( BUSINESSCONFIG_ID NUMBER(9, 0) NOT NULL,SERVERPARTCODE VARCHAR2(50),
|
||
SERVERPARTNAME VARCHAR2(200),BUSINESSTYPE VARCHAR2(50),
|
||
BUSINESSTYPENAME VARCHAR2(200),CONFIGURATION_NAME VARCHAR2(2000),
|
||
CONFIGURATION_VALUES VARCHAR2(2000),CONFIGURATION_DATE DATE,
|
||
BUSINESSCONFIG_DESC VARCHAR2(2000))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_BUSINESSCONFIG
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_SALESANALYSIS"://客单区段数据统计表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SALESANALYSIS
|
||
( SALESANALYSIS_ID NUMBER(9,0) NOT NULL,SALESANALYSIS_CODE VARCHAR2(200),
|
||
PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(50),PROVINCE_NAME VARCHAR2(200),
|
||
SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(50),SERVERPART_NAME VARCHAR2(200),
|
||
BUSINESSTYPE VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(50),
|
||
SHOPNAME VARCHAR2(200),SALESANALYSIS_DATE DATE,SALESANALYSIS_TYPE NUMBER(8,0),
|
||
SALEAMOUNT_START NUMBER(16,6),SALEAMOUNT_END NUMBER(16,6),TICKET_COUNT NUMBER(16,6),
|
||
TOTAL_COUNT NUMBER(16,6),TOTAL_AMOUNT NUMBER(16,6),COMMODITY_COUNT NUMBER(16,6),
|
||
MALE_TICKET NUMBER(16,6),MALE_COUNT NUMBER(16,6),MALE_AMOUNT NUMBER(16,6),
|
||
FEMALE_TICKET NUMBER(16,6),FEMALE_COUNT NUMBER(16,6),FEMALE_AMOUNT NUMBER(16,6),
|
||
SALESANALYSIS_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_SALESANALYSIS
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_COMMODITYANALYSIS"://爆款/推荐商品统计表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_COMMODITYANALYSIS
|
||
( COMMODITYANALYSIS_ID NUMBER(9,0) NOT NULL,COMMODITYANALYSIS_CODE VARCHAR2(200),
|
||
PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(50),PROVINCE_NAME VARCHAR2(200),
|
||
SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(50),SERVERPART_NAME VARCHAR2(200),
|
||
BUSINESSTYPE VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(50),
|
||
SHOPNAME VARCHAR2(200),COMMODITY_CODE VARCHAR2(50),COMMODITY_BARCODE VARCHAR2(50),
|
||
COMMODITY_NAME VARCHAR2(200),COMMODITYANALYSIS_DATE DATE,AGE_START NUMBER(16,0),
|
||
AGE_END NUMBER(16,0),MALE_TICKET NUMBER(16,6),MALE_COUNT NUMBER(16,6),FEMALE_TICKET NUMBER(16,6),
|
||
FEMALE_COUNT NUMBER(16,6),TICKET_COUNT NUMBER(16,6),TOTAL_COUNT NUMBER(16,6),
|
||
TOTAL_AMOUNT NUMBER(16,6),COMMODITYANALYSIS_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_COMMODITYANALYSIS
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_CUSTOMERANALYSIS"://客群消费区段统计表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_CUSTOMERANALYSIS
|
||
( CUSTOMERANALYSIS_ID NUMBER(9,0) NOT NULL,CUSTOMERANALYSIS_CODE VARCHAR2(200),
|
||
PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(50),PROVINCE_NAME VARCHAR2(200),
|
||
SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(50),SERVERPART_NAME VARCHAR2(200),
|
||
BUSINESSTYPE VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(50),
|
||
SHOPNAME VARCHAR2(200),CUSTOMERANALYSIS_DATE DATE,AGE_START NUMBER(16,0),
|
||
AGE_END NUMBER(16,0),AMOUNT_START NUMBER(16,6),AMOUNT_END NUMBER(16,6),
|
||
TICKET_COUNT NUMBER(16,6),TOTAL_COUNT NUMBER(16,6),TOTAL_AMOUNT NUMBER(16,6),
|
||
MALE_AMOUNT NUMBER(16,6),MALE_COUNT NUMBER(16,6),FEMALE_AMOUNT NUMBER(16,6),
|
||
FEMALE_COUNT NUMBER(16,6),CUSTOMERANALYSIS_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_CUSTOMERANALYSIS
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_SALESINTERVALANALYSIS"://客单时段区段消费统计表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SALESINTERVALANALYSIS
|
||
( SALESINTERVALANALYSIS_ID NUMBER(9,0) NOT NULL,SALESINTERVALANALYSIS_CODE VARCHAR2(200),
|
||
PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(50),PROVINCE_NAME VARCHAR2(200),
|
||
SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(50),SERVERPART_NAME VARCHAR2(200),
|
||
BUSINESSTYPE VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(50),
|
||
SHOPNAME VARCHAR2(200),DATE_START DATE,DATE_END DATE,AMOUNT_START NUMBER(16,6),
|
||
AMOUNT_END NUMBER(16,6),TICKET_COUNT NUMBER(16,6),TOTAL_AMOUNT NUMBER(16,6),
|
||
TOTAL_COUNT NUMBER(16,6),AGE_START NUMBER(16,0),AGE_END NUMBER(16,0),AGE_TICKET NUMBER(16,6),
|
||
AGE_COUNT NUMBER(16,6),AGE_AMOUNT NUMBER(16,6),MALE_TICKET NUMBER(16,6),MALE_COUNT NUMBER(16,6),
|
||
MALE_AMOUNT NUMBER(16,6),FEMALE_TICKET NUMBER(16,6),FEMALE_COUNT NUMBER(16,6),
|
||
FEMALE_AMOUNT NUMBER(16,6),SALESINTERVALANALYSIS_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_SALESINTERVALANALYSIS
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_COMMODITYANALYSISSET"://客单时段区段消费统计配置表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_COMMODITYANALYSISSET
|
||
( COMMODITYANALYSISSET_ID NUMBER(9,0) NOT NULL,PROVINCE_ID NUMBER(9,0),
|
||
PROVINCE_CODE VARCHAR2(50),PROVINCE_NAME VARCHAR2(200),SERVERPART_ID NUMBER(9,0),
|
||
SERVERPART_CODE VARCHAR2(50),SERVERPART_NAME VARCHAR2(200),BUSINESSTYPE VARCHAR2(50),
|
||
COMMODITY_CODE VARCHAR2(50),COMMODITY_BARCODE VARCHAR2(50),COMMODITY_NAME VARCHAR2(200),
|
||
COMMODITYANALYSISSET_DATE DATE,COMMODITYANALYSISSET_DESC VARCHAR2(2000))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_COMMODITYANALYSISSET
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_ABNORMALITY"://异常操作稽核记录主表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_ABNORMALITY
|
||
( ABNORMALITY_ID NUMBER(9,0) NOT NULL,ABNORMALITY_CODE VARCHAR2(100),
|
||
ABNORMALITY_PCODE VARCHAR2(100),PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(20),
|
||
PROVINCE_NAME VARCHAR2(50),SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(10),
|
||
SERVERPART_NAME VARCHAR2(50),BUSINESSTYPE VARCHAR2(20),BUSINESS_NAME VARCHAR2(50),
|
||
SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(20),SHOPNAME VARCHAR2(50),
|
||
MACHINECODE VARCHAR2(10),MANAGER_CODE VARCHAR2(10),SELLWORK_CODE VARCHAR2(10),
|
||
ABNORMALITY_TIME DATE,ABNORMALITY_START DATE,ABNORMALITY_TYPE NUMBER(9,0),
|
||
SERIAL_CODE VARCHAR2(10),COMMODITY_ROWCOUNT NUMBER(16,6),COMMOTITY_COUNT NUMBER(16,6),
|
||
TOTALAMOUNT NUMBER(16,6),ACTUALAMOUNT NUMBER(16,6),ABNORMALITY_DESC VARCHAR2(2000),
|
||
TRANSFER_STATE NUMBER(4,0),APPROVE_STAFF VARCHAR2(100),APPROVE_INFO VARCHAR2(2000),
|
||
APPROVE_DATE DATE,LOGGUID VARCHAR2(100))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_ABNORMALITY
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_ABNORMALITYDETAIL"://异常操作稽核记录详情表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_ABNORMALITYDETAIL
|
||
( ABNORMALITYDETIL_ID NUMBER(9,0) NOT NULL,ABNORMALITYDETIL_CODE VARCHAR2(100),
|
||
ABNORMALITY_CODE VARCHAR2(100),COMMODITY_CODE VARCHAR2(10),COMMODITY_BARCODE VARCHAR2(30),
|
||
COMMODITY_TYPE VARCHAR2(50),COMMODITY_NAME VARCHAR2(200),COMMODITY_COUNT NUMBER(16,6),
|
||
COMMODITY_PRICE NUMBER(16,6),TOTALDISCOUNT NUMBER(16,6),TOTALAMOUNT NUMBER(16,6),
|
||
LINENUM NUMBER(4,0),OPERATEDATE DATE,ABNORMALITYDETILS_DESC VARCHAR2(2000),
|
||
ABNORMALITY_STATE NUMBER(4,0),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_ABNORMALITYDETAIL
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_ABNOEMALITYANALYSIS"://异常操作稽核记录统计表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_ABNOEMALITYANALYSIS
|
||
( ABNOEMALITYANALYSIS_ID NUMBER(9,0) NOT NULL,ABNOEMALITYANALYSIS_CODE VARCHAR2(100),
|
||
PROVINCE_ID NUMBER(9,0),PROVINCE_CODE VARCHAR2(20),PROVINCE_NAME VARCHAR2(50),
|
||
SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(20),SERVERPART_NAME VARCHAR2(50),
|
||
BUSINESSTYPE VARCHAR2(20),BUSINESS_NAME VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),
|
||
SHOPCODE VARCHAR2(20),SHOPNAME VARCHAR2(50),MACHINECODE VARCHAR2(20),OPERATEDATE DATE,
|
||
ENDACCOUNT_START DATE,ENDACCOUNT_END DATE,ABNOEMALITY_TYPE NUMBER(9,0),
|
||
ABNOEMALITY_COUNT NUMBER(16,6),ABNOEMALITY_TOTALCOUNT NUMBER(16,6),TICKETCOUNT NUMBER(16,6),
|
||
TOTALCOUNT NUMBER(16,6),ABNOEMALITYANALYSIS_DESC VARCHAR2(2000),TRANSFER_STATE NUMBER(4,0))");
|
||
OracleHelper.ExecuteSqlTran(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_ABNOEMALITYANALYSIS
|
||
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER ");
|
||
break;
|
||
case "T_AUDITTASKS"://稽核任务计划表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_AUDITTASKS
|
||
(AUDITTASKS_ID NUMBER(9,0) NOT NULL,SERVERPART_ID NUMBER(9,0),SERVERPARTCODE VARCHAR2(10),
|
||
SERVERPART_NAME VARCHAR2(200),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(6),
|
||
SHOPNAME VARCHAR2(50),BUSINESSTYPE VARCHAR2(200),BUSINESSTYPE_NAME VARCHAR2(50),
|
||
AUDITTASKS_STARTDATE DATE,AUDITTASKS_ENDDATE DATE,AUDITTASKS_DURATION NUMBER(9,2),
|
||
AUDITTASKS_COUNT NUMBER(9,0),AUDITTASKS_INTERVAL NUMBER(9,2),AUDITTASKS_ISVALID NUMBER(4,0),
|
||
AUDITTASKS_TYPE NUMBER(4,0),AUDITTASKS_FIRSTTIME NUMBER(4,0),AUDITTASKS_SECONDTIME NUMBER(4,0),
|
||
AUDITTASKS_THIRDTIME NUMBER(4,0),OPERATE_DATE DATE,STAFF_ID NUMBER(9,0),STAFF_NAME VARCHAR2(50),
|
||
AUDITTASKS_DESC VARCHAR2(2000),STRATTIME NUMBER(9,0),ENDTIME NUMBER(9,0),
|
||
CONSTRAINT PK_T_AUDITTASKS PRIMARY KEY (AUDITTASKS_ID) USING INDEX)");
|
||
break;
|
||
case "T_AUDITTASKSDETILS"://稽核任务明细表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_AUDITTASKSDETILS
|
||
(AUDITTASKSDETILS_ID NUMBER(9,0) NOT NULL,AUDITTASKS_ID NUMBER(9,0),
|
||
STRATTIME NUMBER(9,0),ENDTIME NUMBER(9,0),OPERATE_DATE DATE,
|
||
STAFF_ID NUMBER(9,0),STAFF_NAME VARCHAR2(200),AUDITTASKS_DESC VARCHAR2(2000))");
|
||
break;
|
||
case "T_COMPANYAUTHORIZE"://企业单位消费门店权限表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_COMPANYAUTHORIZE
|
||
(COMPANYAUTHORIZE_ID NUMBER(9,0) NOT NULL,COMPANY_ID NUMBER(9,0),
|
||
PROVINCE_CODE NUMBER(8,0),SERVERPART_ID NUMBER(9,0),SERVERPART_CODE VARCHAR2(50),
|
||
SERVERPART_NAME VARCHAR2(50),SERVERPARTSHOP_ID NUMBER(9,0),SHOPCODE VARCHAR2(50),
|
||
SHOPNAME VARCHAR2(50),STAFF_ID NUMBER(9,0),STAFF_NAME VARCHAR2(50),OPERATE_DATE DATE,
|
||
CONSTRAINT PK_T_COMPANYAUTHORIZE PRIMARY KEY (COMPANYAUTHORIZE_ID) USING INDEX)");
|
||
break;
|
||
case "T_COMMODITYEX_EX"://新业态商品信息表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_COMMODITYEX_EX
|
||
(COMMODITY_ID NUMBER(9, 0) NOT NULL,SERVERPARTCODE VARCHAR2(10),
|
||
COMMODITY_TYPECODE VARCHAR2(50),COMMODITY_TYPENAME VARCHAR2(50),
|
||
COMMODITY_CODE VARCHAR2(20),COMMODITY_BARCODE VARCHAR2(30),
|
||
COMMODITY_NAME VARCHAR2(200),COMMODITY_EN VARCHAR2(20),
|
||
COMMODITY_RULE VARCHAR2(50),COMMODITY_UNIT VARCHAR2(100),
|
||
COMMODITY_RETAILPRICE NUMBER(16, 2),COMMODITY_MEMBERPRICE NUMBER(16, 2),
|
||
CANCHANGEPRICE NUMBER(1, 0),METERINGMETHOD NUMBER(1, 0),
|
||
BUSINESSTYPE NUMBER(6, 0),GUARANTEE_DAY NUMBER(9, 0),REMINDER_DAY NUMBER(9, 0),
|
||
COMMODITY_HOTKEY VARCHAR2(10),USERDEFINEDTYPE_ID NUMBER(9, 0),
|
||
PRINT_DATE TIMESTAMP(7),CONTAINER_CODE VARCHAR2(2000),
|
||
COMMODITY_SYMBOL VARCHAR2(200),COMMODITY_STATE NUMBER(1, 0),
|
||
COMMODITY_DESC VARCHAR2(2000),OPERATE_DATE TIMESTAMP(7),
|
||
TRANSFER_STATE NUMBER(4, 0),DATA_SOURCE NUMBER(1, 0),
|
||
CONSTRAINT UK_COMMODITYEX_EX UNIQUE(SERVERPARTCODE,COMMODITY_BARCODE,BUSINESSTYPE) USING INDEX)");
|
||
break;
|
||
case "T_SALESPROMOTE_EX"://新促销活动信息表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SALESPROMOTE_EX
|
||
(SALESPROMOTE_EX_ID NUMBER(9,0) NOT NULL,PROMOTION_ID NUMBER(9,0),
|
||
RTMEMBERSHIP_ID NUMBER(9,0),SERVERPARTCODE VARCHAR2(10),SHOPCODE VARCHAR2(6),
|
||
MACHINECODE VARCHAR2(6),SALESPROMOTE_STARTDATE DATE,SALESPROMOTE_ENDDATE DATE,
|
||
SALESPROMOTE_TYPE NUMBER(8,0),SALESPROMOTE_NAME VARCHAR2(2000),
|
||
THRESHOLD_AMOUNT NUMBER(16,2),DISCOUNT_RATE NUMBER(16,2),COMMODITY_CODE VARCHAR2(2000),
|
||
CONDITION_SKU VARCHAR2(2000),SALESPROMOTE_VIP NUMBER(4,0),SALESPROMOTE_STATE NUMBER(4,0),
|
||
TICKET_PREFIX VARCHAR2(50),SALESPROMOTE_DATE DATE,SALESPROMOTE_DESC VARCHAR2(2000))");
|
||
break;
|
||
case "T_SELLWORKER_EX"://新收银员工号表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SELLWORKER_EX
|
||
(
|
||
SELLWORKER_EX_ID NUMBER(9,0) NOT NULL,
|
||
SERVERPARTCODE VARCHAR2(10),
|
||
SELLWORKERCODE VARCHAR2(10),
|
||
SELLWORKERNAME VARCHAR2(20),
|
||
PROWERRIGHT VARCHAR2(255),
|
||
SHOPCODE VARCHAR2(6),
|
||
DOWNLOADDATE DATE,
|
||
FLAG NUMBER(1,0) DEFAULT 0,
|
||
VALID NUMBER(1,0),
|
||
SELLWORKERPASSWORD VARCHAR2(20),
|
||
DISCOUNT_RATE NUMBER(4,2),
|
||
DATA_SOURCE NUMBER(1,0),
|
||
CONSTRAINT UK_T_SELLWORKER_EX UNIQUE (SERVERPARTCODE, SELLWORKERCODE) USING INDEX)");
|
||
break;
|
||
case "T_SHOPMESSAGE_EX"://新门店信息表
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_SHOPMESSAGE_EX
|
||
(
|
||
SHOPMESSAGE_EX_ID NUMBER(9,0),
|
||
SERVERPARTSHOP_ID NUMBER(9,0) NOT NULL,
|
||
SERVERPART_CODE VARCHAR2(10),
|
||
SHOPCODE VARCHAR2(6),
|
||
SHOPNAME VARCHAR2(50),
|
||
BUSINESSTYPE VARCHAR2(200),
|
||
BUSINESSTYPE_NAME VARCHAR2(500),
|
||
UNIFORM_TYPE NUMBER(8,0) DEFAULT 1,
|
||
SERVERPARTSHOP_STATE NUMBER(8,0),
|
||
DOWNLOADDATE DATE,
|
||
SHOPMESSAGE_EX_DESC VARCHAR2(2000),
|
||
CONSTRAINT PK_T_SHOPMESSAGE_EX PRIMARY KEY (SERVERPARTSHOP_ID) USING INDEX)");
|
||
break;
|
||
case "T_PROMOTION"://促销活动信息新表-2021.04
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_PROMOTION
|
||
(
|
||
PROMOTION_ID NUMBER(9,0) NOT NULL,
|
||
SERVERPARTCODE VARCHAR2(10),
|
||
SHOPCODE VARCHAR2(10),
|
||
PROMOTION_STARTDATE DATE,
|
||
PROMOTION_ENDDATE DATE,
|
||
PROMOTION_TYPE NUMBER(4,0),
|
||
PROMOTION_NAME VARCHAR2(2000),
|
||
TICKET_PREFIX VARCHAR2(50),
|
||
COMMODITY_MAIN VARCHAR2(2000),
|
||
COMMODITY_MAINAMOUNT VARCHAR2(2000),
|
||
COMMODITY_AUXILIARY VARCHAR2(2000),
|
||
COMMODITY_AUXILIARYAMOUNT VARCHAR2(2000),
|
||
PROMOTION_EXPLAIN VARCHAR2(2000),
|
||
PROMOTION_STATE NUMBER(4,0),
|
||
PROMOTION_DATE DATE,
|
||
PROMOTION_DESC VARCHAR2(2000),
|
||
CONSTRAINT UK_T_PROMOTION UNIQUE (PROMOTION_ID, SERVERPARTCODE, SHOPCODE) USING INDEX)");
|
||
break;
|
||
case "T_PROMOTIONRECORD"://促销流水记录新表-2021.04
|
||
OracleHelper.ExecuteSqlTran(@"CREATE TABLE HIGHWAY_EXCHANGE.T_PROMOTIONRECORD
|
||
(
|
||
PROMOTIONRECORD_ID NUMBER(9,0) NOT NULL,
|
||
PROMOTIONRECORD_CODE VARCHAR2(100),
|
||
PROMOTION_ID NUMBER(9,0),
|
||
PROMOTION_NAME VARCHAR2(2000),
|
||
SERVERPARTCODE VARCHAR2(10),
|
||
SHOPCODE VARCHAR2(10),
|
||
MACHINECODE VARCHAR2(10),
|
||
PROMOTIONRECORD_DATE DATE,
|
||
PROMOTIONRECORD_COMMODITY VARCHAR2(2000),
|
||
PROMOTIONRECORD_COUNT NUMBER(16,6),
|
||
PROMOTIONRECORD_AMOUNT NUMBER(16,6),
|
||
PROMOTIONRECORD_OFFAMOUNT NUMBER(16,6),
|
||
PROMOTIONRECORD_DESC VARCHAR2(2000),
|
||
TRANSFER_STATE NUMBER(4,0)
|
||
)");
|
||
break;
|
||
}
|
||
return true;
|
||
}
|
||
catch(Exception ex)
|
||
{
|
||
Transmission.SDK.LogHelper.WriteServiceLog($"表[{tableName}]创建失败:{ex.Message}");
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 表字段检测
|
||
/// </summary>
|
||
/// <param name="tableName"></param>
|
||
/// <returns></returns>
|
||
public bool AlterTableColumn(string tableName)
|
||
{
|
||
List<Model.TableColumnModel> _TableColumnList = new List<Model.TableColumnModel>();
|
||
// HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW CASHIER_CODE,CASHIER_NAME
|
||
switch (tableName.ToUpper())
|
||
{
|
||
case "T_SHOPMESSAGE_EX":
|
||
#region 门店信息表
|
||
//是否接受统一定价管理(0:否;1:是)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "UNIFORMMANAGE_TYPE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 1,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否上传稽核数据(0:否;1:是)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "AUDIT_UPLOADSTATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 1,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否上传营收数据(0:否;1:是)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "REVENUE_UPLOADSTATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 1,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否记录优惠折扣(0:不记异常稽核;1:记录异常稽核)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "RECORD_DISCOUNT",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 1,
|
||
DATA_SCALE = 0
|
||
});
|
||
//销售数量上限(是否存在销售数量异常的条件)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "SALECOUNT_LIMIT",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 9,
|
||
DATA_SCALE = 0
|
||
});
|
||
//销售金额上限(是否存在销售金额异常的条件)
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "SALEAMOUNT_LIMIT",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 9,
|
||
DATA_SCALE = 0
|
||
});
|
||
//业主单位内码
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "OWNERUNIT_ID",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 9,
|
||
DATA_SCALE = 0
|
||
});
|
||
//业主单位名称
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_SHOPMESSAGE_EX",
|
||
COLUMN_NAME = "OWNERUNIT_NAME",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 100
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_SHOPMESSAGE_EX", _TableColumnList);
|
||
case "T_ENDACCOUNT":
|
||
#region PB系统日结账表
|
||
//收银员工号
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT",
|
||
COLUMN_NAME = "CASHIER_CODE",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 20
|
||
});
|
||
//收银员姓名
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT",
|
||
COLUMN_NAME = "CASHIER_NAME",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 200
|
||
});
|
||
//日结账单唯一标识编码
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT",
|
||
COLUMN_NAME = "ENDACCOUNT_CODE",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 100
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_ENDACCOUNT", _TableColumnList);
|
||
case "T_ENDACCOUNT_NEW":
|
||
#region C#系统日结账表
|
||
//收银员工号
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "CASHIER_CODE",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 20
|
||
});
|
||
//收银员姓名
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "CASHIER_NAME",
|
||
DATA_TYPE = Model.OracleDataType.VARCHAR2,
|
||
DATA_LENGTH = 200
|
||
});
|
||
//是否有稽查记录
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "AUDIT_STATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 8,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否有香烟类销售记录
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "CIGARETTE_STATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 8,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否有促销活动流水记录
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "PROMOTION_STATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 8,
|
||
DATA_SCALE = 0
|
||
});
|
||
//是否有在线订单记录
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_ENDACCOUNT_NEW",
|
||
COLUMN_NAME = "ONLINEBILL_STATE",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 8,
|
||
DATA_SCALE = 0
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_ENDACCOUNT_NEW", _TableColumnList);
|
||
case "T_MOBILE_PAY":
|
||
#region 移动支付记录表
|
||
//移动支付交易记录服务商
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_MOBILE_PAY",
|
||
COLUMN_NAME = "MOBILEPAY_OPERATORS",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 8,
|
||
DATA_SCALE = 0
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_MOBILE_PAY", _TableColumnList);
|
||
case "T_AUDITTASKS":
|
||
#region 智能稽核任务表
|
||
//智能稽核提醒时段起始时间
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_AUDITTASKS",
|
||
COLUMN_NAME = "STRATTIME",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 9,
|
||
DATA_SCALE = 0
|
||
});
|
||
//智能稽核提醒时段结束时间
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_AUDITTASKS",
|
||
COLUMN_NAME = "ENDTIME",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 9,
|
||
DATA_SCALE = 0
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_AUDITTASKS", _TableColumnList);
|
||
case "T_STATEFEEDBACK"://状态反馈表字段检查列表
|
||
#region 状态反馈表
|
||
//现金交易统计字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "CURRENT_CASHPAY",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 16,
|
||
DATA_SCALE = 6
|
||
});
|
||
//移动支付交易统计字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "CURRENT_MOBILEPAY",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 16,
|
||
DATA_SCALE = 6
|
||
});
|
||
//支付宝交易统计字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "CURRENT_ALIPAY",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 16,
|
||
DATA_SCALE = 6
|
||
});
|
||
//微信支付交易统计字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "CURRENT_WECHAT",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 16,
|
||
DATA_SCALE = 6
|
||
});
|
||
//云闪付交易统计字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "CURRENT_UNIONPAY",
|
||
DATA_TYPE = Model.OracleDataType.NUMBER,
|
||
DATA_PRECISION = 16,
|
||
DATA_SCALE = 6
|
||
});
|
||
//收银机商品数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "COMMODITY_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机门店数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "SHOPMESSAGE_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机工号数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "SELLWORKER_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机促销活动数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "SALESPROMOTE_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机稽核任务数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "AUDITTASK_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机日结数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "ENDACCOUNT_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机现场稽查数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "INSPECTION_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机交班数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "PERSONSELL_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机日结单品数据版本字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "COMMODITYSALE_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
//收银机软件有效期字段
|
||
_TableColumnList.Add(new Model.TableColumnModel
|
||
{
|
||
OWNER = "HIGHWAY_EXCHANGE",
|
||
TABLE_NAME = "T_STATEFEEDBACK",
|
||
COLUMN_NAME = "EXPIRYDATE_VERSION",
|
||
DATA_TYPE = Model.OracleDataType.DATE
|
||
});
|
||
#endregion
|
||
//执行数据表字段检测添加
|
||
return CheckTableColumn("HIGHWAY_EXCHANGE", "T_STATEFEEDBACK", _TableColumnList);
|
||
}
|
||
return false;
|
||
}
|
||
/// <summary>
|
||
/// 数据库表字段检查更新方法
|
||
/// </summary>
|
||
/// <param name="owner">数据表所属的用户名</param>
|
||
/// <param name="tableName">数据表的表名称</param>
|
||
/// <param name="tableColumnList">需要校验新增的字段属性列表</param>
|
||
/// <returns></returns>
|
||
private bool CheckTableColumn(string owner, string tableName,
|
||
List<Model.TableColumnModel> tableColumnList)
|
||
{
|
||
try
|
||
{
|
||
System.Data.DataTable _ColumnNameTable = OracleHelper.ExcuteSqlGetDataSet(
|
||
$@"SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS
|
||
WHERE OWNER = '{owner}' AND
|
||
TABLE_NAME = '{tableName}' ").Tables[0];
|
||
List<string> _ColumnList = new List<string>();
|
||
foreach (var _Column in tableColumnList)
|
||
{
|
||
if (_ColumnNameTable.Select($"COLUMN_NAME = '{_Column.COLUMN_NAME}'").Count() == 0)
|
||
{
|
||
_ColumnList.Add(CreateAlterSQL(_Column));
|
||
}
|
||
}
|
||
if (_ColumnList.Count > 0)
|
||
{
|
||
OracleHelper.ExecuteSqlTran(_ColumnList);
|
||
}
|
||
return true;
|
||
}
|
||
catch(Exception ex)
|
||
{
|
||
Transmission.SDK.LogHelper.WriteServiceLog($"表[{tableName}]字段添加失败:{ex.Message}");
|
||
return false;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 生成表字段添加语句
|
||
/// </summary>
|
||
/// <param name="tableColumn">需要添加的表字段信息</param>
|
||
/// <returns></returns>
|
||
private string CreateAlterSQL(Model.TableColumnModel tableColumn)
|
||
{
|
||
switch (tableColumn.DATA_TYPE)
|
||
{
|
||
case Model.OracleDataType.DATE:
|
||
return $"ALTER TABLE {tableColumn.OWNER}.{tableColumn.TABLE_NAME} " +
|
||
$"ADD {tableColumn.COLUMN_NAME} DATE";
|
||
case Model.OracleDataType.NUMBER:
|
||
return $"ALTER TABLE {tableColumn.OWNER}.{tableColumn.TABLE_NAME} " +
|
||
$"ADD {tableColumn.COLUMN_NAME} NUMBER({tableColumn.DATA_PRECISION},{tableColumn.DATA_SCALE})";
|
||
case Model.OracleDataType.VARCHAR2:
|
||
return $"ALTER TABLE {tableColumn.OWNER}.{tableColumn.TABLE_NAME} " +
|
||
$"ADD {tableColumn.COLUMN_NAME} VARCHAR2({tableColumn.DATA_LENGTH})";
|
||
default:
|
||
return string.Empty;
|
||
}
|
||
}
|
||
}
|
||
}
|