From fba48d2d676cd9b6d493163aef9d87f6e5090aee Mon Sep 17 00:00:00 2001
From: 如洲 陈 <1278080563@qq.com>
Date: 星期五, 12 九月 2025 19:02:00 +0800
Subject: [PATCH] 出库检和退货检验

---
 MES.Service/service/QC/BaseService.cs |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 0 deletions(-)

diff --git a/MES.Service/service/QC/BaseService.cs b/MES.Service/service/QC/BaseService.cs
index 10bef34..15a11fd 100644
--- a/MES.Service/service/QC/BaseService.cs
+++ b/MES.Service/service/QC/BaseService.cs
@@ -22,8 +22,23 @@
         mesQsImages.ForEach(s =>
         {
             if (!string.IsNullOrEmpty(s.base64Date))
+            {
                 //灏哹ase64杞崲涓篵yte鏁扮粍
                 s.ImageData = Convert.FromBase64String(s.base64Date);
+                
+                // 缁熶竴鏂囦欢鍚嶆牸寮忥細濡傛灉涓虹┖鎴朥UID鏍煎紡锛屽垯鐢熸垚鏃堕棿鎴虫牸寮忥紝鍚庣紑涓簆ng
+                if (string.IsNullOrEmpty(s.Picturename) || 
+                    (s.Picturename.Length > 30 && !s.Picturename.Contains(".")))
+                {
+                    s.Picturename = $"{DateTimeOffset.Now.ToUnixTimeMilliseconds()}.png";
+                }
+                else if (s.Picturename.Contains("."))
+                {
+                    // 濡傛灉鏂囦欢鍚嶅寘鍚墿灞曞悕锛岀粺涓�鏀逛负png鍚庣紑
+                    var nameWithoutExt = s.Picturename.Split('.')[0];
+                    s.Picturename = $"{nameWithoutExt}.png";
+                }
+            }
         });
 
         return SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -51,4 +66,95 @@
 
         
     }
+    public List<MesQsImage> getByOqcFid(decimal id, string qsType)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        var mesQsImages = db.Queryable<MesQsImage>()
+            .Where(s => s.Fid == id && s.QsType == qsType).ToList();
+
+        var mesOqcItemsDetect02 = db.Queryable<MesOqcItemsDetect02>()
+            .Where(s => s.Id == id).First();
+
+        if (mesOqcItemsDetect02?.SaleOrderNo != null)
+        {
+            var baseOrderNo = mesOqcItemsDetect02.SaleOrderNo.Split('-')[0];
+
+            var additionalImages = db.Queryable<MesQsImage>()
+                .Where(s => s.OrderNo == baseOrderNo && s.QsType == qsType)
+                .Where(s => !mesQsImages.Any(existing => existing.Id == s.Id))
+                .ToList();
+
+            mesQsImages.AddRange(additionalImages);
+
+            if (mesQsImages.Count > 9)
+            {
+                mesQsImages = mesQsImages.Take(9).ToList();
+            }
+        }
+
+        mesQsImages.ForEach(s =>
+        {
+            if (s.ImageData is { Length: > 0 })
+                s.base64Date = Convert.ToBase64String(s.ImageData);
+        });
+        return mesQsImages;
+    }
+
+    /// <summary>
+    /// 鑾峰彇THJ閫�璐ф楠岀殑鍥剧墖锛屾敮鎸佹牴鎹��璐у崟鍙锋煡鎵鹃澶栧浘鐗�
+    /// </summary>
+    public List<MesQsImage> getByThjFid(decimal id, string qsType)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        var mesQsImages = db.Queryable<MesQsImage>()
+            .Where(s => s.Fid == id && s.QsType == qsType).ToList();
+
+        // 鑾峰彇THJ涓昏〃淇℃伅
+        var qsQaItemThj = db.Queryable<QsQaItemThj>()
+            .Where(s => s.Id == id).First();
+
+        if (qsQaItemThj?.BillNo != null)
+        {
+            // 鏍规嵁閫�璐у崟鍙锋煡鎵鹃澶栫殑鍥剧墖
+            var additionalImages = db.Queryable<MesQsImage>()
+                .Where(s => s.OrderNo == qsQaItemThj.BillNo && s.QsType == qsType)
+                .Where(s => !mesQsImages.Any(existing => existing.Id == s.Id))
+                .ToList();
+
+            mesQsImages.AddRange(additionalImages);
+
+            // 闄愬埗鏈�澶�9寮犲浘鐗�
+            if (mesQsImages.Count > 9)
+            {
+                mesQsImages = mesQsImages.Take(9).ToList();
+            }
+        }
+
+        mesQsImages.ForEach(s =>
+        {
+            if (s.ImageData is { Length: > 0 })
+            {
+                s.base64Date = Convert.ToBase64String(s.ImageData);
+                
+                // 纭繚鏂囦欢鍚嶆牸寮忔纭紝缁熶竴浣跨敤png鍚庣紑
+                if (string.IsNullOrEmpty(s.Picturename))
+                {
+                    s.Picturename = $"{DateTimeOffset.Now.ToUnixTimeMilliseconds()}.png";
+                }
+                else if (s.Picturename.Contains("."))
+                {
+                    // 濡傛灉鏂囦欢鍚嶅寘鍚墿灞曞悕锛岀粺涓�鏀逛负png鍚庣紑
+                    var nameWithoutExt = s.Picturename.Split('.')[0];
+                    s.Picturename = $"{nameWithoutExt}.png";
+                }
+            }
+            else
+            {
+                // 濡傛灉娌℃湁鍥剧墖鏁版嵁锛岃缃┖鐨刡ase64
+                s.base64Date = string.Empty;
+            }
+        });
+        return mesQsImages;
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3