| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- using System;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- namespace Core.StlMes.Client.LgCommon
- {
- /// <summary>
- /// 实绩管理响应炉号选中事件
- /// </summary>
- /// <param name="strHeatNo"></param>
- /// <param name="strHeatProcessNo"></param>
- public delegate void GetHeatResultDelegate(
- string strHeatProcessNo, string strHeatNo, string strStationCode, string strDisposalTime, string strCastNo);
- public partial class ucHeatNoQuery : UserControl
- {
- private bool _exPanded = true; //是否展开
- public GetHeatResultDelegate GetJobInfoHandler = null;
- public LG_PROCESS Process;
- public int DevicePos;
- public OpeBase Ob;
- public ucHeatNoQuery()
- {
- ExPandedWidth = 0;
- InitializeComponent();
- ClsControlPack.SetUltraGridAppearance(this);
- SetDelegate();
- try
- {
- //ultraGrid1.DisplayLayout.Override.RowSelectorWidth = 40;
- }
- catch
- {
- // ignored
- }
- }
- [Description("展开宽度")]
- public int ExPandedWidth { get; private set; }
- /// <summary>
- /// 展开状态
- /// </summary>
- [Description("展开状态")]
- public bool ExPanded
- {
- get { return _exPanded; }
- set
- {
- if (value != _exPanded)
- {
- _exPanded = value;
- MainContainer.Expanded = value;
- }
- }
- }
- public void Init()
- {
- InitDropDowList();
- time.Start();
- }
- // 刷新炉次信息
- /// <summary>
- /// 刷新炉次信息
- /// </summary>
- public void GetHeatNo()
- {
- try
- {
- var strTableName = ClsBusinessPack.GetJobTableName(Process); //获得工序表名
- //var strProcessCode = ClsBusinessPack.analysProcess(PROCESS.ToString()); //获得工序代码如:C\D\E
- if (string.IsNullOrEmpty(strTableName)) return;
- if (DevicePos < 0) return;
- if (Ob == null) return;
- // var StationCode = DEVICE_POS.ToString().PadLeft(2, '0');
- var strHeatProcessNo = "";
- if ((ultraGrid1.ActiveRow != null) && (ultraGrid1.ActiveRow.Index >= 0))
- strHeatProcessNo = Convert.ToString(ultraGrid1.ActiveRow.Cells["HEATPROCESSNO"].Value);
- var strWherePlan = "WHERE 1 = 1 ";
- var strWhereRes = "WHERE 1 = 1 ";
- var strWhereIf = "";
- if (cbx_AutoRefresh.Checked)
- {
- //只查当班生产记录(strWherePlan前去掉了AND INSTR(FACT_ROUTE, '" + strProcessCode.ToString() + DEVICE_POS.ToString() + "', 1) > 0)
- strWherePlan += " AND PLN_STARTTIME >= "
- +
- "TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00','YYYY-MM-DD HH24:MI:SS') AND PLN_STARTTIME <= SYSDATE ";
-
- }
- else
- {
- var strFrom = dateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00:00";
- var strTo = dateTimePicker2.Value.ToString("yyyy-MM-dd") + " 23:59:59";
- var strToRes = dateTimePicker2.Value.AddDays(4).ToString("yyyy-MM-dd") + " 23:59:59";
- //(去掉了这句话)
- //strWherePlan += " AND INSTR(FACT_ROUTE, '" + strProcessCode.ToString() + DEVICE_POS.ToString() + "', 1) > 0 ";
- strWherePlan += "AND PLN_STARTTIME >= TO_DATE('" + strFrom +
- "','YYYY-MM-DD HH24:MI:SS') AND PLN_STARTTIME <= TO_DATE('" + strTo +
- "','YYYY-MM-DD HH24:MI:SS') ";
-
- if (!string.IsNullOrEmpty(Edt_HeatNo.Text.Trim()))
- {
- strWherePlan += "AND STOVE_NO LIKE '%" + Edt_HeatNo.Text.Trim() + "%'";
- }
- else
- {
- if (cbEdt_Class.SelectedIndex >= 0)
- strWhereIf += "AND SUBSTR(B.SHIFTCODE,1,1) = '" + Convert.ToString(cbEdt_Class.Value) + "'";
- if (cbEdt_Group.SelectedIndex >= 0)
- strWhereIf += "AND SUBSTR(B.SHIFTCODE,2,1) = '" + Convert.ToString(cbEdt_Group.Value) + "'";
- if (cbEdt_Steel.SelectedIndex >= 0)
- strWhereIf += "AND A.GRADECODE = '" + Convert.ToString(cbEdt_Steel.Value) + "'";
- }
- }
- var ds = ClsResBLL.GetHeatNoList(Process, strTableName, strWherePlan, strWhereRes, strWhereIf, Ob);
- if ((ds != null) && (ds.Tables.Count > 0))
- {
- var table = ds.Tables[0];
- ClsControlPack.CopyDataToDatatable(ref table, ref dataTable1, true);
- foreach (var row in ultraGrid1.Rows)
- {
- if (strTableName != "STL_HMP_OPTINFO")
- if ((Convert.ToString(row.Cells["DISPOSALTIME"].Value) != "01") &&
- (row.Cells["DISPOSALTIME"].Value.ToString().Length > 0))
- {
- row.Appearance.BackColor = Color.Red;
- row.Appearance.ForeColor = Color.White;
- }
- else
- {
- row.Appearance.ResetBackColor();
- row.Appearance.ResetForeColor();
- }
- if (!string.IsNullOrEmpty(strHeatProcessNo) &&
- strHeatProcessNo.Equals(Convert.ToString(row.Cells["HEATPROCESSNO"].Value)))
- {
- row.Activated = true;
- ultraGrid1.PerformAction(UltraGridAction.EnterEditMode);
- }
- }
- }
- else
- dataTable1.Rows.Clear();
- PublicMethod.RefreshAndAutoSize(ultraGrid1);
- }
- catch (Exception)
- {
- // ignored
- }
- finally
- {
- ClsControlPack.RefreshAndAutoSize(ultraGrid1);
- }
- }
- #region 初始化
- public void InitDropDowList()
- {
- cbEdt_Class.ValueList = ClsBusinessPack.GetValuelistBanci();
- cbEdt_Group.ValueList = ClsBusinessPack.GetValuelistBanzu();
- var vlistGradeCode = ClsBusinessPack.GetValuelistSteel(Ob);
- cbEdt_Steel.ValueList = vlistGradeCode;
- // ClsControlPack.SetGridValuelist(ref ultraGrid1, "GRADECODE", ref vlistGradeCode);
- }
- #endregion
- #region 事件
- private void SetDelegate()
- {
- Resize += ucHeatNoQuery_Resize;
- MainContainer.ExpandedStateChanged += ExpandedStateChanged;
- }
- private void ucHeatNoQuery_Resize(object sender, EventArgs e)
- {
- try
- {
- //if ((ExPandedWidth == 0) && _exPanded) ExPandedWidth = Width;
- //else if ((ExPandedWidth == 0) && !_exPanded) ExPandedWidth = 250;
- }
- catch
- {
- // ignored
- }
- }
- private void ExpandedStateChanged(object sender, EventArgs e)
- {
- try
- {
- //ExPanded = MainContainer.Expanded;
- //Width = MainContainer.Expanded ? ExPandedWidth : MainContainer.Width;
- if (MainContainer.Expanded && cbx_AutoRefresh.Checked)
- GetHeatNo();
- }
- catch
- {
- // ignored
- }
- }
- private void btnQuery_Click(object sender, EventArgs e)
- {
- GetHeatNo();
- }
- private void cbx_AutoRefresh_CheckedChanged(object sender, EventArgs e)
- {
- try
- {
- btnQuery.Enabled = !cbx_AutoRefresh.Checked;
- cbEdt_Steel.Enabled = Edt_HeatNo.Enabled = !cbx_AutoRefresh.Checked;
- cbEdt_Class.Enabled = cbEdt_Group.Enabled = !cbx_AutoRefresh.Checked;
- dateTimePicker1.Enabled = dateTimePicker2.Enabled = !cbx_AutoRefresh.Checked;
- time.Enabled = cbx_AutoRefresh.Checked;
- }
- catch
- {
- // ignored
- }
- }
- private void Edt_HeatNo_EditorButtonClick(object sender, EditorButtonEventArgs e)
- {
- try
- {
- if (cbx_AutoRefresh.Checked) return;
- if (e.Button.Key.ToUpper().Equals("CLEAR".ToUpper()))
- {
- if (!string.IsNullOrEmpty(Edt_HeatNo.Text.Trim()))
- {
- Edt_HeatNo.Tag = Edt_HeatNo.Text.Trim();
- Edt_HeatNo.Clear();
- }
- else if (Edt_HeatNo.Tag != null) Edt_HeatNo.Text = Convert.ToString(Edt_HeatNo.Tag);
- }
- else if (e.Button.Key.ToUpper().Equals("EDIT".ToUpper()))
- {
- var frm = new frmHeatNoEditor {InputText = Edt_HeatNo.Text.Trim()};
- frm.Location = ClsControlPack.GetChildWindowLocation(frm.Size);
- if (frm.ShowDialog() == DialogResult.OK)
- Edt_HeatNo.Text = frm.InputText;
- }
- }
- catch
- {
- // ignored
- }
- }
- private void ultraGrid1_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
- {
- try
- {
- if (e.Row.Index < 0) return;
- var strHeatNo = Convert.ToString(e.Row.Cells["HEATNO"].Value);
- var strStationCode = Convert.ToString(e.Row.Cells["STATIONCODE"].Value);
- var strDisposalTime = Convert.ToString(e.Row.Cells["DISPOSALTIME"].Value);
- var strHeatProcessNo = Convert.ToString(e.Row.Cells["HEATPROCESSNO"].Value);
- var strCastNo = Convert.ToString(e.Row.Cells["MOULDNO"].Value);
- if (GetJobInfoHandler != null)
- Invoke(GetJobInfoHandler, strHeatProcessNo, strHeatNo, strStationCode, strDisposalTime, strCastNo);
- }
- catch
- {
- // ignored
- }
- }
- #endregion
- private void time_Tick(object sender, EventArgs e)
- {
- if (ExPanded && cbx_AutoRefresh.Checked)
- {
- GetHeatNo();
- }
- }
- }
- }
|