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.Mes.Client.Comm.Control; using System.Collections; using Core.Mes.Client.Comm.Server; using Core.StlMes.Client.YdmPipeManage.Controls; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using Core.StlMes.Client.YdmPipeManage.Tool; namespace Core.StlMes.Client.YdmPipeManage { public partial class frmPipeMoveIn : FrmBase { private string strOutbound = "800703";//入库类型编码 private string strOutname = "";//入库类型名称 private string strInMemo = "";//入库简码 private int isSelect = 0;//新增 private int isDelete = 0;//废除 public frmPipeMoveIn() { InitializeComponent(); } private void frmPipeMoveIn_Load(object sender, EventArgs e) { this.txtOutList.Enabled = false; RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " 00:00:00"); //DateTime.Today;// ; RegEndTime.Value = DateTime.Parse(DateTime.Today.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd") + " 23:59:59");// DateTime.Parse(DateTime.Now.ToString("yyyy年MM月dd日") + " 23:59:59"); ProEndTime.DateTime = DateTime.Parse(DateTime.Now.ToString("yyyy年MM月dd日") + " 23:59:59"); //ClsBaseInfo.SetComboItemHeight(cmbProvin);//车号 if (CustomInfo != "A") { BaseMethod.InitStorage(cmbWareEdi, CustomInfo, this.ValidDataPurviewIds, this.ob); BaseMethod.InitStorage(cmbWarehous, CustomInfo, this.ValidDataPurviewIds, this.ob); }else { BaseMethod.InitStorage(cmbWareEdi,this.ValidDataPurviewIds, this.ob); BaseMethod.InitStorage(cmbWarehous,this.ValidDataPurviewIds, this.ob); } } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQuery(); break; case "Add": doAdd(); break; case "Delete": doDelete(); break; case "Refresh": doRefresh(); break; case "Export": if (ultraTabControl1.SelectedTab.Key.Equals("Out")) { GridHelper.ulGridToExcel(ultraGrid1, "倒库实绩表"); } else { GridHelper.ulGridToExcel(ultraGrid2, "收料入库实绩表"); } break; case "Close": this.Close(); break; } } /// /// 绑定原料位号下拉框 /// private void Init() { //绑定料位号 string strStorage = ""; if (cmbWarehous.SelectedIndex != -1) { strStorage = cmbWarehous.Value.ToString(); } ArrayList pram = new ArrayList(); pram.Add(strStorage); PipeManageClass.BindLocationInfo(pram, cmbMaterial, ob); } /// /// 绑定目标料位号下拉框 /// private void InitM() { //绑定料位号 string strStorage = ""; if (cmbWareEdi.Value == null) { return; } else { strStorage = cmbWareEdi.Value.ToString(); } ArrayList pram = new ArrayList(); pram.Add(strStorage); PipeManageClass.BindLocationInfo(pram, cmbMaterialEdi, ob); } /// /// 查询 /// private void doQuery() { if (!CheckQuery()) return; string strRegStart = "1999-01-01 00:00:00"; string strRegEnd = "2100-01-01 00:00:00"; string strProStart = ""; string strProEnd = ""; string strWare = "";//仓库号 string strMat = "";//料位号 string strFurnace = ""; string strBatch = ""; string moveInDoc = ""; string userId = UserInfo.GetDeptid();//科室 string userMent = BaseMethod.GetDepartIdBySectionId(UserInfo.GetDeptid(), ob);//部门 if (chkWarehous.Checked) { strWare = cmbWarehous.Value.ToString(); } if (chkMaterial.Checked) { strMat = cmbMaterial.Value.ToString(); } if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (chkProTime.Checked) { strProStart = ProStartTime.Value.ToString(); strProEnd = ProEndTime.Value.ToString(); } if (chkFurnace.Checked) { strFurnace = txtFurnace.Text.Trim(); } if (chkBatch.Checked) { strBatch = txtBatch.Text.Trim(); } if (chkDk.Checked) { moveInDoc = txtOutList.Text.Trim(); } ArrayList pram = new ArrayList(); pram.Add(strWare); pram.Add(strMat); pram.Add(strFurnace); pram.Add(strRegStart); pram.Add(strRegEnd); pram.Add(moveInDoc); string[] storges = null; if (CustomInfo != "A") { storges = BaseMethod.WarehousePermissions(CustomInfo, this.ValidDataPurviewIds, this.ob); if (storges == null) return; if (ultraTabControl1.SelectedTab.Key.Equals("Out")) { DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryOutPerfo", new object[] { pram, storges }, ob); GridHelper.CopyDataToDatatable(dt, this.dataMove, true); UltraGridBand ugb = this.ultraGrid1.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { ugb.Columns["STD_NAME"], ugb.Columns["MODEL_DESC"], ugb.Columns["PLINE_NAME"] }; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, col); this.ultraGrid1.DisplayLayout.Override.CellAppearance.TextTrimming = TextTrimming.EllipsisCharacter; } else { DataTable dtIn = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryInListInfo", new object[] { pram, storges, strOutbound }, ob); GridHelper.CopyDataToDatatable(dtIn, this.dataIn, true); UltraGridBand ugb = this.ultraGrid2.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { ugb.Columns["STD_NAME"], ugb.Columns["MODEL_DESC"], ugb.Columns["PLINE_NAME"] }; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, col); this.ultraGrid2.DisplayLayout.Override.CellAppearance.TextTrimming = TextTrimming.EllipsisCharacter; } } else { storges = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, ob); if (storges == null) return; if (ultraTabControl1.SelectedTab.Key.Equals("Out")) { DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryOutPerfo1", new object[] { pram, storges,"0" }, ob); GridHelper.CopyDataToDatatable(dt, this.dataMove, true); UltraGridBand ugb = this.ultraGrid1.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { ugb.Columns["STD_NAME"], ugb.Columns["MODEL_DESC"], ugb.Columns["PLINE_NAME"] }; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, col); this.ultraGrid1.DisplayLayout.Override.CellAppearance.TextTrimming = TextTrimming.EllipsisCharacter; } else { DataTable dtIn = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryInListInfo1", new object[] { pram, storges, strOutbound,"0" }, ob); GridHelper.CopyDataToDatatable(dtIn, this.dataIn, true); UltraGridBand ugb = this.ultraGrid2.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { ugb.Columns["STD_NAME"], ugb.Columns["MODEL_DESC"], ugb.Columns["PLINE_NAME"] }; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, col); this.ultraGrid2.DisplayLayout.Override.CellAppearance.TextTrimming = TextTrimming.EllipsisCharacter; } } } /// /// 新增倒库入库 /// private void doAdd() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; //if(cmbWareEdi.SelectedIndex==-1) //{ // MessageUtil.ShowTips("目标仓库号不能为空,请选择!"); // return; //} DataTable dt = PipeManageClass.getComTypeInfo(strOutbound, ob); if (dt.Rows.Count <= 0) { MessageUtil.ShowTips("入库类型不能为空,请确认基础信息是否有对应的入库类型信息!"); return; } else { strOutname = dt.Rows[0]["BASENAME"].ToString(); strInMemo = dt.Rows[0]["MEMO"].ToString(); } int n = 0; // string strCar = cmbProvin.Text.ToString() + txtCar.Text.Trim(); ArrayList list = new ArrayList(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHOOSE"].Text) == true) { n += 1; ArrayList addList = new ArrayList(); addList.Add(uRow.Cells["ACT_COUNT"].Text.Trim()); addList.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim()); addList.Add(uRow.Cells["BATCH_NO"].Text.Trim()); addList.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim()); addList.Add(uRow.Cells["OUTSTOCK_DOC"].Text.Trim()); addList.Add(this.UserInfo.GetUserOrder());//班次 addList.Add(this.UserInfo.GetUserGroup());//班组 addList.Add(this.UserInfo.GetUserName()); addList.Add(strOutbound); addList.Add(strOutname); addList.Add(cmbWareEdi.Value.ToString()); addList.Add(cmbMaterialEdi.Text.ToString()); addList.Add(uRow.Cells["VEHICLE_NO"].Text.Trim()); list.Add(addList); } } if (n ==0) { MessageUtil.ShowTips("请选择需要收料入库的数据!"); return; } 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.FrmPipeMoveIn"; ccp.MethodName = "addInList"; ccp.ServerParams = new object[] { list, strInMemo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception e) { 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("收料入库成功!")) { doQuery(); } } } /// /// 入库作废 /// private void doDelete() { UltraGridRow ugr = this.ultraGrid2.ActiveRow; int count = 0; if (ugr == null) return; ArrayList list = new ArrayList(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow uRow in ultraGrid2.Rows) { if (Convert.ToBoolean(uRow.Cells["CHOOSE"].Text) == true) { count += 1; DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryOutCount", new object[] { uRow.Cells["JUDGE_STOVE_NO"].Text.Trim(), uRow.Cells["BATCH_NO"].Text.Trim(), uRow.Cells["BATCH_GROUD_NO"].Text.Trim() }, ob); if (dt.Rows.Count <= 0) { MessageUtil.ShowTips("该炉已不在库,不能作废!"); return; } else { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[0]["MAT_STATUS"].ToString().Equals("80150302")) { MessageUtil.ShowTips("该炉已编提单,不能作废!"); return; } } //if (dt.Rows[0]["act_count"].ToString() == "") //{ // MessageUtil.ShowTips("该入库单号支数与出库支数不匹配,不能作废!"); // return; } ArrayList pram = new ArrayList(); pram.Add(uRow.Cells["INSTOCK_DOC"].Text.Trim()); pram.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim()); pram.Add(uRow.Cells["BATCH_NO"].Text.Trim()); pram.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim()); pram.Add(uRow.Cells["act_count"].Text.Trim()); pram.Add(this.UserInfo.GetUserName()); list.Add(pram); } } if (count == 0) { MessageUtil.ShowTips("请选择您要撤销的记录!"); return; } 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.FrmPipeMoveIn"; ccp.MethodName = "upDateInfo"; ccp.ServerParams = new object[] { list, strOutbound }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception e) { 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("撤销收料成功!")) { doQuery(); } } } /// /// 刷新 /// private void doRefresh() { cmbWarehous.SelectedIndex = -1; //cmbWareEdi.SelectedIndex = -1; //BaseMethod.InitStorage(cmbWareEdi, CustomInfo, this.ValidDataPurviewIds, this.ob); BaseMethod.InitStorage(cmbWarehous, CustomInfo, this.ValidDataPurviewIds, this.ob); //Init(); //InitM(); } ///查询时验证必填项 private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("开始时间不能大于结束时间!"); return false; } if (DataTimeUtil.JudgeTime(DateTime.Parse(ProStartTime.Value.ToString()), DateTime.Parse(ProEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("生产开始时间不能大于结束时间!"); return false; } if (chkWarehous.Checked && string.IsNullOrEmpty(cmbWarehous.Text.Trim())) { MessageBox.Show("请选择仓库号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkMaterial.Checked && string.IsNullOrEmpty(cmbMaterial.Text.Trim())) { MessageBox.Show("请选择料位号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkFurnace.Checked && string.IsNullOrEmpty(txtFurnace.Text.Trim())) { MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkBatch.Checked && string.IsNullOrEmpty(txtBatch.Text.Trim())) { MessageBox.Show("请输入批号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkDk.Checked && string.IsNullOrEmpty(txtOutList.Text.Trim())) { MessageBox.Show("请输入单号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } /// /// 验证Checked是否勾选,显示控件可编辑 打勾表示可编辑,不打勾表示不可编辑 /// /// /// private void chk_CheckedChanged(object sender, EventArgs e) { if (chkWarehous.Checked) { cmbWarehous.Enabled = true; } else { cmbWarehous.Enabled = false; } if (chkMaterial.Checked) { cmbMaterial.Enabled = true; } else { cmbMaterial.Enabled = false; } if (chkFurnace.Checked) { txtFurnace.Enabled = true; } else { txtFurnace.Enabled = false;} if (chkBatch.Checked) { txtBatch.Enabled = true; } else { txtBatch.Enabled = false; } if (chkRegTime.Checked) { RegStartTime.Enabled = true; RegEndTime.Enabled = true; } else { RegStartTime.Enabled = false; RegEndTime.Enabled = false; } if (chkProTime.Checked) { ProStartTime.Enabled = true; ProEndTime.Enabled = true; } else { ProStartTime.Enabled = false; ProEndTime.Enabled = false; } } /// /// 根据原仓库号改变绑定原料位号 /// /// /// private void cmbWarehous_TextChanged(object sender, EventArgs e) { Init(); } /// /// 根据目标仓库号改变绑定目标料位号 /// /// /// private void cmbWareEdi_TextChanged(object sender, EventArgs e) { InitM(); } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Key.Equals("Out")) { this.chkRegTime.Text = "倒库时间"; chkDk.Text = "倒库单号"; toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; //chkMaterial.Visible = false; //cmbMaterial.Visible = false; //chkWarehous.Visible = false; //cmbWarehous.Visible = false; //chkDk.Visible = true; //txtOutList.Visible = true; } else { this.chkRegTime.Text = "收料时间"; chkDk.Text = "入库单号"; toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; //chkMaterial.Visible = true; //cmbMaterial.Visible = true; //chkWarehous.Visible = true; //cmbWarehous.Visible = true; //chkDk.Visible = false; //txtOutList.Visible = false; } } private void txtOutList_KeyUp(object sender, KeyEventArgs e) { ArrayList list = new ArrayList(); switch (e.KeyCode) { case Keys.Enter: if (txtOutList.Text.Trim() != "") { if (!PipeManageClass.IsOnlyLetterAndDigit(txtOutList.Text)) { return; } string[] strflg = txtOutList.Text.Trim().ToString().Split(new char[] { '/' }); for (int i = 0; i < strflg.Length; i++) { list.Add(strflg[i]); } } else { list.Add(""); } DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMoveIn.queryOutListSend", new object[] { list }, ob); GridHelper.CopyDataToDatatable(dt, this.dataMove, true); GridHelper.RefreshAndAutoSize(ultraGrid1); break; } } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("CHOOSE")) { txtOutList.Text = ""; foreach (Infragistics.Win.UltraWinGrid.UltraGridRow uRow in ultraGrid1.Rows) { if (Convert.ToBoolean(uRow.Cells["CHOOSE"].Value)) { // txtOutList.Text += uRow.Cells["OUTSTOCK_DOC"].Text.Trim() + "/"; } } //if (txtOutList.Text.Trim() == "") return; //txtOutList.Text = txtOutList.Text.Substring(0, txtOutList.Text.Length - 1); if (Convert.ToBoolean(e.Cell.Value)) { isSelect += 1; } else isSelect -= 1; } } private void txtOutList_KeyPress(object sender, KeyPressEventArgs e) { if (!PipeManageClass.IsOnlyLetterAndDigit(txtOutList.Text)&&e.KeyChar!=(char)13&&e.KeyChar!=(char)8) { e.Handled = true; MessageUtil.ShowTips("只能输入数字、字母和/!"); txtOutList.Focus();//让文本框获取焦点 txtOutList.Select(txtOutList.TextLength, 0);//设置光标的位置到文本尾 txtOutList.ScrollToCaret();//滚动到控件光标处 } else { e.Handled = false; } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key.Equals("CHOOSE")) { if (Convert.ToBoolean(e.Cell.Text) == true) { isDelete += 1; } else isDelete -= 1; } } private void frmPipeMoveIn_Shown(object sender, EventArgs e) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } private void txtFurnace_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { doQuery(); } } private void chkDk_CheckedChanged(object sender, EventArgs e) { txtOutList.Enabled = chkDk.Checked; } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHOOSE"].Value = true; } } } private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHOOSE"].Value = true; } } } } }