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