using DevExpress.RichEdit.Export; using DevExpress.XtraPivotGrid.Data; using DevExpress.XtraRichEdit.Model; using Gs.DevApp.DevFrm.Rpt; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Gs.DevApp.DevFrm { public partial class Frm_Womdaa : DevExpress.XtraEditors.XtraForm { string _webServiceName = "WomdaaManager/"; List _filterList = new List(); public Frm_Womdaa() { InitializeComponent(); //加入checkbox begin this.gvMx2.CustomDrawColumnHeader += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomDrawColumnHeader(s, e); }; this.gvMx2.MouseUp += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomMouseUp(s, e, gcMx2, gvMx2); }; this.colChkInt.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False; this.colChkInt.OptionsFilter.AllowAutoFilter = false; this.colChkInt.OptionsFilter.AllowFilter = false; this.colChkInt.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False; //加入checkbox end this.splitMx99.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel2; this.splitMx98.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel2; this.splitMx100.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel2; this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick; this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick; this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick; this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick; this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick; this.toolBarMenu1.btnZhongTaiClick += ToolBarMenu1_btnZhongTaiClick; this.toolBarMenu1.btnTzblClick += ToolBarMenu1_btnTzblClick; this.toolBarMenu1.btnKgClick += ToolBarMenu1_btnKgClick; this.toolBarMenu1.btnWgClick += ToolBarMenu1_btnWgClick; toolBarMenu1.btnLogClick += ToolBarMenu1_btnLogClick; this.toolBarMenu1.btnShouJianClick += ToolBarMenu1_btnShouJianClick; this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick; //this.toolBarMenu1.btnChbgClick += ToolBarMenu1_btnChbgClick; toolBarMenu1.btnPrintClick += ToolBarMenu1_btnPrintClick; this.toolBarMenu1.btnOutClick += ToolBarMenu1_btnOutClick; //this.toolBarMenu1.btnDcClick += ToolBarMenu1_btnDcClick; this.toolBarMenu1.btnBDLingLiaoClick += ToolBarMenu1_btnBDLingLiaoClick; this.toolBarMenu1.getXmlConfig(); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx2); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx3); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx4); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMxL1); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMxL2); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", (value) => { Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 0); }, tips, true, (strGuid) => { getModelList(strGuid); }); Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) => { getModel(value); }, (value) => { getPageList(this.pageBar1.CurrentPage); }, lbGuid); getPageList(1); pageBar1.PagerEvent += PageBar1_PagerEvent; txt_psnQty_1.TextChanged += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.PrintJiSuan(txt_psnQty_1, txt_iCount_1, txt_kQty.Text.Trim(), radOut, txt_yuliang_1); }; radOut.SelectedIndexChanged += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_1, txt_iCount_1, radOut, txt_yuliang_1); }; //这是托板码 this.ucBtnPrint1.btnZhiJieClick += (s, e) => { _print(1); }; this.ucBtnPrint1.btnPrintClick += (s, e) => { _print(0); }; this.ucBtnPrint1.btnAllClick += (s, e) => { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "托板码"); string strCodeList = ""; string strAction = ""; frm.UpdateParent += (ss, ee) => { strCodeList = ee.StringSingle; strAction = ee.Data; }; frm.ShowDialog(); if (string.IsNullOrEmpty(strCodeList)) return; if (strAction == "print") { try { string rptParameter = "rpt_daa{" + "100" + "," + "" + "," + "" + "," + "" + "," + "" + "," + strCodeList + "}"; using (Form rpt = new RptPreview(rowGuid, rptParameter)) { rpt.ShowDialog(); } frm.Close(); } catch (Exception ex) { MsgHelper.ShowError(ex.Message); } } }; //这是追溯码 this.ucBtnPrint98.btnPrintClick += (s, e) => { _print98(); }; this.ucBtnPrint98.btnAllClick += (s, e) => { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "追溯码"); string strCodeList = ""; frm.UpdateParent += (ss, ee) => { strCodeList = ee.StringSingle; }; frm.ShowDialog(); if (string.IsNullOrEmpty(strCodeList)) return; try { string rptParameter = "rpt_trace{" + "100" + "," + "" + "," + "" + "," + "" + "," + "" + "," + strCodeList + "}"; using (Form rpt = new RptPreview(rowGuid, rptParameter)) { rpt.ShowDialog(); } frm.Close(); } catch (Exception ex) { MsgHelper.ShowError(ex.Message); } }; //这是后盖码 this.ucBtnPrint100.btnPrintClick += (s, e) => { _print100(); }; this.ucBtnPrint100.btnAllClick += (s, e) => { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "后盖码"); string strCodeList = ""; frm.UpdateParent += (ss, ee) => { strCodeList = ee.StringSingle; }; frm.ShowDialog(); if (string.IsNullOrEmpty(strCodeList)) return; try { string rptParameter = "rpt_hgm{" + "100" + "," + "" + "," + "" + "," + "" + "," + "" + "," + strCodeList + "}"; using (Form rpt = new RptPreview(rowGuid, rptParameter)) { rpt.ShowDialog(); } frm.Close(); } catch (Exception ex) { MsgHelper.ShowError(ex.Message); } }; //这是齐套标识卡,仅仅打印 this.ucBtnPrint101.btnPrintClick += (s, e) => { _print101(); }; //导入模板 this.btnIn.Click += (s, e) => { //这是一个随机值,将会被当作父亲guid存到file表中,服务端根据这个guid读取相应的文件 string upGuid = Guid.NewGuid().ToString(); string strService = "XlsInDaaHgm"; Gs.DevApp.UserControl.ShowUp frm = new Gs.DevApp.UserControl.ShowUp(upGuid); frm.UpdateParent += (ss, ee) => { var _obj = new { tmpGuid = upGuid, strType = "", }; try { string strJson = UtilityHelper.HttpPost("", "XlsInOut/" + strService, JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.ShowInformation("提示:" + _rtn.rtnMsg); } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } }; frm.ShowDialog(); }; } private void GridView1_ColumnFilterChanged(object sender, EventArgs e) { _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1); Task.Delay(100); getPageList(1); } /// /// 分页事件 /// /// /// private void PageBar1_PagerEvent(int curPage, int pageSize) { getPageList(curPage); } /// /// 撤回报工事件 /// /// /// private void ToolBarMenu1_btnChbgClick(object sender, EventArgs e) { _toolChbg(1); } /// /// 查询事件 /// /// /// private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e) { gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged; gridView1.ActiveFilter.Clear(); gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged; var frm = new ShowFilter(gridView1.Columns, _filterList, this.GetType().FullName); frm.UpdateParent += Frm_UpdateParent; frm.ShowDialog(); } /// /// 查询回调 /// /// /// private void Frm_UpdateParent(object sender, UpdateParentEventArgs e) { _filterList = e.FilterList; getPageList(1); } /// /// 这是备料单打印 /// /// /// private void ToolBarMenu1_btnPrintClick(object sender, EventArgs e) { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); if (string.IsNullOrEmpty(rowGuid)) { this.toolBarMenu1.rptParameter = "return false"; MsgHelper.Warning("请先选择你要打印的单据!"); return; } string rptParameter = "rpt_Womdab{" + rowGuid // @inOrderGuid - 单据guid + "," + "100" // @isDesign - 重打都是传100 + "," + "" // @in1 - 入库时间(扩展用) + "," + "" // @in2 - 特采(扩展用) + "," + "" // @in3 - 供应商id(扩展用) + "," + "" // @in4 - 张数(扩展用) + "," + "" // @in5 - 数量(扩展用) + "," + "" // @in6 - 扩展用 + "}"; this.toolBarMenu1.rptParameter = rptParameter; this.toolBarMenu1.guidKey = rowGuid; } /// /// 删除工单 /// /// /// /// private void ToolBarMenu1_btnDelClick(object sender, EventArgs e) { string rowGuid = "", rowName = ""; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1, "daa001"); if (string.IsNullOrEmpty(rowGuid)) { MsgHelper.Warning("请先选择你要操作的行!"); return; } if (!MsgHelper.AskQuestion("你选择了【" + rowName + "】,确定删除吗?")) return; var _obj = new { guid = rowGuid, mxGuid = Guid.Empty.ToString(), }; try { var strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModelOrMx", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { if (xtraTabControl1.SelectedTabPageIndex == 0) { } else Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 2); getPageList(this.pageBar1.CurrentPage); } MsgHelper.Warning("提示:" + _rtn.rtnMsg); } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } /// /// 生成首检 /// /// /// /// private void ToolBarMenu1_btnShouJianClick(object sender, EventArgs e) { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1, "daa001"); if (string.IsNullOrEmpty(rowGuid)) { MsgHelper.Warning("请先选择你要操作的行!"); return; } if (!MsgHelper.AskQuestion("你选择了【" + rowName + "】,确定重新生成首检吗?")) return; var _obj = new { guid = rowGuid, inFieldValue = "", }; try { var strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModelSubmitShouJian", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.Warning(_rtn.rtnData.outMsg.ToString()); if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0) { //if (xtraTabControl1.SelectedTabPageIndex == 1) //{ // getModel(lbGuid.Text.Trim()); //} //else //{ // //注意,这里和其它页面有点不一样 // getPageList(this.pageBar1.CurrentPage); // int rowHandle = gridView1.LocateByValue("guid", rowGuid); // gridView1.FocusedRowHandle = rowHandle; //} } } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } /// /// 导出xls /// /// /// /// private void ToolBarMenu1_btnOutClick(object sender, EventArgs e) { System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder(); _sbSqlWhere.Append(UtilityHelper.GetSearchWhere(_filterList)); using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) { folderBrowserDialog.Description = "选择导出文件的保存路径"; DialogResult dialogResult = folderBrowserDialog.ShowDialog(); if (dialogResult == DialogResult.OK) { string _folder = folderBrowserDialog.SelectedPath; var _params = new { inQueryWhere = _sbSqlWhere.ToString(),//查询条件 inFid = "",//备用 inP1 = "",//备用 inP2 = "",//备用备用 inP3 = "",//备用 inP4 = "" }; var _obj = new Gs.DevApp.Entity.XlsOutModel("xlsOutDaa", "", "", "", _params); try { string strJson = UtilityHelper.HttpPost("", "XlsInOut/XlsOutView_NEW", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { string _file = _rtn.rtnData.fileUrl.ToString(); string _folderName = _folder + "\\" + _file.Replace("down/", ""); string _url = ConfigurationManager.AppSettings["WebApiUrl"].ToString() + _file; using (WebClient client = new WebClient()) { client.DownloadFile(_url, _folderName); } var frm = new Gs.DevApp.DevFrm.QC.Xls(_folderName); frm.ShowDialog(); } else { ToolBox.MsgHelper.ShowError("提示:" + _rtn.rtnMsg); } } catch (Exception ex) { ToolBox.MsgHelper.ShowError("提示:" + ex.Message); } } } } private void ToolBarMenu1_btnTzblClick(object sender, EventArgs e) { _toolCk(7); } private void ToolBarMenu1_btnKgClick(object sender, EventArgs e) { _toolCk(8); } private void ToolBarMenu1_btnWgClick(object sender, EventArgs e) { _toolCk(9); } private void ToolBarMenu1_btnDcClick(object sender, EventArgs e) { _toolCk(12); } /// /// 工单状态,根据分号把中文去了 /// /// /// private void ToolBarMenu1_btnZhongTaiClick(object sender, EventArgs e) { var frm = new showZhongTai(); frm.UpdateParent += (ss, ee) => { int _zt = int.Parse(ee.StringSingle.Split(',')[0]); _toolCk(_zt); }; frm.ShowDialog(); } /// /// 日志 /// /// /// private void ToolBarMenu1_btnLogClick(object sender, EventArgs e) { toolBarMenu1.guidKey = ""; string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); toolBarMenu1.guidKey = rowGuid; } /// /// 取消事件 /// /// /// private void ToolBarMenu1_btnEscClick(object sender, EventArgs e) { Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 1); } /// /// 刷新事件 /// /// /// private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e) { if (xtraTabControl1.SelectedTabPageIndex == 1) getModel(lbGuid.Text.Trim()); else { //_filterList.Clear(); //if (gridView1.ActiveFilter.Count > 0) //{ // gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged; // gridView1.ActiveFilter.Clear(); // gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged; //} //getPageList(1); getPageList(this.pageBar1.CurrentPage); } } /// /// 修改事件 /// /// /// private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e) { toolBarMenu1.currentAction = "edit"; string rowGuid = "", rowName = ""; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); if (string.IsNullOrEmpty(rowGuid)) { ToolBox.MsgHelper.Warning("请先选择你要操作的行!"); return; } Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 3); if (xtraTabControl1.SelectedTabPageIndex == 1) { getModel(rowGuid); txt_dptNo.ReadOnly = true; } else { List gvList = new List(); gvList.Add(gvMx1); gvList.Add(gvMx2); UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, true, gvList); } } /// /// 保存事件 /// /// /// private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e) { if (string.IsNullOrEmpty(txt_daa015.GetId())) { ToolBox.MsgHelper.ShowError("提示:线体不能为空!"); return; } var _obj = new { guid = UtilityHelper.ToGuid(lbGuid.Text.Trim()), //主建 sjxt = txt_daa015.GetId(), //线体 bz = txt_daa009.Text.Trim(),//备注 xgdate = txt_xgdate.Text.Trim() }; try { string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { ToolBox.MsgHelper.ShowInformation("提示:" + _rtn.rtnMsg); lbGuid.Text = _rtn.rtnData; toolBarMenu1.isSetBtn = true; List gvList = new List(); //gvList.Add(gvMx1); UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, false); //toolBarMenu1.currentAction = ""; //txt_printRemark.Enabled = txt_psnQty_1.Enabled = txt_iCount_1.Enabled = true; //txt_printRemark.ReadOnly = txt_psnQty_1.ReadOnly = txt_iCount_1.ReadOnly = false; //toolBarMenu1.currentAction = ""; Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 6); toolBarMenu1.currentAction = ""; } else ToolBox.MsgHelper.ShowError("提示:" + _rtn.rtnMsg); } catch (Exception ex) { ToolBox.MsgHelper.ShowError("提示:" + ex.Message); } } /// /// /// /// 第几页 /// 每页几条 private void getPageList(int curPage) { gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList); PageQueryModel pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "create_date", "desc", "", _sbSqlWhere.ToString()); string json = JsonConvert.SerializeObject(pgq); try { string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json); ReturnModel dd = UtilityHelper.ReturnToTablePage(strReturn); if (dd.rtnCode > 0) { DataTable dt = dd.rtnData.list; gcMain1.BindingContext = new BindingContext(); gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged; if (dt.Rows.Count > 0) { gcMain1.DataSource = dt; gcMain1.ForceInitialize(); gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1); } else UtilityHelper.SetDefaultTable(gcMain1, gridView1); gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged; pageBar1.TotalPages = dd.rtnData.pages;//总页 pageBar1.CurrentPage = curPage;//当前页 pageBar1.RecordCount = dd.rtnData.total;//总记录数 } else { ToolBox.MsgHelper.ShowError("提示:" + dd.rtnMsg); } } catch (Exception ex) { ToolBox.MsgHelper.Warning("提示:" + ex.Message); } } private void getModel(string strGuid) { bool isEdit = false; if (toolBarMenu1.currentAction == "add") return; if (toolBarMenu1.currentAction == "edit") isEdit = true; if (string.IsNullOrEmpty(strGuid)) { MsgHelper.Warning("请先选择你要操作的行!"); return; } if (string.IsNullOrEmpty(strGuid)) { ToolBox.MsgHelper.Warning("请先选择你要操作的行!"); return; } var _obj = new { guid = strGuid,//主建 }; try { string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { dynamic dy = _rtn.rtnData; //string cjId = dy.daa013; //string xjxt = dy.sjXt; // txt_sjXt.getSuppler(cjId, xjxt); string lineId = dy.daa013; txt_daa015.getSuppler(txt_daa013.Text.Trim(), lineId); //托板码 txt_zQty.Text = dy.daa008; txt_yQty.Text = dy.yQty; txt_kQty.Text = dy.kQty; //追溯码 txt_zQty98.Text = dy.daa008; txt_yQty98.Text = dy.yQty98; txt_kQty98.Text = dy.kQty98; //后盖码 txt_zQty100.Text = dy.daa008; txt_yQty100.Text = dy.yQty100; txt_kQty100.Text = dy.kQty100; lbGuid.Text = strGuid; List gvList = new List(); gvList.Add(gvMx1); // gvList.Add(gvMx2); UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList); JObject _job = JObject.Parse(strJson); JArray array = new JArray(); foreach (var a in _job["rtnData"]["list"]) { array.Add(a); } DataTable dt = JsonConvert.DeserializeObject(array.ToString()); if (dt.Rows.Count > 0) { gcMx1.BindingContext = new BindingContext(); gcMx1.DataSource = dt; gcMx1.ForceInitialize(); gvMx1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1); } JArray array2 = new JArray(); foreach (var a in _job["rtnData"]["list2"]) { array2.Add(a); } DataTable dt2 = JsonConvert.DeserializeObject(array2.ToString()); if (dt2.Rows.Count > 0) { gcMx2.BindingContext = new BindingContext(); gcMx2.DataSource = dt2; gcMx2.ForceInitialize(); gvMx2.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx2); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2); } JArray array3 = new JArray(); foreach (var a in _job["rtnData"]["list3"]) { array3.Add(a); } DataTable dt3 = JsonConvert.DeserializeObject(array3.ToString()); if (dt3.Rows.Count > 0) { gcMx3.BindingContext = new BindingContext(); gcMx3.DataSource = dt3; gcMx3.ForceInitialize(); gvMx3.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx3); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx3, gvMx3); } JArray array4 = new JArray(); foreach (var a in _job["rtnData"]["list4"]) { array4.Add(a); } DataTable dt4 = JsonConvert.DeserializeObject(array4.ToString()); if (dt4.Rows.Count > 0) { gcMx4.BindingContext = new BindingContext(); gcMx4.DataSource = dt4; gcMx4.ForceInitialize(); gvMx4.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx4); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx4, gvMx4); } //加上打印权限 JArray array5 = new JArray(); foreach (var a in _job["rtnData"]["list5"]) { if (a["blackName"].ToString() == "托板码打印") { splitMx99.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Both; continue; } if (a["blackName"].ToString() == "追溯码打印") { splitMx98.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Both; continue; } if (a["blackName"].ToString() == "后盖码打印") { splitMx100.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Both; continue; } if (a["blackName"].ToString() == "齐套标识卡打印") { xtraTabPage5.PageVisible = true; continue; } } txt_psnQty_1.Text = txt_printRemark.Text = txt_iCount_1.Text = txt_printRemark98.Text = txt_iCount_98.Text = txt_yuliang_1.Text = ""; } else ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); } catch (Exception ex) { ToolBox.MsgHelper.Warning("提示:" + ex.Message); } } /// /// 工具条事件 /// /// private void _toolCk(int _inFieldValue) { string strMsg = ""; switch (_inFieldValue) { case 1: strMsg = "待开工"; break; case 2: strMsg = "工单暂停"; break; case 3: strMsg = "清尾"; break; case 4: strMsg = "紧急备料"; break; case 5: strMsg = "暂停备料"; break; //case 6: // strMsg = "撤回备料"; // break; case 7: strMsg = "通知备料"; break; case 8: strMsg = "开工"; break; case 9: strMsg = "手动完工"; break; case 12: strMsg = "倒冲领料"; break; } ; toolBarMenu1.guidKey = ""; string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1, "daa001"); if (string.IsNullOrEmpty(rowGuid)) { MsgHelper.Warning("请先选择你要操作的行!"); return; } if (!MsgHelper.AskQuestion("你选择了【" + rowName + "】,确定" + strMsg + "吗?")) return; var _obj = new { guid = rowGuid, inFieldValue = _inFieldValue, }; try { var strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModelSubmit", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.Warning(_rtn.rtnData.outMsg.ToString()); if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0) { if (xtraTabControl1.SelectedTabPageIndex == 1) { getModel(lbGuid.Text.Trim()); } else { //注意,这里和其它页面有点不一样 getPageList(this.pageBar1.CurrentPage); int rowHandle = gridView1.LocateByValue("guid", rowGuid); gridView1.FocusedRowHandle = rowHandle; } } } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } /// /// 新增方法:列表显示 /// /// 主表id private void getModelList(string strGuid) { gcMxL1.DataSource = null; gcMxL2.DataSource = null; var _obj = new { guid = strGuid,//主建 }; try { string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { dynamic dy = _rtn.rtnData; JArray array1 = new JArray(); foreach (var a in dy["list"]) { array1.Add(a); } DataTable dt1 = JsonConvert.DeserializeObject(array1.ToString()); if (dt1.Rows.Count > 0) { gcMxL1.BindingContext = new BindingContext(); gcMxL1.DataSource = dt1; gcMxL1.ForceInitialize(); gvMxL1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL1); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL1, gvMxL1); } JArray array2 = new JArray(); foreach (var a in dy["list2"]) { array2.Add(a); } DataTable dt2 = JsonConvert.DeserializeObject(array2.ToString()); if (dt2.Rows.Count > 0) { gcMxL2.BindingContext = new BindingContext(); gcMxL2.DataSource = dt2; gcMxL2.ForceInitialize(); gvMxL2.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL2); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL2, gvMxL2); } } else ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); } catch (Exception ex) { ToolBox.MsgHelper.Warning("提示:" + ex.Message); } } #region 各种打印 /// /// 这是卡板码 /// private void _print(int type) { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); ucBtnPrint1.guidKey = rowGuid; string gdzt = txt_daa018Txt.Text.ToString(); if (gdzt == "W:完工" || gdzt == "J:结案") { Gs.DevApp.ToolBox.MsgHelper.ShowError("工单已经完工或结案!"); this.ucBtnPrint1.rptParameter = "return false"; return; } if (gdzt != "M:生产中") { Gs.DevApp.ToolBox.MsgHelper.ShowError("未开工不可打印条码!"); this.ucBtnPrint1.rptParameter = "return false"; return; } if (rowGuid.Length < 36) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择你要打印的行!"); this.ucBtnPrint1.rptParameter = "return false"; return; } if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_1.Text.Trim(), txt_yuliang_1.Text.Trim())) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!"); txt_iCount_1.Focus(); this.ucBtnPrint1.rptParameter = "return false"; return; } if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_psnQty_1.Text.Trim())) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印条码数量!"); txt_psnQty_1.Focus(); this.ucBtnPrint1.rptParameter = "return false"; return; } this.ucBtnPrint1.rptParameter = "rpt_daa{" + txt_printRemark.Text.Trim() + "," + "" + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_1.Text.Trim()) + "," + txt_iCount_1.Text.Trim() + "," + txt_psnQty_1.Text.Trim() + "}"; } /// /// 这是追溯码 /// private void _print98() { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); ucBtnPrint98.guidKey = rowGuid; if (rowGuid.Length < 36) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择你要打印的行!"); this.ucBtnPrint98.rptParameter = "return false"; return; } if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_98.Text.Trim())) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!"); txt_iCount_98.Focus(); this.ucBtnPrint98.rptParameter = "return false"; return; } this.ucBtnPrint98.rptParameter = "rpt_trace{" + "" + "," + txt_printRemark98.Text.Trim() + "," + "" + "," + txt_iCount_98.Text.Trim() + "," + 1 + "}"; } /// /// 这是后盖码 /// private void _print100() { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); ucBtnPrint100.guidKey = rowGuid; if (rowGuid.Length < 36) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择你要打印的行!"); this.ucBtnPrint100.rptParameter = "return false"; return; } if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_100.Text.Trim())) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!"); txt_iCount_100.Focus(); this.ucBtnPrint100.rptParameter = "return false"; return; } this.ucBtnPrint100.rptParameter = "rpt_hgm{" + "" + "," + "" + "," + "" + "," + txt_iCount_100.Text.Trim() + "," + 1 + "}"; } /// /// 这是齐套 /// private void _print101() { string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1); ucBtnPrint101.guidKey = rowGuid; if (rowGuid.Length < 36) { Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择你要打印的行!"); this.ucBtnPrint101.rptParameter = "return false"; return; } this.ucBtnPrint101.rptParameter = "rpt_qitao{" + "" + "," + "" + "," + "" + "," + "" + "," + "" + "}"; } /// /// /// /// private void _toolChbg(int _inFieldValue) { toolBarMenu1.guidKey = ""; string rowGuid, rowName; (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_daa001, gridView1, "daa001"); toolBarMenu1.guidKey = rowGuid; //if (string.IsNullOrEmpty(rowGuid)) //{ // MsgHelper.Warning("请先选择你要操作的行!"); // return; //} //if (!MsgHelper.AskQuestion("你选择了【" + rowName + "】,确定操作吗?")) // return; System.Text.StringBuilder sb = new System.Text.StringBuilder(); gvMx2.PostEditor(); gvMx2.UpdateCurrentRow(); DataTable dt = this.gcMx2.DataSource as DataTable; { foreach (DataRow dr in dt.Rows) { string checkBox = dr["chkInt"].ToString(); string _guid = dr["guid"].ToString(); if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox)) { if (sb.Length > 0) sb.Append(","); sb.Append(_guid); } } } if (string.IsNullOrEmpty(sb.ToString())) { Gs.DevApp.ToolBox.MsgHelper.ShowError("提示:请先选择条码!"); return; } //Gs.DevApp.ToolBox.MsgHelper.ShowError(sb.ToString()); var _obj = new { billNo = sb.ToString(), inFieldValue = _inFieldValue.ToString() }; try { var strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModelChbg", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.Warning(_rtn.rtnData.outMsg.ToString()); if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0) { if (xtraTabControl1.SelectedTabPageIndex == 1) { getModel(lbGuid.Text.Trim()); } int rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], rowGuid); gridView1.FocusedRowHandle = rowHandle; //UtilityHelper.SetCheckIco(gridView1, "checkStatus", "checkUser", "checkDate", picCheckBox, this, _inFieldValue.ToString()); } } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } /// /// 备单领料 /// /// /// private void ToolBarMenu1_btnBDLingLiaoClick(object sender, EventArgs e) { ExecuteBatchOperation(1, "备单领料"); } /// /// 批量执行操作 /// /// 操作类型值 /// 操作名称 private void ExecuteBatchOperation(int inFieldValue, string operationName) { gridView1.PostEditor(); gridView1.UpdateCurrentRow(); DataTable dt = this.gcMain1.DataSource as DataTable; // 收集所有选中的guid和工单号 List selectedGuids = new List(); List selectedDaa001s = new List(); foreach (DataRow dr in dt.Rows) { string checkBox = dr["fxk"].ToString(); string _guid = dr["guid"].ToString(); string _daa001 = dr["daa001"].ToString(); if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox)) { selectedGuids.Add(_guid); selectedDaa001s.Add(_daa001); } } // 如果没有选中的记录,直接返回 if (selectedGuids.Count == 0) { MsgHelper.ShowError("请先选择你要操作的行!"); return; } // 确认对话框 if (!MsgHelper.AskQuestion($"你选择了 {selectedGuids.Count} 条记录,确定{operationName}吗?")) return; // 执行批量操作 BatchExecuteOperation(selectedGuids, inFieldValue, operationName, selectedDaa001s); } /// /// 批量执行操作并统一返回结果 /// private void BatchExecuteOperation(List guids, int inFieldValue, string operationName, List nos) { List successMessages = new List(); List errorMessages = new List(); string lastSuccessGuid = string.Empty; string _webServiceplace = ""; switch (inFieldValue) { case 1: _webServiceplace = "bdll"; break; //case 2: // _webServiceplace = "强制结案"; // break; //case 3: // _webServiceplace = "反结案(反执行至完工)"; // break; //case 8: // _webServiceplace = "审核"; // break; //case 9: // _webServiceplace = "反审核"; // break; } ; // 使用for循环来同时遍历guid和对应的工单号 for (int i = 0; i < guids.Count; i++) { string rowGuid = guids[i]; string workOrderNo = nos[i]; // 对应的工单号 if (string.IsNullOrEmpty(rowGuid)) { errorMessages.Add($"工单 {workOrderNo}:遇到空GUID,跳过处理"); continue; } try { var _obj = new { guid = rowGuid, inFieldValue = inFieldValue, }; var strJson = UtilityHelper.HttpPost("", _webServiceName + _webServiceplace, JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0) { // 成功消息中使用工单号 successMessages.Add($"工单 {workOrderNo}:{_rtn.rtnData.outMsg}"); lastSuccessGuid = rowGuid; // 更新界面 UpdateUI(rowGuid, inFieldValue); } else { // 错误消息中使用工单号 errorMessages.Add($"工单 {workOrderNo}:{_rtn.rtnData.outMsg}"); } } catch (Exception ex) { // 异常消息中使用工单号 errorMessages.Add($"工单 {workOrderNo}:处理失败 - {ex.Message}"); } } // 统一显示结果 ShowBatchResult(successMessages, errorMessages, operationName, lastSuccessGuid); } /// /// 更新界面 /// private void UpdateUI(string rowGuid, int inFieldValue) { if (xtraTabControl1.SelectedTabPageIndex == 1) { getModel(lbGuid.Text.Trim()); int rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], rowGuid); gridView1.FocusedRowHandle = rowHandle; } else { getPageList(this.pageBar1.CurrentPage); int rowHandle = gridView1.LocateByValue("guid", rowGuid); gridView1.FocusedRowHandle = rowHandle; } } /// /// 显示批量操作结果 /// private void ShowBatchResult(List successMessages, List errorMessages, string operationName, string lastSuccessGuid) { StringBuilder resultMessage = new StringBuilder(); resultMessage.AppendLine($"{operationName}操作完成:"); resultMessage.AppendLine($"成功:{successMessages.Count} 条"); resultMessage.AppendLine($"失败:{errorMessages.Count} 条"); if (successMessages.Count > 0) { resultMessage.AppendLine(); resultMessage.AppendLine("成功记录:"); foreach (var msg in successMessages.Take(5)) // 只显示前5条成功信息 { resultMessage.AppendLine($" ✓ {msg}"); } if (successMessages.Count > 5) { resultMessage.AppendLine($" ... 还有 {successMessages.Count - 5} 条成功记录"); } } if (errorMessages.Count > 0) { resultMessage.AppendLine(); resultMessage.AppendLine("失败记录:"); foreach (var msg in errorMessages.Take(5)) // 只显示前5条错误信息 { resultMessage.AppendLine($" ✗ {msg}"); } if (errorMessages.Count > 5) { resultMessage.AppendLine($" ... 还有 {errorMessages.Count - 5} 条失败记录"); } } // 根据结果类型显示不同的消息框 if (errorMessages.Count == 0) { MsgHelper.ShowInformation(resultMessage.ToString()); } else if (successMessages.Count == 0) { MsgHelper.ShowError(resultMessage.ToString()); } else { MsgHelper.ShowError(resultMessage.ToString()); } } #endregion } }