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