快乐的昕的电脑
2025-10-13 414050ab3157ab7bc35ad5218594393711d2e447
Services/MesCutterLedgerManager.cs
@@ -95,23 +95,32 @@
    {
        var parameters = new[]
        {
            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)
        new SugarParameter("V_WORK_ORDER_NO", string.IsNullOrEmpty(workOrderNo) ? (object)DBNull.Value : workOrderNo, System.Data.DbType.String),
        new SugarParameter("V_MACHINE_NO", string.IsNullOrEmpty(machineNo) ? (object)DBNull.Value : machineNo, System.Data.DbType.String),
        new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Object }
    };
        try
        {
            IDictionary<string, object> expando = new ExpandoObject();
            foreach (DataColumn col in result.Columns)
            // 使用 SqlSugar 的存储过程调用方式
            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)
            {
                expando[col.ColumnName] = row[col];
                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);
            }
            list.Add(expando);
            return list;
        }
        return list;
        catch (Exception ex)
        {
            throw new Exception($"调用存储过程 PROC_GET_FORM_DATA 失败: {ex.Message}");
        }
    }
}