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