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.YdmBcPipeManage.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using Newtonsoft.Json; 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 { public partial class FrmBillInStorage : FrmBase { private string[] arr = null; public FrmBillInStorage() { InitializeComponent(); this.IsLoadUserView = true; EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); ultraGrid2.DisplayLayout.Bands[0].Columns["Pdjg"].Hidden = false; } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQuery(); break; case "Add": doAdd(); break; case "Export": exportData(); break; case "Delete": doDelete(); break; } } private void exportData() { if (ultraTabControl1.ActiveTab.Key.Equals("jieshou")) { GridHelper.ulGridToExcel(this.ultraGrid1, "未接收提报"); } else { GridHelper.ulGridToExcel(this.ultraGrid2, "已接收提报"); } } private void doDelete() { this.ultraGrid2.UpdateData(); IQueryable rows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); ArrayList list = new ArrayList(); foreach (var row in rows) { YdmBcInlistEntity entity = row.ListObject as YdmBcInlistEntity; list.Add(JSONFormat.Format(entity)); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmBillInStorage"; ccp.MethodName = "doDelete"; ccp.ServerParams = new object[] { list }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips("撤销成功!"); doQuery(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void doAdd() { this.ultraGrid1.UpdateData(); IQueryable rows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); ArrayList list = new ArrayList(); foreach(var row in rows){ BillInStorageEntity entity = row.ListObject as BillInStorageEntity; int m = 0; foreach (var buttress in entity.ButtressList) { if (!StringUtil.IsInt(buttress.ActCount) || buttress.ActCount == "") { MessageUtil.ShowTips("支数请输入整数!"); return; } if (buttress.LocationNo.Equals("") || buttress.LaryNo.Equals("")) { MessageUtil.ShowTips("提单" + entity.BillNo + "炉号" + entity.JudgeStoveNo + "料位、层号不能为空!"); return; } m = m + int.Parse(buttress.ActCount.ToString3()); } if (!(int.Parse(row.Cells["ActCount"].Text.ToString3()) == m)) { MessageUtil.ShowTips("提单" + entity.BillNo + "炉号" + entity.JudgeStoveNo + "分配料位支数与出库单对应支数不符!"); return; } entity.CreateName = UserInfo.GetUserName(); entity.StorageNo = cmbStorageNo.Value.ToString(); entity.StorageName = cmbStorageNo.Text.ToString(); list.Add(JsonConvert.SerializeObject(entity)); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmBillInStorage"; ccp.MethodName = "doAdd"; ccp.ServerParams = new object[] { list }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips("接收成功!"); doQuery(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void doQuery() { string start = ""; string end = ""; string billNo = ""; string judgeStoveNo = ""; string OrderNo = ""; string flagStoveNo = ""; if (chkOutTime.Checked) { start = startTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); end = endTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (ChkBillNo.Checked) { billNo = txtBillNo.Value.ToString2(); } if (ChkOrderNo.Checked) { OrderNo=txtOrderNo.Value.ToString2(); } if(chkJudgeNo.Checked){ judgeStoveNo = txtJudgeNo.Value.ToString2(); } if (chkFlagJudgeNo.Checked) { flagStoveNo = txtFlagJudgeNo.Value.ToString2(); } if (ultraTabControl1.ActiveTab.Key.Equals("jieshou")) { List listSource = EntityHelper.GetData( "com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQuery", new object[] { start, end, billNo,OrderNo }, this.ob); billInStorageEntityBindingSource.DataSource = listSource; } else { List listSource = EntityHelper.GetData( "com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQuery1", new object[] { start, end, billNo, judgeStoveNo, OrderNo, flagStoveNo }, this.ob); ydmBcInlistEntityBindingSource.DataSource = listSource; } } private void FrmBillInStorage_Load(object sender, EventArgs e) { arr = WarehousePermissionsStore1(this.ValidDataPurviewIds, this.ob); initStorageNo(); 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"); } /// /// 仓库数据权限 /// /// 页面配制信息(自定义参数) /// 用户数据权限 /// 可查看仓库组成的字符串 public static string[] WarehousePermissionsStore1(String[] validDataPurviewIds, OpeBase ob) { DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.getWarehousePermissionsStore", new object[] { validDataPurviewIds }, ob); if (dt != null && dt.Rows.Count > 0) { string[] storages = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { storages[i] = dt.Rows[i]["STORAGE_NO"].ToString(); } return storages; } else { return new string[1] { "" }; } } private void initStorageNo() { var dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQueryStorageArr", new object[] { arr }, ob); cmbStorageNo.DataSource = dt; cmbStorageNo.DisplayMember = "STORAGE_NAME"; cmbStorageNo.ValueMember = "STORAGE_NO"; cmbStorageNo.SelectedIndex = 0; } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraTabControl1.SelectedTab.Key == "jieshou") { chkOutTime.Text = "提单时间"; label1.Visible = true; cmbStorageNo.Visible = true; chkJudgeNo.Visible = false; txtJudgeNo.Visible = false; chkFlagJudgeNo.Visible = false; txtFlagJudgeNo.Visible = false; if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Add")) toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Delete")) toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } else { chkOutTime.Text = "入库时间"; label1.Visible = false; cmbStorageNo.Visible = false; chkJudgeNo.Visible = true; txtJudgeNo.Visible = true; chkFlagJudgeNo.Visible = true; txtFlagJudgeNo.Visible = true; if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Add")) toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("Delete")) toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } } private void FrmBillInStorage_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Add")) toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Delete")) toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { try { ultraGrid1.UpdateData(); UltraGridRow ugr = this.ultraGrid1.ActiveRow; ArrayList list = new ArrayList(); list.Add(ugr.Cells["billNo"].Text.Trim()); list.Add(ugr.Cells["judgeStoveNo"].Text.Trim()); list.Add(ugr.Cells["batchNo"].Text.Trim()); list.Add(ugr.Cells["groupNo"].Text.Trim()); DataTable dt1 = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.queryMativery", new object[] { list }, ob); GridHelper.CopyDataToDatatable(dt1, this.dataTable1, true); this.dataTable1.AcceptChanges(); } catch{ } } private void cmbLocationNo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow.ParentRow; string storageNo = ""; if (this.cmbStorageNo.Text != "") { storageNo = this.cmbStorageNo.Value.ToString2(); } else { storageNo = row.Cells["TarStorageNo"].Text; } DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQueryLocation", new object[] { storageNo }, ob); dt.Columns["LOCATION_NAME"].Caption = "料位名称"; BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "LOCATION_NAME", "LOCATION_NO"); baseInfo.Shown += new EventHandler((a, b) => { var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where( c => c.GetValue("LOCATION_NO") == this.cmbLocationNo.Tag.ToString2()).FirstOrDefault(); if (actRow != null) actRow.Activate(); }); if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.ultraGrid1.ActiveCell.Value = baseInfo.ChoicedRow.GetValue("LOCATION_NAME"); this.ultraGrid1.ActiveCell.Row.Cells["LocationNo"].Value = baseInfo.ChoicedRow.GetValue("LOCATION_NO"); } } } }