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 FrmSubContractDP : FrmBase { public FrmSubContractDP() { InitializeComponent(); } private string[] arr = null; private void FrmSubContractDP_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); arr = BaseMethod.InitLgPermissions(this.ValidDataPurviewIds, "C", this.ob); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryPlan(); break; case "doQuerySubContractNo": doQuerySubContractNo(); break; case "SubContract": subContract(); break; case "CancelSubContract": cancelSubContract(); break; case "Close": this.Close(); break; } } /// /// 数据验证 /// /// private bool CheckQuery() { if (this.chkPlnStaus.Checked && string.IsNullOrEmpty(this.cmbPlnSatus.Text.Trim())) { MessageUtil.ShowWarning("请选择计划状态!"); return false; } if(this.chkJugeNo.Checked&&string.IsNullOrEmpty(this.txtJudgeNo.Text.Trim())) { MessageUtil.ShowTips("请输入判定炉号!"); return false; } return true; } /// /// 查询锻造炉计划 /// private void doQueryPlan() { string plnStaus = ""; string startTim = ""; string endTim = ""; if (!CheckQuery()) { return; } if (this.chkTim.Checked) { startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (this.chkPlnStaus.Checked) { plnStaus = this.cmbPlnSatus.Value.ToString(); } ArrayList parm = new ArrayList(); parm.Add(plnStaus); List listSource = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryPlnZyM", new object[] { parm, startTim, endTim, arr }, this.ob); List listSource2 = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryPlnZyC", new object[] { }, this.ob); EntityHelper.AddEntityRelation(listSource, listSource2, "HeatPlanNo", "HeatPlanNo"); PlnZyDzMEntitybindingSource.DataSource = listSource; } /// /// 查询委托信息 /// private void doQuerySubContractNo() { string judgeNo = ""; string startTim = ""; string endTim = ""; if (!CheckQuery()) { return; } if (this.chkTim.Checked) { startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (this.chkJugeNo.Checked) { judgeNo = this.txtJudgeNo.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(judgeNo); List listSource = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryEntrust", new object[] { parm, startTim, endTim, arr }, this.ob); FrgEntrustedBillEntitybindingSource.DataSource = listSource; } /// /// 委托 /// private void subContract() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要委托的炉信息!"); return; } foreach (UltraGridRow isRow in checkMagRows) { if (!isRow.HasChild()) { MessageUtil.ShowTips("无实际炉计划,不允许委外加工!"); return; } } ArrayList parmList = new ArrayList(); foreach(UltraGridRow uRow in checkMagRows) { if (uRow.Cells["SubcontractFlag"].Text.Trim().Equals("已委外")) { MessageUtil.ShowTips("该锻造炉计划已委外,不允许重复委外!"); return; } if (!uRow.Cells["Planstatus"].Text.Trim().Equals("计划下发")) { MessageUtil.ShowTips("该锻造炉计划不是准备状态,不允许委外!"); return; } foreach(UltraGridRow row in uRow.ChildBands[0].Rows) { PlnZyDzCEntity plnDzCtity = (PlnZyDzCEntity)row.ListObject; if (plnDzCtity.RealIndoubleNum.ToString3() == "0" || !StringUtil.IsInt(plnDzCtity.RealIndoubleNum.ToString3())) { MessageUtil.ShowTips("上料支数需为正整数!"); return; } plnDzCtity.WlidIn = uRow.Cells["WlidIn"].Text.ToString(); plnDzCtity.WldescIn = uRow.Cells["WldescIn"].Text.ToString(); plnDzCtity.OutwlId = uRow.Cells["OutwlId"].Text.ToString(); plnDzCtity.OutwlDesc = uRow.Cells["OutwlDesc"].Text.ToString(); plnDzCtity.Gradecode = uRow.Cells["Gradecode"].Text.ToString(); plnDzCtity.Gradename = uRow.Cells["Gradename"].Text.ToString(); plnDzCtity.OutWtOne = decimal.Parse(uRow.Cells["OutWtOne"].Text.ToString()); plnDzCtity.DiameterOut = decimal.Parse(uRow.Cells["DiameterOut"].Text.ToString()); plnDzCtity.LenGpSingleOut = uRow.Cells["LenGpSingleOut"].Text.ToString(); string plnDzCEntity = JSONFormat.Format(plnDzCtity); parmList.Add(plnDzCEntity); } } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmSubContractDP"; ccp.MethodName = "subContract"; ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName()}; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("委外加工成功!")) { doQueryPlan(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 取消委托 /// private void cancelSubContract() { this.ultraGrid2.UpdateData(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要撤销的委托信息!"); return; } ArrayList parmList = new ArrayList(); foreach(UltraGridRow uRow in checkMagRows) { FrgEntrustedBillEntity frgEntrustTity = (FrgEntrustedBillEntity)uRow.ListObject; string frgEntrustEntity = JSONFormat.Format(frgEntrustTity); parmList.Add(frgEntrustEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmSubContractDP"; ccp.MethodName = "cancelSubContract"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { doQuerySubContractNo(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void chkTim_CheckedChanged(object sender, EventArgs e) { this.StartTime.Enabled = this.EndTime.Enabled = this.chkTim.Checked; } private void chkPlnStaus_CheckedChanged(object sender, EventArgs e) { this.cmbPlnSatus.Enabled = this.chkPlnStaus.Checked; } private void chkJugeNo_CheckedChanged(object sender, EventArgs e) { this.txtJudgeNo.Enabled = this.chkJugeNo.Checked; } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if(ultraTabControl1.SelectedTab.Key == "0") { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo")) { toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("SubContract")) { toolMenu.Toolbars[0].Tools["SubContract"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract")) { toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.False; } this.chkTim.Text = "计划日期"; chkPlnStaus.Visible = true; cmbPlnSatus.Visible = true; chkJugeNo.Visible = false; txtJudgeNo.Visible = false; } else if (ultraTabControl1.SelectedTab.Key == "1") { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo")) { toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SubContract")) { toolMenu.Toolbars[0].Tools["SubContract"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract")) { toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.True; } this.chkTim.Text = "委托日期"; chkPlnStaus.Visible = false; cmbPlnSatus.Visible = false; chkJugeNo.Visible = true; txtJudgeNo.Visible = true; } } private void FrmSubContractDP_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo")) { toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract")) { toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.False; } chkJugeNo.Visible = false; txtJudgeNo.Visible = false; } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (!uRow.HasParent()) { if (e.Cell.Column.Key == "CHK" && uRow.Cells["CHK"].Text == "True") { foreach (UltraGridRow row in uRow.ChildBands[0].Rows) { row.Cells["RealIndoubleNum"].Value = row.Cells["PlanIndoubleNum"].Value.ToString3(); row.Cells["RealIndoubleWt"].Value = row.Cells["PlanIndoubleWt"].Value.ToString3(); } } return; } if (uRow == null) { return; } PlnZyDzCEntity plnZyDzCTity = (PlnZyDzCEntity)uRow.ListObject; if (plnZyDzCTity.RealIndoubleNum.Equals("") || plnZyDzCTity.RealIndoubleNum == null) { plnZyDzCTity.RealIndoubleNum = 0; } string plnZyDzEntity = JSONFormat.Format(plnZyDzCTity); if (e.Cell.Column.Key == "RealIndoubleNum") { DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryWgt", new object[] { plnZyDzEntity }, ob); if (ds.Rows.Count > 0) { ultraGrid1.ActiveRow.Cells["RealIndoubleWt"].Value = ds.Rows[0][0].ToString(); } } } } }