From 2ba5117206c152cece2e5ac40067a6232dfb2870 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 10 九月 2025 17:12:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 WebApi/Gs.Report/XlsInOutController.cs |  124 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 114 insertions(+), 10 deletions(-)

diff --git a/WebApi/Gs.Report/XlsInOutController.cs b/WebApi/Gs.Report/XlsInOutController.cs
index 7d2763a..78a536f 100644
--- a/WebApi/Gs.Report/XlsInOutController.cs
+++ b/WebApi/Gs.Report/XlsInOutController.cs
@@ -27,6 +27,70 @@
     }
 
     /// <summary>
+    /// 閫氱敤瀛樺偍杩囩▼鎵ц鏂规硶
+    /// </summary>
+    private DataSet RunProcedure(string procName, IDictionary<string, object> paramDict)
+    {
+        var dset = new DataSet();
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var comm = new SqlCommand(procName, conn))
+            {
+                comm.CommandType = CommandType.StoredProcedure;
+                // 鍔ㄦ�佹坊鍔犲弬鏁�
+                foreach (var kvp in paramDict)
+                {
+                    comm.Parameters.AddWithValue("@" + kvp.Key, kvp.Value == null? DBNull.Value : kvp.Value.ToString());
+                }
+                using (var adapter = new SqlDataAdapter(comm))
+                {
+                    adapter.Fill(dset, "0");
+                }
+            }
+        }
+        return dset;
+    }
+
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> XlsOutView_NEW([FromBody] dynamic mode)
+    {
+        string rptParameter = mode.outParameter;
+        var paramDict = new Dictionary<string, object>();
+        // 鍔ㄦ�佽В鏋愬弬鏁�
+        if (mode.outParams != null)
+        {
+            foreach (var prop in mode.outParams)
+            {
+                string name = prop.Name;
+                object value = prop.Value;
+                paramDict.Add(name, value);
+            }
+        }
+        var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
+        var _pdfName = Guid.NewGuid() + ".xls";
+        var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
+        if (!Directory.Exists(_pdfSaveFolder))
+            Directory.CreateDirectory(_pdfSaveFolder);
+        var pdfSavePath = Path.Combine(_pdfSaveFolder, _pdfName);
+        dynamic m = new ExpandoObject();
+        try
+        {
+            var dset = RunProcedure(rptParameter, paramDict);
+            if (dset == null || dset.Tables.Count <= 0)
+                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, "娌℃湁鏌ヨ鍒颁换浣曟暟鎹�");
+            var ary = new ArrayList();
+            ExcelHelper.ExportAryHead(dset.Tables[0], ary, pdfSavePath);
+            m.fileUrl = "down/" + _pdfName;
+            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "璇诲彇鎴愬姛锛�");
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), ex.Message);
+            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, "璇诲彇澶辫触," + ex.Message);
+        }
+    }
+
+    /// <summary>
     /// 鏁版嵁瀵煎嚭锛岄渶瑕佸瓨鍌ㄨ繃绋嬫敮鎾戯紝鐩墠娌$敤鍒�
     /// </summary>
     /// <param name="mode"></param>
@@ -68,7 +132,6 @@
                         dt.Fill(dset, "0");
                     }
                 }
-
                 conn.Close();
             }
 
@@ -205,7 +268,7 @@
     [RequestMethod(RequestMethods.POST)]
     public ReturnDto<ExpandoObject> XlsOutXunJian([FromBody] dynamic mode)
     {
-        string begDate = mode.begDate;
+        string guid = mode.guid;
         var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
         var _pdfName = Guid.NewGuid() + ".xls";
         var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
@@ -216,7 +279,7 @@
         //璇绘暟鎹�
         var dset = new DataSet();
         SqlParameter[] parameters ={
-            new("@begDate", begDate),
+            new("@inMainGuid", guid),
             new("@inP1", ""),
             new("@inP2", ""),
             new("@inP3", ""),
@@ -241,6 +304,49 @@
         }
     }
 
+    /// <summary>
+    /// 瀵煎嚭鎴愬搧妫�楠屾姤鍛�
+    /// </summary>
+    /// <param name="mode"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> XlsOutChengPin([FromBody] dynamic mode)
+    {
+        string guid = mode.guid;
+        var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
+        var _pdfName = Guid.NewGuid() + ".xls";
+        var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
+        if (!Directory.Exists(_pdfSaveFolder))
+            Directory.CreateDirectory(_pdfSaveFolder);
+        var pdfSavePath = Path.Combine(_pdfSaveFolder, _pdfName);
+        dynamic m = new ExpandoObject();
+        //璇绘暟鎹�
+        var dset = new DataSet();
+        SqlParameter[] parameters ={
+            new("@inMainGuid", guid),
+            new("@inP1", ""),
+            new("@inP2", ""),
+            new("@inP3", ""),
+            new("@inP4", "")};
+        try
+        {
+            dset = DbHelperSQL.RunProcedure("[xlsOutChengPin]", parameters, "0");
+            if (dset == null || dset.Tables.Count <= 0)
+                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception,
+                    "娌℃湁鏌ヨ鍒颁换浣曟暟鎹�");
+            var ary = new ArrayList();
+            ExcelHelper.ExportChengPin(dset, pdfSavePath);
+            m.fileUrl = "down/" + _pdfName;
+            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
+                "璇诲彇鎴愬姛锛�");
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), ex.Message);
+            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception,
+                "璇诲彇澶辫触," + ex.Message);
+        }
+    }
     #endregion
 
 
@@ -412,6 +518,7 @@
                 {
                     rtnInt = -1;
                     sbMsg.Append("鎿嶄綔澶辫触锛�" + ex.Message);
+                    LogHelper.Debug("", "XlsInDaaHgm:" + ex.Message);
                 }
                 finally
                 {
@@ -466,7 +573,7 @@
                     cmd.CommandType = CommandType.StoredProcedure;
                     SqlParameter[] parameters = new SqlParameter[] {
                                 new SqlParameter("@outGuid",SqlDbType.NVarChar,100),
-                                new SqlParameter("@outMsg",SqlDbType.NVarChar,300),
+                                new SqlParameter("@outMsg",SqlDbType.NVarChar,1200),
                                 new SqlParameter("@inEdtUserGuid",_userGuid),
                                 new SqlParameter("@tmpGuid",tmpGuid),
                                 new SqlParameter("@strType",strType),
@@ -483,8 +590,7 @@
                 catch (Exception ex)
                 {
                     rtnInt = -1;
-                    LogHelper.Debug(this.ToString(), "XlsInItemJyxm:" + ex.Message);
-                    sbMsg.Append("鎿嶄綔澶辫触锛�" + ex.Message);
+                    sbMsg.Append("鎿嶄綔澶辫触1锛�" + ex.Message);
                 }
                 finally
                 {
@@ -518,7 +624,6 @@
         {
             _it = 0;
             _msg = "鎿嶄綔澶辫触锛氳鍙栨枃浠舵椂鍙戠敓閿欒:" + ex.Message;
-            LogHelper.Debug("", "XlsInItemJyxm:" + ex.Message);
         }
 
         if (string.IsNullOrEmpty(files))
@@ -537,6 +642,7 @@
         {
             _it = 0;
             _msg = "鎿嶄綔澶辫触锛孍xcelToTable璇诲彇涓婁紶鏂囦欢鍙戠敓閿欒锛�" + ex.Message;
+            LogHelper.Debug("", "getTable:" + ex.Message);
         }
         dt.Columns.Add("tmpGuid", Type.GetType("System.Guid"));
         dt.Columns.Add("tmpIdx", Type.GetType("System.String"));
@@ -568,10 +674,8 @@
                 catch (Exception ex)
                 {
                     _it = 0;
+                    LogHelper.Debug("", "getTable:" + ex.Message);
                     _msg = "鎿嶄綔澶辫触锛宐ulkCopy璇诲彇涓婁紶鏂囦欢鍙戠敓閿欒锛�" + ex.Message;
-
-                    LogHelper.Debug("", "XlsInItemJyxm:" + ex.Message);
-
                 }
             }
         }

--
Gitblit v1.9.3