From d12457c6f777b2161a1d29d230dbb67142baf561 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期三, 14 五月 2025 14:12:43 +0800 Subject: [PATCH] 最新 --- MES.Service/service/QcIssueResult/QcIssueResultManager.cs | 380 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 347 insertions(+), 33 deletions(-) diff --git a/MES.Service/service/QcIssueResult/QcIssueResultManager.cs b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs index ab32c1c..929827a 100644 --- a/MES.Service/service/QcIssueResult/QcIssueResultManager.cs +++ b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs @@ -17,6 +17,8 @@ using MES.Service.Dto.webApi.DeliveryNote; using MES.Service.Modes.DeliveryNote; using Newtonsoft.Json; +using Oracle.ManagedDataAccess.Client; +using System.Data; namespace MES.Service.service.QcIssueResult; @@ -330,7 +332,10 @@ var QcIssueResults = new QcIssueResults { ProcessNo = ProcessNo, - ReleaseNo = ReleaseNo + ReleaseNo = ReleaseNo, + QcStatu = "", + TCSTATU ="" + }; return QcIssueResults; @@ -355,7 +360,19 @@ var mesQcIssueResults = new QcIssueResults { ProcessNo = erpQcIssueResult.ProcessNo, - FReview = erpQcIssueResult.FReview + FReview = erpQcIssueResult.FReview, + QcStatu = erpQcIssueResult.QCSTATU, + QCREMARK = erpQcIssueResult.QcRemark, + SELECTREMARK = erpQcIssueResult.SelectRemark, + DATA = erpQcIssueResult.DATA, + CGORDER = erpQcIssueResult.CGORDER, + SJPLACE = erpQcIssueResult.SJPLACE, + NUM = erpQcIssueResult.NUM, + BFREMARK = erpQcIssueResult.BFREMARK, + THREMARK = erpQcIssueResult.THREMARK, + TCSTATU = erpQcIssueResult.TCSTATU, + MODEL =erpQcIssueResult.MODEL, + RBJSREMARK =erpQcIssueResult.RBJSREMARK, }; return mesQcIssueResults; @@ -378,47 +395,344 @@ if (mapping.Any()) { - string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; - - // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 - var updateResult = db.Updateable<QcIssueResults>() - .SetColumns(t => new QcIssueResults - { - ReleaseNo = ReleaseNo, - FReview = qcIssueResults.FReview - }) - .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 - .ExecuteCommand(); - - // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� - var existingRecord = db.Queryable<UpdateMesQaItems>() - .Where(it => it.ReleaseNo == ReleaseNo) - .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� - - Debug.WriteLine($"鏌ヨ鍒扮殑 mapping: {JsonConvert.SerializeObject(existingRecord)}"); - - if (existingRecord != null) + if (qcIssueResults.TCSTATU == "鏄�") { - // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� - existingRecord.FngHandle = qcIssueResults.FReview; - if (existingRecord.FngHandle == "閫�璐�") + if (qcIssueResults.QcStatu == "鎷掔粷") { - existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�"; + string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; + + // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 + var updateResult = db.Updateable<QcIssueResults>() + .SetColumns(t => new QcIssueResults + { + ReleaseNo = ReleaseNo, + FReview = qcIssueResults.FReview, + QcStatu = qcIssueResults.QcStatu, + QCREMARK = qcIssueResults.QCREMARK, + SELECTREMARK = qcIssueResults.SELECTREMARK, + DATA = qcIssueResults.DATA, + CGORDER = qcIssueResults.CGORDER, + SJPLACE = qcIssueResults.SJPLACE, + NUM = qcIssueResults.NUM, + BFREMARK = qcIssueResults.BFREMARK, + THREMARK = qcIssueResults.THREMARK, + TCSTATU = qcIssueResults.TCSTATU, + MODEL = qcIssueResults.MODEL, + RBJSREMARK = qcIssueResults.RBJSREMARK, + }) + .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� + var existingRecord = db.Queryable<UpdateMesQaItems>() + .Where(it => it.ReleaseNo == ReleaseNo) + .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + + Debug.WriteLine($"鏌ヨ鍒扮殑 mapping: {JsonConvert.SerializeObject(existingRecord)}"); + + if (existingRecord != null) + { + + bool returnValue = false; + try + { + //瀹氫箟杈撳叆鍙傛暟 + var inputParam1 = new SugarParameter("pi_no", existingRecord.ReleaseNo); + var inputParam2 = new SugarParameter("pi_user", "PL017"); + // 瀹氫箟杈撳嚭鍙傛暟 + var outParam1 = new SugarParameter("po_result", null, true); + var outParam2 = new SugarParameter("po_msg", null, true); + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_REVOCK(:pi_no,:pi_user,:po_result,:po_msg ); END;", inputParam1, inputParam2, outParam1, outParam2); + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + int result = int.Parse((string)outParam1.Value); + string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value; + if (result == 1) + { + //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊� + db.Ado.RollbackTran(); + throw new Exception(message); + } + // 鎻愪氦浜嬪姟 + db.Ado.CommitTran(); + return true; + } + catch (Exception ex) + { + Console.WriteLine("Exception: " + ex.Message); + return false; + } + } + else + { + throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍"); + } } else { - existingRecord.FMRMODE = null; + string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; + + // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 + var updateResult = db.Updateable<QcIssueResults>() + .SetColumns(t => new QcIssueResults + { + ReleaseNo = ReleaseNo, + FReview = qcIssueResults.FReview, + QcStatu = qcIssueResults.QcStatu, + QCREMARK = qcIssueResults.QCREMARK, + SELECTREMARK = qcIssueResults.SELECTREMARK, + DATA = qcIssueResults.DATA, + CGORDER = qcIssueResults.CGORDER, + SJPLACE = qcIssueResults.SJPLACE, + NUM = qcIssueResults.NUM, + BFREMARK = qcIssueResults.BFREMARK, + THREMARK = qcIssueResults.THREMARK, + TCSTATU = qcIssueResults.TCSTATU, + MODEL = qcIssueResults.MODEL, + RBJSREMARK = qcIssueResults.RBJSREMARK, + }) + .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� + var existingRecord = db.Queryable<UpdateMesQaItems>() + .Where(it => it.ReleaseNo == ReleaseNo) + .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + + Debug.WriteLine($"鏌ヨ鍒扮殑 mapping: {JsonConvert.SerializeObject(existingRecord)}"); + + if (existingRecord != null) + { + // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� + existingRecord.FngHandle = "鐗归噰鐩存帴浣跨敤"; + existingRecord.FMRMODE = null; + + // 鎵ц鏇存柊鎿嶄綔 + updateResult = db.Updateable(existingRecord).ExecuteCommand(); + if (updateResult > 0) + { + try + { + + //瀹氫箟杈撳叆鍙傛暟 + var inputParam1 = new SugarParameter("PI_BILLNO", ReleaseNo); + var inputParam2 = new SugarParameter("PI_USER", "PL017"); + var inputParam3 = new SugarParameter("PI_HANDLE", "鐗归噰鐩存帴浣跨敤"); + var inputParam4 = new SugarParameter("PI_TLFS", ""); + var inputParam5 = new SugarParameter("PI_REMARK", ""); + + // 瀹氫箟杈撳嚭鍙傛暟 + var outParam1 = new SugarParameter("PO_RESULT", null, true); + var outParam2 = new SugarParameter("PO_MSG", null, true); + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_SUBMIT(:PI_BILLNO,:PI_BILLNO,:PI_HANDLE,:PI_TLFS,:PI_REMARK,:PO_RESULT,:PO_MSG); END;", inputParam1, inputParam2, inputParam3, inputParam4, inputParam5, outParam1, outParam2); + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + int result = int.Parse((string)outParam1.Value); + string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value; + if (result == 1) + { + //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊� + db.Ado.RollbackTran(); + throw new Exception(message); + } + // 鎻愪氦浜嬪姟 + db.Ado.CommitTran(); + return true; + + } + catch (Exception ex) + { + Console.WriteLine("Exception: " + ex.Message); + return false; + } + } + + return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true + } + else + { + throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍"); + } } - - // 鎵ц鏇存柊鎿嶄綔 - updateResult = db.Updateable(existingRecord).ExecuteCommand(); - - return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true } else { - throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍"); + if (qcIssueResults.QcStatu == "鎷掔粷") + { + string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; + + // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 + var updateResult = db.Updateable<QcIssueResults>() + .SetColumns(t => new QcIssueResults + { + ReleaseNo = ReleaseNo, + FReview = qcIssueResults.FReview, + QcStatu = qcIssueResults.QcStatu, + QCREMARK = qcIssueResults.QCREMARK, + SELECTREMARK = qcIssueResults.SELECTREMARK, + DATA = qcIssueResults.DATA, + CGORDER = qcIssueResults.CGORDER, + SJPLACE = qcIssueResults.SJPLACE, + NUM = qcIssueResults.NUM, + BFREMARK = qcIssueResults.BFREMARK, + THREMARK = qcIssueResults.THREMARK, + TCSTATU = qcIssueResults.TCSTATU, + MODEL = qcIssueResults.MODEL, + RBJSREMARK = qcIssueResults.RBJSREMARK, + }) + .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� + var existingRecord = db.Queryable<UpdateMesQaItems>() + .Where(it => it.ReleaseNo == ReleaseNo) + .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + + Console.WriteLine($"鏌ヨ鍒扮殑 mapping: {JsonConvert.SerializeObject(existingRecord)}"); + + if (existingRecord != null) + { + + try + { + + //瀹氫箟杈撳叆鍙傛暟 + var inputParam1 = new SugarParameter("pi_no", existingRecord.ReleaseNo); + var inputParam2 = new SugarParameter("pi_user", "PL017"); + // 瀹氫箟杈撳嚭鍙傛暟 + var outParam1 = new SugarParameter("po_result", null, true); + var outParam2 = new SugarParameter("po_msg", null, true); + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_REVOCK(:pi_no,:pi_user,:po_result,:po_msg ); END;", inputParam1, inputParam2, outParam1, outParam2); + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + int result = int.Parse((string)outParam1.Value); + string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value; + if (result == 1) + { + //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊� + db.Ado.RollbackTran(); + throw new Exception(message); + } + // 鎻愪氦浜嬪姟 + db.Ado.CommitTran(); + return true; + + } + catch (Exception ex) + { + Console.WriteLine("Exception: " + ex.Message); + return false; + } + } + else + { + throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍"); + } + } + else + { + string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; + + // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 + var updateResult = db.Updateable<QcIssueResults>() + .SetColumns(t => new QcIssueResults + { + ReleaseNo = ReleaseNo, + FReview = qcIssueResults.FReview, + QcStatu = qcIssueResults.QcStatu, + QCREMARK = qcIssueResults.QCREMARK, + SELECTREMARK = qcIssueResults.SELECTREMARK, + DATA = qcIssueResults.DATA, + CGORDER = qcIssueResults.CGORDER, + SJPLACE = qcIssueResults.SJPLACE, + NUM = qcIssueResults.NUM, + BFREMARK = qcIssueResults.BFREMARK, + THREMARK = qcIssueResults.THREMARK, + TCSTATU = qcIssueResults.TCSTATU, + MODEL = qcIssueResults.MODEL, + RBJSREMARK = qcIssueResults.RBJSREMARK, + }) + .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .ExecuteCommand(); + + // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� + var existingRecord = db.Queryable<UpdateMesQaItems>() + .Where(it => it.ReleaseNo == ReleaseNo) + .First(); // 浣跨敤 First 鑾峰彇绗竴鏉¤褰� + + Debug.WriteLine($"鏌ヨ鍒扮殑 mapping: {JsonConvert.SerializeObject(existingRecord)}"); + + if (existingRecord != null) + { + // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� + existingRecord.FngHandle = qcIssueResults.FReview; + if (existingRecord.FngHandle == "閫�璐�") + { + existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�"; + } + else if (existingRecord.FngHandle == "鎸戦�変娇鐢�") + { + existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�"; + } + else if (existingRecord.FngHandle == "鎶ュ簾") + { + existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�"; + } + else + { + existingRecord.FMRMODE = null; + } + + // 鎵ц鏇存柊鎿嶄綔 + updateResult = db.Updateable(existingRecord).ExecuteCommand(); + + if(updateResult > 0) + { + try + { + + //瀹氫箟杈撳叆鍙傛暟 + var inputParam1 = new SugarParameter("PI_BILLNO", ReleaseNo); + var inputParam2 = new SugarParameter("PI_USER", "PL017"); + var inputParam3 = new SugarParameter("PI_HANDLE", existingRecord.FngHandle); + var inputParam4 = new SugarParameter("PI_TLFS", existingRecord.FMRMODE); + var inputParam5 = new SugarParameter("PI_REMARK", ""); + + // 瀹氫箟杈撳嚭鍙傛暟 + var outParam1 = new SugarParameter("PO_RESULT", null, true); + var outParam2 = new SugarParameter("PO_MSG", null, true); + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_SUBMIT(:PI_BILLNO,:PI_BILLNO,:PI_HANDLE,:PI_TLFS,:PI_REMARK,:PO_RESULT,:PO_MSG); END;", inputParam1, inputParam2, inputParam3, inputParam4, inputParam5, outParam1, outParam2); + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + int result = int.Parse((string)outParam1.Value); + string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value; + if (result == 1) + { + //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊� + db.Ado.RollbackTran(); + throw new Exception(message); + } + // 鎻愪氦浜嬪姟 + db.Ado.CommitTran(); + return true; + + } + catch (Exception ex) + { + Console.WriteLine("Exception: " + ex.Message); + return false; + } + } + + return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true + } + else + { + throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍"); + } + } } + } else { -- Gitblit v1.9.3