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 Core.Mes.Client.Comm.Tool; using System.Collections; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Control; using System.Threading; using Core.StlMes.Client.YdmBcPipeManage.Entity; namespace Core.StlMes.Client.YdmBcPipeManage { public partial class FrmFilpInStorage : FrmBase { private bool flag = false; public FrmFilpInStorage() { this.IsLoadUserView = true; InitializeComponent(); try { string[] portnames = System.IO.Ports.SerialPort.GetPortNames(); //获取计算机串口数组 if (portnames is Infragistics.Win.UltraWinGrid.Nullable || portnames.Length < 1) { portnames = new string[10] { "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "COM10" }; } txtCom.DataSource = portnames; } catch (Exception eex3) { MessageBox.Show(eex3.Message); } } private TalentICTGXControl.TalentICTGXClass icClass; private string strInbound = "800703";//入库类型编码 private string[] arr = null; private void FrmFilpInStorage_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"); this.outStartTim.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.outEndTim.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); BaseMethod.InitCellPosition(ultraGrid1, new string[] { "ActWeight", "ActCount", "ActDimater", "ActHeight", "ActLenMin", "ActLenMax", "ActLen" }); BaseMethod.InitCellPosition(ultraGrid2, new string[] { "ActWeight", "ActCount", "ActDimater", "ActHeight", "ActLenMin", "ActLenMax", "ActLen" }); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid3.DisplayLayout.Bands[0]); //arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob); arr = BaseMethod.WarehousePermissionsStore1(this.ValidDataPurviewIds, this.ob); this.txtCom.SelectedIndex = 0; cmbLayNo.SelectedIndex = 0; initStorageNo(); flag = true; if (this.CustomInfo.Equals("800202,800301-lishi")) { ultraTabControl1.Tabs[0].Visible = false; } } /// /// 加载仓库号 /// private void initStorageNo() { //BaseMethod.InitComboEditorWithParmArr(cmbStorageNo, "com.steering.ydm.bc.FrmFilpInStorage.doQueryStorageArr", "STORAGE_NO", this.ob, false, new object[] { arr }); BaseMethod.InitComboEditorWithParmArr(cmbStorageNo, "com.steering.mes.SendRecive.FrmFilpInStorage.doQueryStorageArr", "STORAGE_NO", this.ob, false, new object[] { arr }); cmbStorageNo.SelectedIndex = 0; } private void cmbStorageNo_ValueChanged(object sender, EventArgs e) { //initLocation(this.cmbStorageNo.Value.ToString2()); } /// /// 绑定料位 /// private void initLocation(string storageNo) { //BaseMethod.InitComboEditorWithParmArr(cmbLocationNo, "Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryLocation", "LOCATION_NO", this.ob, false, storageNo); //cmbLocationNo.SelectedIndex = 0; //cmbLayNo.SelectedIndex = 0; } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case"ReadCard": readData(); break; case"QueryDoc": doQueryOutList1(); break; case "Query": if (!CheckQuery()) return; doQueryData(); break; case "Add": doAdd(); break; case "Delete": doDelete(); break; case"GetPossWgt": getPossWgt(); break; case "GetPossWgtTH": getPossWgtTH(); break; case"Print": printInDoc(); break; case "PrintQR": printQRCode(); break; case"MendPrint": mendPrintInDoc(); break; case"Export": exportData(); break; case "Close": close(); break; } } /// /// 导出 /// private void exportData() { GridHelper.ulGridToExcel(ultraGrid1, "收料实绩总汇"); } private void close() { disConnect(); this.Close(); } /// /// 数据验证 /// /// private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("开始时间不能大于结束时间!"); return false; } if (chkFurnace.Checked && string.IsNullOrEmpty(txtFurnace.Text.Trim())) { MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (chkDk.Checked && string.IsNullOrEmpty(txtOutList.Text.Trim())) { MessageUtil.ShowTips("请输入倒库/入库单号!"); return false; } return true; } /// /// 读卡 /// private void readData() { WaitingForm2 wf = new WaitingForm2("正在加载,请稍候...."); try { string outDoc = ""; if (!ConnectCard(wf)) { disConnect(); wf.Close(); return; } icClass.PrepareReadTemp(); //bool b = icClass.DoReadTemp(1, 39); if (icClass.DoReadTemp(1, 39)) { int count = icClass.RecordCount; if (count == 0) //判断卡上的记录数 { wf.Close(); MessageUtil.ShowTips("IC卡无记录,请核实!"); disConnect(); return; } else { outDoc = icClass.taskid.ToString2(); } //disConnect(); } else { wf.Close(); MessageUtil.ShowTips("读取IC卡出现错误!"); disConnect(); return; } doQueryOutList(outDoc); } catch(Exception e) { MessageUtil.ShowTips(e.Message); } finally { disConnect(); wf.Close(); } } /// /// 关闭连接 /// /// private bool disConnect() { try { if (icClass.Active) { icClass.AlarmBeep(1); //设置Active属性为false,则断开与读卡器的连接。 icClass.ToFindCard = false; icClass.Active = false; return true; } else { return true; } } catch(Exception e) { return true; } } /// /// 查询 /// private void doQueryData() { doQueryInList(); } /// /// 查询倒库实绩 /// private void doQueryOutList(string outDoc) { // List listSource = EntityHelper.GetData( //"com.steering.ydm.bc.FrmFilpInStorage.doQueryOutList", new object[] { outDoc }, this.ob); List listSource = EntityHelper.GetData( "com.steering.mes.SendRecive.FrmFilpInStorage.doQueryOutList", new object[] { outDoc }, this.ob); ydmBcOutlistEntity1BindingSource.DataSource = listSource; } /// /// 查询倒库实绩 /// private void doQueryOutList1() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string outDoc = ""; string flagStoveNo = ""; ArrayList parm = new ArrayList(); if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); strRegEnd = RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (chkFurnace.Checked) { heatNo = this.txtFurnace.Text.Trim(); } if (this.chkFlagStove.Checked) { flagStoveNo = this.txtFlagStove.Text.Trim(); } if (chkDk.Checked) { outDoc = this.txtOutList.Text.Trim(); } parm.Add(strRegStart); parm.Add(strRegEnd); parm.Add(heatNo); parm.Add(outDoc); parm.Add(flagStoveNo); // List listSource = EntityHelper.GetData( //"com.steering.ydm.bc.FrmFilpInStorage.doQueryOutList", new object[] { parm, arr }, this.ob); List listSource = EntityHelper.GetData( "com.steering.mes.SendRecive.FrmFilpInStorage.doQueryOutList", new object[] { parm, arr }, this.ob); ydmBcOutlistEntity1BindingSource.DataSource = listSource; foreach (UltraGridRow row in ultraGrid2.Rows) { if (!row.Cells["Pipmemo"].Text.Equals("")) { row.Cells["Pipmemo"].Appearance.BackColor = System.Drawing.Color.OrangeRed; } } } void icClass_OnFindCard() { icClass.OnFindCard -= new TalentICTGXControl.ITalentICTGXEvents_OnFindCardEventHandler(icClass_OnFindCard); icClass.OnDropCard += new TalentICTGXControl.ITalentICTGXEvents_OnDropCardEventHandler(icClass_OnDropCard); } void icClass_OnDropCard() { //将OnDropCard事件从委托链中删除,并加入OnFindCard事件到委托链中。 //这样就实现了程序中自动寻卡的功能。 icClass.OnDropCard -= new TalentICTGXControl.ITalentICTGXEvents_OnDropCardEventHandler(icClass_OnDropCard); icClass.OnFindCard += new TalentICTGXControl.ITalentICTGXEvents_OnFindCardEventHandler(icClass_OnFindCard); } /// /// 连接读卡器 /// /// private bool ConnectCard(WaitingForm2 wf) { try { //if (icClass == null) //{ // icClass = new TalentICTGXControl.TalentICTGXClass(); // //委托OnFindCard事件,icClass_OnFindCard是该事件要执行的方法。 // //此事件在当IC卡放到读卡器上时触发。 // icClass.OnFindCard += new TalentICTGXControl.ITalentICTGXEvents_OnFindCardEventHandler(icClass_OnFindCard); //} icClass = IcReadWrite.getIcClass(); int comNum = (short)(short.Parse(txtCom.Text.Replace("COM", "")) - 1); icClass.CommPort = comNum; if (!icClass.Active) { //利用ToFindCard属性连接读卡器,启动OnFindCard事件。 icClass.ToFindCard = true; if (icClass.Active) { //AlarmBeep(int times)方法实现了让IC卡读卡器发出警示音, //参数为发出几次警示音。 icClass.AlarmBeep(2); Thread.Sleep(500); return true; } else { wf.Close(); MessageUtil.ShowTips("读卡器连接失败!或请切换端口尝试!"); return false; } } }catch(Exception e) { wf.Close(); MessageUtil.ShowTips("读卡器连接失败!或请切换端口尝试!"); return false; } finally { wf.Close(); } return true; } /// /// 清卡 /// private void clearCard() { WaitingForm2 wf = new WaitingForm2("正在加载,请稍候...."); try { if (ConnectCard(wf) == false) { return; } icClass.ClearCard(); icClass.AlarmBeep(1); } catch { } finally { disConnect(); wf.Close(); } } /// /// 查询收料实绩 /// private void doQueryInList() { string strRegStart = ""; string strRegEnd = ""; string strOutStart = ""; string strOutEndTim = ""; string heatNo = ""; string inDoc = ""; string flagStoveNo = ""; ArrayList parm = new ArrayList(); int day = 0; int dayOut = 0; if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); strRegEnd = RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime ds1 = Convert.ToDateTime(strRegStart); DateTime ds2 = Convert.ToDateTime(strRegEnd); TimeSpan tms = ds2.Subtract(ds1); day = tms.Days + 1; } if (outTimeChk.Checked) { strOutStart = outStartTim.Value.ToString("yyyy-MM-dd HH:mm:ss"); strOutEndTim = outEndTim.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime ds1 = Convert.ToDateTime(strOutStart); DateTime ds2 = Convert.ToDateTime(strOutEndTim); TimeSpan tms = ds2.Subtract(ds1); dayOut = tms.Days + 1; } if (chkFurnace.Checked) { heatNo = this.txtFurnace.Text.Trim(); } if (chkFlagStove.Checked) { flagStoveNo = this.txtFlagStove.Text.Trim(); } if (chkDk.Checked) { inDoc = this.txtOutList.Text.Trim(); } parm.Add(strRegStart); parm.Add(strRegEnd); parm.Add(heatNo); parm.Add(inDoc); parm.Add(strOutStart); parm.Add(strOutEndTim); parm.Add(flagStoveNo); if (strRegStart.Equals("") && strOutStart.Equals("") && heatNo.Equals("") && flagStoveNo.Equals("") && inDoc.Equals("")) { MessageUtil.ShowTips("查询倒库实绩时,必须选一查询条件"); return; } if (strRegStart != "" && heatNo.Equals("") && flagStoveNo.Equals("") && inDoc.Equals("") && strOutStart.Equals("")) { if (day > 31) { MessageUtil.ShowTips("查询倒库实绩时,只允许查一月内数据!"); return; } } else if (strOutStart != "" && heatNo.Equals("") && flagStoveNo.Equals("") && inDoc.Equals("") && strRegStart.Equals("")) { if (dayOut > 31) { MessageUtil.ShowTips("查询倒库实绩时,只允许查一月内数据!"); return; } } else if (strRegStart != "" && strOutStart != "" && heatNo.Equals("") && flagStoveNo.Equals("") && inDoc.Equals("")) { if (dayOut > 31 || day > 31) { MessageUtil.ShowTips("查询倒库实绩时,只允许查一月内数据!"); return; } } // List listSource = EntityHelper.GetData( //"com.steering.ydm.bc.FrmFilpInStorage.douQueryInList", new object[] { parm, arr }, this.ob); List listSource = null; if (this.CustomInfo.Equals("800202,800301-lishi")) { listSource = EntityHelper.GetData( "com.steering.mes.SendRecive.FrmFilpInStorage.douQueryInList", new object[] { parm, arr, "lishi" }, this.ob); } else { listSource = EntityHelper.GetData( "com.steering.mes.SendRecive.FrmFilpInStorage.douQueryInList", new object[] { parm, arr }, this.ob); } ydmBcInlistEntityBindingSource.DataSource = listSource; } /// /// 收料 /// private void doAdd() { this.ultraGrid2.UpdateData(); string storageNo = "";//仓库名称 string locationNo = "";//料位 string locationName = "";//料位名称 string laryNo = "";//层号 string storageArea = "";//仓库区域 string tarStorageNo = ""; DataTable ds = new DataTable(); //string departId = ClsLoad.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob); //string departMent = ClsLoad.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob); string departId = ClsLoad.GetDepartIdBySectionId1(this.UserInfo.GetDeptid(), this.ob); string departMent = ClsLoad.GetDepartBySectionId1(this.UserInfo.GetDeptid(), this.ob); if (this.ultraCheckEditor1.Checked && cmbStorageNo.Text.Trim() == "") { MessageUtil.ShowTips("仓库不能为空,请选择仓库!"); return; } if (this.ultraCheckEditor1.Checked && cmbStorageNo.Text.Trim() != "") { storageNo = cmbStorageNo.Value.ToString(); } IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要收料的倒库信息!"); return; } ArrayList parmlist = new ArrayList(); ArrayList locationList = new ArrayList(); ArrayList possList = new ArrayList(); var posslist = checkMagRows.Select(p => (YdmBcOutlistEntity1)p.ListObject).ToList(); var grouplist = posslist.GroupBy(p => p.OutstockDoc); grouplist.ToList().ForEach(p => { YdmBcOutlistEntity1 tmp = new YdmBcOutlistEntity1(); tmp.OutstockDoc = p.First().OutstockDoc; tmp.PlineCode = p.First().PlineCode; tmp.ActCount = p.Sum(q => q.ActCount); possList.Add(JSONFormat.Format(tmp)); }); int n = 0; foreach (UltraGridRow row in checkMagRows) { int m = 0; YdmBcOutlistEntity1 ydmOutList = (YdmBcOutlistEntity1)row.ListObject; string outListEntity = JSONFormat.Format(ydmOutList); parmlist.Add(outListEntity); IQueryable childMagRows = row.ChildBands[0].Rows.AsQueryable().Where(" CHK1 = 'True'"); //if (childMagRows.Count() == 0) //{ // MessageUtil.ShowTips("请勾选料位信息!"); // return; //} for (int i = 0; i < arr.Length;i++ ) { if (arr[i].ToString().Equals(row.Cells["TarStorageNo"].Text)) { n = n + 1; continue; } } if (childMagRows.Count() > 0) { ArrayList list = new ArrayList(); foreach (UltraGridRow childRow in childMagRows) { YdmBcButtressEntity ydmGpButessTity = (YdmBcButtressEntity)childRow.ListObject; if (storageNo == "") { ydmGpButessTity.StorageNo = ydmOutList.TarStorageNo; } else { ydmGpButessTity.StorageNo = storageNo; } if (!StringUtil.IsInt(ydmGpButessTity.ActCount) || ydmGpButessTity.ActCount == "") { MessageUtil.ShowTips("支数请输入整数!"); return; } if (ydmGpButessTity.LocationNo.Equals("") || ydmGpButessTity.LaryNo.Equals("")) { MessageUtil.ShowTips(ydmOutList.JudgeStoveNo + "料位、层号不能为空!"); return; } m = m + int.Parse(ydmGpButessTity.ActCount.ToString3()); string ydmGpEntity = JSONFormat.Format(ydmGpButessTity); list.Add(ydmGpEntity); } if (!(int.Parse(row.Cells["ActCount"].Text.ToString3()) == m)) { MessageUtil.ShowTips(ydmOutList.JudgeStoveNo + "分配料位支数与出库单对应支数不符!"); return; } locationList.Add(list); } else { } tarStorageNo = ydmOutList.TarStorageNo; } if (n == 0 && storageNo == "") { MessageUtil.ShowTips("目标仓库不是当前用户权限下的仓库权限,不允许收料。请选择收料仓库!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否收料?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); //ccp.ServerName = "com.steering.ydm.bc.FrmFilpInStorage"; ccp.ServerName = "com.steering.mes.SendRecive.FrmFilpInStorage"; ccp.MethodName = "doAddInListData"; ccp.ServerParams = new object[] { parmlist, locationList, strInbound, this.UserInfo.GetUserName(), departId, departMent, this.UserInfo.GetDeptid(), this.UserInfo.GetDepartment(), arr, UserInfo.GetUserOrder(), UserInfo.GetUserGroup(), storageNo, possList }; ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("收料成功!")) { ydmBcOutlistEntity1BindingSource.Clear(); if (storageNo != "") { //ds = ServerHelper.GetData("com.steering.ydm.bc.FrmFilpOutStorage.doQueryStorageArea", new object[] { storageNo }, ob); ds = ServerHelper.GetData("com.steering.mes.SendRecive.FrmFilpOutStorage.doQueryStorageArea", new object[] { storageNo }, ob); } else { //ds = ServerHelper.GetData("com.steering.ydm.bc.FrmFilpOutStorage.doQueryStorageArea", new object[] { tarStorageNo }, ob); ds = ServerHelper.GetData("com.steering.mes.SendRecive.FrmFilpOutStorage.doQueryStorageArea", new object[] { tarStorageNo }, ob); } if (ds.Rows[0][0].ToString().Equals("0")) { clearCard(); } MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 打印收料单 /// private void printInDoc() { this.ultraGrid2.UpdateData(); int m = 0; int n = 0; string judgeNoB = ""; IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if(checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要打印的信息!"); return; } foreach (UltraGridRow row in checkMagRows) { //if (row.Cells["OutType"].Text.Equals("纠错倒运")) //{ // m = m + 1; //} if (n == 0) { judgeNoB = row.Cells["JudgeStoveNo"].Text + row.Cells["BatchNo"].Text; }else { judgeNoB = judgeNoB + "','"+ row.Cells["JudgeStoveNo"].Text + row.Cells["BatchNo"].Text; } n = n + 1; } //if (m > 0) //{ // MessageUtil.ShowTips("纠错倒运不允许打印收料单!"); // return; //} int groupCnt = checkMagRows.GroupBy(a => a.GetValue("OutstockDoc")).Count(); if (groupCnt > 1) { MessageUtil.ShowTips("同一出库单号才能同时打印入库单!"); return; } string storageNo = ""; if (ultraCheckEditor1.Checked) { storageNo = this.cmbStorageNo.Value.ToString2(); } string inDoc = checkMagRows.ToArray()[0].Cells["OutstockDoc"].Value.ToString();//出库单号 string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepBcInList.cpt&OUTSTOCK_DOC=" + inDoc + "&TAR_STORAGE_NO=" + storageNo + "&JUDGE_STOVE_NO=" + judgeNoB; FrmExcel fre = new FrmExcel(this.ob, strurl); fre.AutoSize = true; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } /// /// 打印二维码 /// private void printQRCode() { this.ultraGrid1.UpdateData(); int m = 0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要打印的信息!"); return; } foreach (UltraGridRow row in checkMagRows) { if (row.Cells["OutType"].Text.Equals("纠错倒运")) { m = m + 1; } } if (m > 0) { MessageUtil.ShowTips("纠错倒运不允许打印收料单!"); return; } int groupCnt = checkMagRows.GroupBy(a => a.GetValue("InstockDoc")).Count(); if (groupCnt > 1) { MessageUtil.ShowTips("同一入库单号才能同时打印入库单!"); return; } string inDoc = "R:" + checkMagRows.ToArray()[0].Cells["InstockDoc"].Value.ToString();//入库单号 string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepGpOutList2.cpt&OUTSTOCK_DOC=" + inDoc; FrmExcel fre = new FrmExcel(this.ob, strurl); fre.AutoSize = true; fre.Text = "二维码"; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } /// /// 补打入库单 /// private void mendPrintInDoc() { this.ultraGrid1.UpdateData(); int m = 0; int n = 0; string judgeNoB = ""; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要打印的信息!"); return; } foreach (UltraGridRow row in checkMagRows) { //if (row.Cells["OutType"].Text.Equals("纠错倒运")) //{ // m = m + 1; //} if (n == 0) { judgeNoB = row.Cells["JudgeStoveNo"].Text + row.Cells["BatchNo"].Text; } else { judgeNoB = judgeNoB + "','" + row.Cells["JudgeStoveNo"].Text + row.Cells["BatchNo"].Text; } n = n + 1; } //if (m > 0) //{ // MessageUtil.ShowTips("纠错倒运不允许打印收料单!"); // return; //} int groupCnt = checkMagRows.GroupBy(a => a.GetValue("InstockDoc")).Count(); if (groupCnt > 1) { MessageUtil.ShowTips("同一入库单号才能同时打印入库单!"); return; } string inDoc = checkMagRows.ToArray()[0].Cells["InstockDoc"].Value.ToString();//出库单号 string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepBcInListTwo.cpt&INSTOCK_DOC=" + inDoc + "&JUDGE_STOVE_NO=" + judgeNoB; FrmExcel fre = new FrmExcel(this.ob, strurl); fre.AutoSize = true; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } /// /// 获取过磅重量(天淮) /// private void getPossWgtTH() { this.ultraGrid1.UpdateData(); this.ultraGrid3.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要获取过磅重量的收料实绩信息!"); return; } if (checkMagRows.Count() > 1) { MessageUtil.ShowTips("请勾选一行获取过磅重量!"); return; } foreach (UltraGridRow urg in checkMagRows) { if (!urg.Cells["StorageName"].Value.ToString().Equals("天淮室外成品库")) { MessageUtil.ShowTips("不是去天淮室外成品库,不能获取过磅重量!"); return; } if (urg.Cells["Sfsp"].Value.ToString().Equals("已送判")) { MessageUtil.ShowTips("已送判不能获取过磅重量!"); return; } } ArrayList parm = new ArrayList(); var list = checkMagRows.Select(p => (YdmBcInlistEntity)p.ListObject).ToList(); var grouplist = list.GroupBy(p => p.OutstockDoc); grouplist.Select(p => p.First()).Select(JSONFormat.Format).ToList().ForEach(p => { parm.Add(p); }); IQueryable checkMagRows3 = this.ultraGrid3.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows3.Count() == 0) { MessageUtil.ShowTips("请勾选磅单信息!"); return; } if (checkMagRows3.Count() > 1) { MessageUtil.ShowTips("请勾选一行磅单信息!"); return; } string actCount = ""; string ponderGrossWt = ""; string resultNo = ""; foreach (UltraGridRow urg in checkMagRows3) { actCount = urg.Cells["ActCount"].Value.ToString3(); ponderGrossWt = urg.Cells["ActWeight"].Value.ToString3(); resultNo = urg.Cells["ResultNo"].Value.ToString(); } if (MessageUtil.ShowYesNoAndQuestion("是否确认获取过磅重量?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.SendRecive.FrmFilpInStorage"; ccp.MethodName = "getPossWgtTH"; ccp.ServerParams = new object[] { parm,actCount, ponderGrossWt, resultNo }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("获取成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void getPossWgt() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要获取过磅量的收料实绩信息!"); return; } ArrayList parm = new ArrayList(); var list = checkMagRows.Select(p => (YdmBcInlistEntity)p.ListObject).ToList(); var grouplist = list.GroupBy(p => p.OutstockDoc); grouplist.Select(p => p.First()).Select(JSONFormat.Format).ToList().ForEach(p => { parm.Add(p); }); foreach (UltraGridRow urg in checkMagRows) { if (urg.Cells["Sfsp"].Value.ToString().Equals("已送判")) { MessageUtil.ShowTips("已送判不能获取过磅重量!"); return; } } //foreach (UltraGridRow uRow in checkMagRows) //{ // YdmBcInlistEntity inListEntity = (YdmBcInlistEntity)uRow.ListObject; // string inEntity = JSONFormat.Format(inListEntity); // parm.Add(inEntity); //} if (MessageUtil.ShowYesNoAndQuestion("是否确认获取过磅重量?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); //ccp.ServerName = "com.steering.ydm.bc.FrmFilpInStorage"; ccp.ServerName = "com.steering.mes.SendRecive.FrmFilpInStorage"; ccp.MethodName = "getPossWgt"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("获取成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } /// /// 撤销 /// private void doDelete() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要撤销的收料信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in checkMagRows) { YdmBcInlistEntity inListEntity = (YdmBcInlistEntity)uRow.ListObject; string inEntity = JSONFormat.Format(inListEntity); parm.Add(inEntity); } if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); //ccp.ServerName = "com.steering.ydm.bc.FrmFilpInStorage"; ccp.ServerName = "com.steering.mes.SendRecive.FrmFilpInStorage"; ccp.MethodName = "deleteData"; ccp.ServerParams = new object[] { parm,UserInfo.GetUserName()}; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { this.RegStartTime.Enabled = this.chkRegTime.Checked; this.RegEndTime.Enabled = this.chkRegTime.Checked; } private void chkDk_CheckedChanged(object sender, EventArgs e) { this.txtOutList.Enabled = this.chkDk.Checked; } private void chkFurnace_CheckedChanged(object sender, EventArgs e) { this.txtFurnace.Enabled = this.chkFurnace.Checked; } private void ultraGrid2_AfterSelectChange(object sender, Infragistics.Win.UltraWinGrid.AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void ultraGrid1_AfterSelectChange(object sender, Infragistics.Win.UltraWinGrid.AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void FrmFilpInStorage_Shown(object sender, EventArgs e) { if (toolMenu == null) return; this.outTimeChk.Visible = false; this.outStartTim.Visible = false; this.outEndTim.Visible = false; label1.Visible = false; if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Query")) { if (this.CustomInfo.Equals("800202,800301-lishi")) { this.outTimeChk.Visible = true; this.outStartTim.Visible = true; this.outEndTim.Visible = true; label1.Visible = true; toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }else{ toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } } if (toolMenu.Toolbars[0].Tools.Exists("MendPrint")) { toolMenu.Toolbars[0].Tools["MendPrint"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("PrintQR")) { toolMenu.Toolbars[0].Tools["PrintQR"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Export")) { if (this.CustomInfo.Equals("800202,800301-lishi")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; } else { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; } } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgt")) { toolMenu.Toolbars[0].Tools["GetPossWgt"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgtTH")) { toolMenu.Toolbars[0].Tools["GetPossWgtTH"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraTabControl1.SelectedTab.Key == "0") { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("ReadCard")) { toolMenu.Toolbars[0].Tools["ReadCard"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("QueryDoc")) { toolMenu.Toolbars[0].Tools["QueryDoc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } 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.True; } if (toolMenu.Toolbars[0].Tools.Exists("Print")) { toolMenu.Toolbars[0].Tools["Print"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("MendPrint")) { toolMenu.Toolbars[0].Tools["MendPrint"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("PrintQR")) { toolMenu.Toolbars[0].Tools["PrintQR"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgt")) { toolMenu.Toolbars[0].Tools["GetPossWgt"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgtTH")) { toolMenu.Toolbars[0].Tools["GetPossWgtTH"].InstanceProps.Visible = DefaultableBoolean.False; } this.chkRegTime.Text = "倒库时间"; this.chkDk.Text = "倒库单号"; this.ultraCheckEditor1.Visible = true; this.cmbStorageNo.Visible = true; this.outTimeChk.Visible = false; this.outStartTim.Visible = false; this.outEndTim.Visible = false; label1.Visible = false; } else { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("ReadCard")) { toolMenu.Toolbars[0].Tools["ReadCard"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("QueryDoc")) { toolMenu.Toolbars[0].Tools["QueryDoc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Print")) { toolMenu.Toolbars[0].Tools["Print"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("MendPrint")) { toolMenu.Toolbars[0].Tools["MendPrint"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("PrintQR")) { toolMenu.Toolbars[0].Tools["PrintQR"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgt")) { toolMenu.Toolbars[0].Tools["GetPossWgt"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("GetPossWgtTH")) { toolMenu.Toolbars[0].Tools["GetPossWgtTH"].InstanceProps.Visible = DefaultableBoolean.True; } this.chkRegTime.Text = "入库时间"; this.chkDk.Text = "入库单号"; this.ultraCheckEditor1.Visible = false; this.cmbStorageNo.Visible = false; this.cmbLocationNo.Visible = false; this.cmbLayNo.Visible = false; this.outTimeChk.Visible = true; this.outStartTim.Visible = true; this.outEndTim.Visible = true; label1.Visible = true; } } private void cmbLocationNo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { this.ultraGrid2.UpdateData(); UltraGridRow row = this.ultraGrid2.ActiveRow.ParentRow; string storageNo = ""; if(this.ultraCheckEditor1.Checked && this.cmbStorageNo.Text != "") { storageNo = this.cmbStorageNo.Value.ToString2(); }else { storageNo = row.Cells["TarStorageNo"].Text; } //DataTable dt = ServerHelper.GetData("com.steering.ydm.bc.FrmFilpInStorage.doQueryLocation", // new object[] { storageNo}, ob); DataTable dt = ServerHelper.GetData("com.steering.mes.SendRecive.FrmFilpInStorage.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) { //cmbLocationNo.Tag = baseInfo.ChoicedRow.GetValue("LOCATION_NO"); //cmbLocationNo.Text = baseInfo.ChoicedRow.GetValue("LOCATION_NAME"); this.ultraGrid2.ActiveCell.Value = baseInfo.ChoicedRow.GetValue("LOCATION_NAME"); this.ultraGrid2.ActiveCell.Row.Cells["LocationNo"].Value = baseInfo.ChoicedRow.GetValue("LOCATION_NO"); } } private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e) { e.Row.Cells["LaryNo"].Value = cmbLayNo.Items[0].DataValue.ToString(); } private void txtFurnace_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { if (ultraTabControl1.SelectedTab.Key == "0") { doQueryOutList1(); } else { doQueryData(); } } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { this.ultraGrid2.UpdateData(); if (this.ultraGrid2.ActiveRow.HasChild()) { return; } if (e.Cell.Column.Key == "CHK1") { if (this.ultraGrid2.ActiveRow.Cells["CHK1"].Value.ToString().Equals("True")) { this.ultraGrid2.ActiveRow.Cells["ActCount"].Value = this.ultraGrid2.ActiveRow.ParentRow.Cells["ActCount"].Value.ToString(); } } } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { this.cmbStorageNo.Enabled = this.ultraCheckEditor1.Checked; } private void outTimeChk_CheckedChanged(object sender, EventArgs e) { this.outStartTim.Enabled = this.outEndTim.Enabled = outTimeChk.Checked; } private void chkFlagStove_CheckedChanged(object sender, EventArgs e) { this.txtFlagStove.Enabled = this.chkFlagStove.Checked; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (uRow == null) { return; } List listSource = EntityHelper.GetData( "com.steering.mes.SendRecive.FrmFilpInStorage.doQueryCmmWeight", new object[] { uRow.Cells["JudgeStoveNo"].Text, uRow.Cells["ActCount"].Text }, this.ob); cmmWeightMatEntityBindingSource1.DataSource = listSource; GridHelper.RefreshAndAutoSize(this.ultraGrid3); foreach (UltraGridRow ugr in ultraGrid3.Rows) { ugr.Cells["CHK"].Value = true; } } } }