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.StlMes.Client.YdmBase; using Core.StlMes.Client.YdmPipeManage.Tool; using System.Collections; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; namespace Core.StlMes.Client.YdmPipeManage { public partial class FrmManageBlock : FrmBase { string[] arr = null; private string MNG_LOCK_RSN_CODE=""; private string MNG_LOCK_REMARK=""; private string UNLOCK_REMARK = ""; public FrmManageBlock() { InitializeComponent(); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Add": DoAdd(); break; case "Delete": DoDelete(); break; case "Export": Export(); break; case "Close": this.Close(); break; } } private void FrmManageBlock_Load(object sender, EventArgs e) { YdmBaseClass.InitComboEditor(cmbStorgeNo, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail", "STORAGE_NO", this.ob, false); arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob); } /// /// 查询 /// private void DoQuery() { if (!ValidQuery()) return; if (ultraTabControl1.SelectedTab.Key.Equals("0")) { DoQueryMat(); } else { DoQueryLockLog(); } } /// /// 查询成品库存 /// private void DoQueryMat() { string orderNo = ""; string jusNo = ""; string storgeNo = ""; string strFeng = ""; string strMatLb = ""; if (chkOrder.Checked) { orderNo = cmbOrder.Text.Trim(); } if (chkHeatNo.Checked) { jusNo = txtJusNo.Text.Trim(); } if (chkStorge.Checked) { storgeNo = cmbStorgeNo.Value.ToString(); } if (chkFeng.Checked) { strFeng = cmbFeng.Value.ToString(); } if (ultraCheckEditor1.Checked) { strMatLb=cmbMatLB.Value.ToString(); } DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.queryInListData", new object[] { orderNo, jusNo, storgeNo, arr, strFeng, strMatLb }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); foreach (UltraGridRow uRow in ultraGrid1.Rows) { if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("已封锁")) { uRow.Cells["ACT_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.Default; uRow.Cells["ACT_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { uRow.Cells["ACT_COUNT"].Appearance.BackColor = Color.FromArgb(255, 255, 192); uRow.Cells["ACT_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.None; uRow.Cells["ACT_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } } private void DoQueryLockLog() { string jusNo = ""; string strFeng = ""; if (chkHeatNo.Checked) { jusNo = txtJusNo.Text.Trim(); } if (chkFeng.Checked) { strFeng = cmbFeng.Value.ToString(); } DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.queryLockLog", new object[] {jusNo, arr }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); } /// /// 封锁 /// private void DoAdd() { ArrayList list1 = new ArrayList(); UltraGridRow urg=ultraGrid1.ActiveRow; if (urg == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; } int count = 0; string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); foreach (UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true) { count += 1; if (uRow.Cells["ACT_COUNT"].Value.ToString().Equals("0")) { MessageUtil.ShowTips("封锁支数不能为0!"); return; } if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("已封锁")) { MessageUtil.ShowTips("你选择的数据已封锁!"); return; } } } if (count == 0) { MessageUtil.ShowTips("请选择要操作的数据!"); return; } FrmBlockReason fpdc = new FrmBlockReason(ob); fpdc.AutoSize = true; fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fpdc.Text = "封锁原因"; fpdc.ShowDialog(); if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 MNG_LOCK_RSN_CODE = fpdc.LockCode; MNG_LOCK_REMARK = fpdc.Lockmeno; } else { return; } foreach (UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true) { string lockflag = ""; if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁")) { lockflag = "0"; } else { lockflag = "1"; } ArrayList list = new ArrayList(); list.Add(uRow.Cells["ACT_COUNT"].Value.ToString()); list.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim()); list.Add(uRow.Cells["BATCH_NO"].Text.Trim()); list.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim()); list.Add(MNG_LOCK_RSN_CODE); list.Add(MNG_LOCK_REMARK); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list.Add(lockflag); list1.Add(list); } } if (MessageUtil.ShowYesNoAndQuestion("是否确认封锁?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmManageBlock"; ccp.MethodName = "addBlock"; ccp.ServerParams = new object[] { list1 }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("封锁成功!")) { DoQueryMat(); } } } /// /// 撤销封锁 /// private void DoDelete() { ArrayList list1 = new ArrayList(); UltraGridRow urg = ultraGrid1.ActiveRow; if (urg == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; } int count = 0; string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); foreach (UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true) { count += 1; if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁")) { MessageUtil.ShowTips("你选择的数据未封锁!"); return; } } } if (count == 0) { MessageUtil.ShowTips("请选择要操作的数据!"); return; } FrmUnBlockReason fpdc = new FrmUnBlockReason(); fpdc.AutoSize = true; fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fpdc.Text = "解锁原因"; fpdc.ShowDialog(); if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 UNLOCK_REMARK = fpdc.Unlockmeno; } else { return; } foreach (UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true) { string lockflag = ""; if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁")) { lockflag = "0"; } else { lockflag = "1"; } if (this.UserInfo.GetUserName() != uRow.Cells["MNG_LOCK_MAKER"].Text.Trim()) { MessageUtil.ShowTips("解锁人与封锁人不一致,不能进行此操作!"); return; } ArrayList list = new ArrayList(); list.Add(uRow.Cells["ACT_COUNT"].Value.ToString()); list.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim()); list.Add(uRow.Cells["BATCH_NO"].Text.Trim()); list.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim()); list.Add(UNLOCK_REMARK); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list.Add(lockflag); list.Add(uRow.Cells["LOCK_ID"].Text.Trim()); list1.Add(list); } } if (MessageUtil.ShowYesNoAndQuestion("是否确认解锁?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmManageBlock"; ccp.MethodName = "deleteBlock"; ccp.ServerParams = new object[] { list1 }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("解锁成功!")) { DoQueryMat(); } } } /// /// 导出 /// private void Export() { if (ultraTabControl1.SelectedTab.Key.Equals("0")) { GridHelper.ulGridToExcel(ultraGrid1, "成品库存信息"); } else { GridHelper.ulGridToExcel(ultraGrid2, "成品库存封锁日志信息"); } } /// /// 查询时验证必填项 /// /// private bool ValidQuery() { if (chkOrder.Checked && string.IsNullOrEmpty(cmbOrder.Text.Trim())) { MessageBox.Show("请输入原管理号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkHeatNo.Checked && string.IsNullOrEmpty(txtJusNo.Text.Trim())) { MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkStorge.Checked && string.IsNullOrEmpty(cmbStorgeNo.Text.Trim())) { MessageBox.Show("请选择仓库!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } private void chkOrder_CheckedChanged(object sender, EventArgs e) { this.cmbOrder.Enabled = this.chkOrder.Checked; } private void chkHeatNo_CheckedChanged(object sender, EventArgs e) { this.txtJusNo.Enabled = this.chkHeatNo.Checked; } private void chkStorge_CheckedChanged(object sender, EventArgs e) { this.cmbStorgeNo.Enabled = this.chkStorge.Checked; } private void chkFeng_CheckedChanged(object sender, EventArgs e) { this.cmbFeng.Enabled = this.chkFeng.Checked; } /// /// 输入支数变重量 /// /// /// private void ultraGrid1_CellChange(object sender, CellEventArgs e) { UltraGridRow urg = ultraGrid1.ActiveRow; if (e.Cell.Column.Key.Equals("ACT_COUNT")) { if (e.Cell.Row.Cells["ACT_COUNT"].Value == null) { e.Cell.Row.Cells["ACT_COUNT"].Value = "0"; e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0"; } else { ultraGrid1.UpdateData(); string actCount = e.Cell.Row.Cells["ACT_COUNT"].Value.ToString(); if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["ACT_COUNT"].Value = "0"; e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0"; } else { ArrayList list = new ArrayList(); list.Add(e.Cell.Row.Cells["STORAGE_NO"].Text.Trim()); list.Add(e.Cell.Row.Cells["JUDGE_STOVE_NO"].Text.Trim()); list.Add(e.Cell.Row.Cells["BATCH_NO"].Text.Trim()); list.Add(e.Cell.Row.Cells["BATCH_GROUD_NO"].Text.Trim()); list.Add((int.Parse(actCount)+1).ToString()); DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.checkMatWeight", new object[] { list }, this.ob); if (dt != null && dt.Rows.Count > 0) { e.Cell.Row.Cells["ACT_WEIGHT"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString(); e.Cell.Row.Cells["ACT_COUNT"].Value = dt.Rows[0]["ACT_COUNT"].ToString(); } else { e.Cell.Row.Cells["ACT_COUNT"].Value = "0"; e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0"; } } } } } private void FrmManageBlock_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (e.Tab.TabControl.SelectedTab.Key.Equals("0")) { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } chkOrder.Visible = true; cmbOrder.Visible = true; chkStorge.Visible = true; cmbStorgeNo.Visible = true; chkFeng.Visible = true; cmbFeng.Visible = true; ultraCheckEditor1.Visible = true; cmbMatLB.Visible = true; } else { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } chkOrder.Visible = false; cmbOrder.Visible = false; chkStorge.Visible = false; cmbStorgeNo.Visible = false; chkFeng.Visible = false; cmbFeng.Visible = false; ultraCheckEditor1.Visible = false; cmbMatLB.Visible = false; } } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { this.cmbMatLB.Enabled = this.ultraCheckEditor1.Checked; } } }