using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.YdmStuffManage.Entity; using System.Collections; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using Core.Mes.Client.Comm.Format; namespace Core.StlMes.Client.YdmStuffManage { public partial class FrmStuffAdjust : FrmBase { public FrmStuffAdjust() { InitializeComponent(); } private string strBound = "800603";//调差编码 /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": if (!CheckQuery()) return; doQueryData(); break; case "Add": doAdd(); break; case"Export": exportData(); break; case "Close": this.Close(); break; } } /// /// 导出 /// private void exportData() { GridHelper.ulGridToExcel(ultraGrid2, "调差实绩"); } /// /// 新增 /// private void doAdd() { this.ultraGrid1.UpdateData(); string departId = ClsBaseInfo.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob); string departMent = ClsBaseInfo.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要调差的物料!"); return; } ArrayList parmlist = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { if (Double.Parse(row.Cells["adjustActWeight"].Text.Trim()) + Double.Parse(row.Cells["actWeight"].Text.Trim())<0) { MessageUtil.ShowTips("调差量不允许大于库存量!"); return; } MatGpMEntity matZcMEntity = (MatGpMEntity)row.ListObject; string matEntity = JSONFormat.Format(matZcMEntity); parmlist.Add(matEntity); } if (MessageUtil.ShowYesNoAndQuestion("是否调差?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.Stuffmanage.FrmStuffAdjust"; ccp.MethodName = "doAddAdjust"; ccp.ServerParams = new object[] { parmlist,strBound, this.UserInfo.GetUserName(),this.UserInfo.GetDeptid(), this.UserInfo.GetDepartment(), departId, departMent }; 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 doQueryData() { if (ultraTabControl1.SelectedTab.Key == "0") { doQueryMat(); } else { doQueryStockData(); } } /// /// 查询库存信息 /// private void doQueryMat() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string[] arr = BaseMethod.WarehousePermissions(this.CustomInfo, this.ValidDataPurviewIds, this.ob); ArrayList parm = new ArrayList(); if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (this.checkHeatNo.Checked) { heatNo = this.txt_heatNo.Text.Trim(); } parm.Add(heatNo); List listSource = EntityHelper.GetData( "com.steering.pss.ydm.Stuffmanage.FrmStuffMoveOut.doQuery", new object[] { parm, strRegStart, strRegEnd, arr }, this.ob); MatGpMEntitybindingSource.DataSource = listSource; } /// /// 查询调差实绩 /// private void doQueryStockData() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string[] arr = BaseMethod.WarehousePermissions(this.CustomInfo, this.ValidDataPurviewIds, this.ob); ArrayList parm = new ArrayList(); if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (this.checkHeatNo.Checked) { heatNo = this.txt_heatNo.Text.Trim(); } parm.Add(heatNo); List listSource = EntityHelper.GetData( "com.steering.pss.ydm.Stuffmanage.FrmStuffMoveOut.doQueryStock", new object[] { parm, strRegStart, strRegEnd, arr }, this.ob); YdmGpStocktakinglistEntitybindingSource.DataSource = listSource; } /// /// 数据验证 /// /// private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("开始时间不能大于结束时间!"); return false; } if (checkHeatNo.Checked && string.IsNullOrEmpty(this.txt_heatNo.Text.Trim())) { MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } private void FrmStuffAdjust_Load(object sender, EventArgs e) { RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " 00:00:00"); RegEndTime.Value = DateTime.Parse(DateTime.Today.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd") + " 23:59:59"); BaseMethod.InitCellPosition(ultraGrid1, new string[] { "ActWeight", "ActCount", "ActLenMax", "ActLenMin", "ActTheoryWeight", "ActHeight", "ActDimater", "CuttingNum", "ActLen", "ActFixNum", "ActFixLen" }); BaseMethod.InitCellPosition(ultraGrid2, new string[] { "ActWeight", "ActCount", "ActLenMax", "ActLenMin", "ActTheoryWeight", "ActHeight", "ActDimater", "CuttingNum", "ActLen", "ActFixNum", "ActFixLen" }); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); InitBindColumn(); } /// /// 绑定列 /// private void InitBindColumn() { //材料状态 this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150101", "材料产出等待"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150102", "材料管理封锁"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150103", "材料质量封锁"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150104", "材料可编计划"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150105", "材料已编计划"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150106", "材料为余材"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150201", "材料产出等待(未综合判定)"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150202", "材料产出(已综合判定"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150203", "材料为余材(已综合判定)"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150204", "材料脱单余材(销售组织脱单)"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150301", "材料可编计划(发运控制)"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150302", "材料已编计划(发运控制)"); this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150303", "销售出厂"); //材料类别 this.ultraGrid1.DisplayLayout.ValueLists[1].ValueListItems.Add("801401", "在制品"); this.ultraGrid1.DisplayLayout.ValueLists[1].ValueListItems.Add("801402", "成品"); this.ultraGrid1.DisplayLayout.ValueLists[1].ValueListItems.Add("801403", "商品"); DataTable ds = ClsLoad.GetValueListDataTable("8014", this.ob); this.ultraGrid1.DisplayLayout.Bands[0].Columns["productFlag"].ValueList = ClsLoad.GeneralValuelist(ref ds, "BASECODE", "BASENAME"); string[] arr = new string[3] { "801501", "801502", "801503" }; DataTable dt = ClsLoad.GetValueListDataTable(arr, this.ob); this.ultraGrid1.DisplayLayout.Bands[0].Columns["matStatus"].ValueList = ClsLoad.GeneralValuelist(ref dt, "BASECODE", "BASENAME"); } private void checkHeatNo_CheckedChanged(object sender, EventArgs e) { this.txt_heatNo.Enabled = this.checkHeatNo.Checked; } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { RegStartTime.Enabled = this.chkRegTime.Checked; RegEndTime.Enabled = this.chkRegTime.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("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } this.chkRegTime.Text = "入库时间"; } else { if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } this.chkRegTime.Text = "调差时间"; } } private void FrmStuffAdjust_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; } } } }