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.Tool; using Core.StlMes.Client.YdmStuffManage.Entity; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Infragistics.Win; using System.Collections; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.YdmStuffManage { public partial class FrmStuffInventoryOut : FrmBase { public FrmStuffInventoryOut() { InitializeComponent(); } private string strBand = "800802";//盘亏 private string strBound = "800602";//调差类型(盘亏) private string[] arr = null; private void FrmStuffInventoryOut_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.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); BaseMethod.InitCellPosition(ultraGrid1, new string[] { "ActWeight", "ActCount", "Dimater", "ActLen", "FixNum", "FixLen", "ActCount" }); BaseMethod.InitCellPosition(ultraGrid2, new string[] { "ActWeight", "ActCount", "Dimater", "ActLen", "FixNum", "FixLen" }); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); ultraGrid1.DisplayLayout.Bands[0].Columns["StocktakingRsnName"].Header.Caption = "盘亏原因"; arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob); //arr = this.ValidDataPurviewIds; 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", "商品"); //交库状态 this.ultraGrid1.DisplayLayout.ValueLists[2].ValueListItems.Add("00", "合格"); this.ultraGrid1.DisplayLayout.ValueLists[2].ValueListItems.Add("11", "待处理"); this.ultraGrid1.DisplayLayout.ValueLists[2].ValueListItems.Add("22", "废品"); 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"); } /// /// 重写基类方法 /// /// /// 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 doQueryData() { if (ultraTabControl1.SelectedTab.Key == "0") { doQueryMat(); } else { doQueryStockData(); } } /// /// 查询库存信息 /// private void doQueryMat() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string stoveNo = ""; 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(); } if(this.chkStoveNo.Checked) { stoveNo = this.txtStoveNo.Text.Trim(); } parm.Add(heatNo); parm.Add(stoveNo); List listSource = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmStuffInventoryOut.doQueryMat", new object[] { parm, strRegStart, strRegEnd, arr }, this.ob); MatGpMEntitybindingSource.DataSource = listSource; } /// /// 查询盘亏实绩 /// private void doQueryStockData() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string stoveNo = ""; 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(); } if(chkStoveNo.Checked) { stoveNo = this.txtStoveNo.Text.Trim(); } parm.Add(heatNo); parm.Add(stoveNo); List listSource = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmStuffInventoryOut.doQueryStock", new object[] { parm, strRegStart, strRegEnd, arr }, this.ob); YdmGpStocktakinglistEntitybindingSource.DataSource = listSource; } /// /// 盘亏 /// private void doAdd() { this.ultraGrid1.UpdateData(); string departId = ClsLoad.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob); string departMent = ClsLoad.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 (!StringUtil.IsInt(row.Cells["ActCount"].Text.Trim())) { MessageUtil.ShowTips("盘亏支数必须为整数!"); return; } if (row.Cells["StocktakingRsnName"].Text.Trim() == "") { MessageUtil.ShowTips("盘亏原因不能为空"); return; } MatGpMEntity2 matZcMEntity = (MatGpMEntity2)row.ListObject; string matEntity = JSONFormat.Format(matZcMEntity); parmlist.Add(matEntity); } if (MessageUtil.ShowYesNoAndQuestion("是否盘亏?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmStuffInventoryOut"; ccp.MethodName = "doAddOut"; ccp.ServerParams = new object[] { parmlist, strBound,strBand, 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 exportData() { GridHelper.ulGridToExcel(ultraGrid2, "盘亏实绩"); } /// /// 数据验证 /// /// 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 FrmStuffInventoryOut_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; } } 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 checkHeatNo_CheckedChanged(object sender, EventArgs e) { this.txt_heatNo.Enabled = this.checkHeatNo.Checked; } private void chkStoveNo_CheckedChanged(object sender, EventArgs e) { this.txtStoveNo.Enabled = this.chkStoveNo.Checked; } private void txtStoveNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { if (!CheckQuery()) return; doQueryData(); } } private void txt_heatNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { if (!CheckQuery()) return; doQueryData(); } } } }