using DyeingComputer.View; using DyeingComputer.ViewModel; using ScottPlot.Colormaps; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using System.Xml.Linq; using static DyeingComputer.UserClass.SqliteHelper; namespace DyeingComputer.UserClass { public class SQLDATA { private static SQLiteHelper SQLiteHelpers = null; //定义数据库 private readonly static string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径 //WorkOrder表检查写入 public static bool WorkOrder(string WorkOrder, string ProgramName, string StartTime, string EndTime, string Time, string Remark,string lock_,string state,string ProgramID, string color,string dyelot) { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 object i = SQLiteHelpers.ExecuteScalar("select * from WorkOrder where WorkOrder = "+ WorkOrder,null); if (i!=null) { SQLiteHelpers.Close(); return false; } Dictionary WorkOrder_new = new Dictionary();//缓存函数 WorkOrder_new.Add("WorkOrder", WorkOrder); WorkOrder_new.Add("ProgramName", ProgramName); WorkOrder_new.Add("StartTime", StartTime); WorkOrder_new.Add("EndTime", EndTime); WorkOrder_new.Add("Time", Time); WorkOrder_new.Add("Remark", Remark); WorkOrder_new.Add("lock", Convert.ToInt16(lock_)); WorkOrder_new.Add("state", Convert.ToInt16(state)); WorkOrder_new.Add("ProgramID", ProgramID); WorkOrder_new.Add("color", color); WorkOrder_new.Add("Dyelot", dyelot); SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new); SQLiteHelpers.Close(); return true; } public static bool WorkOderStep(DataTable WorkOrderStep_) { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 DataTable data_t = WorkOrderStep_.Clone(); int a = WorkOrderStep_.Rows.Count; if (a < 1) { SQLiteHelpers.Close(); return false; } string Program = WorkOrderStep_.Rows[0][0].ToString(); object n = SQLiteHelpers.ExecuteScalar("select * from WorkorderSteps where Program = " + Program, null); if (n != null)//如id存在着返回错误状态 { SQLiteHelpers.Close(); return false; } for (int i = 0; i < a; i++) { data_t.Clear();//清空 DataRow dr = data_t.NewRow(); dr.ItemArray = WorkOrderStep_.Rows[i].ItemArray; data_t.Rows.InsertAt(dr, 0); SQLiteHelpers.InsertData("WorkorderSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入 } SQLiteHelpers.Close(); //关闭连接 return true; } public static void TechnologicalProcess_START(string workName) { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 int r = 0; string sql_script = "select * from WorkorderSteps where ProgramID = '" + workName + "'"; if (TechnologicalProcessView.sql != null) TechnologicalProcessView.sql.Clear(); //清空缓存 TechnologicalProcessView.sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存 MainWindowViewModel.ProgramName = SQLiteHelpers.ExecuteScalar("select ProgramName from Workorder where ProgramID = '" + workName + "'", null).ToString(); SQLiteHelpers.Delete("RUN", null, null); //删除run信息 DataTable data_t = new DataTable(); data_t = TechnologicalProcessView.sql.Tables[0].Clone(); data_t.Columns.Add("DYELOT", typeof(string)); //添加列 int a = TechnologicalProcessView.sql.Tables[0].Rows.Count; for (int i = 0; i < a; i++) { data_t.Clear();//清空 DataRow dt = TechnologicalProcessView.sql.Tables[0].Rows[i];//行转 DataRow dr = data_t.NewRow(); dr.ItemArray = dt.ItemArray; dr.BeginEdit(); //添加订单号 dr["DYELOT"] = MainWindowViewModel.WorkNumder; dr.EndEdit(); data_t.Rows.InsertAt(dr, 0); //行转换 r = SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入 } //数据插入 MainWindowViewModel.WorkNumder = SQLiteHelpers.ExecuteDataSet("select WorkOrder from Workorder where ProgramID = '" + workName + "'", null);; TechnologicalProcessView.workName = workName; MainWindowViewModel.SYS_REDYE = 0; MainWindowViewModel.ViewID = 1; SQLiteHelpers.Close(); //关闭连接 } public static bool Dyelot(DataTable Dyelot_)//领料单 { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 DataTable data_t = Dyelot_.Clone(); int a = Dyelot_.Rows.Count; if (a < 1) { SQLiteHelpers.Close(); return false; } string Dyelot = Dyelot_.Rows[0][0].ToString(); object n = SQLiteHelpers.ExecuteScalar("select * from Dyelot where Dyelot = " + Dyelot, null); if (n != null)//如id存在着返回错误状态 { SQLiteHelpers.Close(); return false; } for (int i = 0; i < a; i++) { data_t.Clear();//清空 DataRow dr = data_t.NewRow(); dr.ItemArray = Dyelot_.Rows[i].ItemArray; data_t.Rows.InsertAt(dr, 0); SQLiteHelpers.InsertData("Dyelot", SQLiteHelpers.DataTableToDictionary(data_t));//行插入 } SQLiteHelpers.Close(); //关闭连接 return true; } } }