| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.YdmStuffManage.Entity;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.YdmStuffManage
- {
- public partial class FrmMatGroupManage : FrmBase
- {
- public FrmMatGroupManage()
- {
- InitializeComponent();
- }
- private void FrmMatGroupManage_Load(object sender, EventArgs e)
- {
- EntityHelper.ShowGridCaption<MatGpMEntity>(ultraGrid1.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<MatGpGroupHistoryEntity1>(ultraGrid2.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<MatGpGroupHistoryEntity>(ultraGrid2.DisplayLayout.Bands[1]);
- }
-
- /// <summary>
- /// 重写基类方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- if (!CheckQuery()) return;
- doQueryData();
- break;
- case"MatGroup":
- matGroupData();
- break;
- case"cutGpNum":
- cutGpNum();
- break;
- case"QueryGroup":
- doQueryGroup();
- break;
- case "Split":
- doSplit();
- break;
- case "Export":
- ExportData();
- break;
- case "Close":
- close();
- break;
- }
- }
- public static List<MatGpMEntity> UltraGridGetChooseRows(UltraGrid ultraGrid, string columnName = "CHK")
- {
- ultraGrid.UpdateData();
- List<MatGpMEntity> list = new List<MatGpMEntity>();
- RowsCollection rows = ultraGrid.Rows;
- foreach (var item in rows)
- {
- try
- {
- if (Convert.ToBoolean(item.Cells[columnName].Value) == true && item.Hidden == false)
- {
- list.Add(item.ListObject as MatGpMEntity);
- }
- }
- catch { }
- }
- return list;
- }
- /// <summary>
- /// 导出
- /// </summary>
- private void ExportData()
- {
- if (this.ultraTabControl1.Tabs[0].Active)
- {
- GridHelper.ulGridToExcel(ultraGrid1, "库存信息");
- }
- else if (this.ultraTabControl1.Tabs[1].Active)
- {
- GridHelper.ulGridToExcel(ultraGrid2, "组炉实绩");
- }
-
- }
- //拆坯
- private void doSplit() {
- List<MatGpMEntity> list = UltraGridGetChooseRows(this.ultraGrid1);
- if (list.Count == 0)
- {
- MessageUtil.ShowTips("请选择需要拆分的数据!");
- return;
- }
- string judgeStoveNo = list[0].JudgeStoveNo;
- foreach (var item in list)
- {
- if(!judgeStoveNo.Equals(item.JudgeStoveNo))
- {
- MessageUtil.ShowTips("不同炉号不能拆坯!");
- return;
- }
- }
- FrmMatGroupManage_Split head = new FrmMatGroupManage_Split(list);
- head.ob = this.ob;
- head.ShowDialog();
- doQueryData();
- }
- /// <summary>
- /// 拆坯
- /// </summary>
- private void cutGpNum()
- {
-
- }
- /// <summary>
- /// 查询组炉实绩
- /// </summary>
- private void doQueryGroup()
- {
- string stoveNo = "";
- string judgeNo = "";
- string gradeCode = "";
- string dimter = "";
- string startTime = "";
- string endTime = "";
- if (chkStoveNo.Checked && txtStoveNo.Text.Trim() != "")
- {
- stoveNo = this.txtStoveNo.Text.Trim();
- }
- if (chkjudgeNo.Checked && txtjudgeNo.Text.Trim() != "")
- {
- judgeNo = this.txtjudgeNo.Text.Trim();
- }
- if (chkGrade.Checked && txtGrade.Tag.ToString() != "")
- {
- gradeCode = txtGrade.Text.ToString();//txtGrade.Tag.ToString();
- }
- if (chkDimter.Checked && txtDimter.Text.Trim() != "")
- {
- if (txtDimter.Text.Trim().Contains("."))
- {
- int dex = txtDimter.Text.Trim().IndexOf(".");
- dimter = txtDimter.Text.Trim().Substring(0, dex);
- }
- else
- {
- dimter = txtDimter.Text.Trim();
- }
- }
- if (ultraIsLoad.Checked)
- {
- startTime = StartTime.Value.ToString();
- endTime = EndTime.Value.ToString();
- }
- ArrayList parmList = new ArrayList();
- parmList.Add(stoveNo);
- parmList.Add(judgeNo);
- parmList.Add(gradeCode);
- parmList.Add(dimter);
- parmList.Add(startTime);
- parmList.Add(endTime);
- string[] L1 = new string[] { "MatGroupNo" };
- string[] L2 = new string[] { "MatGroupNo" };
- List<MatGpGroupHistoryEntity1> listSource = EntityHelper.GetData<MatGpGroupHistoryEntity1>(
- "Core.LgMes.Server.Stuffmanage.FrmMatGroupManage.doQueryMatGroup", new object[] { parmList,this.CustomInfo }, this.ob);
- List<MatGpGroupHistoryEntity> listSource1 = EntityHelper.GetData<MatGpGroupHistoryEntity>(
- "Core.LgMes.Server.Stuffmanage.FrmMatGroupManage.doQueryMatGroupData", new object[] { parmList,this.CustomInfo }, this.ob);
- EntityHelper.AddEntityRelation(listSource, listSource1, L1, L2);
- MatGpGroupHistoryEntity1bindingSource.DataSource = listSource;
- }
- /// <summary>
- /// 查询余材库存信息
- /// </summary>
- private void doQueryData()
- {
- string stoveNo = "";
- string judgeNo = "";
- string gradeCode = "";
- string dimter = "";
- string startTime = "";
- string endTime = "";
-
- if(chkStoveNo.Checked && txtStoveNo.Text.Trim() != "")
- {
- stoveNo = this.txtStoveNo.Text.Trim();
- }
- if (chkjudgeNo.Checked && txtjudgeNo.Text.Trim() != "")
- {
- judgeNo = this.txtjudgeNo.Text.Trim();
- }
- if(chkGrade.Checked && txtGrade.Tag.ToString() != "")
- {
- gradeCode = txtGrade.Text.ToString();//txtGrade.Tag.ToString();
- }
- if(chkDimter.Checked && txtDimter.Text.Trim() != "")
- {
- if(txtDimter.Text.Trim().Contains("."))
- {
- int dex = txtDimter.Text.Trim().IndexOf(".");
- dimter = txtDimter.Text.Trim().Substring(0,dex);
- }
- else
- {
- dimter = txtDimter.Text.Trim();
- }
- }
- if (ultraIsLoad.Checked)
- {
- startTime = StartTime.Value.ToString();
- endTime = EndTime.Value.ToString();
- }
- ArrayList parmList = new ArrayList();
- parmList.Add(stoveNo);
- parmList.Add(judgeNo);
- parmList.Add(gradeCode);
- parmList.Add(dimter);
- parmList.Add(startTime);
- parmList.Add(endTime);
- List<MatGpMEntity> listSource = EntityHelper.GetData<MatGpMEntity>(
- "Core.LgMes.Server.Stuffmanage.FrmMatGroupManage.doQueryMatData", new object[] { parmList,this.CustomInfo }, this.ob);
- MatGpMEntitybindingSource.DataSource = listSource;
- }
- /// <summary>
- /// 组炉
- /// </summary>
- private void matGroupData()
- {
- this.ultraGrid1.UpdateData();
- IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
- if(checkMagRows.Count()== 0)
- {
- MessageUtil.ShowTips("请选择需要组炉的库存信息");
- return;
- }
- IQueryable<UltraGridRow> magRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK1 = 'True'");
- if (magRows.Count() == 0 || magRows.Count() >1)
- {
- MessageUtil.ShowTips("组炉时主炉号信息只允许选择一条");
- return;
- }
- if (this.CustomInfo.Equals("120501"))
- {
- if (txt_newJugeNo.Text.Trim() == "")
- {
- MessageUtil.ShowTips("组炉时请输入新判定炉号!");
- return;
- }
- }
-
- int gpGrade = checkMagRows.Select(a=>a.Cells["GradeName"].Text).Distinct().Count();
- if (gpGrade > 1)
- {
- MessageUtil.ShowTips("钢种不一致,不允许组炉!");
- return;
- }
- int gpDiamter = checkMagRows.Select(a => a.Cells["Dimater"].Text).Distinct().Count();
- if (gpDiamter > 1)
- {
- MessageUtil.ShowTips("直径不一致,不允许组炉!");
- return;
- }
- //天淮不要求单倍长度一致
- if (this.CustomInfo.Equals("120501"))
- {
- int gpFixLen = checkMagRows.Select(a => a.Cells["FixLen"].Text).Distinct().Count();
- if (gpFixLen > 1)
- {
- MessageUtil.ShowTips("单倍长度不一致,不允许组炉!");
- return;
- }
- }
-
- int isDear = checkMagRows.Select(a => a.Cells["IsDealer"].Text).Distinct().Count();
- if (isDear > 1)
- {
- MessageUtil.ShowTips("坯料用途不一致,不允许组炉!");
- return;
- }
- int backCount = checkMagRows.GroupBy(a => a.Cells["BackFlag"].Value.ToString() == "回炉坯").Count();
- if (backCount > 1)
- {
- MessageUtil.ShowTips("回炉坯只能和回炉坯组炉!");
- return;
- }
- //主炉号信息
- ArrayList zStoveNoList = new ArrayList();
- foreach (UltraGridRow row in magRows)
- {
- MatGpMEntity matEntity = (MatGpMEntity)row.ListObject;
- string matGpTity = JSONFormat.Format(matEntity);
- zStoveNoList.Add(matGpTity);
- }
- ArrayList parmList = new ArrayList();
- foreach(UltraGridRow uRow in checkMagRows)
- {
- MatGpMEntity matTity = (MatGpMEntity)uRow.ListObject;
- string matGpEntity = JSONFormat.Format(matTity);
- parmList.Add(matGpEntity);
- }
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmMatGroupManage";
- ccp.MethodName = "matGroupData";
- ccp.ServerParams = new object[] { parmList, zStoveNoList,UserInfo.GetUserName(),this.txt_newJugeNo.Text.Trim(),this.CustomInfo };
- ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- if (ccp.ReturnInfo.Equals("组炉成功!"))
- {
- doQueryData();
- MessageUtil.ShowTips(ccp.ReturnInfo);
- }
- else
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- }
- }
- }
- private void close()
- {
- this.Close();
- }
- /// <summary>
- /// 检查基础数据
- /// </summary>
- /// <returns></returns>
- private bool CheckQuery()
- {
- if (this.chkStoveNo.Checked && string.IsNullOrEmpty(this.txtStoveNo.Text.Trim()))
- {
- MessageBox.Show("请输入熔炼炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (this.chkjudgeNo.Checked && string.IsNullOrEmpty(this.txtjudgeNo.Text.Trim()))
- {
- MessageBox.Show("请输入判定炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (this.chkGrade.Checked && string.IsNullOrEmpty(this.txtGrade.Tag.ToString()))
- {
- MessageBox.Show("请输入钢种!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (this.chkDimter.Checked && string.IsNullOrEmpty(this.txtDimter.Text.Trim()))
- {
- MessageBox.Show("请输入直径!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- return true;
- }
- private void chkStoveNo_CheckedChanged(object sender, EventArgs e)
- {
- this.txtStoveNo.Enabled = this.chkStoveNo.Checked;
- }
- private void chkjudgeNo_CheckedChanged(object sender, EventArgs e)
- {
- this.txtjudgeNo.Enabled = this.chkjudgeNo.Checked;
- }
- private void chkGrade_CheckedChanged(object sender, EventArgs e)
- {
- this.txtGrade.Enabled = this.chkGrade.Checked;
- }
- private void chkDimter_CheckedChanged(object sender, EventArgs e)
- {
- this.txtDimter.Enabled = this.chkDimter.Checked;
- }
- private void txtGrade_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryGradeAll",
- new object[] { }, ob);
- dt.Columns["GRADENAME"].Caption = "钢种";
- BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "GRADENAME", "GRADECODE");
- baseInfo.Shown += new EventHandler((a, b) =>
- {
- var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where(
- c => c.GetValue("GRADECODE") == this.txtGrade.Tag.ToString2()).FirstOrDefault();
- if (actRow != null) actRow.Activate();
- });
- if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- txtGrade.Tag = baseInfo.ChoicedRow.GetValue("GRADECODE");
- txtGrade.Text = baseInfo.ChoicedRow.GetValue("GRADENAME");
- }
- }
- private void txtDimter_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryDimaterAll",
- new object[] { }, ob);
- dt.Columns["SPEC_NAME"].Caption = "直径";
- BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "SPEC_NAME", "SPEC_CODE");
- baseInfo.Shown += new EventHandler((a, b) =>
- {
- var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where(
- c => c.GetValue("SPEC_NAME") == this.txtDimter.Tag.ToString2()).FirstOrDefault();
- if (actRow != null) actRow.Activate();
- });
- if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- txtDimter.Tag = baseInfo.ChoicedRow.GetValue("SPEC_NAME");
- txtDimter.Text = baseInfo.ChoicedRow.GetValue("SPEC_NAME");
- }
- }
- private void FrmMatGroupManage_Shown(object sender, EventArgs e)
- {
- if (toolMenu == null) return;
- if (toolMenu.Toolbars[0].Tools.Exists("QueryGroup"))
- {
- toolMenu.Toolbars[0].Tools["QueryGroup"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (ultraTabControl1.SelectedTab.Key == "0")
- {
- if (toolMenu == null) return;
- if (toolMenu.Toolbars[0].Tools.Exists("QueryGroup"))
- {
- toolMenu.Toolbars[0].Tools["QueryGroup"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Query"))
- {
- toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("MatGroup"))
- {
- toolMenu.Toolbars[0].Tools["MatGroup"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- this.ultraGroupBox2.Visible = true;
- ultraIsLoad.Text="库存日期";
- }
- else if (ultraTabControl1.SelectedTab.Key == "1")
- {
- if (toolMenu == null) return;
- if (toolMenu.Toolbars[0].Tools.Exists("QueryGroup"))
- {
- toolMenu.Toolbars[0].Tools["QueryGroup"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Query"))
- {
- toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("MatGroup"))
- {
- toolMenu.Toolbars[0].Tools["MatGroup"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- this.ultraGroupBox2.Visible = false;
- ultraIsLoad.Text = "组炉日期";
- }
- }
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- double count = 0;
- double weght = 0;
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
- {
- count += double.Parse(ugr.Cells["ActCount"].Value.ToString());
- weght += double.Parse(ugr.Cells["ActWeight"].Value.ToString());
- }
- }
- ultraLabel1.Text = " 支:" + count + " 吨:" + weght.ToString("f3");
- }
-
- }
- }
|