using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Windows.Forms; using UAS_PLCDataReader.DataOperate; using UAS_PLCDataReader.Entity; namespace UAS_PLCDataReader.PublicMethod { class LogicHandler { public LogicHandler() { } static DataHelper dh = SystemInf.dh; //用于拼接SQL static StringBuilder sql = new StringBuilder(); //用于存放批量执行的SQL static List sqls = new List(); /// /// 验证用户身份信息 /// /// /// /// public static bool CheckUserLogin(string iUserCode, string iPassWord, out string oErrorMessage) { oErrorMessage = ""; string SQL = "select em_code from employee where upper(em_code)=:UserName and em_password =:PassWord"; DataTable dt; dt = (DataTable)dh.ExecuteSql(SQL, "select", iUserCode.ToUpper(), iPassWord); if (dt.Rows.Count > 0) return true; else { oErrorMessage = "用户名或者密码不正确!"; return false; } } /// /// 进行差异日志记录 /// public static void DoDeviceDataDiffLog(DataHelper dh, string iDeCode, string iDeName, string iCommand, string iMan) { sql.Clear(); sql.Append("insert into DeviceRunRecord(drr_id,drr_decode,drr_dename,drr_command,drr_date,drr_doman,drr_remark)"); sql.Append("values(DeviceRunRecord_seq.nextval,'" + iDeCode + "','" + iDeName + "','" + iCommand + "',sysdate,'" + iMan + "','')"); dh.ExecuteSql(sql.ToString(), "insert"); } /// /// 更新设备数据 /// /// /// public static void UpdateDeviceData(DataHelper dh, string Decode, Dictionary ItemData) { string INQTY = ""; string OUTQTY = ""; string TEMPERATURE = ""; foreach (var item in ItemData) { switch (item.Key) { case "INQTY": INQTY = item.Value; break; case "OUTQTY": OUTQTY = item.Value; break; case "TEMPERATURE": TEMPERATURE = item.Value; break; default: break; } } sql.Clear(); sql.Append("update DeviceRunstatus set dr_qty=:dr_inqty,dr_okqty=:dr_okqty,dr_TEMPERATURE=:dr_TEMPERATURE where dr_decode='" + Decode + "'"); dh.ExecuteSql(sql.ToString(), "update", INQTY, OUTQTY, TEMPERATURE); } /// /// 更新设备运行状态 /// /// /// /// /// public static void UpdateDeviceStatus(DataHelper dh, string iDecode, string iDename, string iDestatus) { sql.Clear(); sql.Append("MERGE INTO DeviceRunstatus alias1 USING (select '" + iDecode + "' dr_decode from dual) alias2 "); sql.Append("ON (alias1.dr_decode=alias2.dr_decode) WHEN MATCHED THEN UPDATE SET dr_startdate =sysdate,Dr_runstatus='" + iDestatus + "' "); sql.Append("WHEN NOT MATCHED THEN INSERT (Dr_id,dr_decode,dr_dename,Dr_runstatus,dr_startdate) VALUES (DeviceRunstatus_seq.nextval,"); sql.Append("'" + iDecode + "','" + iDename + "','" + iDestatus + "',sysdate)"); dh.ExecuteSql(sql.ToString(), "update"); } } }