From 7839cb076bc99f691c0d245daf53516e0d1e6429 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 04 十一月 2022 15:42:10 +0800
Subject: [PATCH] 设备清单导入接口修改、模板更改
---
VueWebApi/Tools/ImportExcelData.cs | 187 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 166 insertions(+), 21 deletions(-)
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index dffdaa9..d1a7322 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -761,53 +761,101 @@
code = "";
List<DataTable> excelTable = new List<DataTable>();
excelTable = ImportExcel.ExcelToTableList(FileCode);
- if (excelTable.Count != 2)
+ if (excelTable.Count != 4)
{
code = "300";
Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
return Message;
}
- else if (excelTable[0].Columns.Count != 6)
+ else if (excelTable[0].Columns.Count != 5)
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
+ }
+ else if (excelTable[1].Columns.Count != 8)
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
return Message;
}
else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕搴忓彿}";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
return Message;
}
- else if (excelTable[0].Columns[1].ColumnName != "鐐规椤圭洰缂栧彿(鍞竴)")
+ else if (excelTable[0].Columns[1].ColumnName != "璁惧鐐规鏍囧噯缂栧彿(鍞竴)")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕鐐规椤圭洰缂栧彿(鍞竴)}";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧鐐规鏍囧噯缂栧彿(鍞竴)}";
return Message;
}
- else if (excelTable[0].Columns[2].ColumnName != "鐐规椤圭洰鍚嶇О")
+ else if (excelTable[0].Columns[2].ColumnName != "璁惧鐐规鏍囧噯鍚嶇О")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕鐐规椤圭洰鍚嶇О}";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧鐐规鏍囧噯鍚嶇О}";
return Message;
}
- else if (excelTable[0].Columns[3].ColumnName != "鐐规鍛ㄦ湡")
+ else if (excelTable[0].Columns[3].ColumnName != "鐐规绠℃帶")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕鐐规鍛ㄦ湡}";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕鐐规绠℃帶}";
return Message;
}
- else if (excelTable[0].Columns[4].ColumnName != "鏄惁鎵爜")
+ else if (excelTable[0].Columns[4].ColumnName != "鏍囧噯鎻忚堪")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕鏄惁鎵爜}";
+ Message = "璁惧鐐规鏍囧噯椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕鏍囧噯鎻忚堪}";
return Message;
}
- else if (excelTable[0].Columns[5].ColumnName != "鐐规椤圭洰瑕佹眰")
+ else if (excelTable[1].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "璁惧鐐规椤圭洰妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕鐐规椤圭洰瑕佹眰}";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[1].ColumnName != "鐐规椤瑰簭鍙�")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕鐐规椤瑰簭鍙穧";
+ return Message;
+ }
+ else if (excelTable[1].Columns[2].ColumnName != "璁惧鐐规鏍囧噯缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧鐐规鏍囧噯缂栧彿(鍞竴)}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[3].ColumnName != "璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[4].ColumnName != "璁惧鐐规閮ㄤ綅鍚嶇О")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕璁惧鐐规閮ㄤ綅鍚嶇О}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[5].ColumnName != "鐐规閮ㄤ綅瑕佹眰")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�6鍒楀簲涓簕鐐规閮ㄤ綅瑕佹眰}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[6].ColumnName != "閫夋嫨鎵爜")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�7鍒楀簲涓簕閫夋嫨鎵爜}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[7].ColumnName != "鐐规鍛ㄦ湡")
+ {
+ code = "300";
+ Message = "璁惧鐐规閮ㄤ綅椤电妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�8鍒楀簲涓簕鐐规鍛ㄦ湡}";
return Message;
}
else
@@ -1708,7 +1756,7 @@
code = "300";
Message = "鐗╂枡娓呭崟妯℃澘(姣嶄欢淇℃伅)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable[1].Columns.Count != 9)
+ else if (excelTable[1].Columns.Count != 10)
{
code = "300";
Message = "鐗╂枡娓呭崟妯℃澘(瀛愪欢淇℃伅)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -2265,19 +2313,19 @@
}
}
//杞﹂棿鍒ゆ柇
- for (int m = 0; m < excelTable[1].Rows.Count; m++)
+ for (int m = 0; m < excelTable[2].Rows.Count; m++)
{
- if (excelTable[1].Rows[m][6].ToString().Trim() != null && excelTable[1].Rows[m][6].ToString().Trim() != "")
+ if (excelTable[2].Rows[m][6].ToString().Trim() != null && excelTable[2].Rows[m][6].ToString().Trim() != "")
{
sql = @"select * from TOrganization where org_name=@code and description='W'";
- dynamicParams.Add("@code", excelTable[1].Rows[m][6].ToString().Trim());
+ dynamicParams.Add("@code", excelTable[2].Rows[m][6].ToString().Trim());
dt = DapperHelper.selectdata(sql, dynamicParams);
if (dt.Rows.Count<=0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
erro.ErrorField = "{鐢熶骇杞﹂棿}";
- erro.ErrorCont = "璁惧琛�:{鐢熶骇杞﹂棿}瀛楁" + excelTable[1].Rows[m][6].ToString().Trim() + "涓嶅瓨鍦�";
+ erro.ErrorCont = "璁惧琛�:{鐢熶骇杞﹂棿}瀛楁" + excelTable[2].Rows[m][6].ToString().Trim() + "涓嶅瓨鍦�";
list.Add(erro);
}
}
@@ -2297,7 +2345,7 @@
{
StuCode = "200";
message = "鏁版嵁楠岃瘉鎴愬姛";
- count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count+excelTable[2].Rows.Count;
}
return list;
}
@@ -2363,9 +2411,106 @@
StuCode = "";
count = 0;
string sql = "";
+ var dynamicParams = new DynamicParameters();
DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
-
+ List<DataTable> excelTable = new List<DataTable>();
+ list = ImportExcel.ExcelToTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ excelTable = ImportExcel.ExcelToTableList(FileCode); //鑾峰彇Excel鏁版嵁
+ //褰撳墠Excel鏁版嵁涓偣妫�鏍囧噯椤电涓�,璁惧鐐规鏍囧噯缂栧彿(鍞竴鏄惁鏈夐噸澶�)
+ DataTable distinct = excelTable[0].DefaultView.ToTable(true, "璁惧鐐规鏍囧噯缂栧彿(鍞竴)");
+ if (distinct.Rows.Count != excelTable[0].Rows.Count)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧鐐规鏍囧噯椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}鏈夐噸澶�";
+ list.Add(erro);
+ }
+ //璁惧鐐规鏍囧噯琛ㄦ槸鍚﹀凡瀛樺湪鐐规鏍囧噯
+ for (int j = 0; j < excelTable[0].Rows.Count; j++)
+ {
+ if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpchk_Main where code=@code";
+ dynamicParams.Add("@code", excelTable[0].Rows[j][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧鐐规鏍囧噯琛�:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "鍦ㄦ暟鎹〃涓凡瀛樺湪";
+ list.Add(erro);
+ }
+ //閫氳繃璁惧鐐规鏍囧噯椤电妯℃澘涓殑鏍囧噯缂栫爜鏌ヨ璁惧鐐规閮ㄤ綅椤电妯℃澘涓搴旂殑鏁版嵁淇℃伅
+ DataTable ds = excelTable[1].AsEnumerable().Where<DataRow>(C => C["璁惧鐐规鏍囧噯缂栧彿(鍞竴)"].ToString() == excelTable[0].Rows[j][1].ToString().Trim()).CopyToDataTable();
+ if (ds.Rows.Count > 0)
+ {
+ //鍒ゆ柇鐐规鏍囧噯鏌ヨ鐐规閮ㄤ綅鏁版嵁鏄惁鏈夐噸澶�
+ DataTable distinct1 = ds.DefaultView.ToTable(true, "璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)");
+ if (distinct1.Rows.Count != ds.Rows.Count)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}:"+ excelTable[0].Rows[j][1].ToString().Trim() + " 瀵瑰簲{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}鏈夐噸澶�";
+ list.Add(erro);
+ }
+ }
+ }
+ }
+ //褰撳墠Excel鏁版嵁涓偣妫�閮ㄤ綅椤电涓�,璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)鍦ㄨ澶囩偣妫�閮ㄤ綅琛ㄤ腑鏄惁瀛樺湪
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
+ {
+ if (excelTable[1].Rows[k][3].ToString().Trim() != null && excelTable[1].Rows[k][3].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpchk_Item where code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[k][3].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count<0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧鐐规閮ㄤ綅琛�:{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}瀛楁" + excelTable[1].Rows[k][2].ToString().Trim() + "鍦ㄦ暟鎹〃涓笉瀛樺湪";
+ list.Add(erro);
+ }
+ }
+ }
+ //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
+ var dt3 = from r in excelTable[1].AsEnumerable()
+ where !(
+ from rr in excelTable[0].AsEnumerable()
+ select rr.Field<string>("璁惧鐐规鏍囧噯缂栧彿(鍞竴)")
+ ).Contains(r.Field<string>("璁惧鐐规鏍囧噯缂栧彿(鍞竴)"))
+ select r;
+ List<DataRow> listRow = dt3.ToList();
+ if (listRow.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}瀛楁涓湁鍊煎湪璁惧鐐规鏍囧噯椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}涓笉瀛樺湪";
+ list.Add(erro);
+ }
+ if (list.Count > 0)
+ {
+ int index = 0;
+ foreach (ExcelErro item in list)
+ {
+ index++;
+ item.Seq = index.ToString();
+ }
+ StuCode = "301";
+ message = "鏁版嵁楠岃瘉澶辫触";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "鏁版嵁楠岃瘉鎴愬姛";
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
+ }
return list;
}
#endregion
--
Gitblit v1.9.3