From 14a48ba934fabee90b5d52471ca47883f6007732 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 20 七月 2022 11:40:39 +0800
Subject: [PATCH] Excel 角色清单导入,工序检验扫码
---
VueWebApi/Tools/ImportExcelData.cs | 272 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 220 insertions(+), 52 deletions(-)
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index 02621fd..34cd005 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -1615,44 +1615,74 @@
var dynamicParams = new DynamicParameters();
DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
- DataTable excelTable = new DataTable();
- list = ImportExcel.ExcelToTableErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
- excelTable = ImportExcel.ExcelToTable(FileCode); //鑾峰彇Excel鏁版嵁
- for (int i = 0; i < excelTable.Rows.Count; i++)
+ List<DataTable> excelTable = new List<DataTable>();
+ list = ImportExcel.ExcelToTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ excelTable = ImportExcel.ExcelToTableList(FileCode); //鑾峰彇Excel鏁版嵁
+ //涓昏〃
+ for (int j = 0; j < excelTable[0].Rows.Count; j++)
{
- if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
+ if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
{
- sql = @"select code from TUser where code=:code";
- dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
+ sql = @"select * from TGroup where group_code=@group_code";
+ dynamicParams.Add("@group_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.Rows[i][1].ToString().Trim() + "宸插瓨鍦�";
+ erro.ErrorField = "{鐝粍缂栫爜(鍞竴)}";
+ erro.ErrorCont = "鐝粍琛�:{鐝粍缂栫爜(鍞竴)}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
list.Add(erro);
}
}
- if (excelTable.Rows[i][6].ToString().Trim() != null && excelTable.Rows[i][6].ToString().Trim() != "")
+ }
+ //瀛愯〃
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
+ {
+ if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
{
- sql = @"select * from(
- select org_code,org_name from TOrganization where description='D' and parent_id in (select id from TOrganization where description='F')
- union
- select org_code,org_name from TOrganization where parent_id in(select id
- from TOrganization where description='D' and parent_id in (select id from TOrganization where description='F'))
- ) as AA where AA.org_name=:name";
- dynamicParams.Add("@code", excelTable.Rows[i][3].ToString().Trim());
+ sql = @"select * from TUser where usercode=@usercode";
+ dynamicParams.Add("@usercode", excelTable[1].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[1].Rows[k][2].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[1].Rows[k][7].ToString().Trim() != null && excelTable[1].Rows[k][7].ToString().Trim() != "")
+ {
+ sql = @"select * from TOrganization where org_code=@org_code";
+ dynamicParams.Add("@org_code", excelTable[1].Rows[k][7].ToString().Trim());
dt = DapperHelper.selectdata(sql, dynamicParams);
if (dt == null || dt.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{鎵�灞炵粍缁噠";
- erro.ErrorCont = "{鎵�灞炵粍缁噠瀛楁" + excelTable.Rows[i][3].ToString().Trim() + "涓嶅瓨鍦�";
+ 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)
{
@@ -1669,7 +1699,7 @@
{
StuCode = "200";
message = "鏁版嵁楠岃瘉鎴愬姛";
- count = excelTable.Rows.Count;
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
}
return list;
}
@@ -1682,9 +1712,81 @@
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鏁版嵁
+ //涓昏〃
+ 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 TRoleType where roletype_code=@roletype_code";
+ dynamicParams.Add("@roletype_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);
+ }
+ }
+ }
+ //瀛愯〃
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
+ {
+ if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TRole where role_code=@role_code";
+ dynamicParams.Add("@role_code", excelTable[1].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[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 = "300";
+ message = "鏁版嵁楠岃瘉澶辫触";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "鏁版嵁楠岃瘉鎴愬姛";
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
+ }
return list;
}
#endregion
@@ -2034,11 +2136,30 @@
try
{
list.Clear();
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- for (int i = 0; i < excelTable.Rows.Count; i++)
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToTableList(FileCode);
+ //瀵煎叆鐝粍
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
{
- if (excelTable.Rows[i][7].ToString().Trim() == "鍦ㄨ亴")
+ sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date)
+ values(@group_code,@group_name,@description,@Operator,@CreateDate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ group_code = excelTable[0].Rows[k][1].ToString().Trim(),
+ group_name = excelTable[0].Rows[k][2].ToString().Trim(),
+ description = excelTable[0].Rows[k][3].ToString().Trim(),
+ CreateDate = DateTime.Now.ToString(),
+ Operator = User
+ }
+ });
+ }
+ //瀵煎叆鐢ㄦ埛
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ if (excelTable[1].Rows[i][3].ToString().Trim() == "鍦ㄨ亴")
{
Enable = "Y";
}
@@ -2046,43 +2167,38 @@
{
Enable = "N";
}
- //鐐规绠℃帶
- switch (excelTable.Rows[i][8].ToString().Trim())
+ //宸ヨ祫绫诲瀷
+ switch (excelTable[1].Rows[i][8].ToString().Trim())
{
case "璁′欢鍒�":
- WageType = "1";
+ WageType = "2";
break;
case "璁℃椂鍒�":
- WageType = "2";
+ WageType = "1";
break;
default:
break;
}
- if (excelTable.Rows[i][6].ToString().Trim() != null && excelTable.Rows[i][6].ToString().Trim() != "")
- {
- sql = @"select * from(
- select org_code,org_name from TOrganization where description='D' and parent_id in (select id from TOrganization where description='F')
- union
- select org_code,org_name from TOrganization where parent_id in(select id
- from TOrganization where description='D' and parent_id in (select id from TOrganization where description='F'))
- ) as AA where AA.org_name=:name";
- dynamicParams.Add("@code", excelTable.Rows[i][3].ToString().Trim());
- dt = DapperHelper.selectdata(sql, dynamicParams);
- ZZName = dt.Rows[0]["CODE"].ToString().Trim();
- }
sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype)
values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype)";
- dynamicParams.Add("@UserCode", excelTable.Rows[i][1].ToString().Trim());
- dynamicParams.Add("@UserName", excelTable.Rows[i][2].ToString().Trim());
- dynamicParams.Add("@password", excelTable.Rows[i][3].ToString().Trim());
- dynamicParams.Add("@Enable", excelTable.Rows[i][7].ToString().Trim());
- dynamicParams.Add("@Mobile", excelTable.Rows[i][4].ToString().Trim());
- dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
- dynamicParams.Add("@Email", excelTable.Rows[i][5].ToString().Trim());
- dynamicParams.Add("@Operator", User);
- dynamicParams.Add("@StuOrg", ZZName);
- dynamicParams.Add("@wagetype", WageType);
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ UserCode = excelTable[1].Rows[i][1].ToString().Trim(),
+ UserName = excelTable[1].Rows[i][2].ToString().Trim(),
+ password= excelTable[1].Rows[i][4].ToString().Trim(),
+ Enable= Enable,
+ Mobile= excelTable[1].Rows[i][5].ToString().Trim(),
+ CreateDate= DateTime.Now.ToString(),
+ Email= excelTable[1].Rows[i][6].ToString().Trim(),
+ Operator= User,
+ StuOrg= excelTable[1].Rows[i][7].ToString().Trim(),
+ wagetype= WageType
+ }
+ });
}
bool aa = DapperHelper.DoTransaction(list);
if (aa)
@@ -2110,9 +2226,61 @@
{
string message = "";
StuCode = "";
+ string sql = "";
+ string ZZName = "", Enable = "", WageType = "";
+ DataTable dt;
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
try
{
-
+ list.Clear();
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToTableList(FileCode);
+ //瀵煎叆瑙掕壊绫诲瀷
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ sql = @"insert into TRoleType(roletype_code,roletype_name)
+ values(@roletype_code,@roletype_name)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ roletype_code = excelTable[0].Rows[k][1].ToString().Trim(),
+ roletype_name = excelTable[0].Rows[k][2].ToString().Trim()
+ }
+ });
+ }
+ //瀵煎叆瑙掕壊
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ sql = @"insert into TRole(role_code,role_name,roletype_code,description,lm_user,lm_date)
+ values(@role_code,@role_name,@roletype_code,@description,@Operator,@CreateDate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ role_code = excelTable[1].Rows[i][1].ToString().Trim(),
+ role_name = excelTable[1].Rows[i][2].ToString().Trim(),
+ roletype_code = excelTable[1].Rows[i][3].ToString().Trim(),
+ description = excelTable[1].Rows[i][4].ToString().Trim(),
+ Operator = User,
+ CreateDate = DateTime.Now.ToString()
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
}
catch (Exception e)
{
--
Gitblit v1.9.3