From f6598be8fdb51673c0a48ddeac8bd0e622835b35 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 16 七月 2025 11:58:10 +0800 Subject: [PATCH] 111 --- MES.Service/Modes/MesQsImage.cs | 2 MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs | 155 +++++++++++ MES.Service/service/QC/MesOqcItemsDetect02Manager.cs | 445 ++++++++++++++++++++++++++++--- MES.Service/Dto/service/OQCDto.cs | 22 + MES.Service/Modes/MesOqcItemsDetect02.cs | 16 + MES.Service/service/QC/BaseService.cs | 16 + MES.Service/Modes/MesItems.cs | 96 +++--- MES.Service/Modes/MesOqcItemsDetectDetail5.cs | 2 MESApplication/Controllers/QC/BaseController.cs | 29 ++ MES.Service/Modes/MesOqcBarcode.cs | 11 10 files changed, 695 insertions(+), 99 deletions(-) diff --git a/MES.Service/Dto/service/OQCDto.cs b/MES.Service/Dto/service/OQCDto.cs new file mode 100644 index 0000000..0afdc61 --- /dev/null +++ b/MES.Service/Dto/service/OQCDto.cs @@ -0,0 +1,22 @@ +锘縰sing MES.Service.Dto.@base; +using MES.Service.Modes; + +namespace MES.Service.Dto.service; + +public class OQCDto : Page +{ + public string? CreateUser { get; set; } + + public decimal? Id { get; set; } + + public decimal? MainId { get; set; } + + public string? ReleaseNo { get; set; } + + public List<MesInvItemStocks>? ItemBarCodeData { get; set; } + + + public MesOqcItemsDetectDetail5? ItemXj01 { get; set; } + + public List<MesOqcItemsDetectDetail12>? ItemXj02s { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Modes/MesItems.cs b/MES.Service/Modes/MesItems.cs index b8ab9d1..89236f3 100644 --- a/MES.Service/Modes/MesItems.cs +++ b/MES.Service/Modes/MesItems.cs @@ -18,73 +18,73 @@ /// 宸ュ巶 ///</summary> [SugarColumn(ColumnName = "FACTORY")] - public string Factory { get; set; } + public string? Factory { get; set; } /// <summary> /// 鍏徃缂栧彿 ///</summary> [SugarColumn(ColumnName = "COMPANY")] - public string Company { get; set; } + public string? Company { get; set; } /// <summary> /// 鐗╂枡缂栫爜 = ERP鐗╂枡缂栧彿||棰滆壊缂栧彿 ///</summary> [SugarColumn(ColumnName = "ITEM_NO")] - public string ItemNo { get; set; } + public string? ItemNo { get; set; } /// <summary> /// 鐗╂枡鍚嶇О ///</summary> [SugarColumn(ColumnName = "ITEM_NAME")] - public string ItemName { get; set; } + public string? ItemName { get; set; } /// <summary> /// 鐗╂枡绠�绉� ///</summary> [SugarColumn(ColumnName = "ITEM_SNAME")] - public string ItemSname { get; set; } + public string? ItemSname { get; set; } /// <summary> /// 瑙勬牸鍨嬪彿 ///</summary> [SugarColumn(ColumnName = "ITEM_MODEL")] - public string ItemModel { get; set; } + public string? ItemModel { get; set; } /// <summary> /// 鐗╂枡鎻忚堪 ///</summary> [SugarColumn(ColumnName = "ITEM_DESCRIPTION")] - public string ItemDescription { get; set; } + public string? ItemDescription { get; set; } /// <summary> /// 鐗╂枡鍗曚綅 ///</summary> [SugarColumn(ColumnName = "ITEM_UNIT")] - public string ItemUnit { get; set; } + public string? ItemUnit { get; set; } /// <summary> /// 鐗╂枡绫诲瀷 ///</summary> [SugarColumn(ColumnName = "ITEM_TYPE")] - public string ItemType { get; set; } + public string? ItemType { get; set; } /// <summary> /// 浜у搧鐗堟湰 ///</summary> [SugarColumn(ColumnName = "ITEM_VERSION")] - public string ItemVersion { get; set; } + public string? ItemVersion { get; set; } /// <summary> /// 瀹㈡埛缂栧彿 ///</summary> [SugarColumn(ColumnName = "CUST_NO")] - public string CustNo { get; set; } + public string? CustNo { get; set; } /// <summary> /// 鍒涘缓浜� ///</summary> [SugarColumn(ColumnName = "CREATE_BY")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } /// <summary> /// 鍒涘缓鏃堕棿 @@ -96,7 +96,7 @@ /// 鏈�鍚庢洿鏂颁汉 ///</summary> [SugarColumn(ColumnName = "LASTUPDATE_BY")] - public string LastupdateBy { get; set; } + public string? LastupdateBy { get; set; } /// <summary> /// 鏈�鍚庢洿鏂版椂闂� @@ -126,25 +126,25 @@ /// 璁㈠崟鍗曚綅 ///</summary> [SugarColumn(ColumnName = "ORDERUNIT")] - public string Orderunit { get; set; } + public string? Orderunit { get; set; } /// <summary> /// 閿�鍞崟浣� ///</summary> [SugarColumn(ColumnName = "SALEUNIT")] - public string Saleunit { get; set; } + public string? Saleunit { get; set; } /// <summary> /// 搴撴埧鍗曚綅 ///</summary> [SugarColumn(ColumnName = "STOREUNIT")] - public string Storeunit { get; set; } + public string? Storeunit { get; set; } /// <summary> /// 鐢熶骇鍗曚綅 ///</summary> [SugarColumn(ColumnName = "PRODUCTUNIT")] - public string Productunit { get; set; } + public string? Productunit { get; set; } /// <summary> /// 鐗╂枡ID @@ -156,43 +156,43 @@ /// ERP鏂欏彿 ///</summary> [SugarColumn(ColumnName = "ERP_ITEM_NO")] - public string ErpItemNo { get; set; } + public string? ErpItemNo { get; set; } /// <summary> /// 榛樿浠撳簱 ///</summary> [SugarColumn(ColumnName = "DEPOT_CODE")] - public string DepotCode { get; set; } + public string? DepotCode { get; set; } /// <summary> /// 鐗╂枡鍒嗙被缂栧彿 ///</summary> [SugarColumn(ColumnName = "PPBOM00019124")] - public string Ppbom00019124 { get; set; } + public string? Ppbom00019124 { get; set; } /// <summary> /// 鐗╂枡鍒嗙粍 ///</summary> [SugarColumn(ColumnName = "REMARKS")] - public string Remarks { get; set; } + public string? Remarks { get; set; } /// <summary> /// 閲囪喘鍛� ///</summary> [SugarColumn(ColumnName = "FPURCHASERID")] - public string Fpurchaserid { get; set; } + public string? Fpurchaserid { get; set; } /// <summary> /// 绂佺敤鐘舵�� ///</summary> [SugarColumn(ColumnName = "FFORBIDSTATUS")] - public string Fforbidstatus { get; set; } + public string? Fforbidstatus { get; set; } /// <summary> /// 鐗╂枡鍒嗙粍 ///</summary> [SugarColumn(ColumnName = "FMATERIALGROUP")] - public string Fmaterialgroup { get; set; } + public string? Fmaterialgroup { get; set; } /// <summary> /// 瀹屽伐瓒呮敹姣斾緥 @@ -204,7 +204,7 @@ /// 鍙戞枡鏂瑰紡 ///</summary> [SugarColumn(ColumnName = "FISSUETYPE")] - public string Fissuetype { get; set; } + public string? Fissuetype { get; set; } /// <summary> /// 鍚敤鎵瑰彿绠$悊 @@ -222,91 +222,91 @@ /// 鑷畾涔夊瓧娈�1 ///</summary> [SugarColumn(ColumnName = "REMARK1")] - public string Remark1 { get; set; } + public string? Remark1 { get; set; } /// <summary> /// 鑷畾涔夊瓧娈�2 ///</summary> [SugarColumn(ColumnName = "REMARK2")] - public string Remark2 { get; set; } + public string? Remark2 { get; set; } /// <summary> /// 鑷畾涔夊瓧娈�3 ///</summary> [SugarColumn(ColumnName = "REMARK3")] - public string Remark3 { get; set; } + public string? Remark3 { get; set; } /// <summary> /// 鑷畾涔夊瓧娈�4 ///</summary> [SugarColumn(ColumnName = "REMARK4")] - public string Remark4 { get; set; } + public string? Remark4 { get; set; } /// <summary> /// 鑷畾涔夊瓧娈�5 ///</summary> [SugarColumn(ColumnName = "REMARK5")] - public string Remark5 { get; set; } + public string? Remark5 { get; set; } /// <summary> /// 鐢熶骇杞﹂棿 ///</summary> [SugarColumn(ColumnName = "PRODUCTION_WORKSHOP")] - public string ProductionWorkshop { get; set; } + public string? ProductionWorkshop { get; set; } /// <summary> /// 鐗╂枡灞炴�� ///</summary> [SugarColumn(ColumnName = "MATERIAL_PROPERTI")] - public string MaterialProperti { get; set; } + public string? MaterialProperti { get; set; } /// <summary> /// 鐢熶骇鍗曚綅 ///</summary> [SugarColumn(ColumnName = "PRODUCE_UNIT")] - public string ProduceUnit { get; set; } + public string? ProduceUnit { get; set; } /// <summary> /// 濮斿鍗曚綅 ///</summary> [SugarColumn(ColumnName = "SUBCON_UNIT")] - public string SubconUnit { get; set; } + public string? SubconUnit { get; set; } /// <summary> /// 鍥剧墖1 ///</summary> [SugarColumn(ColumnName = "BZ06")] - public string Bz06 { get; set; } + public string? Bz06 { get; set; } /// <summary> /// 鍥剧墖2 ///</summary> [SugarColumn(ColumnName = "BZ07")] - public string Bz07 { get; set; } + public string? Bz07 { get; set; } /// <summary> /// 鍥剧墖3 ///</summary> [SugarColumn(ColumnName = "BZ08")] - public string Bz08 { get; set; } + public string? Bz08 { get; set; } /// <summary> /// 鍥剧墖4 ///</summary> [SugarColumn(ColumnName = "BZ09")] - public string Bz09 { get; set; } + public string? Bz09 { get; set; } /// <summary> /// 鍥剧墖5 ///</summary> [SugarColumn(ColumnName = "BZ10")] - public string Bz10 { get; set; } + public string? Bz10 { get; set; } /// <summary> /// QC鍒嗙粍ID ///</summary> [SugarColumn(ColumnName = "QC_TEAMID")] - public string QcTeamid { get; set; } + public string? QcTeamid { get; set; } /// <summary> /// 浣跨敤缁勭粐 @@ -330,49 +330,49 @@ /// 鍔╄鐮� ///</summary> [SugarColumn(ColumnName = "FMNEMONICCODE")] - public string Fmnemoniccode { get; set; } + public string? Fmnemoniccode { get; set; } /// <summary> /// 淇濊川鏈� ///</summary> [SugarColumn(ColumnName = "FEXPPERIOD")] - public string Fexpperiod { get; set; } + public string? Fexpperiod { get; set; } /// <summary> /// 棰滆壊 ///</summary> [SugarColumn(ColumnName = "COLOR_NAME")] - public string ColorName { get; set; } + public string? ColorName { get; set; } /// <summary> /// 鎹熻�楃巼 ///</summary> [SugarColumn(ColumnName = "FLOSSPERCENT")] - public string Flosspercent { get; set; } + public string? Flosspercent { get; set; } /// <summary> /// 鏍囧噯浜ц兘 ///</summary> [SugarColumn(ColumnName = "SP_CAPACITY")] - public string SpCapacity { get; set; } + public string? SpCapacity { get; set; } /// <summary> /// 鏄惁鍏抽敭浠� ///</summary> [SugarColumn(ColumnName = "FISKITTING")] - public string Fiskitting { get; set; } + public string? Fiskitting { get; set; } /// <summary> /// 鍘熶骇鍦帮紙鍝佺墝鏂癸級 ///</summary> [SugarColumn(ColumnName = "PROVENANCE")] - public string Provenance { get; set; } + public string? Provenance { get; set; } /// <summary> /// 鏉愯川 ///</summary> [SugarColumn(ColumnName = "MATERIAL")] - public string Material { get; set; } + public string? Material { get; set; } [SugarColumn(IsIgnore = true)] public string? Type { get; set; } diff --git a/MES.Service/Modes/MesOqcBarcode.cs b/MES.Service/Modes/MesOqcBarcode.cs index 1ef0204..4206e8a 100644 --- a/MES.Service/Modes/MesOqcBarcode.cs +++ b/MES.Service/Modes/MesOqcBarcode.cs @@ -25,7 +25,7 @@ /// 鎵爜浜� /// </summary> [SugarColumn(ColumnName = "CREATE_BY")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } /// <summary> /// 鎵爜鏃堕棿 @@ -37,7 +37,7 @@ /// 鐗╂枡鏉$爜 /// </summary> [SugarColumn(ColumnName = "ITEM_BARCODE")] - public string ItemBarcode { get; set; } + public string? ItemBarcode { get; set; } /// <summary> /// 鏁伴噺 @@ -55,11 +55,12 @@ /// 鐗╂枡鍙� /// </summary> [SugarColumn(ColumnName = "ITEM_NO")] - public string ItemNo { get; set; } + public string? ItemNo { get; set; } /// <summary> - /// 閿�鍞鍗曞彿 + /// 宸ュ崟鍙� /// </summary> [SugarColumn(ColumnName = "SALE_ORDER_NO")] - public string SaleOrderNo { get; set; } + public string? SaleOrderNo { get; set; } + } \ No newline at end of file diff --git a/MES.Service/Modes/MesOqcItemsDetect02.cs b/MES.Service/Modes/MesOqcItemsDetect02.cs index 7847d4e..2e3896b 100644 --- a/MES.Service/Modes/MesOqcItemsDetect02.cs +++ b/MES.Service/Modes/MesOqcItemsDetect02.cs @@ -134,5 +134,21 @@ ///</summary> [SugarColumn(ColumnName = "DEPOT_ID")] public decimal? DepotId { get; set; } + + [SugarColumn(IsIgnore = true)] + public string? ItemName{ get; set; } + + [SugarColumn(IsIgnore = true)] + public string? ItemModel { get; set; } + + [SugarColumn(IsIgnore = true)] + public string? CreateUser { get; set; } + + //fcheckBy + [SugarColumn(IsIgnore = true)] + public string? FcheckUser { get; set; } + + [SugarColumn(IsIgnore = true)] + public string? DepotName { get; set; } } } \ No newline at end of file diff --git a/MES.Service/Modes/MesOqcItemsDetectDetail5.cs b/MES.Service/Modes/MesOqcItemsDetectDetail5.cs index 9046c5f..7368f96 100644 --- a/MES.Service/Modes/MesOqcItemsDetectDetail5.cs +++ b/MES.Service/Modes/MesOqcItemsDetectDetail5.cs @@ -191,5 +191,7 @@ ///</summary> [SugarColumn(ColumnName = "FEATU_PROC")] public string? FeatuProc { get; set; } + + [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; } } } \ No newline at end of file diff --git a/MES.Service/Modes/MesQsImage.cs b/MES.Service/Modes/MesQsImage.cs index 3f627b2..59f1546 100644 --- a/MES.Service/Modes/MesQsImage.cs +++ b/MES.Service/Modes/MesQsImage.cs @@ -36,7 +36,7 @@ public byte[]? ImageData { get; set; } /// <summary> - /// 1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴 + /// 1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴,4涓烘潵鏂欐楠�,5涓篛QC /// </summary> [Column("QS_TYPE")] [SugarColumn(ColumnName = "QS_TYPE")] //鐢ㄤ簬SqlSugar diff --git a/MES.Service/service/QC/BaseService.cs b/MES.Service/service/QC/BaseService.cs index a827168..11a21c6 100644 --- a/MES.Service/service/QC/BaseService.cs +++ b/MES.Service/service/QC/BaseService.cs @@ -1,5 +1,6 @@ 锘縰sing MES.Service.DB; using MES.Service.Modes; +using SqlSugar; namespace MES.Service.service.QC; @@ -49,4 +50,19 @@ }); return mesQsImages; } + + public List<MesQsImage> getLljAllImgByFid(string id, string qsType) + { + var db = SqlSugarHelper.GetInstance(); + var mesQsImages = db + .Queryable<MesQsImage, MesOqcItemsDetectDetail5>((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; + } } \ No newline at end of file diff --git a/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs index a461509..35830d6 100644 --- a/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs +++ b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs @@ -1,10 +1,11 @@ -锘縰sing Masuit.Tools; +锘縰sing System.Data; +using Masuit.Tools; using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.util; -using Microsoft.CSharp.RuntimeBinder; using SqlSugar; +using DbType = System.Data.DbType; namespace MES.Service.service.QC; @@ -29,45 +30,49 @@ var totalCount = 0; - //var itemIds = GetQaItem(db, queryObj.createUser); + var pageList = Db.Queryable<MesOqcItemsDetect02, MesItems + , SysUser, SysUser, MesDepots>((a, b, c, d, e) => + new JoinQueryInfos(JoinType.Left, a.ItemId == b.Id, + JoinType.Left, a.CreateBy == c.Fcode, + JoinType.Left, a.FcheckBy == d.Fcode, + JoinType.Left, a.DepotId == e.DepotId + )) + .WhereIF( + StringUtil.IsNotNullOrEmpty(queryObj.result) && + "鏈畬鎴�".Equals(queryObj.result), + (a, b, c, d, e) => a.FcheckResu == null || a.Fsubmit == 0) + .WhereIF( + StringUtil.IsNotNullOrEmpty(queryObj.result) && + !"鏈畬鎴�".Equals(queryObj.result), + (a, b, c, d, e) => a.FcheckResu != null && a.Fsubmit == 1) + .WhereIF(id > 0, (a, b, c, d, e) => a.Id == id) + .OrderByDescending((a, b, c, d, e) => a.Id) + .Select((a, b, c, d, e) => new MesOqcItemsDetect02() + { + ItemNo = b.ItemNo, + ItemName = b.ItemName, + ItemModel = b.ItemModel, + CreateUser = c.Fname, + FcheckUser = d.Fname, + DepotName = e.DepotName + }, true) + .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); + return (pageList, totalCount); + } - // var pageList = db.Queryable<LtsLlj>() - // .WhereIF( - // StringUtil.IsNotNullOrEmpty(queryObj.result) && - // "鏈畬鎴�".Equals(queryObj.result), - // a => a.FcheckResu == null) - // .WhereIF( - // StringUtil.IsNotNullOrEmpty(queryObj.result) && - // !"鏈畬鎴�".Equals(queryObj.result), - // a => a.FcheckResu != null) - // .WhereIF(id > 0, a => a.Id == id) + public List<MesOqcItemsDetectDetail5> GetDetail5(OQCDto dto) + { + return Db.Queryable<MesOqcItemsDetectDetail5>() + .Where(s => s.ReleaseNo == dto.ReleaseNo) + .ToList(); + } - //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉版悳绱� - //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue ) - // .WhereIF( - // queryObj.SelectedIndex == "0" && - // !string.IsNullOrEmpty(queryObj.SearchValue), - // a => (a.ItemNo.ToLower() - // .Contains(queryObj.SearchValue.ToLower()))) - // .WhereIF( - // queryObj.SelectedIndex == "1" && - // !string.IsNullOrEmpty(queryObj.SearchValue), - // a => (a.ItemName.ToLower() - // .Contains(queryObj.SearchValue.ToLower()))) - // .WhereIF( - // queryObj.SelectedIndex == "2" && - // !string.IsNullOrEmpty(queryObj.SearchValue), - // a => (a.SuppName.ToLower() - // .Contains(queryObj.SearchValue.ToLower()))) - // .WhereIF(queryObj.result == "宸插畬鎴�", - // a => (a.IqcDate >= queryObj.startDate.ToDateTime() && - // a.IqcDate <= queryObj.endDate.ToDateTime().AddDays(1))) - // .WhereIF(queryObj.result == "宸插畬鎴�" && queryObj.state != "鎵�鏈夌姸鎬�", - // a => a.FcheckResu == queryObj.state) - // .OrderByDescending(a => a.Id) - // .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); - // return (pageList, totalCount); - return (new List<MesOqcItemsDetect02>(), totalCount); + public List<MesOqcItemsDetectDetail12> GetDetail12(OQCDto dto) + { + return Db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.ReleaseNo == dto.ReleaseNo + && s.MainId == dto.MainId) + .ToList(); } public MesInvItemStocks GetItemBarCode(XJPageResult queryObj) @@ -86,6 +91,16 @@ throw new NotImplementedException("鏉$爜涓嶅瓨鍦ㄤ簬搴撳瓨涓�"); } + // 妫�鏌ユ潯鐮佹槸鍚﹀凡缁忓瓨鍦ㄤ簬MesOqcBarcode琛ㄤ腑锛堝凡妫�楠岃繃锛� + var existingBarcode = Db.Queryable<MesOqcBarcode>() + .Where(a => a.ItemBarcode == queryObj.ItemCode) + .First(); + + if (existingBarcode != null) + { + throw new NotImplementedException("璇ユ潯鐮佸凡缁忔楠岃繃锛屼笉鑳介噸澶嶆楠�"); + } + var mesDepots = Db.Queryable<MesDepots>() .Where(s => s.DepotId == 121163).First(); @@ -94,21 +109,361 @@ throw new NotImplementedException("鍙兘鎵弿" + mesDepots.DepotCode + "浠撳簱鐨勭爜"); } - + if (mesInvItemStocks.ItemId is null or 0) { throw new NotImplementedException("鐗╂枡鏄潪娉曠殑"); } var mesItems = Db.Queryable<MesItems>() - .Where(b=>b.Id == mesInvItemStocks.ItemId) + .Where(b => b.Id == mesInvItemStocks.ItemId) + .Select<MesItems>(b => new MesItems + { + ItemName = b.ItemName, + ItemModel = b.ItemModel, + }) .First(); - - // mesInvItemStocks.ItemName = mesItems.ItemName; - // mesInvItemStocks.ItemModel = mesItems.ItemModel; + + mesInvItemStocks.ItemName = mesItems.ItemName; + mesInvItemStocks.ItemModel = mesItems.ItemModel; return mesInvItemStocks; } + + //OQCDto + public int ItemBarCodeSubmit(OQCDto dto) + { + //getbillcode1 + var billNo = Db.Ado.GetString( + "SELECT getbillcode1('1000', '1000', 'OQC') FROM DUAL"); + + var dtoItemBarCodeData = dto.ItemBarCodeData; + + var sum = dtoItemBarCodeData.Sum(s => s.Quantity); + + MesOqcItemsDetect02 from = new MesOqcItemsDetect02 + { + CreateBy = dto.CreateUser, + CreateDate = DateTime.Now, + ReleaseNo = billNo, + Fsubmit = 0, + Ismodify1 = 0, + FcheckBy = dto.CreateUser, + FcheckDate = DateTime.Now, + ItemNo = dtoItemBarCodeData[0].ItemNo, + ItemId = dtoItemBarCodeData[0].ItemId, + PlanQty = sum, + SaleOrderNo = dtoItemBarCodeData[0].TaskNo, + DepotId = 121163 + }; + + var id = Db.Insertable(from) + .IgnoreColumns(ignoreNullColumn: true) + .ExecuteReturnIdentity(); + + //璁板綍鏉$爜 + List<MesOqcBarcode> oqcBarcodes = new List<MesOqcBarcode>(); + + foreach (var mesInvItemStockse in dtoItemBarCodeData) + { + MesOqcBarcode entity = new MesOqcBarcode() + { + CreateBy = dto.CreateUser, + CreateDate = DateTime.Now, + ItemBarcode = mesInvItemStockse.ItemBarcode, + ItemId = mesInvItemStockse.ItemId, + ItemNo = mesInvItemStockse.ItemNo, + Qty = mesInvItemStockse.Quantity, + Pid = id, + SaleOrderNo = mesInvItemStockse.TaskNo, + }; + oqcBarcodes.Add(entity); + } + + var executeCommand = Db.Insertable(oqcBarcodes).PageSize(1) + .IgnoreColumnsNull() + .ExecuteCommand(); + + //PRC_OQC_ITEM_INSERT_BTN + if (executeCommand > 0 && id > 0) + { + // 瀹氫箟杈撳嚭鍙傛暟 + var outputResult = new SugarParameter("PO_RESULT", null, + DbType.Int32, ParameterDirection.Output, 4000); + var outputMessage = new SugarParameter("PO_TEXT", null, + DbType.String, + ParameterDirection.Output, 4000); + + // 瀹氫箟杈撳叆鍙傛暟 + var parameters = new List<SugarParameter> + { + new("P_RELEASE_NO", from.ReleaseNo, DbType.String, + ParameterDirection.Input), + new("P_ITEM_ID", from.ItemId, DbType.Int32, + ParameterDirection.Input), + new("P_BILL_NO ", "", DbType.String, + ParameterDirection.Input), + outputResult, + outputMessage + }; + + var db = SqlSugarHelper.GetInstance(); + + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + db.Ado.ExecuteCommand( + "BEGIN PRC_OQC_ITEM_INSERT_BTN(:P_RELEASE_NO,:P_ITEM_ID,:P_BILL_NO,:PO_RESULT, :PO_TEXT); END;", + parameters.ToArray()); + + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + var resultValue = outputResult.Value?.ToString(); + var messageValue = outputMessage.Value?.ToString(); + + if ("1".Equals(resultValue)) + // 澶勭悊澶辫触鎯呭喌锛岃繑鍥為敊璇俊鎭� + throw new Exception($"鎿嶄綔澶辫触: {messageValue}"); + + // 褰� resultValue 涓� "0" 鏃惰繑鍥炴垚鍔熺姸鎬� + return id; + } + + return 0; + } + + public OQCDto getXjDetail02ById(decimal? id) + { + var rkjDto = new OQCDto(); + + var qsItemOqcItem = + Db.Queryable<MesOqcItemsDetectDetail5>().Single(s => s.Id == id); + + /* if (qsItemOqcItem.IsPass == 0) + qsItemOqcItem.Result = "涓嶅悎鏍�"; + else if (qsItemOqcItem.IsPass == 1) + qsItemOqcItem.Result = "鍚堟牸"; + else + qsItemOqcItem.Result = "鏈畬鎴�"; + + if (qsItemOqcItem.Picture is { Length: > 0 }) + qsItemOqcItem.imageData = + Convert.ToBase64String(qsItemOqcItem.Picture); + */ + //鑾峰彇涓嶅悎鏍兼暟 + var count = Db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.Fstand == "脳" && s.MainId == id).Count(); + + qsItemOqcItem.Unqualified = count; + + rkjDto.ItemXj01 = qsItemOqcItem; + + + rkjDto.ItemXj02s = Db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == id) + .ToList(); + + return rkjDto; + } + + public int UpdateQSItemDetail(MesOqcItemsDetectDetail12 detail) + { + var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<MesOqcItemsDetectDetail12>() + .SetColumns(s => s.LastupdateBy == detail.LastupdateBy) + // .SetColumns(s => s.LastupdateDate == DateTime.Now) + .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand), + s => s.Fstand == detail.Fstand) + .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu), + s => s.FcheckResu == detail.FcheckResu) + .Where(s => s.MainId == detail.MainId && s.Id == detail.Id) + .ExecuteCommand(); + }); + + detail.CreateBy = detail.LastupdateBy; + + withOracle += autoResult(detail); + + return withOracle; + } + + private int autoResult(MesOqcItemsDetectDetail12 detail) + { + var db = SqlSugarHelper.GetInstance(); + + // Single 娌℃湁鏌ヨ鍒扮粨鏋滄椂杩斿洖Null锛屽鏋滅粨鏋滃ぇ浜�1鏉′細鎶涘嚭閿欒 + var QsItemOqcItem = db.Queryable<MesOqcItemsDetectDetail5>() + .Single(s => s.Id == detail.MainId); + + if (QsItemOqcItem == null) return 0; + + //鏌ヨ杩欎釜妫�楠岄」鐩笅鐨勬楠岀粨鏋� + var count = db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == detail.MainId).Count(); + + updateDetail5(detail); + var result = ""; + + //妫�楠屽疄闄呯粨鏋滀笉绛変簬搴旇妫�楠岀殑涓暟鏃剁洿鎺ユ帹鍑� + if (QsItemOqcItem.CheckQyt != count) return 0; + + //鍚堟牸鐨勬湁澶氬皯涓� + var passCount = db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == detail.MainId && s.Fstand == "鈭�").Count(); + //涓嶅悎鏍肩殑鏈夊灏戜釜 + var noCount = db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == detail.MainId && s.Fstand == "脳").Count(); + + if (count == passCount) + result = "鍚堟牸"; + //else if (count - passCount < QsItemOqcItem.FreQty) + // result = "涓嶅悎鏍�"; + else if (noCount >= QsItemOqcItem.FreQty) + result = "涓嶅悎鏍�"; + var useTransactionWithOracle = + SqlSugarHelper.UseTransactionWithOracle(db => + { + var commit = 0; + commit += db.Updateable<MesOqcItemsDetectDetail5>() + .SetColumns(s => s.FcheckResu == result) + .SetColumns(s => s.FenterQty == count) + .Where(s => s.Id == detail.MainId) + .ExecuteCommand(); + + return commit; + }); + + var isNull = db.Queryable<MesOqcItemsDetectDetail5>() + .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == null) + .Count(); + + if (isNull > 0) return 1; + //鑾峰彇妫�楠屽崟鐨勬楠岄」鐩殑涓暟 + var sum = db.Queryable<MesOqcItemsDetectDetail5>() + .Where(s => s.ReleaseNo == detail.ReleaseNo).Count(); + + if (sum == 0) return 1; + + //鑾峰彇妫�楠屽崟涓嬬殑鍚堟牸鐨勬楠岄」鐩釜鏁� + var icount = db.Queryable<MesOqcItemsDetectDetail5>() + .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == "鍚堟牸") + .Count(); + + var FcheckResu = "涓嶅悎鏍�"; + + //瀹為檯涓暟绛変簬鐞嗚涓暟鏃跺妫�楠屽崟杩涜鍒ゅ畾 + if (sum == icount) + //鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸 + FcheckResu = "鍚堟牸"; + var sysUser = db.Queryable<SysUser>() + .Where(s => s.Fcode == detail.CreateBy).First(); + + SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<MesOqcItemsDetect02>() + .SetColumns(s => s.FcheckResu == FcheckResu) + .SetColumns(s => s.FcheckDate == DateTime.Now) + //.SetColumns(s => s.FcheckBy == sysUser.Fname) + .SetColumns(s => s.LastupdateBy == detail.CreateBy) + .SetColumns(s => s.LastupdateDate == DateTime.Now) + .Where(s => s.ReleaseNo == detail.ReleaseNo) + .ExecuteCommand(); + }); + // if (FcheckResu.Equals("涓嶅悎鏍�")) + //鑷姩鐢熸垚鍏ュ簱妫�寮傚父瀵圭瓥 + /// saveDetect02(detail.Id, detail.CreateBy); + + return useTransactionWithOracle; + } + + private int updateDetail5(MesOqcItemsDetectDetail12 detail) + { + var db = SqlSugarHelper.GetInstance(); + + //鏌ヨ杩欎釜妫�楠岄」鐩笅鐨勬楠屾暟閲� + var count = db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == detail.MainId).Count(); + + //鑾峰彇涓嶅悎鏍兼暟 + var countNo = db.Queryable<MesOqcItemsDetectDetail12>() + .Where(s => s.MainId == detail.MainId && s.Fstand == "脳").Count(); + //鏇存柊妫�楠屾槑缁嗗凡妫�鏁伴噺 + var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<MesOqcItemsDetectDetail5>() + .SetColumns(s => s.FenterQty == count) + .SetColumns(s => s.FngQty == countNo) + .Where(s => s.Id == detail.MainId) + .ExecuteCommand(); + }); + + return withOracle; + } + + public int saveRemarksPid(LLJDto dto) + { + return SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<MesOqcItemsDetectDetail5>() + .SetColumns(it => + it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊� + .Where(it => it.Id == dto.pid) + .ExecuteCommand(); + }); + } + + public bool IqcQaSubmit(LLJDto dto) + { + try + { + // 瀹氫箟杈撳嚭鍙傛暟 + var outputResult = new SugarParameter("o_Result", null, + DbType.Int32, ParameterDirection.Output, + 4000); + + var outputMessage = new SugarParameter("o_Msg", null, + DbType.String, + ParameterDirection.Output, 4000); + + // 瀹氫箟杈撳叆鍙傛暟 + var parameters = new List<SugarParameter> + { + new("p_Release_No", dto.releaseNo, DbType.String, + ParameterDirection.Input), + new("p_User", dto.userNo, DbType.String, + ParameterDirection.Input), + outputResult, + outputMessage + }; + + var db = SqlSugarHelper.GetInstance(); + + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + db.Ado.ExecuteCommand( + "BEGIN PRC_MES_OQC_QA_SUBMIT82(:p_Release_No, :p_User, :o_Result, :o_Msg); END;", + parameters.ToArray()); + + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + var resultValue = outputResult.Value?.ToString(); + var messageValue = outputMessage.Value?.ToString(); + + if ("1".Equals(resultValue)) throw new Exception(messageValue); + + return true; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + } - + public int saveRemarksGid(LLJDto dto) + { + return SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<MesOqcItemsDetect02>() + .SetColumns(it => + it.Remeke == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊� + .Where(it => it.ReleaseNo == dto.releaseNo) + .ExecuteCommand(); + }); + } } \ No newline at end of file diff --git a/MESApplication/Controllers/QC/BaseController.cs b/MESApplication/Controllers/QC/BaseController.cs index dd54e7f..5b35c14 100644 --- a/MESApplication/Controllers/QC/BaseController.cs +++ b/MESApplication/Controllers/QC/BaseController.cs @@ -81,4 +81,33 @@ return ResponseResult.ResponseError(ex); } } + + /// <summary> + /// 鑾峰彇鏉ユ枡妫�鍗曚釜妫�楠屽崟涓婁紶鐨勬墍鏈夊浘鐗� + /// </summary> + /// <param name="data"></param> + /// <returns></returns> + [HttpPost("getLljAllImgByFid")] + public ResponseResult getLljAllImgByFid([FromBody] JObject data) + { + var id = data["id"].ToString(); + var qsType = data["qsType"].ToString(); + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = + new BaseService().getLljAllImgByFid(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 diff --git a/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs b/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs index 58926ae..8aaca72 100644 --- a/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs +++ b/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs @@ -4,6 +4,7 @@ using MES.Service.service.QC; using MES.Service.util; using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json.Linq; namespace MESApplication.Controllers.QC; @@ -13,6 +14,160 @@ { private readonly MesOqcItemsDetect02Manager m = new(); + //saveRemarksGid 涓昏〃娣诲姞涓嶅悎鏍兼弿杩� + [HttpPost("saveRemarksGid")] + public ResponseResult saveRemarksGid([FromBody] LLJDto rkjDto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = m.saveRemarksGid(rkjDto); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + //IqcQaSubmit + [HttpPost("IqcQaSubmit")] + public ResponseResult IqcQaSubmit(LLJDto rkjDto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = m.IqcQaSubmit(rkjDto); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("saveRemarksPid")] + public ResponseResult saveRemarksPid([FromBody] LLJDto rkjDto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = m.saveRemarksPid(rkjDto); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("UpdateQSItemDetail")] + public ResponseResult UpdateQSItemDetail( + [FromBody] MesOqcItemsDetectDetail12 detail) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var detail021 = m.UpdateQSItemDetail(detail); + resultInfos.tbBillList = detail021; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("getXjDetail02ById")] + public ResponseResult getXjDetail02ById([FromBody] JObject data) + { + var id = data["id"]?.ToString(); + + try + { + dynamic resultInfos = new ExpandoObject(); + var tbBillList = m.getXjDetail02ById(Convert.ToDecimal(id)); + resultInfos.tbBillList = tbBillList; + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + //ItemBarCodeSubmit(OQCDto dto) + [HttpPost("ItemBarCodeSubmit")] + public ResponseResult ItemBarCodeSubmit([FromBody] OQCDto dto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var item = m.ItemBarCodeSubmit(dto); + var tbBillList = + resultInfos.tbBillList = item; + return new ResponseResult + { + status = 0, + message = "OK", + data = tbBillList + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("GetDetail5")] + public ResponseResult GetDetail5([FromBody] OQCDto dto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + var item = m.GetDetail5(dto); + var tbBillList = + resultInfos.tbBillList = item; + return new ResponseResult + { + status = 0, + message = "OK", + data = tbBillList + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + [HttpPost("getPage")] public ResponseResult getPage([FromBody] XJPageResult queryObj) { -- Gitblit v1.9.3