From c658c28dab9fb3a028af9647fb358f01956c7c10 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 15 十二月 2023 15:48:46 +0800
Subject: [PATCH] 1.修改模具、设备点检标准、保养标准导入模板 2.修改模具、设备点检标准、保养标准导入数据校验方法

---
 VueWebCoreApi/Tools/ImportExcel.cs |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/VueWebCoreApi/Tools/ImportExcel.cs b/VueWebCoreApi/Tools/ImportExcel.cs
index ef19619..5a4cb36 100644
--- a/VueWebCoreApi/Tools/ImportExcel.cs
+++ b/VueWebCoreApi/Tools/ImportExcel.cs
@@ -1292,30 +1292,59 @@
                     ExcelErro erro = new ExcelErro();
                     erro.RoeNumber = (rowIndex + 1).ToString();
                     erro.ErrorField = emptyColumn.ColumnName;
-                    erro.ErrorCont = "妯℃澘琛ㄥご甯�*鐨勫垪涓瓨鍦ㄧ┖鍊�,绗�" + (rowIndex + 1).ToString() + "琛�,蹇呭~瀛楁锛�"+ emptyColumn.ColumnName +"涓虹┖";
+                    erro.ErrorCont = "妯℃澘琛ㄥご甯�*鐨勫垪涓瓨鍦ㄧ┖鍊�,绗�" + (rowIndex + 1).ToString() + "琛�,蹇呭~瀛楁锛�" + emptyColumn.ColumnName + "涓虹┖";
                     list.Add(erro);
                 }
-                var duplicateColumn = excelTable[i].Columns.Cast<DataColumn>().FirstOrDefault(
-                    column => column.ColumnName.Contains("鍞竴") && excelTable[i].AsEnumerable().GroupBy(row => row[column]).Any(group => group.Count() > 1));
-                if (duplicateColumn != null)
+                if (excelTable[i].Columns.Cast<DataColumn>().Any(column => column.ColumnName.Contains("M")))
                 {
-                    int columnIndex = excelTable[i].Columns.IndexOf(duplicateColumn);
-                    var duplicateRows = excelTable[i].AsEnumerable()
-                        .Where(row => row[duplicateColumn] != DBNull.Value)
-                        .GroupBy(row => row[duplicateColumn])
-                        .Where(group => group.Count() > 1)
-                        .SelectMany(group => group.ToList())
-                        .ToList();
-                    foreach (var row in duplicateRows)
+                    var duplicateColumn = excelTable[i].Columns.Cast<DataColumn>().FirstOrDefault(
+                        column => column.ColumnName.Contains("M") && excelTable[i].AsEnumerable().GroupBy(row => new { Field1 = row[column], Field2 = column.ColumnName.Contains("鍞竴") }).Any(group => group.Count() > 1));
+                    if (duplicateColumn != null)
                     {
-                        ExcelErro erro = new ExcelErro();
-                        erro.RoeNumber = excelTable[i].Rows.IndexOf(row).ToString();
-                        erro.ErrorField = duplicateColumn.ColumnName;
-                        erro.ErrorCont = "妯℃澘琛ㄥご甯�(鍞竴)鐨勫垪涓瓨鍦ㄩ噸澶嶅��,绗�" + excelTable[i].Rows.IndexOf(row).ToString() + "琛�,蹇呭~瀛楁锛�" + duplicateColumn.ColumnName + "閲嶅";
-                        list.Add(erro);
-                        
+                        int columnIndex = excelTable[i].Columns.IndexOf(duplicateColumn);
+                        var duplicateRows = excelTable[i].AsEnumerable()
+                            .Where(row => row[duplicateColumn] != DBNull.Value)
+                            .GroupBy(row => row[duplicateColumn])
+                            .Where(group => group.Count() > 1)
+                            .SelectMany(group => group.ToList())
+                            .ToList();
+                        foreach (var row in duplicateRows)
+                        {
+                            ExcelErro erro = new ExcelErro();
+                            erro.RoeNumber = excelTable[i].Rows.IndexOf(row).ToString();
+                            erro.ErrorField = duplicateColumn.ColumnName;
+                            erro.ErrorCont = "妯℃澘琛ㄥご瀛楁锛�" + duplicateColumn.ColumnName + "涓嬪悓涓�鍊�,瀵瑰簲甯�(鍞竴)鐨勫垪涓瓨鍦ㄩ噸澶嶅��";
+                            list.Add(erro);
+
+                        }
                     }
                 }
+                else 
+                {
+                    var duplicateColumn = excelTable[i].Columns.Cast<DataColumn>().FirstOrDefault(
+                        column => column.ColumnName.Contains("鍞竴") && excelTable[i].AsEnumerable().GroupBy(row => row[column]).Any(group => group.Count() > 1));
+                    if (duplicateColumn != null)
+                    {
+                        int columnIndex = excelTable[i].Columns.IndexOf(duplicateColumn);
+                        var duplicateRows = excelTable[i].AsEnumerable()
+                            .Where(row => row[duplicateColumn] != DBNull.Value)
+                            .GroupBy(row => row[duplicateColumn])
+                            .Where(group => group.Count() > 1)
+                            .SelectMany(group => group.ToList())
+                            .ToList();
+                        foreach (var row in duplicateRows)
+                        {
+                            ExcelErro erro = new ExcelErro();
+                            erro.RoeNumber = excelTable[i].Rows.IndexOf(row).ToString();
+                            erro.ErrorField = duplicateColumn.ColumnName;
+                            erro.ErrorCont = "妯℃澘琛ㄥご甯�(鍞竴)鐨勫垪涓瓨鍦ㄩ噸澶嶅��,绗�" + excelTable[i].Rows.IndexOf(row).ToString() + "琛�,蹇呭~瀛楁锛�" + duplicateColumn.ColumnName + "閲嶅";
+                            list.Add(erro);
+
+                        }
+                    }
+                }
+               
+               
             }
             return list;
         }

--
Gitblit v1.9.3