From 4f33ac39577a3a20860e3895f748d6f10bd39b23 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期四, 04 十二月 2025 16:25:09 +0800
Subject: [PATCH] 修改注释
---
Services/MesCutterLedgerManager.cs | 89 +++++++++++++++++++++++++++++++-------------
1 files changed, 62 insertions(+), 27 deletions(-)
diff --git a/Services/MesCutterLedgerManager.cs b/Services/MesCutterLedgerManager.cs
index dea82ff..68c3e60 100644
--- a/Services/MesCutterLedgerManager.cs
+++ b/Services/MesCutterLedgerManager.cs
@@ -8,6 +8,7 @@
using System.Data;
using System.Dynamic;
using SystemDataDbType = System.Data.DbType;
+using Oracle.ManagedDataAccess.Client; // 鏂板锛氱洿鎺ヤ娇鐢� Oracle 瀹㈡埛绔互鏄惧紡浼犻�� RefCursor
namespace PadApplication.Services;
@@ -22,6 +23,7 @@
/// <summary>
/// 鍒�鍏锋煡璇紙鏀寔缂栧彿鎴栧悕绉版ā绯婃煡璇級
+ /// 涓婃満銆佹姤搴熴�佺淮淇嚭搴撲笉鏌ヨ
/// </summary>
/// <param name="searchKey">鏌ヨ鍏抽敭瀛�</param>
/// <param name="pageIndex">椤电爜</param>
@@ -29,7 +31,9 @@
/// <returns>鍒�鍏锋煡璇㈢粨鏋�</returns>
public MesCutterLedger QueryTools(string searchKey, int pageIndex, int pageSize)
{
+ var excludeTypes = new[] { "涓婃満", "鎶ュ簾", "缁翠慨鍑哄簱" };
var query = Db.Queryable<MesCutterLedger>()
+ .Where(t => !excludeTypes.Contains(t.CutterType))
.WhereIF(!string.IsNullOrEmpty(searchKey),
t => t.CutterId.Contains(searchKey) || t.CutterName.Contains(searchKey));
@@ -54,7 +58,15 @@
/// <param name="type">鎿嶄綔绫诲瀷锛堜笂鍒�銆佷笅鍒�锛�</param>
/// <param name="useLimit">浣跨敤涓婇檺</param>
/// <returns>瀛樺偍杩囩▼鎵ц缁撴灉</returns>
- public object SubmitToolAction(string workOrderNo, string machineNo, string toolNo, string type, int? useLimit)
+ public object SubmitToolAction(
+ string workOrderNo,
+ string machineNo,
+ string toolNo,
+ string type,
+ int? useLimit,
+ decimal? sdjs = null,
+ decimal? xdjs = null,
+ decimal? modlLifeWorning = null) // 鏂板锛氬鍛芥瘮棰勮鍊�(0~1鐨勫皬鏁�)
{
var parameters = new[]
{
@@ -63,15 +75,17 @@
new SugarParameter("V_TOOL_NO", toolNo),
new SugarParameter("V_TYPE", type),
new SugarParameter("V_USE_LIMIT", useLimit ?? (object)DBNull.Value),
+ new SugarParameter("V_SDJS", sdjs ?? (object)DBNull.Value),
+ new SugarParameter("V_XDJS", xdjs ?? (object)DBNull.Value),
new SugarParameter("PO_OUTMSG", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.String, Size = 200 },
- new SugarParameter("PO_OUTSUM", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Int32 }
+ new SugarParameter("PO_OUTSUM", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Int32 },
+ new SugarParameter("V_MODL_LIFE_WORNING", modlLifeWorning ?? (object)DBNull.Value) // 鏂板
};
try
{
- Db.Ado.UseStoredProcedure().SqlQuery<object>(
- "PROC_TOOL_ACTION", parameters);
- var outMsg = parameters[5].Value?.ToString();
- var outSum = parameters[6].Value;
+ Db.Ado.UseStoredProcedure().SqlQuery<object>("PROC_TOOL_ACTION", parameters);
+ var outMsg = parameters[7].Value?.ToString();
+ var outSum = parameters[8].Value;
// 杩欓噷 outMsg 宸茬粡鍖呭惈浜嗗瓨鍌ㄨ繃绋嬫瘡姝ML鐨勮缁嗛敊璇俊鎭�
return new { outMsg, outSum };
}
@@ -83,33 +97,54 @@
}
/// <summary>
- /// 鑾峰彇宸ュ崟琛ㄥ崟鏁版嵁锛堥�氳繃宸ュ崟缂栧彿鍜屾満鍙扮紪鍙锋煡璇級銆�
- /// 浠呰礋璐e弬鏁拌浆鍙戯紝鎵�鏈夋暟鎹鍙栫敱瀛樺偍杩囩▼瀹屾垚銆�
+ /// 鑾峰彇宸ュ崟琛ㄥ崟鏁版嵁锛堥�氳繃宸ュ崟缂栧彿鍜屾満鍙扮紪鍙锋煡璇級銆�
+ /// 浣跨敤 Oracle.ManagedDataAccess.Client 璋冪敤瀛樺偍杩囩▼骞惰鍙� REF CURSOR锛岃繑鍥炲姩鎬佸璞″垪琛ㄣ��
/// </summary>
- /// <param name="workOrderNo">宸ュ崟缂栧彿</param>
- /// <param name="machineNo">鏈哄彴缂栧彿</param>
- /// <returns>琛ㄥ崟鏁版嵁鐨勫姩鎬佸垪琛�</returns>
public List<dynamic> GetFormData(string workOrderNo, string machineNo)
{
- var parameters = new[]
+ var result = new List<dynamic>();
+
+ var connStr = Db.Ado.Connection?.ConnectionString;
+ if (string.IsNullOrEmpty(connStr)) throw new Exception("鏃犳硶鑾峰彇鏁版嵁搴撹繛鎺ュ瓧绗︿覆銆�");
+
+ try
{
- new SugarParameter("V_WORK_ORDER_NO", workOrderNo),
- new SugarParameter("V_MACHINE_NO", machineNo),
- new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = SystemDataDbType.Object }
- };
- // 鍋囪瀛樺偍杩囩▼鍚嶄负 PROC_GET_FORM_DATA锛岃繑鍥炴父鏍�
- var result = Db.Ado.UseStoredProcedure().GetDataTable("PROC_GET_FORM_DATA", parameters);
- // DataTable 杞� List<dynamic>
- var list = new List<dynamic>();
- foreach (DataRow row in result.Rows)
- {
- IDictionary<string, object> expando = new ExpandoObject();
- foreach (DataColumn col in result.Columns)
+ using var oracleConn = new OracleConnection(connStr);
+ using var cmd = oracleConn.CreateCommand();
+ cmd.CommandText = "PROC_GET_FORM_DATA";
+ cmd.CommandType = CommandType.StoredProcedure;
+
+ cmd.Parameters.Add("V_WORK_ORDER_NO", OracleDbType.Varchar2).Value =
+ string.IsNullOrEmpty(workOrderNo) ? (object)DBNull.Value : workOrderNo;
+ cmd.Parameters.Add("V_MACHINE_NO", OracleDbType.Varchar2).Value =
+ string.IsNullOrEmpty(machineNo) ? (object)DBNull.Value : machineNo;
+ var pCursor = cmd.Parameters.Add("PO_CURSOR", OracleDbType.RefCursor);
+ pCursor.Direction = ParameterDirection.Output;
+
+ oracleConn.Open();
+ using var reader = cmd.ExecuteReader();
+
+ while (reader.Read())
{
- expando[col.ColumnName] = row[col];
+ IDictionary<string, object> row = new ExpandoObject();
+ for (int i = 0; i < reader.FieldCount; i++)
+ {
+ var name = reader.GetName(i);
+ var val = reader.IsDBNull(i) ? null : reader.GetValue(i);
+ row[name] = val;
+ }
+ result.Add(row);
}
- list.Add(expando);
+
+ return result;
}
- return list;
+ catch (OracleException oex)
+ {
+ throw new Exception($"璋冪敤瀛樺偍杩囩▼ PROC_GET_FORM_DATA 澶辫触锛圤racleException锛夛細{oex.Message}");
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"璋冪敤瀛樺偍杩囩▼ PROC_GET_FORM_DATA 澶辫触锛歿ex.Message}");
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3