From c884c789edec46084c81ee500a404da2f0685e7d Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期三, 27 八月 2025 14:18:13 +0800 Subject: [PATCH] 生产部分优化 --- DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs | 137 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 134 insertions(+), 3 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs index d485a62..5c925f2 100644 --- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs +++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs @@ -188,11 +188,138 @@ MsgHelper.ShowError(ex.Message); } }; + + + // --------------------gvMx3 ucBtnPrintOne1 鎵归噺鎵撳嵃浜嬩欢锛堜紭鍖栫増锛�-------------------- + this.ucBtnPrintOne1.btnPrintClick += (s, e) => + { + // 1. 鍩虹楠岃瘉锛氫富琛ㄨ閫夋嫨 + string mainGuid = lbGuid.Text.Trim(); + if (string.IsNullOrEmpty(mainGuid) || mainGuid.Length < 10) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("璇峰厛鍦ㄤ富琛ㄤ腑閫夋嫨鏁版嵁琛岋紒"); + this.ucBtnPrintOne1.rptParameter = "return false"; + return; + } + + // 2. 鑾峰彇鏄庣粏鏁版嵁婧� + DataTable dtDetails = gcMx3.DataSource as DataTable; + if (dtDetails == null || dtDetails.Rows.Count == 0) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("褰撳墠涓昏〃鏃犲叧鑱旂殑鏄庣粏鏁版嵁锛岃鍏堝姞杞芥槑缁嗭紒"); + this.ucBtnPrintOne1.rptParameter = "return false"; + return; + } + + // 3. 绛涢�夊彲鎵撳嵃鏄庣粏锛堥�昏緫涓嶅彉锛� + List<string> validReleaseNos = new List<string>(); + List<string> validPrintQtys = new List<string>(); + string releaseNoField = "releaseNo"; + + if (!dtDetails.Columns.Contains(releaseNoField)) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError($"鏄庣粏鏁版嵁婧愮己灏戝繀瑕佸瓧娈碉細{releaseNoField}"); + this.ucBtnPrintOne1.rptParameter = "return false"; + return; + } + + foreach (DataRow row in dtDetails.Rows) + { + string rowReleaseNo = row[releaseNoField]?.ToString()?.Trim() ?? ""; + if (string.IsNullOrEmpty(rowReleaseNo) || rowReleaseNo.Length < 5) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError($"璺宠繃鏃犳晥鏄庣粏琛岋細缂哄皯鎴栨棤鏁堢殑releaseNo"); + continue; + } + + string kQtyStr = row["kQty"]?.ToString()?.Trim() ?? "0"; + if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(kQtyStr) + || !decimal.TryParse(kQtyStr, out decimal kQty) + || kQty <= 0) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError($"璺宠繃鏄庣粏琛岋紙releaseNo锛歿rowReleaseNo}锛夛細鍙墦鍗版暟閲忔棤鏁堟垨<=0"); + continue; + } + + if (!validReleaseNos.Contains(rowReleaseNo)) + { + validReleaseNos.Add(rowReleaseNo); + validPrintQtys.Add(kQty.ToString("F2")); + } + else + { + Gs.DevApp.ToolBox.MsgHelper.ShowError($"璺宠繃閲嶅鏄庣粏琛岋紙releaseNo锛歿rowReleaseNo}锛夛細宸插寘鍚releaseNo"); + } + } + + if (validReleaseNos.Count == 0) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("娌℃湁鍙壒閲忔墦鍗扮殑鏄庣粏琛岋紙鎵�鏈夎鍧囦负鏃犳晥鏁版嵁鎴栧彲鎵撳嵃鏁伴噺<=0锛�"); + this.ucBtnPrintOne1.rptParameter = "return false"; + return; + } + + // 4. 缁勮鍙傛暟锛堥�傞厤_rptGetParameterP瑙f瀽閫昏緫锛� + string releaseNosStr = string.Join("|", validReleaseNos); + string printQtysStr = string.Join("|", validPrintQtys); + + // 浠呬紶6涓叧閿弬鏁帮紝瀵瑰簲瑙f瀽鏂规硶鐨剆0-s5 + string[] reportParams = new string[] + { + "batch", // s0 鈫� @in1锛氭壒閲忔爣璇� + "0", // s1 鈫� @in2锛氬崰浣� + "0", // s2 鈫� @in3锛氫綑閲� + "1", // s3 鈫� @in4锛氬紶鏁� + printQtysStr, // s4 鈫� @in5锛氭暟閲忓垪琛� + releaseNosStr // s5 鈫� @in6锛歳eleaseNo鍒楄〃 + }; + + string paramContent = string.Join(",", reportParams); + string rptParam = $"rpt_Arrival_One{{{paramContent}}}"; + + this.ucBtnPrintOne1.guidKey = mainGuid; + this.ucBtnPrintOne1.rptParameter = rptParam; + + // 5. 璋冪敤棰勮锛堥�昏緫涓嶅彉锛� + try + { + using (Form rptPreviewForm = new RptPreview(mainGuid, rptParam)) + { + DialogResult previewResult = rptPreviewForm.ShowDialog(); + if (previewResult == DialogResult.OK) + { + getModel(mainGuid); + Gs.DevApp.ToolBox.MsgHelper.ShowError($"鎵归噺鎵撳嵃瀹屾垚锛佸叡鎵撳嵃 {validReleaseNos.Count} 鏉℃湁鏁堟槑缁�"); + } + else if (previewResult == DialogResult.Cancel) + { + Gs.DevApp.ToolBox.MsgHelper.ShowError("鐢ㄦ埛鍙栨秷鎵归噺鎵撳嵃鎿嶄綔"); + } + } + } + catch (Exception ex) + { + string errorMsg = $"鎵归噺鎵撳嵃寮傚父锛歿ex.Message}"; + if (ex.InnerException != null) + { + errorMsg += $"\n鍐呴儴閿欒锛歿ex.InnerException.Message}"; + } + Gs.DevApp.ToolBox.MsgHelper.ShowError(errorMsg); + this.ucBtnPrintOne1.rptParameter = "return false"; + } + + // 6. 娓呯┖鎺т欢 + txt_iCount_2.Text = ""; + txt_psnQty_2.Text = ""; + txt_releaseNo.Text = ""; + }; + + //鏄庣粏琛屽垏鎹簨浠� // 鍏抽敭锛氱粦瀹歡vMx1鍜実vMx3鐨勭劍鐐硅鍙樺寲浜嬩欢 gvMx1.FocusedRowChanged += GvMx1_FocusedRowChanged; gvMx3.FocusedRowChanged += GvMx3_FocusedRowChanged; // 鍙栨秷娉ㄩ噴骞剁粦瀹氫簨浠� - //gvMx3鎵撳嵃鑷姩璁$畻 + //gvMx1鎵撳嵃鑷姩璁$畻 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); @@ -210,6 +337,7 @@ { Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_2, txt_iCount_2, radOut2, txt_yuliang_2); }; + ////搴曢儴姹囨�诲惎鐢� @@ -246,12 +374,15 @@ 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); + UtilityHelper.SetSimpleGridColor(gridView1, "barRatio", "=100.00%", "Cell", Color.Green); + //鍏ュ簱姣斾緥 + UtilityHelper.SetSimpleGridColor(gridView1, "rkbl", "=100.00%", "Cell", Color.Green); }; timer.Start(); }; -- Gitblit v1.9.3