From 8f25fecab6e6a79096b9940ab3432401b9045b39 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期四, 10 七月 2025 18:00:14 +0800 Subject: [PATCH] 首检\巡检\入库检适配 --- MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs | 483 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 453 insertions(+), 30 deletions(-) diff --git a/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs b/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs index dbfa7b9..2aff094 100644 --- a/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs +++ b/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs @@ -1,4 +1,5 @@ 锘縰sing MES.Service.DB; +using MES.Service.Dto.webApi.QcIssueResult; using MES.Service.Modes.QcIssueResult; using MES.Service.Modes.SentLaboratory; using Newtonsoft.Json; @@ -7,6 +8,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; @@ -14,6 +16,222 @@ public class SaveLaboratoryManager:Repository<UpdateMesQmsSample> { + + public class ResultObject + { + public string? SjReleaseNo { get; set; } + public decimal? IS_SJ { get; set; } + public string? DEPARTMENTNAME { get; set; } + public string? DEPARTMENTCODE { get; set; } + public DateTime? CREATE_DATE { get; set; } + public DateTime? CompleteDate { get; set; } + public string? REMARKS { get; set; } + public string? SIM_REQ { get; set; } + public string? Test_REQ { get; set; } + //纾侀搧鎷夊姏 + public decimal? Check01 { get; set; } + + //纾侀搧鎵块噸 + public decimal? Check02 { get; set; } + + //鐩愰浘 + + public decimal? Check03 { get; set; } + + //IP + public decimal? Check04 { get; set; } + + //鑰佸寲娴嬭瘯 + public decimal? Check05 { get; set; } + + //浼犲杈愬皠 + public decimal? Check06 { get; set; } + + public decimal? Check07 { get; set; } + + //鐢电嚎鎷夊姏 + public decimal? Check08 { get; set; } + + //鎺ュ彛鎻掓嫈 + public decimal? Check09 { get; set; } + + //鍏夎氨娴嬭瘯 + public decimal? Check10 { get; set; } + + //ROHS + public decimal? Check11 { get; set; } + + //鐢垫睜鍏呮斁鐢� + public decimal? Check12 { get; set; } + + //楂樻俯 + public decimal? Check13 { get; set; } + + //浣庢俯 + public decimal? Check14 { get; set; } + + //IK + public decimal? Check15 { get; set; } + + //娓╁崌娴嬭瘯 + public decimal? Check16 { get; set; } + + //瀵垮懡 + public decimal? Check17 { get; set; } + + //鍏跺畠 + public decimal? Check18 { get; set; } + + //鍏跺畠鐨勫唴瀹� + public string? Line04 { get; set; } + public List<AllItem>? allItem { get; set; } + } + + public class AllItem + { + public decimal? Pid { get; set; } + public string? sj_no { get; set; } + public string? release_no { get; set; } + public decimal? ITEM_ID { get; set; } + public string? ITEM_NO { get; set; } + public string? QUANTITY { get; set; } + public decimal? URGENT_FLAG { get; set; } + public DateTime? CREATE_DATE { get; set; } + public string? SUPP_NAME { get; set; } + public string? DECISION_OUTCOMES { get; set; } + + } + + public ResultObject GetListAll(string RELEASE_NO) + { + // 鍋囪浣犳湁涓�涓暟鎹簱涓婁笅鏂囨垨鏁版嵁璁块棶灞� + // 杩欓噷鐢ㄦā鎷熸暟鎹唬鏇垮疄闄呮暟鎹簱鏌ヨ + var mainTable = GetMainTableData(RELEASE_NO); + var subTable = GetSubTableData(RELEASE_NO); + + // 鍒涘缓杩斿洖瀵硅薄 + var result = new ResultObject + { + + SjReleaseNo = mainTable.ReleaseNo, + IS_SJ = mainTable.IsSubmit, + DEPARTMENTNAME = mainTable.DEPARTMENTNAME, + DEPARTMENTCODE=mainTable.DEPARTMENTCODE, + REMARKS = mainTable.REMARKS, + SIM_REQ = mainTable.SimReq, + CompleteDate=mainTable.CompleteDate, + Test_REQ=mainTable.TestReq, + Check01 = mainTable.Check01, + Check02 = mainTable.Check02, + Check03 = mainTable.Check03, + Check04 = mainTable.Check04, + Check05 = mainTable.Check05, + Check06 = mainTable.Check06, + Check07 = mainTable.Check07, + Check08 = mainTable.Check08, + Check09 = mainTable.Check09, + Check10 = mainTable.Check10, + Check11 = mainTable.Check11, + Check12 = mainTable.Check12, + Check13 = mainTable.Check13, + Check14 = mainTable.Check14, + Check15 = mainTable.Check15, + Check16 = mainTable.Check16, + Check17 = mainTable.Check17, + Check18 = mainTable.Check18, + Line04 = mainTable.Line04, + allItem = subTable.Select(item => new AllItem + { + Pid=item.PID, + sj_no = item.SJ_NO, + CREATE_DATE = item.CREATE_DATE, + ITEM_ID = item.ITEM_ID, + release_no=item.RELEASE_NO, + ITEM_NO = item.ITEM_NO, + SUPP_NAME = item.SUPP_NAME, + QUANTITY=item.QUANTITY, + URGENT_FLAG=item.URGENT_FLAG, + DECISION_OUTCOMES=item.DECISION_OUTCOMES, + + }).ToList() + }; + + return result; + } + + // 妯℃嫙涓昏〃鏁版嵁鏌ヨ + private UpdateMesQmsSample GetMainTableData(string RELEASE_NO) + { + var db = SqlSugarHelper.GetInstance(); + + var map = db.Queryable<UpdateMesQmsSample>() + .Where(t => t.ReleaseNo == RELEASE_NO) + .First(); + + + // 杩欓噷搴旇鏄疄闄呯殑鏁版嵁搴撴煡璇㈤�昏緫 + // 渚嬪锛歳eturn db.MainTable.FirstOrDefault(m => m.RELEASE_NO == RELEASE_NO); + return new UpdateMesQmsSample + { + ReleaseNo = map.ReleaseNo, + DEPARTMENTNAME = map.DEPARTMENTNAME, + CreateDate = map.CreateDate, + QUANTITY = map.QUANTITY, + CompleteDate = map.CompleteDate, + TestReq = map.TestReq, + SimReq = map.SimReq, + ItemNo = map.ItemNo, + UrgentFlag = map.UrgentFlag, + JYDH = map.JYDH, + REMARKS = map.REMARKS, + ItemName = map.ItemName, + DEPARTMENTCODE = map.DEPARTMENTCODE, + PAPERBILLNO = map.PAPERBILLNO, + IsSubmit = map.IsSubmit, + ZHBS = map.ZHBS, + Check01 = map.Check01, + Check02 = map.Check02, + Check03 = map.Check03, + Check04 = map.Check04, + Check05 = map.Check05, + Check06 = map.Check06, + Check07 = map.Check07, + Check08 = map.Check08, + Check09 = map.Check09, + Check10 = map.Check10, + Check11 = map.Check11, + Check12 = map.Check12, + Check13 = map.Check13, + Check14 = map.Check14, + Check15 = map.Check15, + Check16 = map.Check16, + Check17 = map.Check17, + Check18 = map.Check18, + Line04=map.Line04 + + }; + } + + // 妯℃嫙瀛愯〃鏁版嵁鏌ヨ + private List<UpdateMesQmsSamplePjt> GetSubTableData(string RELEASE_NO) + { + var db = SqlSugarHelper.GetInstance(); + + var mapping = db.Queryable<UpdateMesQmsSamplePjt>() + .Where(t => t.SJ_NO == RELEASE_NO) + .ToList(); + + // 濡傛灉鏌ヨ缁撴灉涓虹┖锛岃繑鍥炵┖鍒楄〃 + if (mapping == null || mapping.Count == 0) + { + return new List<UpdateMesQmsSamplePjt>(); + } + + // 杩斿洖鏌ヨ缁撴灉 + return mapping; + + } + public dynamic Save(GetLaboratoryDetails getLaboratoryDetails) { @@ -21,12 +239,17 @@ return UseTransaction(db => { - return SaveOrUpdateData(db, mesUpdateMesQmsSample) ? 1 : 0; + return SaveOrUpdateData(db, mesUpdateMesQmsSample,getLaboratoryDetails) ? 1 : 0; }) > 0; } public UpdateMesQmsSample GetMesQcIssueResults(GetLaboratoryDetails getLaboratoryDetails) { + + if (getLaboratoryDetails.URGENT_FLAG == null) { + getLaboratoryDetails.URGENT_FLAG = 0; + } + var mesUpdateMesQmsSample = new UpdateMesQmsSample { ReleaseNo = getLaboratoryDetails.RELEASE_NO, @@ -43,8 +266,29 @@ ItemName = getLaboratoryDetails.ITEM_NAME, DEPARTMENTCODE = getLaboratoryDetails.DEPARTMENTCODE, PAPERBILLNO = getLaboratoryDetails.LOT_NO, + IsSubmit = getLaboratoryDetails.IS_SUBMIT, + ZHBS = getLaboratoryDetails.ZH_BS }; + + mesUpdateMesQmsSample.Check01 = 0; + mesUpdateMesQmsSample.Check02 = 0; + mesUpdateMesQmsSample.Check03 = 0; + mesUpdateMesQmsSample.Check04 = 0; + mesUpdateMesQmsSample.Check05 = 0; + mesUpdateMesQmsSample.Check06 = 0; + mesUpdateMesQmsSample.Check07 = 0; + mesUpdateMesQmsSample.Check08 = 0; + mesUpdateMesQmsSample.Check09 = 0; + mesUpdateMesQmsSample.Check10 = 0; + mesUpdateMesQmsSample.Check11 = 0; + mesUpdateMesQmsSample.Check12 = 0; + mesUpdateMesQmsSample.Check13 = 0; + mesUpdateMesQmsSample.Check14 = 0; + mesUpdateMesQmsSample.Check15 = 0; + mesUpdateMesQmsSample.Check16 = 0; + mesUpdateMesQmsSample.Check17 = 0; + mesUpdateMesQmsSample.Check18 = 0; // 閬嶅巻 CHECKBOX 骞惰祴鍊� foreach (var item in getLaboratoryDetails.CHECKBOX) @@ -117,41 +361,220 @@ /** * 鎻掑叆鏁版嵁搴撹〃 */ - private bool SaveOrUpdateData(SqlSugarScope db, UpdateMesQmsSample updateMesQmsSample) + private bool SaveOrUpdateData(SqlSugarScope db, UpdateMesQmsSample updateMesQmsSample, GetLaboratoryDetails getLaboratoryDetails) { - ////// 鏌ヨ QcIssueResults 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� - ////var mapping = db.Queryable<UpdateMesQmsSample>() - //// .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) - //// .Select(t => new QcIssueResults - //// { - //// ReleaseNo = t.ReleaseNo, - //// }) - //// .ToList(); + // 鏌ヨ MES_QMS_SAMPLE 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� + var existingRecord = db.Queryable<UpdateMesQmsSample>() + .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) + .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + + if (existingRecord != null) + { + Debug.WriteLine("hhhhhhhhh!"); + // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� + updateMesQmsSample.Id = existingRecord.Id; - //// 鏌ヨ UpdateMesQmsSample 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� - //var existingRecord = db.Queryable<UpdateMesQmsSample>() - // .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) - // .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + // 鎵ц鏇存柊鎿嶄綔 + var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand(); - //if (existingRecord != null) - //{ - // // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� - // updateMesQmsSample.Id = existingRecord.Id; + var mapping = db.Queryable<UpdateMesQmsSamplePjt>() + .Where(t => t.RELEASE_NO == updateMesQmsSample.JYDH && t.PID == updateMesQmsSample.Id) + .Select(t => new UpdateMesQmsSamplePjt + { + PID=t.PID + }) + .ToList(); - // // 鎵ц鏇存柊鎿嶄綔 - // var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand(); - // return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true - - //} - //else - //{ - // Debug.WriteLine("鎻掑叆"); - // 濡傛灉 mapping 涓虹┖锛屾彃鍏ユ柊璁板綍鍒� QcIssueResults 琛� + + Debug.WriteLine(updateMesQmsSample.JYDH); + + if (mapping.Any()) + { + updateResult = db.Updateable<UpdateMesQmsSamplePjt>() + .SetColumns(t => new UpdateMesQmsSamplePjt + { + SJ_NO = updateMesQmsSample.ReleaseNo, + RELEASE_NO = updateMesQmsSample.JYDH, + ITEM_NO = updateMesQmsSample.ItemNo, + QUANTITY = updateMesQmsSample.QUANTITY, + URGENT_FLAG = updateMesQmsSample.UrgentFlag, + CREATE_DATE = System.DateTime.Now, + ITEM_ID = getLaboratoryDetails.ITEM_ID, + SUPP_NAME = getLaboratoryDetails.SUPP_NAME + }) + .Where(t => t.RELEASE_NO == updateMesQmsSample.JYDH && t.PID == updateMesQmsSample.Id) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + } + else + { + Debug.WriteLine("hhhhhhhhaddadah!"); + var mesUpdateMesQmsSamplePjt = new UpdateMesQmsSamplePjt + { + + PID = updateMesQmsSample.Id, + SJ_NO = updateMesQmsSample.ReleaseNo, + RELEASE_NO = updateMesQmsSample.JYDH, + ITEM_NO = updateMesQmsSample.ItemNo, + QUANTITY = updateMesQmsSample.QUANTITY, + URGENT_FLAG = updateMesQmsSample.UrgentFlag, + CREATE_DATE = System.DateTime.Now, + ITEM_ID = getLaboratoryDetails.ITEM_ID, + SUPP_NAME = getLaboratoryDetails.SUPP_NAME + + }; + + updateResult = db.Insertable(mesUpdateMesQmsSamplePjt).ExecuteCommand(); + + } + + + var maping = db.Queryable<UpdateMesQaItems>() + .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) + .Select(t => new UpdateMesQaItems + { + ISSJ = t.ISSJ, + SJ_NO = t.SJ_NO + }) + .ToList(); + + if (maping.Any()) + { + updateResult = db.Updateable<UpdateMesQaItems>() + .SetColumns(t => new UpdateMesQaItems + { + ISSJ = updateMesQmsSample.IsSubmit, + SJ_NO = updateMesQmsSample.ReleaseNo + }) + .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + } + else + { + throw new NotImplementedException("鏈壘鍒板搴旀潵鏂欐楠岀敵璇峰崟"); + } + + return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true + + } + else + { + //Debug.WriteLine("鎻掑叆"); + //濡傛灉 mapping 涓虹┖锛屾彃鍏ユ柊璁板綍鍒� QcIssueResults 琛� var orUpdate = base.Insert(updateMesQmsSample); - if (orUpdate) return true; - throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); - //} + + var insertedId = 0; + + if (orUpdate) + { + // 浣跨敤 RELEASE_NO 鏌ヨ鍒氬垰鎻掑叆鐨勮褰曠殑 id + insertedId =(int) db.Queryable<UpdateMesQmsSample>() + .Where(it => it.ReleaseNo == updateMesQmsSample.ReleaseNo) + .Select(it => it.Id) + .Single(); // 濡傛灉 RELEASE_NO 鏄敮涓�瀛楁锛屽彲浠ヤ娇鐢� Single() + }; + + var mesUpdateMesQmsSamplePjt = new UpdateMesQmsSamplePjt + { + + PID= insertedId, + SJ_NO= updateMesQmsSample.ReleaseNo, + RELEASE_NO= updateMesQmsSample.JYDH, + ITEM_NO= updateMesQmsSample.ItemNo, + QUANTITY= updateMesQmsSample.QUANTITY, + URGENT_FLAG= updateMesQmsSample.UrgentFlag, + CREATE_DATE = System.DateTime.Now, + ITEM_ID= getLaboratoryDetails.ITEM_ID, + SUPP_NAME=getLaboratoryDetails.SUPP_NAME + + }; + + var updateResult = db.Insertable(mesUpdateMesQmsSamplePjt).ExecuteCommand(); + + var mapping = db.Queryable<UpdateMesQaItems>() + .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) + .Select(t => new UpdateMesQaItems + { + ISSJ = t.ISSJ, + SJ_NO= t.SJ_NO + }) + .ToList(); + + if (mapping.Any()) + { + updateResult = db.Updateable<UpdateMesQaItems>() + .SetColumns(t => new UpdateMesQaItems + { + ISSJ= updateMesQmsSample.IsSubmit, + SJ_NO = updateMesQmsSample.ReleaseNo + }) + .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + } + else + { + throw new NotImplementedException("鏈壘鍒板搴旀潵鏂欐楠岀敵璇峰崟"); + } + + if (orUpdate) return true; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); + } } + + public string DeleteLaboratory(string JYDH) + { + try + { + var db = SqlSugarHelper.GetInstance(); + // 鍋囪 db 鏄� SQLSugar 鐨� SqlSugarClient 瀹炰緥 + var result = db.Updateable<UpdateMesQmsSample>() + .SetColumns(t => new UpdateMesQmsSample + { + IsSubmit = 2, + }) + .Where(t => t.JYDH == JYDH) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + Debug.WriteLine(result); + var mapping = db.Queryable<UpdateMesQaItems>() + .Where(t => t.ReleaseNo ==JYDH) + .Select(t => new UpdateMesQaItems + { + ISSJ = t.ISSJ, + }) + .ToList(); + + if (mapping.Any()) + { + var updateResult = db.Updateable<UpdateMesQaItems>() + .SetColumns(t => new UpdateMesQaItems + { + ISSJ = 2, + SJ_NO=null + }) + .Where(t => t.ReleaseNo == JYDH) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + } + else + { + throw new NotImplementedException("鏈壘鍒板搴旀潵鏂欐楠岀敵璇峰崟"); + } + + if (result > 0) + { + return "鎾ゅ洖鎴愬姛锛�"; + } + else + { + return "鏈壘鍒板尮閰嶇殑璁板綍锛屾挙鍥炲け璐ャ��"; + } + } + catch (Exception ex) + { + return "鎾ゅ洖澶辫触锛岄敊璇俊鎭細" + ex.Message; + } + } + } -- Gitblit v1.9.3