| | |
| | | mesQsImages.ForEach(s => |
| | | { |
| | | if (!string.IsNullOrEmpty(s.base64Date)) |
| | | { |
| | | //将base64转换为byte数组 |
| | | s.ImageData = Convert.FromBase64String(s.base64Date); |
| | | |
| | | // 统一文件名格式:如果为空或UUID格式,则生成时间戳格式,后缀为png |
| | | 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 => |
| | |
| | | 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 |
| | | { |
| | | // 如果没有图片数据,设置空的base64 |
| | | s.base64Date = string.Empty; |
| | | } |
| | | }); |
| | | return mesQsImages; |
| | | } |
| | | |
| | | } |