using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.YdmBcPipeManage.Entity; using CoreFS.CA06; 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.YdmBcPipeManage.Demand { public partial class FrmBcM : FrmBase { string[] arr = null; OpeBase _ob; public FrmBcM(string[] plineCode,OpeBase ob) { this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; arr = plineCode; _ob = ob; InitializeComponent(); } private void FrmBcM_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); initStorageNo(); initDemandUser(); this.ultraDemandUser.SelectedIndex = 0; this.cmbUnload.SelectedIndex = 0; this.ultraTrainPort.SelectedIndex = 0; } /// /// 加载需求单位 /// private void initDemandUser() { BaseMethod.InitDemandUser(ultraDemandUser, _ob, arr); } /// /// 加载仓库 /// private void initStorageNo() { BaseMethod.InitStorageNo(cmbStorageNo, _ob); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Query": doQuery(); break; case "AddDemand": addDemand(); break; case"Close": this.Close(); break; } } /// /// 查询库存 /// private void doQuery() { string judgeNo = ""; string flagStoveNo = ""; if (this.chkJugeHeatNo.Checked && this.txtJugeNo.Text.Trim() != "") { judgeNo = this.txtJugeNo.Text.Trim(); } if (this.chkFlagStoveNo.Checked && this.txtFlagStoveNo.Text != "") { flagStoveNo = this.txtFlagStoveNo.Text.ToString(); } if(judgeNo == "" && flagStoveNo == "") { MessageUtil.ShowTips("查询库存请车时,请输入判定炉号或者标识炉号!"); return; } ArrayList parmList = new ArrayList(); parmList.Add(judgeNo); parmList.Add(flagStoveNo); List listSource = EntityHelper.GetData( "com.steering.Demand.sever.FrmBcM.doQuery", new object[] { parmList, arr }, _ob); matBcMEntity1BindingSource.DataSource = listSource; } /// /// 生成需求 /// private void addDemand() { this.ultraGrid1.UpdateData(); string tarStorageNo = ""; string tarStorageName = ""; string demandUserCode = ""; string demandUser = ""; string unloadCode = ""; string unloadDesc = ""; int acount = 0; decimal wgt = 0; string trainPortType = ""; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要生成用车需求的库存信息!"); return; } int groupStatus = checkMagRows.GroupBy(a => a.GetValue("QcmStaus")).Count(); if (groupStatus > 1) { MessageUtil.ShowTips("只有同种交库状态的信息才能同时生成用车需求!"); return; } if (this.cmbStorageNo.Text.Trim() == "") { MessageUtil.ShowTips("生成用车需求时请选择目标仓库!"); return; } else { tarStorageNo = this.cmbStorageNo.Value.ToString2(); tarStorageName = this.cmbStorageNo.Text.ToString2(); } if (this.ultraDemandUser.Text == "") { MessageUtil.ShowTips("生成用车需求时,请选择需求单位!"); return; } else { demandUserCode = this.ultraDemandUser.Value.ToString2(); demandUser = this.ultraDemandUser.Text; } if (this.cmbUnload.Text == "") { MessageUtil.ShowTips("生成用车需求时,请选择目标装卸点!"); return; } else { unloadCode = this.cmbUnload.Value.ToString2(); unloadDesc = this.cmbUnload.Text; } if (ultraTrainPort.Text == "") { MessageUtil.ShowTips("生成用车需求时,请选择用途类型!"); } else { trainPortType = this.ultraTrainPort.Value.ToString2(); } foreach (UltraGridRow row in checkMagRows) { acount = acount + int.Parse(row.Cells["ActCount"].Text); wgt = wgt + decimal.Parse(row.Cells["ActWeight"].Text); } string valueFlag = this.ultraOptionSet1.CheckedItem.DataValue.ToString(); ArrayList parmList = new ArrayList(); int s = 0; int scrapNum = 0; foreach (UltraGridRow row in checkMagRows) { if (row.Cells["QcmStaus"].Text == "废品") { if(valueFlag.Equals("1")) { scrapNum = scrapNum + 1; } if (s > 0) { break; } MatBcMEntity1 matZcMEntity = (MatBcMEntity1)row.ListObject; matZcMEntity.FlagStoveNoZg = "000000"; matZcMEntity.JudgeStoveNo = "000000"; matZcMEntity.BatchNo = "F"; matZcMEntity.BatchGroudNo = "001"; matZcMEntity.PlineCode = row.Cells["PlineCode"].Text; matZcMEntity.ActCount = acount; matZcMEntity.ActWeight = wgt; matZcMEntity.PlineName = row.Cells["PlineName"].Text; matZcMEntity.StorageNo = row.Cells["StorageNo"].Text; matZcMEntity.StorageName = row.Cells["StorageName"].Text; matZcMEntity.MaterialName = "管材废品"; matZcMEntity.MaterialNo = ""; matZcMEntity.ActLenMin = ""; matZcMEntity.ActLenMax = ""; matZcMEntity.ActHeight = 0; matZcMEntity.ActDimater = 0; matZcMEntity.SpecName = ""; matZcMEntity.SpecCode = ""; string matBcEntity = JSONFormat.Format(matZcMEntity); parmList.Add(matBcEntity); s = s + 1; } else { MatBcMEntity1 matZcMEntity = (MatBcMEntity1)row.ListObject; string matBcEntity = JSONFormat.Format(matZcMEntity); parmList.Add(matBcEntity); } } if(scrapNum > 0) { MessageUtil.ShowTips("废品运输只允许申请单向需求!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.FrmBcM"; ccp.MethodName = "doWriteDemand"; ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName(), tarStorageNo, tarStorageName, valueFlag, demandUserCode, demandUser, unloadCode, unloadDesc, trainPortType }; ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("生成用车需求成功!")) { MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void chkJugeHeatNo_CheckedChanged(object sender, EventArgs e) { this.txtJugeNo.Enabled = this.chkJugeHeatNo.Checked; } private void chkFlagStoveNo_CheckedChanged(object sender, EventArgs e) { this.txtFlagStoveNo.Enabled = this.chkFlagStoveNo.Checked; } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void InitUnload(string strageNo) { BaseMethod.InitUnLoad(cmbUnload, _ob, strageNo); this.cmbUnload.SelectedIndex = 0; } private void cmbStorageNo_ValueChanged(object sender, EventArgs e) { InitUnload(this.cmbStorageNo.Value.ToString2()); } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow; MatBcMEntity1 matBc = (MatBcMEntity1)row.ListObject; if (matBc.ActCount.Equals("") || matBc.ActCount == null) { matBc.ActCount = 0; } string matBcEntity = JSONFormat.Format(matBc); if (e.Cell.Column.Key == "ActCount") { DataTable ds = ServerHelper.GetData("com.steering.Demand.sever.FrmBcM.doQueryWeight", new object[] { matBcEntity }, _ob); if (ds.Rows.Count > 0) { ultraGrid1.ActiveRow.Cells["ActWeight"].Value = ds.Rows[0][0].ToString(); } } } } }