/// <summary> /// 获取产线设置的空闲时间 /// </summary> /// <param name="pline"></param> /// <param name="claOrder"></param> /// <param name="rangid"></param> /// <param name="rang"></param> /// <returns></returns> public List <TimeRange> GetTimeRangeByRange(string pline, int claOrder, string rangid, TimeRange rang) { List <TimeRange> rets = new List <TimeRange>(); try { DataSet dataSet = null; pline = Convert.ToInt32(pline).ToString(); // string strSql = "SELECT * FROM tlb_line_dt dt WHERE dt.START_TIME>='{0}' AND dt.END_TIME<='{1}' AND dt.PLINEID='{2}' AND dt.CLA_ORDER={3} AND dt.RANGEID='{4}' ORDER BY dt.START_TIME ASC"; string strSql = "SELECT * FROM tlb_line_dt dt WHERE dt.PLINEID='{0}' AND dt.CLA_ORDER={1} AND dt.RANGEID='{2}' ORDER BY dt.START_TIME ASC"; //strSql = string.Format(strSql, rang.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), rang.EndTime.ToString("yyyy-MM-dd HH:mm:ss"), pline, claOrder, rangid); strSql = string.Format(strSql, pline, claOrder, rangid); dataSet = MySqlDBHelper.ExecuteDataSet(MySqlDBHelper.Conn, CommandType.Text, strSql); if (dataSet == null || dataSet.Tables[0].Rows.Count <= 0) { return(null); } int count = 0; foreach (DataRow row in dataSet.Tables[0].Rows) { PlineDTMDL mdl = PlineDTMDL.ParseDataRow(row); string tempDate = String.Format("{0}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day , mdl.START_TIME.Hour, mdl.START_TIME.Minute, mdl.START_TIME.Second); DateTime StartTime = Convert.ToDateTime(tempDate); tempDate = string.Empty; tempDate = String.Format("{0}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day , mdl.END_TIME.Hour, mdl.END_TIME.Minute, mdl.END_TIME.Second); DateTime EndTime = Convert.ToDateTime(tempDate); TimeRange rangItem = new TimeRange(StartTime, EndTime); rets.Add(rangItem); } return(rets); } catch { throw; } }
/// <summary> /// 获取时间段内暂停时间数据 /// </summary> /// <param name="plineID"></param> /// <param name="rang"></param> /// <returns></returns> public int GetDownTimeDataByTimeRange(string plineID, TimeRange rang) { try { List <PlineDTMDL> dts = new List <PlineDTMDL>(); DataSet dataSet = null; string strSql = "SELECT * FROM tlb_line_dt dt WHERE dt.START_TIME>='{0}' AND dt.END_TIME<='{1}' AND dt.PLINEID='{2}'"; strSql = string.Format(strSql, rang.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), rang.EndTime.ToString("yyyy-MM-dd HH:mm:ss"), plineID); dataSet = MySqlDBHelper.ExecuteDataSet(MySqlDBHelper.Conn, CommandType.Text, strSql); if (dataSet == null || dataSet.Tables[0].Rows.Count <= 0) { return(0); } int count = 0; foreach (DataRow row in dataSet.Tables[0].Rows) { PlineDTMDL mdl = PlineDTMDL.ParseDataRow(row); count += mdl.DOWNTIME; } return(count); } catch { throw; } }