using MES.Service.DB; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service.QC; public class BaseService { public string[]? getUserLineNo(string userNo) { //MesLineUser var db = SqlSugarHelper.GetInstance(); var mesLineUsers = db.Queryable() .Where(a => a.Fcode == userNo) .ToList(); return mesLineUsers.Select(s => s.LineNo).ToArray(); } public int saveImage(List entity) { var mesQsImages = entity.Where(item => item.Id == null).ToList(); mesQsImages.ForEach(s => { if (!string.IsNullOrEmpty(s.base64Date)) //将base64转换为byte数组 s.ImageData = Convert.FromBase64String(s.base64Date); }); return SqlSugarHelper.UseTransactionWithOracle(db => db.Insertable(mesQsImages).ExecuteCommand()); } public int removeImage(decimal? id) { return SqlSugarHelper.UseTransactionWithOracle(db => db .Deleteable(new MesQsImage { Id = id }) .ExecuteCommand()); } public List getByFid(decimal id, string qsType) { var db = SqlSugarHelper.GetInstance(); var mesQsImages = db.Queryable() .Where(s => s.Fid == id && s.QsType == qsType).ToList(); mesQsImages.ForEach(s => { if (s.ImageData is { Length: > 0 }) s.base64Date = Convert.ToBase64String(s.ImageData); }); return mesQsImages; } public List getLljAllImgByFid(string id, string qsType) { var db = SqlSugarHelper.GetInstance(); var mesQsImages = db .Queryable((a, b) => new JoinQueryInfos(JoinType.Left, a.Fid == b.Id)) .Where((a, b) => b.ReleaseNo == id && a.Id != null).ToList(); mesQsImages.ForEach(s => { if (s.ImageData is { Length: > 0 }) s.base64Date = Convert.ToBase64String(s.ImageData); }); return mesQsImages; } public List getByOqcFid(decimal id, string qsType) { var db = SqlSugarHelper.GetInstance(); var mesQsImages = db.Queryable() .Where(s => s.Fid == id && s.QsType == qsType).ToList(); var mesOqcItemsDetect02 = db.Queryable() .Where(s=>s.Id == id).First(); if (mesOqcItemsDetect02?.SaleOrderNo != null) { var baseOrderNo = mesOqcItemsDetect02.SaleOrderNo.Split('-')[0]; var additionalImages = db.Queryable() .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; } }