From 2de65e7ad262da695494122b547db604ca53b01a Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期五, 15 八月 2025 17:40:09 +0800 Subject: [PATCH] 1、UtilityHelper通用类 (1、底部汇总新增选择时汇总 2、颜色设置) 2、到货条码打印设置检验结果颜色 3、采购到货(1、为GridView的鼠标抬起事件添加处理方法,实现自定义交互2、条件汇总:只对选中(打勾)的行进行汇总) --- DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 318 insertions(+), 37 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs index a05afb3..8d614d7 100644 --- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs +++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs @@ -1,3 +1,4 @@ +using Gs.DevApp.DevFrm.Rpt; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Gs.DevApp.UserControl; @@ -6,6 +7,7 @@ using System; using System.Collections.Generic; using System.Data; +using System.Drawing; using System.Threading.Tasks; using System.Windows.Forms; @@ -23,10 +25,13 @@ 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.SetGridViewParameter(gridView1, null, null, "", "", (value) => { Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 0); - }, tips); + }, tips, true, (strGuid) => { + getModelList(strGuid); + }); Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) => { getModel(value); @@ -36,6 +41,7 @@ }, lbGuid); getPageList(1); pageBar1.PagerEvent += PageBar1_PagerEvent; + //鎵撳嵃浜嬩欢 this.ucBtnPrint1.btnPrintClick += (s, e) => { string rowGuid = lbMxGuid.Text.Trim(); @@ -60,17 +66,133 @@ this.ucBtnPrint1.rptParameter = "return false"; return; } - this.ucBtnPrint1.rptParameter = "rpt_Arrival{" + lbMxGuid.Text.Trim() + this.ucBtnPrint1.rptParameter = "rpt_Arrival{" + + lbMxGuid.Text.Trim()//鍏宠仈涓婚敭 + "," + "" - + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_1.Text.Trim()) - + "," + txt_iCount_1.Text.Trim() - + "," + txt_psnQty_1.Text.Trim() + + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_1.Text.Trim())//浣欐暟 + + "," + txt_iCount_1.Text.Trim()//寮犳暟 + + "," + txt_psnQty_1.Text.Trim()//姣忓紶鏉$爜鏁伴噺 + "}"; txt_iCount_1.Text = ""; txt_psnQty_1.Text = ""; }; + //鎵撳嵃鎵归噺鎿嶄綔浜嬩欢 + this.ucBtnPrint1.btnAllClick += (s, e) => + { + string rowGuid = lbMxGuid.Text.Trim(); + 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_Arrival{" + + "100"//閲嶆墦閮芥槸浼�100锛� + + "," + "" + + "," + "" + + "," + "" + + "," + "" + + "," + strCodeList + + "}"; + using (Form rpt = new RptPreview(rowGuid, rptParameter)) + { + rpt.ShowDialog(); + } + frm.Close(); + } + catch (Exception ex) + { + MsgHelper.ShowError(ex.Message); + } + }; + + // -------------------- gvMx3 鎵撳嵃浜嬩欢 -------------------- + + this.ucBtnPrint2.btnPrintClick += (s, e) => + { + string rowGuid = txt_releaseNo.Text.Trim(); // 鏂板lbMxGuid3鐢ㄤ簬瀛樺偍gvMx3鐨勯�変腑琛孏UID + ucBtnPrint2.guidKey = rowGuid; + + // 楠岃瘉杈撳叆锛堜娇鐢╣vMx3瀵瑰簲鐨勮緭鍏ユ帶浠讹級 + if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_2.Text.Trim(), txt_yuliang_2.Text.Trim())) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("璇疯緭鍏ユ纭殑鏉$爜鏁伴噺锛�"); + txt_iCount_2.Focus(); + this.ucBtnPrint2.rptParameter = "return false"; + return; + } + if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_psnQty_2.Text.Trim())) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨鎵撳嵃鏉$爜鏁伴噺锛�"); + txt_psnQty_2.Focus(); + this.ucBtnPrint2.rptParameter = "return false"; + return; + } + if (rowGuid.Length < 10) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨鎵撳嵃鐨勮锛�"); + this.ucBtnPrint2.rptParameter = "return false"; + return; + } + + // 缁勮鎵撳嵃鍙傛暟锛堜娇鐢╣vMx3鐨勬帶浠跺�硷級 + this.ucBtnPrint2.rptParameter = "rpt_Arrival_Hb{" + + rowGuid//鍏宠仈涓婚敭锛坓vMx3鐨凣UID锛� + + "," + "" + + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_2.Text.Trim())//浣欐暟 + + "," + txt_iCount_2.Text.Trim()//寮犳暟 + + "," + txt_psnQty_2.Text.Trim()//姣忓紶鏉$爜鏁伴噺 + + "}"; + + // 娓呯┖杈撳叆妗� + txt_iCount_2.Text = ""; + txt_psnQty_2.Text = ""; + }; + // gvMx3 鎵归噺鎵撳嵃浜嬩欢 + this.ucBtnPrint2.btnAllClick += (s, e) => + { + // string rowGuid = lbMxGuid3.Text.Trim(); // 浣跨敤gvMx3鐨凣UID + string rowGuid = txt_releaseNo.Text.Trim(); + 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_Arrival_Hb{" + + "100"//閲嶆墦鏍囪瘑 + + "," + "" + + "," + "" + + "," + "" + + "," + "" + + "," + strCodeList + + "}"; + using (Form rpt = new RptPreview(rowGuid, rptParameter)) + { + rpt.ShowDialog(); + } + frm.Close(); + } + catch (Exception ex) + { + MsgHelper.ShowError(ex.Message); + } + }; + //鏄庣粏琛屽垏鎹簨浠� + // 鍏抽敭锛氱粦瀹歡vMx1鍜実vMx3鐨勭劍鐐硅鍙樺寲浜嬩欢 gvMx1.FocusedRowChanged += GvMx1_FocusedRowChanged; - //鑷姩璁$畻鎵撳嵃閲� + gvMx3.FocusedRowChanged += GvMx3_FocusedRowChanged; // 鍙栨秷娉ㄩ噴骞剁粦瀹氫簨浠� + //gvMx3鎵撳嵃鑷姩璁$畻 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); @@ -79,6 +201,61 @@ { Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_1, txt_iCount_1, radOut, txt_yuliang_1); }; + // gvMx3鐨勮嚜鍔ㄨ绠� + txt_psnQty_2.TextChanged += (s, e) => + { + Gs.DevApp.ToolBox.UtilityHelper.PrintJiSuan(txt_psnQty_2, txt_iCount_2, txt_kQtyHb.Text.Trim(), radOut2, txt_yuliang_2); + }; + radOut2.SelectedIndexChanged += (s, e) => + { + Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_2, txt_iCount_2, radOut2, txt_yuliang_2); + }; + + + ////搴曢儴姹囨�诲惎鐢� + //gvMx1.OptionsView.ShowFooter = true; + //// 涓烘煇涓�鍒楄缃眰鍜屾眹鎬� + //gvMx1.Columns["quantity"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; + //gvMx1.Columns["quantity"].SummaryItem.DisplayFormat = "鍚堣: {0}"; + + // 涓轰簡鏂逛究浣跨敤鏁村悎鍒� UtilityHelper 绫讳腑鐨� SetupGridSummary 鏂规硶 + UtilityHelper.SetupGridSummary(gvMx1, "quantity", "okRkqty"); + UtilityHelper.SetupGridSummary(gvMxL1, "quantity", "okRkqty"); + + // 妫�鏌ユ暟鎹姞杞藉悗鍐嶈缃鑹� + this.Load += (s, e) => { + System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); + timer.Interval = 1000; // 1绉掑悗鎵ц锛岀‘淇濇暟鎹凡鍔犺浇 + timer.Tick += (sender, args) => { + timer.Stop(); + timer.Dispose(); + + // 浣跨敤鏂扮殑绠�鍖栨牸寮忚缃楠岀粨鏋滈鑹� + UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains涓嶅悎鏍�", "Cell", Color.Red); + UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains鍚堟牸", "Cell", Color.Green); + UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains鍏嶆", "Cell", Color.Green); + + UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains涓嶅悎鏍�", "Cell", Color.Red); + UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains鍚堟牸", "Cell", Color.Green); + UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains鍏嶆", "Cell", Color.Green); + + UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains涓嶅悎鏍�", "Cell", Color.Red); + UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains鍚堟牸", "Cell", Color.Green); + UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains鍏嶆", "Cell", Color.Green); + + UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains涓嶅悎鏍�", "Cell", Color.Red); + UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains鍚堟牸", "Cell", Color.Green); + UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains鍏嶆", "Cell", Color.Green); + + // 瀛楁杩愮畻绀轰緥锛氬綋鏀惰揣鏁伴噺(quantity)澶т簬宸插叆搴撴暟閲�(okRkqty)鏃讹紝鏁磋鏄剧ず姗欒壊 + UtilityHelper.SetSimpleGridColor(gvMx1, "", "quantity-okRkqty>0", "Row", Color.Orange); + + // 瀛楁杩愮畻绀轰緥锛氬綋鍙墦鍗版暟閲�(kQty)灏忎簬绛変簬0鏃讹紝鏁磋鏄剧ず鐏拌壊 + UtilityHelper.SetSimpleGridColor(gvMx1, "", "kQty<=0", "Row", Color.Gray); + }; + timer.Start(); + }; + } private void GridView1_ColumnFilterChanged(object sender, EventArgs e) { @@ -86,6 +263,9 @@ Task.Delay(100); getPageList(1); } + + + private void GvMx1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (e.FocusedRowHandle >= 0) @@ -114,6 +294,39 @@ txt_iCount_1.Text = ""; } } + + //鏄庣粏琛屽垏鎹簨浠� + + private void GvMx3_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) + { + if (e.FocusedRowHandle >= 0) + { + DataRow row = gvMx3.GetDataRow(e.FocusedRowHandle); + //lbMxGuid.Text = row["guid"].ToString(); + txtItemNo.Text = row["itemNo"].ToString(); + txtItemModel.Text = row["itemModel"].ToString(); + txtItemName.Text = row["itemName"].ToString(); + txtQuantityHb.Text = row["quantity"].ToString();//鏈鏀惰揣鎬婚噺 + txt_yQtyHb.Text = row["yQty"].ToString();//宸叉墦鍗版�婚噺 + txt_kQtyHb.Text = row["kQty"].ToString(); //鍙墦鍗版�婚噺 + txt_psnQty_2.Text = row["mrtmsl"].ToString(); //榛樿姣忓紶鏉$爜鏁伴噺 + txt_releaseNo.Text = row["releaseNo"].ToString(); //鍙墦鍗版�婚噺 + } + else + { + lbMxGuid.Text = ""; + ucBtnPrint1.guidKey = ""; + txtItemNo.Text = ""; + txtItemModel.Text = ""; + txtItemName.Text = ""; + txtQuantityHb.Text = ""; + txt_yQtyHb.Text = ""; + txt_kQtyHb.Text = ""; + txt_psnQty_2.Text = ""; + txt_iCount_2.Text = ""; + } + } + /// <summary> /// 鍒嗛〉浜嬩欢 /// </summary> @@ -217,6 +430,8 @@ private void getModel(string strGuid) { gcMx1.DataSource = null; + gcMx2.DataSource = null; + gcMx3.DataSource = null; bool isEdit = false; if (toolBarMenu1.currentAction == "add") return; if (toolBarMenu1.currentAction == "edit") isEdit = true; @@ -240,7 +455,9 @@ List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); gvList.Add(gvMx1); gvList.Add(gvMx2); + gvList.Add(gvMx3); UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList); + JArray array1 = new JArray(); foreach (var a in dy["list1"]) { @@ -278,6 +495,24 @@ { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2); } + JArray array3 = new JArray(); + foreach (var a in dy["list3"]) + { + array3.Add(a); + } + DataTable dt3 = JsonConvert.DeserializeObject<DataTable>(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); + } } else ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); @@ -288,45 +523,91 @@ } } /// <summary> - /// 閲嶆墦 + /// 鏂板鏂规硶锛氬垪琛ㄦ樉绀� /// </summary> - /// <param name="sender"></param> - /// <param name="e"></param> - private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) + /// <param name="strGuid">涓昏〃id</param> + + private void getModelList(string strGuid) { - MsgHelper.ShowInformation("鍔熻兘寮�鍙戜腑锛�"); - return; - var rowhandle = gvMx2.FocusedRowHandle; - if (rowhandle < 0) - return; - if (e.Button.Index == 0) + gcMxL1.DataSource = null; + gcMxL2.DataSource = null; + gcMxL3.DataSource = null; + var _obj = new { - var dr = gvMx2.GetDataRow(rowhandle); - var mxGuid = dr["guid"].ToString(); - if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍒犻櫎鍚楋紵")) - return; - var _obj = new + guid = strGuid,//涓诲缓 + }; + try + { + string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); + ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); + if (_rtn.rtnCode > 0) { - mxGuid = mxGuid, - inType = "dhtm" - }; - try - { - var strJson = UtilityHelper.HttpPost("", - _webServiceName + "DeleteBarcode", - JsonConvert.SerializeObject(_obj)); - var _rtn = UtilityHelper.ReturnToDynamic(strJson); - if (_rtn.rtnCode > 0) + dynamic dy = _rtn.rtnData; + + JArray array1 = new JArray(); + foreach (var a in dy["list1"]) { - if (_rtn.rtnCode > 0) getModel(lbGuid.Text); + array1.Add(a); } - MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(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["list3"]) + { + array2.Add(a); + } + + DataTable dt2 = JsonConvert.DeserializeObject<DataTable>(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); + } + JArray array3 = new JArray(); + foreach (var a in dy["list2"]) + { + array3.Add(a); + } + DataTable dt3 = JsonConvert.DeserializeObject<DataTable>(array3.ToString()); + if (dt3.Rows.Count > 0) + { + gcMxL3.BindingContext = new BindingContext(); + gcMxL3.DataSource = dt3; + gcMxL3.ForceInitialize(); + gvMxL3.BestFitColumns(); + Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL3); + } + else + { + Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL3, gvMxL3); + } } - catch (Exception ex) - { - MsgHelper.Warning("鎻愮ず锛�" + ex.Message); - } + else + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } + } } \ No newline at end of file -- Gitblit v1.9.3