From cb776a0d9f1257047ae39c740b06e6ab487b1bfc Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 01 十一月 2022 18:15:42 +0800
Subject: [PATCH] 设备清单导入接口开发,安灯响应接口修改
---
VueWebApi/Tools/ImportExcelData.cs | 311 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 284 insertions(+), 27 deletions(-)
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index 026d75d..3b7ffe1 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -568,62 +568,117 @@
{
string Message = "";
code = "";
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- if (excelTable.Columns.Count != 10)
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
+ if (excelTable.Count != 6)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
}
- else if (excelTable.Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns.Count != 4)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+ else if (excelTable[1].Columns.Count != 5)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[2].ColumnName != "璁惧鍚嶇О")
+ else if (excelTable[2].Columns.Count != 9)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[3].ColumnName != "璁惧绫诲瀷")
+ else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
}
- else if (excelTable.Columns[4].ColumnName != "鐢熶骇杞﹂棿")
+ else if (excelTable[0].Columns[1].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
}
- else if (excelTable.Columns[5].ColumnName != "鎵�灞炰骇绾�")
+ else if (excelTable[0].Columns[2].ColumnName != "璁惧绫诲瀷鍚嶇О")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧绫诲瀷鍚嶇О}";
}
- else if (excelTable.Columns[6].ColumnName != "鎶曞叆鏃ユ湡")
+ else if (excelTable[0].Columns[3].ColumnName != "璁惧绫诲瀷鎻忚堪")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷鎻忚堪}";
}
- else if (excelTable.Columns[7].ColumnName != "绋煎姩鐜囷紙%锛�")
+ else if (excelTable[1].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
}
- else if (excelTable.Columns[8].ColumnName != "浣跨敤鐘舵��")
+ else if (excelTable[1].Columns[1].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
}
- else if (excelTable.Columns[9].ColumnName != "鏁伴噰鏍囪瘑1")
+ else if (excelTable[1].Columns[2].ColumnName != "璁惧缁勫悕绉�")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧缁勫悕绉皚";
+ }
+ else if (excelTable[1].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[1].Columns[4].ColumnName != "璁惧缁勬弿杩�")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕璁惧缁勬弿杩皚";
+ }
+ else if (excelTable[2].Columns[0].ColumnName != "搴忓彿")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
+ }
+ else if (excelTable[2].Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[2].ColumnName != "璁惧鍚嶇О")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧鍚嶇О}";
+ }
+ else if (excelTable[2].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[4].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[5].ColumnName != "鎶曞叆鏃ユ湡")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鎶曞叆鏃ユ湡}";
+ }
+ else if (excelTable[2].Columns[6].ColumnName != "鐢熶骇杞﹂棿")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鐢熶骇杞﹂棿}";
+ }
+ else if (excelTable[2].Columns[7].ColumnName != "浣跨敤鐘舵��")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕浣跨敤鐘舵�亇";
+ }
+ else if (excelTable[2].Columns[8].ColumnName != "绋煎姩鐜囷紙%锛�")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕绋煎姩鐜囷紙%锛墋";
}
else
{
@@ -2113,9 +2168,127 @@
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.ExcelToThreeTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode); //鑾峰彇Excel鏁版嵁
+ //璁惧绫诲瀷琛�,鍒ゆ柇璁惧绫诲瀷鏄惁瀛樺湪
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ if (excelTable[0].Rows[i][1].ToString().Trim() != null && excelTable[0].Rows[i][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpType where code=@code";
+ dynamicParams.Add("@code", excelTable[0].Rows[i][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[i][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ //璁惧缁勮〃,鍒ゆ柇璁惧缁勬槸鍚﹀瓨鍦�
+ for (int j = 0; j < excelTable[1].Rows.Count; j++)
+ {
+ if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpGroup where code=@code";
+ dynamicParams.Add("@code", excelTable[1].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[1].Rows[j][1].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);
+ }
+ //璁惧娓呭崟琛�
+ for (int k = 0; k < excelTable[2].Rows.Count; k++)
+ {
+ if (excelTable[2].Rows[k][1].ToString().Trim() != null && excelTable[2].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpInfo where code=@code";
+ dynamicParams.Add("@code", excelTable[2].Rows[k][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ //鍒ゆ柇璁惧缁勬槸鍚﹀搴旀纭殑璁惧绫诲瀷
+ var yourGetData = excelTable[1].AsEnumerable().Where(x => (x.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)") == excelTable[2].Rows[k][3].ToString().Trim()) && x.Field<string>("璁惧缁勭紪鍙�(鍞竴)") == excelTable[2].Rows[k][4].ToString().Trim()).CopyToDataTable();
+ if (yourGetData.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿(鍞竴)}/{璁惧缁勭紪鍙�(鍞竴)}";
+ erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "瀵瑰簲{璁惧绫诲瀷缂栧彿(鍞竴)}:" + excelTable[2].Rows[k][3].ToString().Trim() + "/{璁惧缁勭紪鍙�(鍞竴)}:" + excelTable[2].Rows[k][4].ToString().Trim() + "涓庤澶囩粍娓呭崟涓缃涓嶄笂";
+ list.Add(erro);
+ }
+ }
+ }
+ //杞﹂棿鍒ゆ柇
+ for (int m = 0; m < excelTable[1].Rows.Count; m++)
+ {
+ if (excelTable[1].Rows[m][6].ToString().Trim() != null && excelTable[1].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());
+ 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() + "涓嶅瓨鍦�";
+ 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
@@ -2975,11 +3148,95 @@
#region銆怑xcel鏁版嵁涓婁紶,璁惧娓呭崟銆�
public static string NineSubmit(string FileCode, string User, out string StuCode)
{
- string message = "";
- StuCode = "";
+ string message = ""; StuCode = "";
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
try
{
+ list.Clear();
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
+ //鍐欏叆璁惧绫诲瀷
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark)
+ values(@code,@name,@lm_user,@lm_date,@remark)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[0].Rows[i][1].ToString().Trim(),
+ name = excelTable[0].Rows[i][2].ToString().Trim(),
+ lm_user = User,
+ lm_date = DateTime.Now.ToString(),
+ remark = excelTable[0].Rows[i][3].ToString().Trim()
+ }
+ });
+ }
+ //鍐欏叆璁惧缁�
+ for (int j = 0; j < excelTable[1].Rows.Count; j++)
+ {
+ sql = @"insert into TEqpGroup(code,name,lm_user,lm_date,remark,eqptype_code)
+ values(@code,@name,@lm_user,@lm_date,@remark,@eqptype_code)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[1].Rows[j][1].ToString().Trim(),
+ name = excelTable[1].Rows[j][2].ToString().Trim(),
+ lm_user = User,
+ lm_date = DateTime.Now.ToString(),
+ remark = excelTable[1].Rows[j][4].ToString().Trim(),
+ eqptype_code = excelTable[1].Rows[j][3].ToString().Trim()
+
+ }
+ });
+ }
+ //瀵煎叆璁惧娓呭崟
+ for (int k = 0; k < excelTable[2].Rows.Count; k++)
+ {
+ //鑾峰彇杞﹂棿缂栫爜
+ string sql0 = @"select code,name from TOrganization where org_name=@wkshp and description='W' and is_delete<>'1'";
+ dynamicParams.Add("@wkshp", excelTable[2].Rows[k][6].ToString());
+ var data = DapperHelper.selectdata(sql0, dynamicParams);
+
+ sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
+ values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ devicecode = excelTable[2].Rows[k][1].ToString().Trim(),
+ devicename = excelTable[0].Rows[k][2].ToString().Trim(),
+ devicetype = excelTable[0].Rows[k][3].ToString().Trim(),
+ devicegroup = excelTable[0].Rows[k][4].ToString().Trim(),
+ workshop = excelTable[0].Rows[k][6].ToString().Trim(),
+ importdate = excelTable[0].Rows[k][5].ToString().Trim(),
+ ratio = excelTable[0].Rows[k][8].ToString().Trim(),
+ status = excelTable[0].Rows[k][7].ToString().Trim(),
+ uom = "鍙�",
+ lm_user = User,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
}
catch (Exception e)
{
--
Gitblit v1.9.3