| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Runtime.Serialization;
- using System.Runtime.Serialization.Formatters.Binary;
- using System.Windows.Forms;
- using Core.StlMes.Client.LgResMgt.Mcms.entity;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using NPOI.SS.Formula.Functions;
- namespace Core.StlMes.Client.LgResMgt.Mcms
- {
- public partial class MatInfo : UserControl
- {
- private OpeBase ob;
- private static readonly string _path = Environment.CurrentDirectory + "\\data\\SerialPort.xml";
- private bool isLoading = true;
- public MatInfo()
- {
- InitializeComponent();
- cmmWeightRecordEntityFullBindingSource.DataSource = new List<CmmWeightRecordEntityFull>
- {
- new CmmWeightRecordEntityFull()
- };
- cmmWeightMatEntityBindingSource.DataSource = new List<CmmWeightMatEntity>
- {
- new CmmWeightMatEntity()
- };
- }
- private string _matName;
- public string MatName
- {
- get
- {
- var list = cmmWeightRecordEntityFullBindingSource.DataSource as List<CmmWeightRecordEntityFull>;
- if (list == null || !list.Any()) list = new List<CmmWeightRecordEntityFull>() { new CmmWeightRecordEntityFull() };
- _matName = list[0].MatName;
- return _matName;
- }
- set
- {
- _matName = value;
- cmmWeightRecordEntityFullBindingSource.DataSource = new List<CmmWeightRecordEntityFull>() { new CmmWeightRecordEntityFull() { MatName = value } };
- }
- }
- public string Key { get; set; }
- public bool AddNew
- {
- get { return matGrid.DisplayLayout.Override.AllowAddNew == AllowAddNew.TemplateOnBottom; }
- set
- {
- matGrid.DisplayLayout.Override.AllowAddNew = value ? AllowAddNew.TemplateOnBottom : AllowAddNew.Default;
- foreach (var ultraGridColumn in matGrid.DisplayLayout.Bands[0].Columns)
- {
- ultraGridColumn.CellActivation = value ? Activation.AllowEdit : Activation.ActivateOnly;
- }
- /* foreach (var ultraGridColumn in ugData.DisplayLayout.Bands[0].Columns)
- {
- /* if (ultraGridColumn.Key == "MatName" || ultraGridColumn.Key == "Memo")
- {#1#
- ultraGridColumn.CellActivation = Activation.AllowEdit;
- /* }
- else
- {
- ultraGridColumn.CellActivation = value ? Activation.AllowEdit : Activation.ActivateOnly;
- if (!value) ultraGridColumn.EditorComponent = null;
- }#1#
- }*/
- }
- }
- public bool EnableUpdateInfo
- {
- get { return ugData.DisplayLayout.Bands[0].Columns[0].CellActivation == Activation.AllowEdit; }
- set
- {
- foreach (var ultraGridColumn in ugData.DisplayLayout.Bands[0].Columns)
- {
- ultraGridColumn.CellActivation = value ? Activation.AllowEdit : Activation.ActivateOnly;
- if (!value) ultraGridColumn.EditorComponent = null;
- }
- }
- }
- public bool EnableUpdateWt
- {
- get { return matGrid.DisplayLayout.Bands[0].Columns["ActWeight"].CellActivation == Activation.AllowEdit; }
- set
- {
- matGrid.DisplayLayout.Bands[0].Columns["ActWeight"].CellActivation = value ? Activation.AllowEdit : Activation.ActivateOnly;
- }
- }
- public string ColumnsM
- {
- get
- {
- string columns = "";
- foreach (var ultraGridColumn in ugData.DisplayLayout.Bands[0].Columns)
- {
- if (ultraGridColumn.Hidden) continue;
- columns = (string.IsNullOrWhiteSpace(columns) ? "" : columns + ",") + ultraGridColumn.Key;
- }
- return columns;
- }
- set
- {
- bool hide = true;
- string[] list = value.Split(',');
- foreach (var ultraGridColumn in ugData.DisplayLayout.Bands[0].Columns)
- {
- ultraGridColumn.Hidden = !list.Contains(ultraGridColumn.Key);
- if (!ultraGridColumn.Hidden) hide = false;
- }
- splitContainer1.Panel1.Visible = !hide;
- }
- }
- public string ColumnsC
- {
- get
- {
- string columns = "";
- foreach (var ultraGridColumn in matGrid.DisplayLayout.Bands[0].Columns)
- {
- if (ultraGridColumn.Hidden) continue;
- columns = (string.IsNullOrWhiteSpace(columns) ? "" : columns + ",") + ultraGridColumn.Key;
- }
- return columns;
- }
- set
- {
- string[] list = value.Split(',');
- foreach (var ultraGridColumn in matGrid.DisplayLayout.Bands[0].Columns)
- {
- ultraGridColumn.Hidden = !list.Contains(ultraGridColumn.Key);
- }
- }
- }
- public void ini(OpeBase _ob)
- {
- ugData.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
- ugData.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
- matGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
- matGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
- ugData.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11;
- matGrid.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11;
- this.ob = _ob;
- }
- public void Show()
- {
- isLoading = false;
- splitContainer1.SplitterDistance = XmlHelper.GetXmlData(_path, "MatInfoSplitContainer1" + Key, splitContainer1.SplitterDistance);
- }
- public void iniMatName(List<CmmInputRecordEntity> datas)
- {
- uceMatName.DataSource = datas.Where(p => p.RecordType == "2").Select(p => p.RecordValue).Distinct().ToList();
- uceProducName.DataSource = datas.Where(p => p.RecordType == "7").Select(p => p.RecordValue).Distinct().ToList();
- uceSteel.DataSource = datas.Where(p => p.RecordType == "8").Select(p => p.RecordValue).Distinct().ToList();
- uceGrade.DataSource = datas.Where(p => p.RecordType == "9").Select(p => p.RecordValue).Distinct().ToList();
- }
- private string _projectName = "";
- public void SetDefault(CmmWeightRecordEntityFull cmmWeightRecordEntityFull, string addProject = "", bool reviewColumns = false)
- {
- if (cmmWeightRecordEntityFull == null) cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull() { MatName = _matName };
- if (reviewColumns)
- {
- ReloadColumns(cmmWeightRecordEntityFull.RecordType);
- }
- CmmWeightRecordEntityFull oldInfo = GetData();
- if (oldInfo != null && !string.IsNullOrEmpty(oldInfo.Memo)){
- cmmWeightRecordEntityFull.Memo = oldInfo.Memo;
- }
- cmmWeightRecordEntityFullBindingSource.DataSource = new List<CmmWeightRecordEntityFull>
- {
- cmmWeightRecordEntityFull
- };
- if (!string.IsNullOrWhiteSpace(addProject))
- {
-
- if (cmmWeightRecordEntityFull.MatInfos != null && cmmWeightRecordEntityFull.MatInfos.Count > 1)
- {
- List<CmmWeightMatEntity> list = matGrid.Rows.Where(p =>
- {
- foreach (var ultraGridCell in p.Cells)
- {
- if (ultraGridCell.Column.Hidden) continue;
- if ("" != ultraGridCell.Value.ToString2()) return true;
- }
- return false;
- }
- ).Select(p => p.ListObject as CmmWeightMatEntity).ToList();
- List<CmmWeightMatEntity> data = new List<CmmWeightMatEntity>();
- data.AddRange(list);
- data.AddRange(cmmWeightRecordEntityFull.MatInfos.Select(Clone).ToList());
- cmmWeightMatEntityBindingSource.DataSource = data;
- }
- else
- {
- CmmWeightMatEntity data = new CmmWeightMatEntity();
- if (matGrid.ActiveRow == null)
- {
- cmmWeightMatEntityBindingSource.DataSource = cmmWeightRecordEntityFull.MatInfos;
- }
- else
- {
- if (cmmWeightRecordEntityFull.MatInfos != null && cmmWeightRecordEntityFull.MatInfos.Any())
- {
- data = Clone(cmmWeightRecordEntityFull.MatInfos[0]);
- }
- List<CmmWeightMatEntity> list = cmmWeightMatEntityBindingSource.DataSource as List<CmmWeightMatEntity>;
-
- list[matGrid.ActiveRow.Index] = data;
- cmmWeightMatEntityBindingSource.ResetBindings(false);
- }
- }
- }
- else
- {
- if ((cmmWeightRecordEntityFull.MatInfos != null) && cmmWeightRecordEntityFull.MatInfos.Any())
- cmmWeightMatEntityBindingSource.DataSource = cmmWeightRecordEntityFull.MatInfos.Select(Clone).ToList();
- else
- cmmWeightMatEntityBindingSource.DataSource = new List<CmmWeightMatEntity>
- {
- new CmmWeightMatEntity()
- };
- }
- _projectName = addProject;
- matGrid.UpdateData();
- matGrid.Update();
-
- }
- public void ReloadColumns(string RecordType)
- {
- if (RecordType == "102")
- {
- ColumnsC = "ProOrderNo,Steelname,ActDimater,ActLenTemp,ActCount,ActWeight,JudgeStoveNoOld";
- }
- else if (RecordType == "103")
- {
- ColumnsC = "ProOrderNo,JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActLenTemp,ActCount,ActWeight";
- }
- else if (RecordType == "104")
- {
- ColumnsC = "SpecName,ActCount,SpecNo";
- }
- else if (RecordType == "105")
- {
- ColumnsC = "SpecName,ActCount,Memo";
- }
- else if (RecordType == "106")
- {
- ColumnsC = "SpecName,ActCount,Memo";
- }
- else if (RecordType == "107")
- {
- ColumnsC = "JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActCount,Memo";
- }
- else if (RecordType == "108")
- {
- ColumnsC = "JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActLenTemp,ActCount,ActWei" +
- "ght";
- }
- else if (RecordType == "109")
- {
- ColumnsC = "JudgeStoveNo,Steelname,ActDimater,ActLenTemp,ActCount,ActWeight";
- }
- else if (RecordType == "110")
- {
- ColumnsC = "ProOrderNo,Steelname,ActDimater,ActLenTemp,ActCount,ActWeight,JudgeStoveNoOld";
- }
- else if (RecordType == "201" || RecordType == "999")
- {
- ColumnsC =
- "ProOrderNo,JudgeStoveNo,Producname,Gradename,Steelname,ActDimater,ActHeight,ActLenTemp,ActCount,ActWeight,StorageName";
- }
- else if (RecordType == "202")
- {
- ColumnsC = "ProOrderNo,JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActCount,Memo";
- }
- else if (RecordType == "203")
- {
- ColumnsC = "SpecName,ActCount,Memo";
- }
- else if (RecordType == "204")
- {
- ColumnsC = "JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActCount,Memo";
- }
- else if (RecordType == "205")
- {
- ColumnsC = "JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActLenTemp,ActCount,ActWeight";
- }
- else if (RecordType == "206")
- {
- ColumnsC = "JudgeStoveNo,Steelname,ActDimater,ActLenTemp,ActCount,ActWeight";
- }
- else if (RecordType == "200")
- {
- ColumnsC = "ProOrderNo,JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActLenTemp,ActCount,ActWeight";
- }
- else if (RecordType == "209")
- {
- ColumnsC = "SpecName,ActCount,Memo";
- }
- else if (RecordType == "208")
- {
- ColumnsC = "JudgeStoveNo,Producname,Steelname,ActDimater,ActHeight,ActCount,Memo";
- }
- }
- public void UpdateData(CmmWeightRecordEntityFull cmmWeightRecordEntityFull)
- {
- ugData.Rows[0].Cells["ReceiveName"].Value = cmmWeightRecordEntityFull.ReceiveName;
- ugData.Rows[0].Cells["ShippersName"].Value = cmmWeightRecordEntityFull.ShippersName;
- ugData.Rows[0].Cells["OrderName"].Value = cmmWeightRecordEntityFull.OrderName;
- ugData.Rows[0].Cells["TransportName"].Value = cmmWeightRecordEntityFull.TransportName;
- ugData.Rows[0].Cells["RecordNumber"].Value = cmmWeightRecordEntityFull.RecordNumber;
- ugData.Rows[0].Cells["MEMO"].Value = cmmWeightRecordEntityFull.Memo;
- ugData.Rows[0].Cells["MatName"].Value = cmmWeightRecordEntityFull.MatName;
- cmmWeightMatEntityBindingSource.DataSource = cmmWeightRecordEntityFull.MatInfos;
- }
- public CmmWeightMatEntity Clone(CmmWeightMatEntity data)
- {
- using (var memStream = new MemoryStream())
- {
- var binaryFormatter = new BinaryFormatter(null,
- new StreamingContext(StreamingContextStates.Clone));
- binaryFormatter.Serialize(memStream, data);
- memStream.Seek(0, SeekOrigin.Begin);
- return binaryFormatter.Deserialize(memStream) as CmmWeightMatEntity;
- }
- }
- public void SetWt(decimal wt)
- {
- matGrid.UpdateData();
- matGrid.Update();
- if(matGrid.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden == true ) return;
- List<CmmWeightMatEntity> data =
- cmmWeightMatEntityBindingSource.DataSource as List<CmmWeightMatEntity>;
- if (data == null || !data.Any())
- {
- data = new List<CmmWeightMatEntity>(){new CmmWeightMatEntity()};
- }
- data[0].ActWeight = wt;
- cmmWeightMatEntityBindingSource.DataSource = data;
- matGrid.UpdateData();
- matGrid.Update();
- matGrid.Refresh();
- }
- private void ugData_CellDataError(object sender, CellDataErrorEventArgs e)
- {
- }
- public void DeleteRow()
- {
- if (matGrid.ActiveRow == null) return;
- matGrid.ActiveRow.Delete(false);
- if (matGrid.Rows.Count == 0)
- cmmWeightMatEntityBindingSource.DataSource = new List<CmmWeightMatEntity>
- {
- new CmmWeightMatEntity()
- };
- matGrid.UpdateData();
- }
- public void Clear()
- {
- cmmWeightMatEntityBindingSource.DataSource = new List<CmmWeightMatEntity>
- {
- new CmmWeightMatEntity()
- };
- matGrid.UpdateData();
- cmmWeightRecordEntityFullBindingSource.DataSource = new List<CmmWeightRecordEntityFull>
- {
- new CmmWeightRecordEntityFull(){MatName = _matName}
- };
- ugData.UpdateData();
- }
- public CmmWeightRecordEntityFull GetData()
- {
- ugData.UpdateData();
- var datas = cmmWeightRecordEntityFullBindingSource.DataSource as List<CmmWeightRecordEntityFull>;
- if ((datas == null) || !datas.Any())
- datas = new List<CmmWeightRecordEntityFull> {new CmmWeightRecordEntityFull()};
-
- var data = datas[0];
- if (matGrid.Rows.Count > 0)
- data.MatInfos = matGrid.Rows.Where(p =>
- {
- foreach (var ultraGridCell in p.Cells)
- {
- if (ultraGridCell.Column.Hidden) continue;
- if ("" != ultraGridCell.Value.ToString2()) return true;
- }
- return false;
- }
- ).Select(p => p.ListObject as CmmWeightMatEntity).ToList();
- else
- data.MatInfos = null;
- return data;
- }
- private void delete_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- if (ugData.ActiveCell.Activation != Activation.AllowEdit || ugData.ActiveCell.Column.CellActivation != Activation.AllowEdit) return;
-
- using (var NameSel = new NameSelect(ob, ugData.ActiveCell.Column.Key,ugData.ActiveCell.Column.Header.Caption))
- {
- if (NameSel.ShowDialog() == DialogResult.OK)
- {
- ugData.ActiveCell.Value = NameSel.SelectRow.RecordValue;
- }
- }
- }
- private void matGrid_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "ActCount")
- {
- List<CmmWeightRecordEntityFull> list =
- cmmWeightRecordEntityFullBindingSource.DataSource as List<CmmWeightRecordEntityFull>;
- if (list == null || !list.Any())
- {
- list = new List<CmmWeightRecordEntityFull>(){new CmmWeightRecordEntityFull()};
- }
- list[0].RecordNumber = matGrid.Rows.Where(p =>
- {
- int a;
- return int.TryParse(p.Cells["ActCount"].Text.ToString(), out a);
- }).Select(p => int.Parse(p.Cells["ActCount"].Text.ToString())).Sum();
- cmmWeightRecordEntityFullBindingSource.DataSource = list;
- ugData.UpdateData();
- ugData.Update();
- ugData.Refresh();
- }
- }
- private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
- {
- if (isLoading) return;
- XmlHelper.SetXmlData(_path, "MatInfoSplitContainer1" + Key, splitContainer1.SplitterDistance);
- }
- private void matGrid_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e)
- {
- }
- private void matGrid_AfterRowEditTemplateClosed(object sender, AfterRowEditTemplateClosedEventArgs e)
- {
- }
- private void matGrid_ClickCell(object sender, ClickCellEventArgs e)
- {
- if (matGrid.ActiveRow.IsAddRow)
- {
- int a = matGrid.ActiveCell.Row.Index;
- int b = matGrid.ActiveCell.Column.Index;
- matGrid.Rows.Band.AddNew();
- matGrid.Rows[a].Cells[b].Activated = true;
- matGrid.PerformAction(UltraGridAction.EnterEditMode);
- }
- }
- private void matGrid_BeforeRowEditTemplateDisplayed(object sender, BeforeRowEditTemplateDisplayedEventArgs e)
- {
- }
-
- }
- }
|