From 6f195e602ec9de69c2a1d9731a366a234cc96fe3 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期一, 13 十月 2025 15:44:01 +0800
Subject: [PATCH] 表格逻辑修改
---
Services/MesCutterLedgerManager.cs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 101 insertions(+), 7 deletions(-)
diff --git a/Services/MesCutterLedgerManager.cs b/Services/MesCutterLedgerManager.cs
index 4fb4a59..cc7c505 100644
--- a/Services/MesCutterLedgerManager.cs
+++ b/Services/MesCutterLedgerManager.cs
@@ -5,6 +5,9 @@
using System.Text;
using Newtonsoft.Json;
using SqlSugar;
+using System.Data;
+using System.Dynamic;
+using SystemDataDbType = System.Data.DbType;
namespace PadApplication.Services;
@@ -14,19 +17,110 @@
/// </summary>
public class MesCutterLedgerManager : Repository<MesCutterLedger>
{
- private readonly MesQaItemsDetect02Manager
- mesQaItemsDetect02Manager = new();
+ //private readonly MesQaItemsDetect02Manager
+ //mesQaItemsDetect02Manager = new();
/// <summary>
/// 鍒�鍏锋煡璇紙鏀寔缂栧彿鎴栧悕绉版ā绯婃煡璇級
/// </summary>
/// <param name="searchKey">鏌ヨ鍏抽敭瀛�</param>
- /// <returns>鍒�鍏峰垪琛�</returns>
- public List<MesCutterLedger> QueryTools(string searchKey)
+ /// <param name="pageIndex">椤电爜</param>
+ /// <param name="pageSize">姣忛〉澶у皬</param>
+ /// <returns>鍒�鍏锋煡璇㈢粨鏋�</returns>
+ public MesCutterLedger QueryTools(string searchKey, int pageIndex, int pageSize)
{
- return Db.Queryable<MesCutterLedger>()
+ var query = Db.Queryable<MesCutterLedger>()
.WhereIF(!string.IsNullOrEmpty(searchKey),
- t => t.CutterId.Contains(searchKey) || t.CutterName.Contains(searchKey))
- .ToList();
+ t => t.CutterId.Contains(searchKey) || t.CutterName.Contains(searchKey));
+
+ var total = query.Count();
+ var tbBillList = query
+ .OrderBy(t => t.CutterId)
+ .ToPageList(pageIndex, pageSize, ref total); // 浣跨敤ToPageList鍒嗛〉
+
+ return new MesCutterLedger
+ {
+ tbBillList = tbBillList,
+ total = total
+ };
+ }
+
+ /// <summary>
+ /// 涓婁笅鍒�鎿嶄綔锛堜笂鍒�type=0锛屼笅鍒�type=1锛�
+ /// 浠呰礋璐e弬鏁拌浆鍙戯紝鎵�鏈夋暟鎹啓鍏ョ敱瀛樺偍杩囩▼瀹屾垚銆�
+ /// </summary>
+ /// <param name="machineNo">鏈哄彴缂栧彿</param>
+ /// <param name="toolNo">鍒�鍏风紪鍙�</param>
+ /// <param name="type">鎿嶄綔绫诲瀷锛堜笂鍒�銆佷笅鍒�锛�</param>
+ /// <param name="useLimit">浣跨敤涓婇檺</param>
+ /// <returns>瀛樺偍杩囩▼鎵ц缁撴灉</returns>
+ public object SubmitToolAction(string workOrderNo, string machineNo, string toolNo, string type, int? useLimit, decimal? sdjs = null, decimal? xdjs = null)
+ {
+ var parameters = new[]
+ {
+ new SugarParameter("V_WORK_ORDER_NO", workOrderNo),
+ new SugarParameter("V_MACHINE_NO", machineNo),
+ 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 }
+ };
+ try
+ {
+ 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 };
+ }
+ catch (Exception ex)
+ {
+ // 鍙湁瀛樺偍杩囩▼鏈韩鎵ц寮傚父鎵嶄細杩涘叆杩欓噷
+ throw new Exception($"{ex.Message}");
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇宸ュ崟琛ㄥ崟鏁版嵁锛堥�氳繃宸ュ崟缂栧彿鍜屾満鍙扮紪鍙锋煡璇級銆�
+ /// 浠呰礋璐e弬鏁拌浆鍙戯紝鎵�鏈夋暟鎹鍙栫敱瀛樺偍杩囩▼瀹屾垚銆�
+ /// </summary>
+ /// <param name="workOrderNo">宸ュ崟缂栧彿</param>
+ /// <param name="machineNo">鏈哄彴缂栧彿</param>
+ /// <returns>琛ㄥ崟鏁版嵁鐨勫姩鎬佸垪琛�</returns>
+ public List<dynamic> GetFormData(string workOrderNo, string machineNo)
+ {
+ var parameters = new[]
+ {
+ new SugarParameter("V_WORK_ORDER_NO", string.IsNullOrEmpty(workOrderNo) ? (object)DBNull.Value : workOrderNo),
+ new SugarParameter("V_MACHINE_NO", string.IsNullOrEmpty(machineNo) ? (object)DBNull.Value : machineNo),
+ new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = SystemDataDbType.Object }
+ };
+
+ try
+ {
+ // 鍋囪瀛樺偍杩囩▼鍚嶄负 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)
+ {
+ expando[col.ColumnName] = row[col] == DBNull.Value ? null : row[col];
+ }
+ list.Add(expando);
+ }
+ return list;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"璋冪敤瀛樺偍杩囩▼ PROC_GET_FORM_DATA 澶辫触: {ex.Message}");
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3