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