From b98df034707a61fd2857dbccd5a232605076ca59 Mon Sep 17 00:00:00 2001
From: lg <123456>
Date: 星期四, 20 十一月 2025 10:26:08 +0800
Subject: [PATCH] 标准版初始化

---
 WebApi/Gs.Report/XlsInOutController.cs |  196 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 185 insertions(+), 11 deletions(-)

diff --git a/WebApi/Gs.Report/XlsInOutController.cs b/WebApi/Gs.Report/XlsInOutController.cs
index 93eb8f4..ced66de 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();
             }
 
@@ -107,6 +170,50 @@
 
 
     #region 鍚勭瀵煎嚭
+    /// <summary>
+    /// 瀵煎嚭daa澶囨枡鍗曡韩
+    /// </summary>
+    /// <param name="mode"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> XlsOutDaa([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("[xlsOutDaa]", parameters, "0");
+            if (dset == null || dset.Tables.Count <= 0)
+                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception,
+                    "娌℃湁鏌ヨ鍒颁换浣曟暟鎹�");
+            var ary = new ArrayList();
+            ExcelHelper.ExportIqc(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);
+        }
+    }
+
 
     /// <summary>
     /// 瀵煎嚭棣栨
@@ -205,7 +312,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 +323,7 @@
         //璇绘暟鎹�
         var dset = new DataSet();
         SqlParameter[] parameters ={
-            new("@begDate", begDate),
+            new("@inMainGuid", guid),
             new("@inP1", ""),
             new("@inP2", ""),
             new("@inP3", ""),
@@ -241,6 +348,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
 
 
@@ -374,14 +524,15 @@
     {
         Dictionary<string, string> dic = new Dictionary<string, string>
         {
-           { "宸ュ崟缂栧彿", "t1" },
-            { "鏉$爜", "t2" },
+           //{ "宸ュ崟缂栧彿", "t1" },
+           { "鏉$爜", "t2" },
         };
         string tmpGuid = mode.tmpGuid;
+        string strType = mode.strType;//宸ュ崟缂栧彿锛岃繃婊ゅsheet涓殑宸ュ崟鎹�
         int? rtnInt = (int)ReturnCode.Default;
         int? _it = 0;//杩斿洖鐨勮鏁�
         string _msg = "";//杩斿洖鐨勪俊鎭�
-        (_it, _msg) = getTable(tmpGuid, dic);
+        (_it, _msg) = getTable(tmpGuid, dic, strType);
         if (_it <= 0)
             return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, _msg);
         System.Text.StringBuilder sbMsg = new System.Text.StringBuilder();
@@ -398,6 +549,7 @@
                                 new SqlParameter("@outMsg",SqlDbType.NVarChar,300),
                                 new SqlParameter("@inEdtUserGuid",_userGuid),
                                 new SqlParameter("@tmpGuid",tmpGuid),
+                                new SqlParameter("@strType",strType),
                             };
                     parameters[0].Direction = ParameterDirection.Output;
                     parameters[1].Direction = ParameterDirection.Output;
@@ -412,6 +564,7 @@
                 {
                     rtnInt = -1;
                     sbMsg.Append("鎿嶄綔澶辫触锛�" + ex.Message);
+                    LogHelper.Debug("", "XlsInDaaHgm:" + ex.Message);
                 }
                 finally
                 {
@@ -466,7 +619,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,7 +636,7 @@
                 catch (Exception ex)
                 {
                     rtnInt = -1;
-                    sbMsg.Append("鎿嶄綔澶辫触锛�" + ex.Message);
+                    sbMsg.Append("鎿嶄綔澶辫触1锛�" + ex.Message);
                 }
                 finally
                 {
@@ -501,8 +654,10 @@
     /// 杩斿洖dset
     /// </summary>
     /// <param name="tmpGuid"></param>
+    /// <param name="dic"></param>
+    /// <param name="strType">宸ュ崟缂栧彿锛岃繃婊ゅ琛ㄦ牸</param>
     /// <returns></returns>
-    private static (int?, string?) getTable(string tmpGuid, Dictionary<string, string> dic)
+    private static (int?, string?) getTable(string tmpGuid, Dictionary<string, string> dic,string strType="")
     {
         var _it = 0;
         var _msg = "";
@@ -529,19 +684,31 @@
         System.Data.DataTable dt = new DataTable();
         try
         {
-            dt = ExcelHelper.ExcelToTable(savePath);
+            dt = ExcelHelper.ExcelToTable(savePath,strType);
         }
         catch (Exception ex)
         {
             _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"));
+
+        //濡傛灉鏄悗鐩栫爜锛屽姞涓婂伐鍗曞彿
+        if (!string.IsNullOrEmpty(strType)) {
+            dt.Columns.Add("宸ュ崟缂栧彿", Type.GetType("System.String"));
+        }
         for (int r = 0; r < dt.Rows.Count; r++)
         {
             dt.Rows[r]["tmpGuid"] = Guid.Parse(tmpGuid);
             dt.Rows[r]["tmpIdx"] = r + 3;
+
+            //濡傛灉鏄悗鐩栫爜锛屽姞涓婂伐鍗曞彿
+            if (!string.IsNullOrEmpty(strType))
+            {
+                dt.Rows[r]["宸ュ崟缂栧彿"] = strType;
+            }
         }
         bool flag = false;
         using (SqlConnection destinationConnection = new SqlConnection(DbHelperSQL.strConn))
@@ -555,9 +722,15 @@
                     bulkCopy.BatchSize = dt.Rows.Count;
                     bulkCopy.ColumnMappings.Add("tmpGuid", "tmpGuid");//鏄犲皠瀛楁鍚� DataTable鍒楀悕 ,鏁版嵁搴撳搴旂殑鍒楀悕
                     bulkCopy.ColumnMappings.Add("tmpIdx", "tmpIdx");
+                    //濡傛灉鏄悗鐩栫爜锛屽姞涓婂伐鍗曞彿
+                    if (!string.IsNullOrEmpty(strType))
+                    {
+                        bulkCopy.ColumnMappings.Add("宸ュ崟缂栧彿", "t1");
+                    }
+
                     foreach (KeyValuePair<string, string> kvp in dic)
                     {
-                        // bulkCopy.ColumnMappings.Add("鍚嶇О", "t1");
+                        //bulkCopy.ColumnMappings.Add("鍚嶇О", "t1");
                         bulkCopy.ColumnMappings.Add(kvp.Key, kvp.Value);
                     }
                     bulkCopy.WriteToServer(dt);
@@ -566,6 +739,7 @@
                 catch (Exception ex)
                 {
                     _it = 0;
+                    LogHelper.Debug("", "getTable:" + ex.Message);
                     _msg = "鎿嶄綔澶辫触锛宐ulkCopy璇诲彇涓婁紶鏂囦欢鍙戠敓閿欒锛�" + ex.Message;
                 }
             }

--
Gitblit v1.9.3