using System; using System.Collections.Generic; using System.Linq; using System.Text; using Mesnac.Basic; using Mesnac.Codd.Session; using System.Data; using Mesnac.Compressor.Entity; using Mesnac.Compressor.Unity; namespace Mesnac.Compressor.Data { public class DataBHandler { public DbHelper dbHelper; private DataSourceFactory dsFactory=DataSourceFactory.Instance; public DataBHandler() { dbHelper = dsFactory.GetDbHelper("DataSource1"); } private void ConnectShow() { Common.Instance.LocalConnect = false; FrmConnnectFlag frm = new FrmConnnectFlag(); frm.ShowDialog(); dbHelper = null; } #region 查询 public bool TrayIsNull(string Rfid) { if (dbHelper == null) { return false; } dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("select * from T_RP_WorkTrayRealTimeInfo where state!=0 and RFIDNum='").Append(Rfid).Append("'"); dbHelper.CommandText = sb.ToString(); DataTable dt = dbHelper.ToDataTable(); if (dt.Rows.Count < 1) { return false; } return true; } /// /// 获取产品是否合格 /// /// /// public WorkTray GetProductQuality(string Rfid) { ICSharpCode.Core.LoggingService.Fatal("查询本地数据库"); WorkTray tray = new WorkTray(); try { if (dbHelper == null || !Common.Instance.LocalConnect) { return null; } dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("select * from T_RP_WorkTrayRealTimeInfo where RFIDNum='").Append(Rfid).Append("'"); //ICSharpCode.Core.LoggingService.Debug("sql语句:"+sb.ToString()); dbHelper.CommandText = sb.ToString(); DataTable dt = dbHelper.ToDataTable(); if (dt != null && dt.Rows.Count > 0) { tray.RfidNum = dt.Rows[0]["RFIDNum"].ToString(); tray.MainBarcode = dt.Rows[0]["barCode"].ToString(); tray.SemiBarcode = dt.Rows[0]["SemiBarcode"].ToString(); string Okng= dt.Rows[0]["State"].ToString(); tray.InsertTime = dt.Rows[0]["updateTime"].ToString(); int outvalue = 0; //调试用 //ICSharpCode.Core.LoggingService.Debug(dt.Rows[0]["RFIDNum"].ToString() + " barcode:" + dt.Rows[0]["barcode"].ToString() + " SemiBarcode:" + dt.Rows[0]["SemiBarcode"].ToString() + " State:" + dt.Rows[0]["State"].ToString() + " CurrentStation:" + dt.Rows[0]["CurrentStation"].ToString()); //调试完成 if (int.TryParse(Okng.Trim(), out outvalue)) { tray.OKNG = outvalue; } else { //质量转换错误,默认为1 ICSharpCode.Core.LoggingService.Info("质量转换错误,默认为1"); tray.OKNG = 1; } } } catch (Exception e) { ICSharpCode.Core.LoggingService.Error(string.Format(e.ToString())); //ConnectShow(); } return tray; } /// /// /// /// /// public string GetMainBacodeBySemiBarcode(string semiBarcode) { if (dbHelper == null|| !Common.Instance.LocalConnect) { return ""; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("SELECT SemiBarcode FROM dbo.T_RP_WorkTrayRealTimeInfo WHERE RFIDNum='"); sb.Append(semiBarcode).Append("'"); dbHelper.CommandText = sb.ToString(); return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return ""; } } /// /// /// /// /// public bool GetPreWorkInfo(string Rfid,string stationid) { //根据当前工位获取前一工位数据 //然后获取前一工位信息 if (dbHelper == null || !Common.Instance.LocalConnect) { return false; } dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("SELECT StationID FROM dbo.T_BD_SubStation a LEFT JOIN dbo.T_RP_WorkTrayRealTimeInfo b ON a.PreStationID=b.CurrentStation WHERE b.RFIDNum='").Append(Rfid).Append("'"); dbHelper.CommandText = sb.ToString(); DataTable dt = dbHelper.ToDataTable(); if (dt.Rows.Count < 1) { return false; } string currentStation = dt.Rows[0]["StationID"].ToString(); if (stationid == currentStation) { return true; } else { return false; } } #endregion /// /// 这个好像没用 /// /// /// public void Insert(string TableName,object[] objectArray) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("insert into ").Append(TableName).Append(" values("); //sb.Append("'',").Append(); foreach (object ob in objectArray) { sb.Append("'").Append(ob.ToString()).Append("'"); } sb.Append(")"); dbHelper.CommandText = sb.ToString(); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } public void ExecSql(string sql) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.CommandText = sql; dbHelper.ExecuteNonQuery(); } catch(Exception e) { ICSharpCode.Core.LoggingService.Error("Insert语句错误:" + e.ToString()); //ConnectShow(); } } public string GetLastMainBarcode(string code) { if (dbHelper == null || !Common.Instance.LocalConnect) { return "NoConnect0001"; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("EXEC SP_Pro_GetNewMainBarcode '"); sb.Append(code).Append("'"); dbHelper.CommandText = sb.ToString(); return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); return "Error0001"; } } public string GetLastSemiBarcode(string code) { if (dbHelper == null || !Common.Instance.LocalConnect) { return "NoConnect0001"; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("EXEC SP_Pro_GetNewSemiBarcode '"); sb.Append(code).Append("'"); dbHelper.CommandText = sb.ToString(); return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); return "Error0001"; } } /// /// 获取当前状态 /// /// /// /// public bool CurrentStationHaveWork(string stationID,string RFID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return false; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_CurruntState @RFID,@stationID"; dbHelper.AddParameter("@RFID", RFID); dbHelper.AddParameter("@stationID", stationID); dbHelper.CommandText = sql; var obj=dbHelper.ToScalar(); int result = Convert.ToInt32(obj); if (result < 1) { return false; } else { return true; } } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); return false; } } /// /// 获取当前工位质量 /// /// /// /// /// public bool GetCurrentStationState(string MainBarcode,string SemiBarcode,string StationName,string tableName) { if (dbHelper == null || !Common.Instance.LocalConnect) { return false; } try { string TableName = tableName; dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append(" SELECT Barcode FROM ").Append(TableName); sb.Append(" WHERE Barcode='").Append(MainBarcode).Append("' AND SemiBarcode='").Append(SemiBarcode).Append("' AND State='1'"); dbHelper.CommandText = sb.ToString(); DataTable dt = dbHelper.ToDataTable(); return dt.Rows.Count > 0; } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return false; } } /// /// 创建新的系统条码**************888 /// /// /// public void CreatNewProduct(string MainBarcode,string SemiBarcode) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO dbo.T_SY_TraceState(barcode,SemiBarcode_A1)VALUES('"); sb.Append(MainBarcode).Append("','").Append(SemiBarcode).Append("')"); dbHelper.CommandText = sb.ToString(); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } /// /// 更新托盘状态************************ /// /// /// public void UpdateTray(WorkTray tray,string stationid,int flag) { if (dbHelper == null) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("UPDATE dbo.T_RP_WorkTrayRealTimeInfo SET "); sb.Append("barCode='").Append(tray.MainBarcode).Append("',"); sb.Append("SemiBarcode='").Append(tray.SemiBarcode).Append("',"); sb.Append("CurrentStation='").Append(stationid).Append("',"); sb.Append("State='").Append(tray.OKNG.ToString()).Append("',"); sb.Append("UploadFlag='").Append(flag.ToString()).Append("',"); sb.Append("updateTime='").Append(tray.InsertTime).Append("' "); sb.Append("WHERE RFIDNum='").Append(tray.RfidNum).Append("'"); dbHelper.CommandText = sb.ToString(); //ICSharpCode.Core.LoggingService.Info("更新托盘信息:" + sb.ToString()); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } //互换托盘,不是换线。****************************** public void ChangeTray(string RFID,int state,string SemiType, string stationID,string Semibarcode) { if (dbHelper == null) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_changeTray @RFID,@State,@stationID,@semibarcode,@semiType"; dbHelper.AddParameter("@RFID", RFID); dbHelper.AddParameter("@State", state); dbHelper.AddParameter("@semibarcode", Semibarcode); dbHelper.AddParameter("@semiType", SemiType); dbHelper.AddParameter("@stationID", stationID); dbHelper.CommandText = sql; dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } public string GetSemiBarcode(string RFID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return ""; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("SELECT SemiBarcode FROM dbo.T_RP_WorkTrayRealTimeInfo WHERE RFIDNum='"); sb.Append(RFID).Append("'"); dbHelper.CommandText = sb.ToString(); return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return ""; } } public string GetMainBarcode(string RFID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return ""; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("SELECT barCode FROM dbo.T_RP_WorkTrayRealTimeInfo WHERE RFIDNum='"); sb.Append(RFID).Append("'"); dbHelper.CommandText = sb.ToString(); return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return ""; } } /// /// 插入部件条码到部件表******************************* /// /// public void InsertSemiBarcode(string barcode,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return ; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO [dbo].[T_RP_SemiProInfo](SemiBarcode,UploadFlag)VALUES('"); sb.Append(barcode).Append("','").Append(flag.ToString()).Append("')"); dbHelper.CommandText = sb.ToString(); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return; } } /// /// 插入trace表********************* /// /// /// public void InsertTrace(string barcode, string SemiACode,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "EXEC SP_Pro_InsertTraceStation @semiBarcode,@mainBarcode,@flag"; dbHelper.AddParameter("@semiBarcode", SemiACode); dbHelper.AddParameter("@mainBarcode", barcode); dbHelper.AddParameter("@flag", flag); dbHelper.CommandText = sql; dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return; } } /// /// 第一工位更新trace******************************** /// /// /// /// public void InsertMainBacode(string barcode,string SemiACode,string MachineID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO [dbo].[T_SY_TraceState](Barcode,SemiBarcode_A,ProductID)VALUES('"); sb.Append(barcode).Append("','").Append(SemiACode).Append("','").Append(MachineID).Append("')"); dbHelper.CommandText = sb.ToString(); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return; } } /// /// 更新主表,追踪************************** /// public void UpdateTrace(string Column,string MainCode,string SemiCode,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("UPDATE [dbo].[T_SY_TraceState] SET "); //这里还需要加上,拆解不为1 sb.Append(Column).Append("='").Append(SemiCode).Append("', UploadFlag='").Append(flag.ToString()).Append("' where Barcode='").Append(MainCode).Append("'"); sb.Append(" and ISDis=0"); dbHelper.CommandText = sb.ToString(); //ICSharpCode.Core.LoggingService.Info("更新Trace:" + sb.ToString()); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return; } } public bool ChangeLine(string RFID,string Semibarcode,string stationid,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return false; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_ChangeLine @RFID,@Semibarcode,@stationid,@flag"; dbHelper.AddParameter("@RFID", RFID); dbHelper.AddParameter("@Semibarcode", Semibarcode); dbHelper.AddParameter("@stationid", stationid); dbHelper.AddParameter("@flag", flag); dbHelper.CommandText = sql; int result = Convert.ToInt32(dbHelper.ToScalar()); return result == 1 ? true : false; } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return false; } } public void UpdateTraceStation(string RFID,int state,string SemiType, string stationID,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_UpdateTraceStation @RFID,@State,@stationID,@semiType,@flag"; dbHelper.AddParameter("@RFID", RFID); dbHelper.AddParameter("@State", state); dbHelper.AddParameter("@semiType", SemiType); dbHelper.AddParameter("@stationID", stationID); dbHelper.AddParameter("@flag", flag); dbHelper.CommandText = sql; //ICSharpCode.Core.LoggingService.Info("更新生产信息:" + sql); dbHelper.ExecuteNonQuery(); //测试 //GetProductQuality(RFID); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } /// /// 获取当前机种信息 /// /// public string GetCurrentMachineInfo() { //MachineInfo Minfo = new MachineInfo(); if (dbHelper == null || !Common.Instance.LocalConnect) { return ""; //return Minfo; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_ChangeProduct"; dbHelper.CommandText = sql; return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return ""; } } /// /// 插入报警信息 /// /// 电脑名字 /// public void InsertAlarmInfo(string WorkName,AlarmInfo info) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO dbo.T_BD_UniteAlarmInfo(ComputerName,UniteID,AlarmInfo,AlarmIndex,RecordTime )VALUES ('"); sb.Append(WorkName).Append("','"); sb.Append(info.AlarmUnit.ToString()).Append("','"); sb.Append(info.AlarmString).Append("','"); sb.Append(info.AlarmIndex.ToString()).Append("',"); sb.Append("GETDATE()").Append(")"); dbHelper.CommandText = sb.ToString(); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return; } } #region ActionDb public DataTable SelectAlarmInfo(string ComputerName) { if (dbHelper == null) { return null; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("select 序号 = row_number() over(order by RecordTime desc),AlarmIndex as '报警单元',AlarmInfo as '报警信息 (一小时)' ,RecordTime as '报警时间' from dbo.T_BD_UniteAlarmInfo where ComputerName= '"); sb.Append(ComputerName).Append("'"); sb.Append(" AND RecordTime>=DATEADD(HH,-1,GETDATE())"); dbHelper.CommandText = sb.ToString(); DataTable dt= dbHelper.ToDataTable(); return dt; } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); return null; } } #endregion //工作完成 public void WorkFinish(string RFID,string bigcode,string serialnum,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; //string sql = "Exec SP_Pro_ProductionInfo @RFID,@bigCode,@serialNum"; //dbHelper.AddParameter("@RFID", RFID); //dbHelper.AddParameter("@bigCode", bigcode); //dbHelper.AddParameter("@serialNum", serialnum); StringBuilder sb = new StringBuilder(); sb.Append("Exec SP_Pro_ProductionInfo '").Append(RFID).Append("','"); sb.Append(bigcode).Append("','"); sb.Append(serialnum).Append("','"); sb.Append(flag.ToString()).Append("'"); dbHelper.CommandText = sb.ToString(); //ICSharpCode.Core.LoggingService.Info(string.Format(sb.ToString())); dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); } } public int TrayTemInsert(string RFID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return 0; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_D4insert @RFID"; dbHelper.AddParameter("@RFID", RFID); dbHelper.CommandText = sql; return Convert.ToInt32(dbHelper.ToScalar()); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return 0; } } public string GetTrayTemID(int key) { if (dbHelper == null || !Common.Instance.LocalConnect) { return ""; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "SELECT Semibarcode FROM [T_tem_D4] WHERE serialID='"+key.ToString()+"'"; dbHelper.CommandText = sql; return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return ""; } } /// /// 获取最新交接班信息 /// /// /// public ShiftInfo GetShiftInfo() { if (dbHelper == null || !Common.Instance.LocalConnect) { return null; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "SELECT TOP(1)ShiftNo,GroupID,a.ShiftID, b.ShiftName,a.CarryTime FROM dbo.T_RP_ShiftInfo a LEFT JOIN dbo.T_HR_Shift b ON a.ShiftID=b.ShiftID ORDER BY CarryTime DESC "; dbHelper.CommandText = sql; DataTable dt= dbHelper.ToDataTable(); ShiftInfo shift = new ShiftInfo(); shift.carryTime = dt.Rows[0]["CarryTime"].ToString(); shift.shiftNo = dt.Rows[0]["ShiftNo"].ToString(); shift.shiftID = dt.Rows[0]["ShiftID"].ToString(); shift.groupID = dt.Rows[0]["GroupID"].ToString(); shift.shiftName = dt.Rows[0]["ShiftName"].ToString(); return shift; } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return null; } } public int GetCurrentMachine() { if (dbHelper == null || !Common.Instance.LocalConnect) { return 0; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "SELECT TOP(1) ProductChangingID FROM dbo.T_RP_ProductChangeLog ORDER BY ChangeTime DESC "; dbHelper.CommandText = sql; return Convert.ToInt32(dbHelper.ToScalar()); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return 0; } } /// /// 获取当前机种 /// /// /// public DataTable GetCurrentMachine(int MachineID) { if (dbHelper == null || !Common.Instance.LocalConnect) { return null; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = " SELECT * FROM dbo.T_BD_ProductInfo WHERE ProductID='" + MachineID.ToString()+"'"; dbHelper.CommandText = sql; return dbHelper.ToDataTable(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return null; } } /// /// 获取当前产品的投产时间 /// /// /// public string GetProductBeginTime(string mainbarcode) { if (dbHelper == null || !Common.Instance.LocalConnect) { return null; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = " SELECT top(1) BeginTime FROM dbo.T_SY_TraceState WHERE Barcode='" + mainbarcode + "'"; dbHelper.CommandText = sql; return dbHelper.ToScalar().ToString(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString())); //ConnectShow(); return null; } } /// /// 保存每个线尾要换线的托盘信息 /// /// /// public void SaveChangeLineInfo(string RFID,int flag) { if (dbHelper == null || !Common.Instance.LocalConnect) { return; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; string sql = "Exec SP_Pro_SaveLastStation @RFID,@flag"; dbHelper.AddParameter("@RFID", RFID); dbHelper.AddParameter("@flag", flag); dbHelper.CommandText = sql; dbHelper.ExecuteNonQuery(); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Info(string.Format(ex.ToString())); //ConnectShow(); return; } } public float GetD8Weight(string SemiBarcode) { if (dbHelper == null) { return 0; } try { dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; dbHelper.CommandText = ""; StringBuilder sb = new StringBuilder(); sb.Append("SELECT top(1) Para1 FROM dbo.T_RP_StationPara_D8d2 WHERE SemiBarcode='"); sb.Append(SemiBarcode).Append("'"); dbHelper.CommandText = sb.ToString(); return Convert.ToSingle(dbHelper.ToScalar()); } catch (Exception ex) { ICSharpCode.Core.LoggingService.Info(string.Format(ex.ToString())); return 0; } } } }