/// <summary> /// 往INST表里写东西 /// </summary> /// <param name="mModel"></param> /// <returns></returns> public static int InsertModel_INST(Model_INST mModel) { lock (_lock) { Init(); using (SQLiteConnection sqliteConn = new SQLiteConnection("Data Source=" + mDbPath)) { sqliteConn.Open(); using (SQLiteCommand cmd = sqliteConn.CreateCommand()) { try { //cmd.CommandText = SQLString; string strSql = "INSERT INTO REP_INST(lotGUID,lotNo,startTime,endTime,endLotTime,operatorID,attrib,runAttrib,reportType) VALUES(@lotGUID,@lotNo,@startTime,@endTime,@endLotTime,@operatorID,@attrib,@runAttrib,@reportType)"; cmd.CommandText = strSql; SQLiteParameter[] parameters = { new SQLiteParameter("@lotGUID", mModel.lotGUID), new SQLiteParameter("@lotNo", mModel.lotNo), new SQLiteParameter("@startTime", mModel.startTime), new SQLiteParameter("@endTime", mModel.endTime), new SQLiteParameter("@endLotTime", mModel.endLotTime), new SQLiteParameter("@operatorID", mModel.operatorID), new SQLiteParameter("@attrib", mModel.attrib), new SQLiteParameter("@runAttrib", mModel.runAttrib), new SQLiteParameter("@reportType", mModel.reportType), }; foreach (var param in parameters) { cmd.Parameters.Add(param); } int rows = cmd.ExecuteNonQuery(); return(rows); } catch (SQLiteException ex) { throw ex; } finally { sqliteConn.Close(); } } } } }
/// <summary> /// 一个lot跑完了 记录数据啥的 /// </summary> private void EndLot() { videofrm.listBoxShowMessage("Lot完成"); //写Lot Summary Tools.WriteLotSummary(); videofrm.listBoxShowMessage("已写入Lot Summary"); Global.mMState = MachineState.Free; //工作停止 Global.ready2Go = false; //开始按钮不再有用 Global.endTime = DateTime.Now; //弹出个对话框 显示一些信息 using (EndLotFrm endLotFrm = new EndLotFrm()) { if (endLotFrm.ShowDialog() == DialogResult.OK) { //啥都不干 } } //记录时间 Global.endLotTime = DateTime.Now; //下面的100代表产品数量,99pass数量 1fail数等 需要修正 string s1 = Global.TotalFrame + "," + 100 + "," + "99" + "," + 1 + "," + 0 + "," + "1" + "," + 99; Global.attrib = s1; //这边记录下frame里排列组合啥样,需要显示根据这个来 string s2 = Global.ImageXNum + "," + Global.ImageYNum + "," + Global.FrameXNum + "," + Global.FrameYNum; Global.runAttrib = s2; //保存INST数据 Model_INST model1 = new Model_INST(); model1.lotGUID = Global.lotGUID; model1.lotNo = Global.LotNum; model1.startTime = Global.startTime; model1.endTime = Global.endTime; model1.endLotTime = Global.endLotTime; model1.operatorID = Global.OperatorID; model1.attrib = Global.attrib; model1.runAttrib = Global.runAttrib; model1.reportType = Global.reportType; DataBaseTools.InsertModel_INST(model1); Global.frameIndex = 0; //保存frame数据 foreach (var resultList in Global.AllFrameReslut) { Global.frameIndex++; Global.trayIndex = Global.frameIndex; //反正就是一个list一个index foreach (var result in resultList) { StringBuilder ss = new StringBuilder(); foreach (var t in result) { ss.Append(t + ","); } string frameResult = ss.ToString(); Model_FRAME model2 = new Model_FRAME(); model2.lotGUID = Global.lotGUID; model2.trayIndex = Global.trayIndex; model2.frameIndex = Global.frameIndex; model2.unitContent = frameResult; DataBaseTools.InsertModel_FRAME(model2); } } videofrm.listBoxShowMessage("数据已写入数据库"); }