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