From 3155ee2aeffa89f229a4f9d31f8fd34a3809f358 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期四, 08 五月 2025 14:46:02 +0800 Subject: [PATCH] 111 --- StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs | 20 ++-- StandardInterface/MES.Service/Modes/QcIssueResult/IqcApplicant.cs | 29 +++++ StandardInterface/MES.Service/Modes/QcIssueResult/QcIssueResults.cs | 44 +++++++- StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs | 165 ++++++++++++++++++++++---------- 4 files changed, 191 insertions(+), 67 deletions(-) diff --git a/StandardInterface/MES.Service/Modes/QcIssueResult/IqcApplicant.cs b/StandardInterface/MES.Service/Modes/QcIssueResult/IqcApplicant.cs new file mode 100644 index 0000000..28381fa --- /dev/null +++ b/StandardInterface/MES.Service/Modes/QcIssueResult/IqcApplicant.cs @@ -0,0 +1,29 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MES.Service.Modes.QcIssueResult; + +//寮傚父澶勭疆鍗曠粨鏋滆〃 +[SugarTable("MES_QCISSUE_RESULT_APPLICANT")] +public class IqcApplicant +{ + //SEQ_QCISSUE_RESULT_APPLICANT + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_QCISSUE_RESULT_APPLICANT")] + public decimal Id { get; set; } + + //鐢宠浜篒D + [SugarColumn(ColumnName = "APPLICANTID")] + public string? APPLICANTID { get; set; } + + //娴佺▼鍙� + [SugarColumn(ColumnName = "INSTANCEID")] + public string? INSTANCEID { get; set; } + + //鐢宠浜哄悕瀛� + [SugarColumn(ColumnName = "APPLICANTNAME")] + public string? APPLICANTNAME { get; set; } +} diff --git a/StandardInterface/MES.Service/Modes/QcIssueResult/QcIssueResults.cs b/StandardInterface/MES.Service/Modes/QcIssueResult/QcIssueResults.cs index e17e4f8..ebbbe43 100644 --- a/StandardInterface/MES.Service/Modes/QcIssueResult/QcIssueResults.cs +++ b/StandardInterface/MES.Service/Modes/QcIssueResult/QcIssueResults.cs @@ -15,20 +15,52 @@ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_QCISSUE_RESULT")] public decimal Id { get; set; } - //閫佽揣鍗曞彿 + //鏉ユ枡妫�楠屽崟鍙� [SugarColumn(ColumnName = "RELEASE_NO")] public string? ReleaseNo { get; set; } - //閫佽揣鍗曞彿 - [SugarColumn(ColumnName = "PROCESSNO")] - public string? ProcessNo { get; set; } + //娴佺▼鍙� + [SugarColumn(ColumnName = "INSTANCEID")] + public string? INSTANCEID { get; set; } - //渚涘簲鍟� + //澶勭悊缁撴灉 [SugarColumn(ColumnName = "FREVIEW")] public string? FReview { get; set; } - //渚涘簲鍟� + //寮傚父澶勭疆鍗曟槸鍚﹁鎷掔粷 [SugarColumn(ColumnName = "QCSTATU")] public string? QcStatu { get; set; } + //鐢宠鏁伴噺 + [SugarColumn(ColumnName = "APPLICATIONNUM")] + public string? APPLICATIONNUM { get; set; } + + //涓嶈壇鍘熷洜 + [SugarColumn(ColumnName = "BADCAUSES")] + public string? BADCAUSES { get; set; } + + //鎵�灞炶溅闂� + [SugarColumn(ColumnName = "BELONGINGWORKSHOP")] + public string? BELONGINGWORKSHOP { get; set; } + + //璇勫鐘舵�� + [SugarColumn(ColumnName = "REVIEWSTATUS")] + public string? REVIEWSTATUS { get; set; } + + //鐗╂枡鍚嶇О + [SugarColumn(ColumnName = "ITEMNAME")] + public string? ITEMNAME { get; set; } + + //鐗╂枡缂栫爜 + [SugarColumn(ColumnName = "ITEMNO")] + public string? ITEMNO { get; set; } + + //渚涘簲鍟嗗悕绉� + [SugarColumn(ColumnName = "SUPPLIERNAME")] + public string? SUPPLIERNAME { get; set; } + + //澶囨敞 + [SugarColumn(ColumnName = "REMARK")] + public string? REMARK { get; set; } + } diff --git a/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs b/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs index 17d2f46..236aa3f 100644 --- a/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs +++ b/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs @@ -305,12 +305,12 @@ }; AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues { - Name = "DDPhotoField_QD15KYR764G0\r\n", + Name = "DDPhotoField_QD15KYR764G0", Value = "娴嬭瘯涓嶈壇鍥剧墖", }; AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues { - Name = "DDAttachment_GLZLFSIWK9S0\r\n", + Name = "DDAttachment_GLZLFSIWK9S0", Value = "闄勪欢", }; AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues @@ -419,7 +419,7 @@ { var QcIssueResults = new QcIssueResults { - ProcessNo = ProcessNo, + INSTANCEID = ProcessNo, ReleaseNo = ReleaseNo, QcStatu = "" }; @@ -432,28 +432,44 @@ */ public dynamic Save(ErpQcIssueResult erpQcIssueResult) { - var json = JsonConvert.SerializeObject(erpQcIssueResult); + //var json = JsonConvert.SerializeObject(erpQcIssueResult); - //var saveSuccess = UseTransaction(db => + ////var saveSuccess = UseTransaction(db => + ////{ + //// var data = GetMesQcIssueResults(erpQcIssueResult); + //// return SaveOrUpdateData(db, data); + ////}); + + //return new //{ - // var data = GetMesQcIssueResults(erpQcIssueResult); - // return SaveOrUpdateData(db, data); - //}); + // SerializedPayload = json, + // ServerTime = DateTime.UtcNow.ToString("O") + //}; - return new + var mesQcIssueResults = GetMesQcIssueResults(erpQcIssueResult); + + return UseTransaction(db => { - SerializedPayload = json, - ServerTime = DateTime.UtcNow.ToString("O") - }; + return SaveOrUpdateData(db, mesQcIssueResults) ? 1 : 0; + }) > 0; + } public QcIssueResults GetMesQcIssueResults(ErpQcIssueResult erpQcIssueResult) { var mesQcIssueResults = new QcIssueResults { - ProcessNo = erpQcIssueResult.ProcessNo, + INSTANCEID = erpQcIssueResult.ProcessNo, FReview = erpQcIssueResult.FReview, - QcStatu = erpQcIssueResult.QcStatus + APPLICATIONNUM = erpQcIssueResult.ApplicationQuantity.ToString(), + BADCAUSES = erpQcIssueResult.BadCauses, + BELONGINGWORKSHOP = erpQcIssueResult.AffiliatedWorkshop, + REVIEWSTATUS = erpQcIssueResult.FReview, + QcStatu = erpQcIssueResult.QcStatus, + ITEMNAME =erpQcIssueResult.ItemName, + ITEMNO =erpQcIssueResult.ItemNo, + SUPPLIERNAME = erpQcIssueResult.SupplierName, + REMARK=erpQcIssueResult.Remark }; return mesQcIssueResults; @@ -467,7 +483,7 @@ // 鏌ヨ QcIssueResults 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� var mapping = db.Queryable<QcIssueResults>() - .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) + .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID) .Select(t => new QcIssueResults { ReleaseNo = t.ReleaseNo, @@ -485,9 +501,20 @@ .SetColumns(t => new QcIssueResults { ReleaseNo = ReleaseNo, - FReview = qcIssueResults.FReview + INSTANCEID = qcIssueResults.INSTANCEID, + FReview = qcIssueResults.FReview, + APPLICATIONNUM = qcIssueResults.APPLICATIONNUM, + BADCAUSES = qcIssueResults.BADCAUSES, + BELONGINGWORKSHOP = qcIssueResults.BELONGINGWORKSHOP, + REVIEWSTATUS = qcIssueResults.REVIEWSTATUS, + QcStatu = qcIssueResults.QcStatu, + ITEMNAME = qcIssueResults.ITEMNAME, + ITEMNO = qcIssueResults.ITEMNO, + SUPPLIERNAME = qcIssueResults.SUPPLIERNAME, + REMARK = qcIssueResults.REMARK + }) - .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 .ExecuteCommand(); // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� @@ -499,41 +526,28 @@ if (existingRecord != null) { - string result = null; - bool returnValue = false; try { - string connectionString = "User Id=yc_dev;Password=ycdev;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))"; - using (OracleConnection connection = new OracleConnection(connectionString)) + //瀹氫箟杈撳叆鍙傛暟 + 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) { - using (OracleCommand command = new OracleCommand("PRC_MES_IQC_CG_REVOCK", connection)) - { - command.CommandType = CommandType.StoredProcedure; - // 娣诲姞杈撳叆鍙傛暟 - command.Parameters.Add("pi_no", OracleDbType.Varchar2).Value = existingRecord.ReleaseNo; // 鏇挎崲涓哄疄闄呭�� - command.Parameters.Add("pi_user", OracleDbType.Varchar2).Value = "PL017"; // 鏇挎崲涓哄疄闄呭�� - // 娣诲姞杈撳嚭鍙傛暟 - OracleParameter poResult = new OracleParameter("po_result", OracleDbType.Int32, ParameterDirection.Output); - OracleParameter poMsg = new OracleParameter("po_msg", OracleDbType.Varchar2, 4000, ParameterDirection.Output); - command.Parameters.Add(poResult); - command.Parameters.Add(poMsg); - // 鎵撳紑杩炴帴骞舵墽琛屽懡浠� - connection.Open(); - command.ExecuteNonQuery(); - // 澶勭悊杩斿洖鍊� - if (poResult.Value != null && poResult.Value.ToString() == "0") - { - returnValue = true; - } - else - { - // 杈撳嚭閿欒淇℃伅 - string errorMsg = poMsg.Value != null ? poMsg.Value.ToString() : "Unknown error occurred"; - Console.WriteLine("Error: " + errorMsg); - } - } + //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊� + db.Ado.RollbackTran(); + throw new Exception(message); } - return returnValue; + // 鎻愪氦浜嬪姟 + db.Ado.CommitTran(); + return true; } catch (Exception ex) { @@ -554,9 +568,20 @@ .SetColumns(t => new QcIssueResults { ReleaseNo = ReleaseNo, - FReview = qcIssueResults.FReview + INSTANCEID = qcIssueResults.INSTANCEID, + FReview = qcIssueResults.FReview, + APPLICATIONNUM = qcIssueResults.APPLICATIONNUM, + BADCAUSES = qcIssueResults.BADCAUSES, + BELONGINGWORKSHOP = qcIssueResults.BELONGINGWORKSHOP, + REVIEWSTATUS = qcIssueResults.REVIEWSTATUS, + QcStatu = qcIssueResults.QcStatu, + ITEMNAME = qcIssueResults.ITEMNAME, + ITEMNO = qcIssueResults.ITEMNO, + SUPPLIERNAME = qcIssueResults.SUPPLIERNAME, + REMARK = qcIssueResults.REMARK + }) - .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 + .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID) // 鏄惧紡鎸囧畾鏇存柊鏉′欢 .ExecuteCommand(); // 鏌ヨ UpdateMesQaItems 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰� @@ -569,7 +594,7 @@ if (existingRecord != null) { // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈� - existingRecord.FngHandle = qcIssueResults.FReview; + existingRecord.FngHandle = qcIssueResults.REVIEWSTATUS; if (existingRecord.FngHandle == "閫�璐�") { existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�"; @@ -582,6 +607,44 @@ // 鎵ц鏇存柊鎿嶄綔 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 diff --git a/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs b/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs index d44123c..070e9d6 100644 --- a/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs +++ b/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs @@ -44,18 +44,18 @@ // 璋冪敤 QcIssueResultManager 涓殑 GetProcessNo 鏂规硶鏉ュ惎鍔ㄩ拤閽夊伐浣滄祦瀹炰緥 string result = m.GetProcessNo(getQcIssueResultDetail); - //string getLaboratoryDetailsJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented); - //Debug.WriteLine("getQcIssueResultDetail: " + getLaboratoryDetailsJson); + string getLaboratoryDetailsJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented); + Debug.WriteLine("getQcIssueResultDetail: " + getLaboratoryDetailsJson); - //string jsonPart = result.Substring(result.IndexOf("{")); - //JObject jsonObject = JObject.Parse(jsonPart); - //// 鎻愬彇instanceId鐨勫�� - //string instanceId = jsonObject["InstanceId"].ToString(); + string jsonPart = result.Substring(result.IndexOf("{")); + JObject jsonObject = JObject.Parse(jsonPart); + // 鎻愬彇instanceId鐨勫�� + string instanceId = jsonObject["InstanceId"].ToString(); - //dynamic resultInfos = new ExpandoObject(); - //string ProcessNo = instanceId; - //var save = m.SaveProcessNo(getQcIssueResultDetail.ReleaseNo, instanceId); - //resultInfos.tbBillList = save; + dynamic resultInfos = new ExpandoObject(); + string ProcessNo = instanceId; + var save = m.SaveProcessNo(getQcIssueResultDetail.ReleaseNo, instanceId); + resultInfos.tbBillList = save; return Ok(result); } -- Gitblit v1.9.3