From 467eae029f6ce0377c59e06eca0e328211c16c4b Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 19 二月 2025 21:06:11 +0800 Subject: [PATCH] 来料检验 --- StandardPda/MES.Service/service/QC/BaseService.cs | 53 +++++++++++++ StandardPda/MES.Service/Dto/service/ImageDataDto.cs | 8 ++ StandardPda/MES.Service/Modes/MesQsImage.cs | 55 +++++++++++++ StandardPda/MESApplication/Controllers/QC/BaseController.cs | 84 +++++++++++++++++++++ StandardPda/MES.Service/Modes/MesQaItemsDetectDetail12.cs | 18 ++-- 5 files changed, 209 insertions(+), 9 deletions(-) diff --git a/StandardPda/MES.Service/Dto/service/ImageDataDto.cs b/StandardPda/MES.Service/Dto/service/ImageDataDto.cs new file mode 100644 index 0000000..23b46fe --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/ImageDataDto.cs @@ -0,0 +1,8 @@ +锘縰sing MES.Service.Modes; + +namespace MES.Service.Dto.service; + +public class ImageDataDto +{ + public List<MesQsImage>? entity; +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesQaItemsDetectDetail12.cs b/StandardPda/MES.Service/Modes/MesQaItemsDetectDetail12.cs index 479f7f7..e1ea363 100644 --- a/StandardPda/MES.Service/Modes/MesQaItemsDetectDetail12.cs +++ b/StandardPda/MES.Service/Modes/MesQaItemsDetectDetail12.cs @@ -21,25 +21,25 @@ /// 妫�楠岀粨鏋� ///</summary> [SugarColumn(ColumnName = "FCHECK_RESU")] - public string FcheckResu { get; set; } + public string? FcheckResu { get; set; } /// <summary> /// 妫�楠岄」鐩� ///</summary> [SugarColumn(ColumnName = "FCHECK_ITEM")] - public string FcheckItem { get; set; } + public string? FcheckItem { get; set; } /// <summary> /// 鐗╂枡鏉$爜 ///</summary> [SugarColumn(ColumnName = "ITEM_BARCODE")] - public string ItemBarcode { get; set; } + public string? ItemBarcode { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "RELEASE_NO")] - public string ReleaseNo { get; set; } + public string? ReleaseNo { get; set; } /// <summary> /// @@ -57,31 +57,31 @@ /// ///</summary> [SugarColumn(ColumnName = "COMPANY")] - public string Company { get; set; } + public string? Company { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "FACTORY")] - public string Factory { get; set; } + public string? Factory { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "FSTAND")] - public string Fstand { get; set; } + public string? Fstand { get; set; } /// <summary> /// 鐢熸垚浜� ///</summary> [SugarColumn(ColumnName = "LASTUPDATE_BY")] - public string LastupdateBy { get; set; } + public string? LastupdateBy { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "CREATE_BY")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } [SugarColumn(IsIgnore = true)] public int? count { get; set; } } diff --git a/StandardPda/MES.Service/Modes/MesQsImage.cs b/StandardPda/MES.Service/Modes/MesQsImage.cs new file mode 100644 index 0000000..0ea58fd --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesQsImage.cs @@ -0,0 +1,55 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 鍥剧墖淇℃伅 +/// </summary> +[Table("MES_QS_IMAGE")] +[SugarTable("MES_QS_IMAGE")] //鐢ㄤ簬SqlSugar +public class MesQsImage +{ + /// <summary> + /// 涓婚敭 + /// </summary> + [Key] + [Column("ID")] + [SugarColumn(IsPrimaryKey = true, OracleSequenceName = "SEQ_QS_IMG", + ColumnName = "ID")] //鐢ㄤ簬SqlSugar + public decimal? Id { get; set; } + + /// <summary> + /// 妫�楠屽崟id + /// </summary> + [Column("FID")] + [SugarColumn(ColumnName = "FID")] //鐢ㄤ簬SqlSugar + public decimal? Fid { get; set; } + + /// <summary> + /// 闄勪欢鍐呭 + /// </summary> + [Column("IMAGE_DATA")] + [SugarColumn(ColumnName = "IMAGE_DATA")] //鐢ㄤ簬SqlSugar + [StringLength(4000, ErrorMessage = "ImageData闀垮害涓嶈兘瓒呭嚭4000")] + public byte[]? ImageData { get; set; } + + /// <summary> + /// 1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴,4涓烘潵鏂欐 + /// </summary> + [Column("QS_TYPE")] + [SugarColumn(ColumnName = "QS_TYPE")] //鐢ㄤ簬SqlSugar + [StringLength(1, ErrorMessage = "1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴闀垮害涓嶈兘瓒呭嚭1")] + public string? QsType { get; set; } + + /// <summary> + /// 鍥剧墖鍚嶇О + /// </summary> + [Column("PICTURENAME")] + [SugarColumn(ColumnName = "PICTURENAME")] //鐢ㄤ簬SqlSugar + [StringLength(200, ErrorMessage = "Picturename闀垮害涓嶈兘瓒呭嚭200")] + public string? Picturename { get; set; } + + [SugarColumn(IsIgnore = true)] public string? base64Date { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/QC/BaseService.cs b/StandardPda/MES.Service/service/QC/BaseService.cs new file mode 100644 index 0000000..d99828f --- /dev/null +++ b/StandardPda/MES.Service/service/QC/BaseService.cs @@ -0,0 +1,53 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.QC; + +public class BaseService +{ + // public string?[] getUserLineNo(string userNo) + // { + // //MesLineUser + // var db = SqlSugarHelper.GetInstance(); + // var mesLineUsers = db.Queryable<MesLineUser>() + // .Where(a => a.Fcode == userNo) + // .ToList(); + // // 浣跨敤 Distinct 鏂规硶瀵� LineNo 杩涜鍘婚噸 + // return mesLineUsers.Select(s => s.LineNo).Distinct().ToArray(); + // } + + public int saveImage(List<MesQsImage> entity) + { + var mesQsImages = entity.Where(item => item.Id == null).ToList(); + + mesQsImages.ForEach(s => + { + if (!string.IsNullOrEmpty(s.base64Date)) + //灏哹ase64杞崲涓篵yte鏁扮粍 + 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<MesQsImage> getByFid(decimal id, string qsType) + { + var db = SqlSugarHelper.GetInstance(); + var mesQsImages = db.Queryable<MesQsImage>() + .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; + } +} \ No newline at end of file diff --git a/StandardPda/MESApplication/Controllers/QC/BaseController.cs b/StandardPda/MESApplication/Controllers/QC/BaseController.cs new file mode 100644 index 0000000..dd54e7f --- /dev/null +++ b/StandardPda/MESApplication/Controllers/QC/BaseController.cs @@ -0,0 +1,84 @@ +锘縰sing System.Dynamic; +using MES.Service.Dto.service; +using MES.Service.service.QC; +using MES.Service.util; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json.Linq; + +namespace MESApplication.Controllers.QC; + +[Route("api/[controller]")] +[ApiController] +public class BaseController : ControllerBase +{ + [HttpPost("saveImage")] + public ResponseResult saveImage([FromBody] ImageDataDto dto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = + new BaseService().saveImage(dto.entity); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + //removeImage + [HttpPost("removeImage")] + public ResponseResult removeImage([FromBody] JObject data) + { + var id = Convert.ToInt32(data["id"].ToString()); + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = + new BaseService().removeImage(id); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + //getByFid + [HttpPost("getByFid")] + public ResponseResult getByFid([FromBody] JObject data) + { + var id = Convert.ToInt32(data["fid"].ToString()); + var qsType = data["qsType"].ToString(); + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = + new BaseService().getByFid(id, qsType); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } +} \ No newline at end of file -- Gitblit v1.9.3