|
|
@ -21,10 +21,10 @@ int db_HelperInit; |
|
|
|
sqlite3 **db; |
|
|
|
|
|
|
|
static const char *sql_upgrade_workorder_steps = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkorderSteps; " |
|
|
|
"DROP TABLE WorkorderSteps; " |
|
|
|
// "PRAGMA foreign_keys = OFF; "
|
|
|
|
// "BEGIN TRANSACTION; "
|
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkorderSteps; "
|
|
|
|
// "DROP TABLE WorkorderSteps; "
|
|
|
|
"CREATE TABLE WorkorderSteps (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"DYELOT VARCHAR," |
|
|
@ -69,34 +69,13 @@ static const char *sql_upgrade_workorder_steps = |
|
|
|
"Parameter5_S1 DOUBLE," |
|
|
|
"Parameter5_S2 DOUBLE," |
|
|
|
"Parameter5_S3 DOUBLE" |
|
|
|
"); " |
|
|
|
"INSERT INTO WorkorderSteps (" |
|
|
|
"WorkOrder, DYELOT, ProgramID, Program, ReDye, Mode, Step, StepID, StepName, " |
|
|
|
"ParameterName, Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, " |
|
|
|
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, Remark, StepTime, " |
|
|
|
"StepID_S1, StepID_S2, StepID_S3, StepName_S1, StepName_S2, StepName_S3, " |
|
|
|
"Parameter1_S1, Parameter1_S2, Parameter1_S3, Parameter2_S1, Parameter2_S2, Parameter2_S3, " |
|
|
|
"Parameter3_S1, Parameter3_S2, Parameter3_S3, Parameter4_S1, Parameter4_S2, Parameter4_S3, " |
|
|
|
"Parameter5_S1, Parameter5_S2, Parameter5_S3" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"WorkOrder, DYELOT, ProgramID, Program, ReDye, Mode, Step, StepID, StepName, " |
|
|
|
"ParameterName, Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, " |
|
|
|
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, Remark, StepTime, " |
|
|
|
"StepID_S1, StepID_S2, StepID_S3, StepName_S1, StepName_S2, StepName_S3, " |
|
|
|
"Parameter1_S1, Parameter1_S2, Parameter1_S3, Parameter2_S1, Parameter2_S2, Parameter2_S3, " |
|
|
|
"Parameter3_S1, Parameter3_S2, Parameter3_S3, Parameter4_S1, Parameter4_S2, Parameter4_S3, " |
|
|
|
"Parameter5_S1, Parameter5_S2, Parameter5_S3 " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"); "; |
|
|
|
|
|
|
|
static const char *sql_upgrade_workorder_set = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrderSet; " |
|
|
|
"DROP TABLE WorkOrderSet; " |
|
|
|
// "PRAGMA foreign_keys = OFF; "
|
|
|
|
// "BEGIN TRANSACTION; "
|
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrderSet; "
|
|
|
|
// "DROP TABLE WorkOrderSet; "
|
|
|
|
"CREATE TABLE WorkOrderSet (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"ReDye INT DEFAULT (0)," |
|
|
@ -105,22 +84,13 @@ static const char *sql_upgrade_workorder_set = |
|
|
|
"Swing INT," |
|
|
|
"ClothWheel INT," |
|
|
|
"Nozzle INT" |
|
|
|
"); " |
|
|
|
"INSERT INTO WorkOrderSet (" |
|
|
|
"WorkOrder, ReDye, PumpSpeed, Blower, Swing, ClothWheel, Nozzle" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"WorkOrder, ReDye, PumpSpeed, Blower, Swing, ClothWheel, Nozzle " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"); "; |
|
|
|
|
|
|
|
static const char *sql_upgrade_workorder = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrder; " |
|
|
|
"DROP TABLE WorkOrder; " |
|
|
|
// "PRAGMA foreign_keys = OFF; "
|
|
|
|
// "BEGIN TRANSACTION; "
|
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrder; "
|
|
|
|
//// "DROP TABLE WorkOrder; "
|
|
|
|
"CREATE TABLE WorkOrder (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"Dyelot VARCHAR," |
|
|
@ -143,26 +113,13 @@ static const char *sql_upgrade_workorder = |
|
|
|
"USER VARCHAR," |
|
|
|
"ColorName VARCHAR," |
|
|
|
"Remark TEXT" |
|
|
|
"); " |
|
|
|
"INSERT INTO WorkOrder (" |
|
|
|
"WorkOrder, Dyelot, ReDye, ProgramName, StartTime, EndTime, Time, " |
|
|
|
"lock, State, ProgramID, Machines, color, ColorNumber, Client, " |
|
|
|
"ClothWeight, ClothSpecies, BathRatio, Total, USER, ColorName, Remark" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"WorkOrder, Dyelot, ReDye, ProgramName, StartTime, EndTime, Time, " |
|
|
|
"lock, State, ProgramID, Machines, color, ColorNumber, Client, " |
|
|
|
"ClothWeight, ClothSpecies, BathRatio, Total, USER, ColorName, Remark " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"); "; |
|
|
|
|
|
|
|
static const char *sql_upgrade_run_table = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM RUN; " |
|
|
|
"DROP TABLE RUN; " |
|
|
|
// "PRAGMA foreign_keys = OFF; "
|
|
|
|
// "BEGIN TRANSACTION; "
|
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM RUN; "
|
|
|
|
// "DROP TABLE RUN; "
|
|
|
|
"CREATE TABLE RUN (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"DYELOT VARCHAR," |
|
|
@ -208,44 +165,13 @@ static const char *sql_upgrade_run_table = |
|
|
|
"Parameter5_S1 DOUBLE," |
|
|
|
"Parameter5_S2 DOUBLE," |
|
|
|
"Parameter5_S3 DOUBLE" |
|
|
|
"); " |
|
|
|
"INSERT INTO RUN (" |
|
|
|
"WorkOrder, DYELOT, ReDye, RUN, Mode, ProgramID, Program, " |
|
|
|
"StepID, Step, StepName, ParameterName, " |
|
|
|
"Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, " |
|
|
|
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, " |
|
|
|
"Remark, StepTime, " |
|
|
|
"StepID_S1, StepID_S2, StepID_S3, " |
|
|
|
"StepName_S1, StepName_S2, StepName_S3, " |
|
|
|
"Parameter1_S1, Parameter1_S2, Parameter1_S3, " |
|
|
|
"Parameter2_S1, Parameter2_S2, Parameter2_S3, " |
|
|
|
"Parameter3_S1, Parameter3_S2, Parameter3_S3, " |
|
|
|
"Parameter4_S1, Parameter4_S2, Parameter4_S3, " |
|
|
|
"Parameter5_S1, Parameter5_S2, Parameter5_S3" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"WorkOrder, DYELOT, ReDye, RUN, Mode, ProgramID, Program, " |
|
|
|
"StepID, Step, StepName, ParameterName, " |
|
|
|
"Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, " |
|
|
|
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, " |
|
|
|
"Remark, StepTime, " |
|
|
|
"StepID_S1, StepID_S2, StepID_S3, " |
|
|
|
"StepName_S1, StepName_S2, StepName_S3, " |
|
|
|
"Parameter1_S1, Parameter1_S2, Parameter1_S3, " |
|
|
|
"Parameter2_S1, Parameter2_S2, Parameter2_S3, " |
|
|
|
"Parameter3_S1, Parameter3_S2, Parameter3_S3, " |
|
|
|
"Parameter4_S1, Parameter4_S2, Parameter4_S3, " |
|
|
|
"Parameter5_S1, Parameter5_S2, Parameter5_S3 " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
");"; |
|
|
|
|
|
|
|
static const char *sql_upgrade_dyelot_table = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Dyelot; " |
|
|
|
"DROP TABLE Dyelot; " |
|
|
|
// "PRAGMA foreign_keys = OFF; "
|
|
|
|
// "BEGIN TRANSACTION; "
|
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Dyelot; "
|
|
|
|
// "DROP TABLE Dyelot; "
|
|
|
|
"CREATE TABLE Dyelot (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"Dyelot VARCHAR," |
|
|
@ -262,56 +188,30 @@ static const char *sql_upgrade_dyelot_table = |
|
|
|
"CALL_TIME VARCHAR," |
|
|
|
"DispenseEndTime VARCHAR," |
|
|
|
"Type INT" |
|
|
|
"); " |
|
|
|
"INSERT INTO Dyelot (" |
|
|
|
"WorkOrder, Dyelot, ReDye, Machine, Step, Tank, State, " |
|
|
|
"ProductCode, ProductName, ProductType, Grams, Amount, " |
|
|
|
"CALL_TIME, DispenseEndTime, Type" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"WorkOrder, Dyelot, Redye, Machine, Step, Tank, State, " |
|
|
|
"ProductCode, ProductName, ProductType, Grams, Amount, " |
|
|
|
"CALL_TIME, DispenseEndTime, Type " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"); "; |
|
|
|
|
|
|
|
static const char *sql_upgrade_iolog_table = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM IOLog; " |
|
|
|
"DROP TABLE IOLog; " |
|
|
|
// "CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM IOLog; "
|
|
|
|
// "DROP TABLE IOLog; "
|
|
|
|
"CREATE TABLE IOLog (" |
|
|
|
"ID VARCHAR," |
|
|
|
"IOName VARCHAR," |
|
|
|
"type VARCHAR," |
|
|
|
"ID varchar(32)," |
|
|
|
"IOName varchar(32)," |
|
|
|
"type varchar(32)," |
|
|
|
"Value DOUBLE DEFAULT (0)," |
|
|
|
"DIO BOOLEAN," |
|
|
|
"AIO INTEGER DEFAULT (0)," |
|
|
|
"PLC VARCHAR" |
|
|
|
"); " |
|
|
|
"INSERT INTO IOLog (" |
|
|
|
"ID, IOName, type, Value, DIO, AIO, PLC" |
|
|
|
") " |
|
|
|
"SELECT " |
|
|
|
"ID, IOName, type, Value, DIO, AIO, PLC " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"PLC varchar(32)" |
|
|
|
"); "; |
|
|
|
|
|
|
|
static const char *sql_upgrade_chart_table = |
|
|
|
"PRAGMA foreign_keys = OFF; " |
|
|
|
"BEGIN TRANSACTION; " |
|
|
|
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Chart; " |
|
|
|
"DROP TABLE Chart; " |
|
|
|
//"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Chart; "
|
|
|
|
// "DROP TABLE Chart; "
|
|
|
|
"CREATE TABLE Chart (" |
|
|
|
"WorkOrder VARCHAR," |
|
|
|
"DYELOT VARCHAR," |
|
|
|
"ReDye INT," |
|
|
|
"Name VARCHAR," |
|
|
|
"Time VARCHAR," |
|
|
|
"WorkOrder varchar(32)," |
|
|
|
"DYELOT varchar(32)," |
|
|
|
"ReDye INTEGER ," |
|
|
|
"Name varchar(32)," |
|
|
|
"Time varchar(32)," |
|
|
|
"MTT DOUBLE DEFAULT (0)," |
|
|
|
"MTL DOUBLE DEFAULT (0)," |
|
|
|
"STTA DOUBLE DEFAULT (0)," |
|
|
@ -324,38 +224,61 @@ static const char *sql_upgrade_chart_table = |
|
|
|
"MST DOUBLE DEFAULT (0)," |
|
|
|
"MSL DOUBLE DEFAULT (0)," |
|
|
|
"MUT DOUBLE DEFAULT (0)" |
|
|
|
"); " |
|
|
|
"INSERT INTO Chart (" |
|
|
|
"WorkOrder, DYELOT, ReDye, Name, Time, " |
|
|
|
"MTT, MTL, STTA, STLA, STTB, STLB, STTC, STLC, " |
|
|
|
"MTH, MST, MSL, MUT" |
|
|
|
") " |
|
|
|
"SELECT WorkOrder, DYELOT, COALESCE(ReDye, 0), Name, Time, " |
|
|
|
"MTT, MTL, STTA, STLA, STTB, STLB, STTC, STLC, " |
|
|
|
"MTH, MST, MSL, MUT " |
|
|
|
"FROM sqlitestudio_temp_table; " |
|
|
|
"DROP TABLE sqlitestudio_temp_table; " |
|
|
|
"CREATE UNIQUE INDEX IF NOT EXISTS idx_chart_time_desc ON Chart (Time DESC); " |
|
|
|
"PRAGMA foreign_keys = ON; " |
|
|
|
"COMMIT;"; |
|
|
|
"); "; |
|
|
|
|
|
|
|
void db_sqlite(void *parameter) |
|
|
|
{ |
|
|
|
if (access(DB_NAME, F_OK) == 0) |
|
|
|
{ |
|
|
|
rt_kprintf("DB ok\n"); |
|
|
|
sqlite3_open(DB_NAME, db); |
|
|
|
rt_kprintf("DB open\n"); |
|
|
|
if (db_connect(DB_NAME) == RT_EOK){ |
|
|
|
if(db_table_is_exist("WorkorderSteps")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_workorder_steps)==0) |
|
|
|
{rt_kprintf("WorkorderSteps Created successfully \n");}else{rt_kprintf("WorkorderSteps Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("WorkOrderSet")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_workorder_set)==0) |
|
|
|
{rt_kprintf("WorkOrderSet Created successfully \n");}else{rt_kprintf("WorkOrderSet Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("WorkOrder")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_workorder)==0) |
|
|
|
{rt_kprintf("WorkOrder Created successfully \n");}else{rt_kprintf("WorkOrder Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("RUN")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_run_table)==0) |
|
|
|
{rt_kprintf("RUN Created successfully \n");}else{rt_kprintf("RUN Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("Dyelot")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_dyelot_table)==0) |
|
|
|
{rt_kprintf("Dyelot Created successfully \n");}else{rt_kprintf("Dyelot Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("IOLog")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_iolog_table)==0) |
|
|
|
{rt_kprintf("IOLog Created successfully \n");}else{rt_kprintf("IOLog Creation failed \n");} |
|
|
|
} |
|
|
|
if(db_table_is_exist("Chart")<=0){ |
|
|
|
if(db_create_database(sql_upgrade_chart_table)==0) |
|
|
|
{rt_kprintf("Chart Created successfully \n");}else{rt_kprintf("Chart Creation failed \n");} |
|
|
|
} |
|
|
|
|
|
|
|
const char *sql = "CREATE TABLE student(id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(32) NOT NULL,score INT NOT NULL);"; |
|
|
|
db_create_database(sql); |
|
|
|
|
|
|
|
}else{ |
|
|
|
rt_kprintf("DB open failed \n"); |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
rt_kprintf("DB no \n"); |
|
|
|
rt_kprintf("DB open failed \n"); |
|
|
|
sqlite3_open(DB_NAME, db); |
|
|
|
//创建表
|
|
|
|
sqlite3_exec(db, sql_upgrade_workorder_steps, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_workorder_set, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_workorder, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_run_table, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_dyelot_table, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_iolog_table, NULL, NULL, NULL); |
|
|
|
sqlite3_exec(db, sql_upgrade_chart_table, NULL, NULL, NULL); |
|
|
|
db_create_database(sql_upgrade_workorder_steps); |
|
|
|
db_create_database(sql_upgrade_workorder_set); |
|
|
|
db_create_database(sql_upgrade_workorder); |
|
|
|
db_create_database(sql_upgrade_run_table); |
|
|
|
db_create_database(sql_upgrade_dyelot_table); |
|
|
|
db_create_database(sql_upgrade_iolog_table); |
|
|
|
db_create_database(sql_upgrade_chart_table); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -397,7 +320,7 @@ void thread_DB_SQLite(void) |
|
|
|
{ |
|
|
|
/* 初始化线程 1,名称是 thread1,入口是 thread1_entry*/ |
|
|
|
rt_thread_t tid; |
|
|
|
tid = rt_thread_create("db_sqlite", db_sqlite, RT_NULL, 1024*64, 3, 10); |
|
|
|
tid = rt_thread_create("db_sqlite", db_sqlite, RT_NULL, 1024*64, 3, 15); |
|
|
|
|
|
|
|
if (tid != RT_NULL) |
|
|
|
{ |
|
|
|