From a97a624c1fb269a059f97629076433c46b4e8b4c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 13 8月 2025 14:42:08 +0800
Subject: [PATCH] //如果是连续打印,则不调用打印服务,解决重复打印的问题 【Editby shaocx,2025-08-13】

---
 LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 deletions(-)

diff --git a/LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs b/LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs
index 2ac9750..65ff232 100644
--- a/LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs
+++ b/LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs
@@ -24,6 +24,7 @@
 {
     public partial class Form1 : Form
     {
+        public static string prePrintSuccessPackage = "";//涓婁竴涓墦鍗版垚鍔熺殑鍖呭彿
         //鑷姩鎵撳嵃绾跨▼
         Thread AutoPrint, Colors;
 
@@ -252,7 +253,7 @@
                     this.tb_Msg.Text = "鍑虹幇寮傚父:" + ex.Message;
                     Log4NetHelper.WriteErrorLog(LogType.Print, "Print 鍑虹幇寮傚父锛�" + ex.Message, ex);
                 }
-                Thread.Sleep(2 * 1000);//浼戠湢2绉�
+                Thread.Sleep(10 * 1000);//浼戠湢10绉� 锛�2绉掓敼涓�10绉� 銆怑ditby shaocx,2025-08-05銆�
             }
         }
 
@@ -312,34 +313,56 @@
                     Dictionary<string, object> data = new Dictionary<string, object>();
                     if (printClassifyEnum == PrintClassifyEnum.鍖呰鏉$爜)
                     {
-                        data.Add("Info4", item.Info4);//鍚堝悓鍗曞彿
+                        //data.Add("Info4", item.Info4 ?? "");//鍚堝悓鍗曞彿
                         data.Add("Info5", item.Info5 ?? "");//鐢熶骇鍗曞彿
                         data.Add("Info6", "绗�" + (item.Info6 ?? "") + "鍖�");//绗嚑鍖�
-                        data.Add("bar", item.PackageCode);//浜岀淮鐮侊紙鍖呭彿锛�
+                        data.Add("bar", item.PackageCode ?? "");//浜岀淮鐮侊紙鍖呭彿锛�
                         data.Add("Info7", item.Info7 ?? "");//缁忛攢搴�
                         data.Add("Info8", item.Info8 ?? "");//浜у搧
                         data.Add("Info9", item.PackageCode ?? "");//鍖呰缂栫爜
                         data.Add("Info10", item.Info10 ?? "");//瀹㈡埛鍚嶇О
                         data.Add("Info11", item.Info11 ?? "");//鑷彁or鍙戣揣 
-                        data.Add("Info12", "鍖呰鏄庣粏 閮ㄤ欢鎬绘暟" + item.Info12 ?? "");//閮ㄤ欢鏄庣粏
-                        data.Add("Info13", item.Info13 ?? "");//褰撳墠鍖呴潰绉�
+                        data.Add("Info12", "鍖呰鏄庣粏 [鏉夸欢鎬绘暟" + (item.Info12 ?? "") + "]");//閮ㄤ欢鏄庣粏
+                        //data.Add("Info13", item.Info13 ?? "");//褰撳墠鍖呴潰绉�
                         data.Add("printTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
 
-                        //mycontext.mes
-                        data.Add("leijisaomiaomj", item.Info13 ?? "");//绱鎵弿闈㈢Н
+                        //var finsiList = mycontext.mes_package_gather.Where(x => x.Info5 == item.Info5 && x.UpiStatus >= (int)UpiStatusEnum.宸插悎鍖�).ToList();
+                        //double leijisaomiaomj = 0;
+                        //foreach (var aa in finsiList)
+                        //{
+                        //    if (!string.IsNullOrEmpty(aa.Info13))
+                        //    {
+                        //        leijisaomiaomj += Convert.ToDouble(aa.Info13);
+                        //    }
+                        //}
+                        //涓嶈绠楁湰娆$殑
+                        //if (!string.IsNullOrEmpty(item.Info13))
+                        //{
+                        //    leijisaomiaomj += Convert.ToDouble(item.Info13);
+                        //}
+                        //data.Add("leijisaomiaomj", leijisaomiaomj);//绱鎵弿闈㈢Н
 
                         //鏌ヨ涓� 鍖呮暟鎹�
                         var mylist = mycontext.mes_batchOrderUPI_new.Where(x => x.PackageCode == item.PackageCode).ToList();
-                        var gg = mylist.GroupBy(x => x.DetailName);
+                        var gg = mylist.GroupBy(x => new { x.DetailName, x.Info16 });
                         int i = 0;
+                        int maxCount = 10;
+                        if (gg.Count() > 10)
+                        {
+                            errMsg = $"鎵撳嵃閿欒 鎵撳嵃鏈哄悕绉皗_PrinterName},閿欒淇℃伅锛氭墦鍗拌秴鍑轰簡闄愬埗鏉℃暟锛屾渶澶т笉鑳借秴杩噞maxCount}鏉★紝瀹為檯{gg.Count()}鏉�";
+                            Log4NetHelper.WriteErrorLog(LogType.Print, errMsg, null);
+                            return;
+                        }
                         foreach (var g in gg)
                         {
                             i++;
-                            data.Add("detail_" + i, g.Key ?? "");//閮ㄤ欢鍚嶇О
-                            data.Add("detail_" + i + "_length", g.ToList().First().Info16 ?? "");//閮ㄤ欢灏哄
+                            data.Add("detail_" + i, g.Key.DetailName ?? "");//閮ㄤ欢鍚嶇О
+                            data.Add("detail_" + i + "_length", g.Key.Info16 ?? "");//閮ㄤ欢灏哄
                             data.Add("detail_" + i + "_number", g.ToList().Count());//閮ㄤ欢鏁伴噺
                         }
-                        for (int p = (i + 1); p <= 6; p++)
+                        //杩欎釜鍦版柟鏄皢鍓╀笅鐨勬暟鎹� 娓呯┖ 
+                        //鏈�澶у�兼敼涓� 10  銆怑ditby shaocx,2025-03-31銆�
+                        for (int p = (i + 1); p <= maxCount; p++)
                         {
                             data.Add("detail_" + p, "");//閮ㄤ欢鍚嶇О
                             data.Add("detail_" + p + "_length", "");//閮ㄤ欢灏哄
@@ -354,14 +377,24 @@
 
                     //璋冪敤鎵撳嵃鎺ュ彛
                     bool isSuccess = false;
-                    using (iWarePrintService.PrintBaseService.PrintWcfServiceClient client = new iWarePrintService.PrintBaseService.PrintWcfServiceClient())
-                    {
-                        //isSuccess = client.Print3(data, 1, @"D:\鎵撳嵃绋嬪簭\璺熻釜鐮佹墦鍗版ā鏉縗璺熻釜鐮佹墦鍗版ā鏉縚涓�缁寸爜.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
-                        //isSuccess = client.Print3(data, 1, @"D:\鎵撳嵃绋嬪簭\璺熻釜鐮佹墦鍗版ā鏉縗璺熻釜鐮佹墦鍗版ā鏉縚浜岀淮鐮�.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
-                        isSuccess = client.Print3(data, item.PrintSheetNum, printConfig.PrintTemplateAddr, _PrinterName, out errMsg);
+                    if (prePrintSuccessPackage == item.PackageCode)
+                    {//濡傛灉鏄繛缁墦鍗帮紝鍒欎笉璋冪敤鎵撳嵃鏈嶅姟锛岃В鍐抽噸澶嶆墦鍗扮殑闂 銆怑ditby shaocx,2025-08-13銆�
+                        isSuccess = true;//寮哄埗璁や负鎵撳嵃鎴愬姛锛�
                     }
+                    else
+                    {
+                        using (iWarePrintService.PrintBaseService.PrintWcfServiceClient client = new iWarePrintService.PrintBaseService.PrintWcfServiceClient())
+                        {
+                            //isSuccess = client.Print3(data, 1, @"D:\鎵撳嵃绋嬪簭\璺熻釜鐮佹墦鍗版ā鏉縗璺熻釜鐮佹墦鍗版ā鏉縚涓�缁寸爜.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
+                            //isSuccess = client.Print3(data, 1, @"D:\鎵撳嵃绋嬪簭\璺熻釜鐮佹墦鍗版ā鏉縗璺熻釜鐮佹墦鍗版ā鏉縚浜岀淮鐮�.btw", "ZDesigner ZD888-203dpi ZPL", out errMsg);
+                            isSuccess = client.Print3(data, item.PrintSheetNum, printConfig.PrintTemplateAddr, _PrinterName, out errMsg);
+                        }
+                    }
+
                     if (isSuccess)
                     {
+                        prePrintSuccessPackage = item.PackageCode;
+
                         item.PrintStatus = 1;//鎵撳嵃鐘舵��(0锛氭湭鎵撳嵃 1锛氬凡鎵撳嵃)
                         item.PrintNum = (item.PrintNum) + 1;
 

--
Gitblit v1.9.3