VueWebCoreApi/Tools/ImportExcelData.cs
@@ -690,59 +690,51 @@
        #endregion
        #region【Excel模板上传验证,设备点检项目模板】
        public static string Ten(string FileCode, out string code)
        public static string Ten(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 2)
            if (excelTable.Count != 1)
            {
                code = "300";
                code = "301";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable[0].Columns.Count != 6)
            else if (excelTable[0].Columns.Count != 5)
            {
                code = "300";
                code = "301";
                Message = "设备点检项目模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns[0].ColumnName != "*点检项目编号(唯一)")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第1列应为{序号}";
                code = "301";
                Message = "设备点检项目模板:表头信息不符合规范,第1列应为{*点检项目编号(唯一)}";
                return Message;
            }
            else if (excelTable[0].Columns[1].ColumnName != "点检项目编号(唯一)")
            else if (excelTable[0].Columns[1].ColumnName != "*点检项目名称")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第2列应为{点检项目编号(唯一)}";
                code = "301";
                Message = "设备点检项目模板:表头信息不符合规范,第2列应为{*点检项目名称}";
                return Message;
            }
            else if (excelTable[0].Columns[2].ColumnName != "点检项目名称")
            else if (excelTable[0].Columns[2].ColumnName != "*点检周期")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第3列应为{点检项目名称}";
                code = "301";
                Message = "设备点检项目模板:表头信息不符合规范,第3列应为{*点检周期}";
                return Message;
            }
            else if (excelTable[0].Columns[3].ColumnName != "点检周期")
            else if (excelTable[0].Columns[3].ColumnName != "*是否扫码")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第4列应为{点检周期}";
                code = "301";
                Message = "设备点检项目模板:表头信息不符合规范,第3列应为{*是否扫码}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "是否扫码")
            else if (excelTable[0].Columns[4].ColumnName != "点检项目要求")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第4列应为{是否扫码}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "点检项目要求")
            {
                code = "300";
                Message = "设备点检项目模板不符合规范:表头信息不符合规范,第4列应为{点检项目要求}";
                code = "301";
                Message = "设备点检项目模板:表头信息不符合规范,第3列应为{点检项目要求}";
                return Message;
            }
            else
@@ -755,107 +747,93 @@
        #endregion
        #region【Excel模板上传验证,设备点检标准模板】
        public static string TwentyTwo(string FileCode, out string code)
        public static string Ten_one(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 4)
            if (excelTable.Count != 2)
            {
                code = "300";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable[0].Columns.Count != 5)
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "设备点检标准页签模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 8)
            else if (excelTable[1].Columns.Count != 7)
            {
                code = "300";
                Message = "设备点检部位页签模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            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[1].Columns[0].ColumnName != "*设备点检标准编号(M)")
            {
                code = "300";
                Message = "设备点检标准页签模板:表头信息不符合规范,第5列应为{标准描述}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第1列应为{*设备点检标准编号(M)}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            else if (excelTable[1].Columns[1].ColumnName != "*点检项序号")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第1列应为{序号}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第2列应为{*点检项序号}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "点检项序号")
            else if (excelTable[1].Columns[2].ColumnName != "*设备点检部位编号(唯一)")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第2列应为{点检项序号}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第3列应为{*设备点检部位编号(唯一)}";
                return Message;
            }
            else if (excelTable[1].Columns[2].ColumnName != "设备点检标准编号")
            else if (excelTable[1].Columns[3].ColumnName != "*设备点检部位名称")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第3列应为{设备点检标准编号}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第4列应为{*设备点检部位名称}";
                return Message;
            }
            else if (excelTable[1].Columns[3].ColumnName != "设备点检部位编号(唯一)")
            else if (excelTable[1].Columns[4].ColumnName != "点检部位要求")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第4列应为{设备点检部位编号(唯一)}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第5列应为{点检部位要求}";
                return Message;
            }
            else if (excelTable[1].Columns[4].ColumnName != "设备点检部位名称")
            else if (excelTable[1].Columns[5].ColumnName != "*选择扫码")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第5列应为{设备点检部位名称}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第6列应为{*选择扫码}";
                return Message;
            }
            else if (excelTable[1].Columns[5].ColumnName != "点检部位要求")
            else if (excelTable[1].Columns[6].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列应为{点检周期}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第7列应为{*点检周期}";
                return Message;
            }
            else
@@ -868,12 +846,10 @@
        #endregion
        #region【Excel模板上传验证,设备保养项目模板】
        public static string Eleven(string FileCode, out string code)
        public static string Eleven(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 2)
            {
                code = "300";
@@ -881,37 +857,31 @@
                return Message;
            }
            else if (excelTable[0].Columns.Count != 5)
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "设备保养项目模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            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 != "是否扫码")
            {
                code = "300";
                Message = "设备保养项目模板不符合规范:表头信息不符合规范,第4列应为{是否扫码}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "保养项目要求")
            else if (excelTable[0].Columns[3].ColumnName != "保养项目要求")
            {
                code = "300";
                Message = "设备保养项目模板不符合规范:表头信息不符合规范,第4列应为{保养项目要求}";
@@ -927,101 +897,87 @@
        #endregion
        #region【Excel模板上传验证,设备保养标准模板】
        public static string TwentyThree(string FileCode, out string code)
        public static string Eleven_one(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 4)
            if (excelTable.Count != 2)
            {
                code = "300";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable[0].Columns.Count != 5)
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "设备保养标准页签模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 7)
            else if (excelTable[1].Columns.Count != 6)
            {
                code = "300";
                Message = "设备保养部位页签模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            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[1].Columns[0].ColumnName != "*设备保养标准编号(M)")
            {
                code = "300";
                Message = "设备保养标准页签模板:表头信息不符合规范,第5列应为{标准描述}";
                Message = "设备保养部位页签模板:表头信息不符合规范,第1列应为{*设备保养标准编号(M)}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            else if (excelTable[1].Columns[1].ColumnName != "*保养项序号")
            {
                code = "300";
                Message = "设备点检部位页签模板:表头信息不符合规范,第1列应为{序号}";
                Message = "设备保养部位页签模板:表头信息不符合规范,第2列应为{*保养项序号}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "保养项序号")
            else if (excelTable[1].Columns[2].ColumnName != "*设备保养部位编号(唯一)")
            {
                code = "300";
                Message = "设备保养部位页签模板:表头信息不符合规范,第2列应为{保养项序号}";
                Message = "设备保养部位页签模板:表头信息不符合规范,第3列应为{*设备保养部位编号(唯一)}";
                return Message;
            }
            else if (excelTable[1].Columns[2].ColumnName != "设备保养标准编号")
            else if (excelTable[1].Columns[3].ColumnName != "*设备保养部位名称")
            {
                code = "300";
                Message = "设备保养部位页签模板:表头信息不符合规范,第3列应为{设备保养标准编号}";
                Message = "设备保养部位页签模板:表头信息不符合规范,第4列应为{*设备保养部位名称}";
                return Message;
            }
            else if (excelTable[1].Columns[3].ColumnName != "设备保养部位编号(唯一)")
            else if (excelTable[1].Columns[4].ColumnName != "保养部位要求")
            {
                code = "300";
                Message = "设备保养部位页签模板:表头信息不符合规范,第4列应为{设备保养部位编号(唯一)}";
                Message = "设备保养部位页签模板:表头信息不符合规范,第5列应为{保养部位要求}";
                return Message;
            }
            else if (excelTable[1].Columns[4].ColumnName != "设备保养部位名称")
            else if (excelTable[1].Columns[5].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列应为{选择扫码}";
                Message = "设备点检部位页签模板:表头信息不符合规范,第6列应为{*选择扫码}";
                return Message;
            }
            else
@@ -1045,16 +1001,31 @@
                return Message;
            }
            else if (excelTable[0].Columns.Count != 6)
            if (excelTable[1].Rows.Count > 0)
            {
                if (excelTable[1].Columns.Count != 2)
                {
                    code = "301";
                    Message = "模具关联产品模板不符合规范,请检查列名字段数";
                    return Message;
                }
                else if (excelTable[1].Columns[0].ColumnName != "模具编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                    return Message;
                }
                else if (excelTable[1].Columns[1].ColumnName != "产品编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                    return Message;
                }
            }
            else if (excelTable[0].Columns.Count != 8)
            {
                code = "301";
                Message = "模具清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 2)
            {
                code = "301";
                Message = "模具关联产品模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "*模具编号(唯一)")
@@ -1081,28 +1052,28 @@
                Message = "模具清单模板:表头信息不符合规范,第4列应为{*状态}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "预计寿命(次)")
            else if (excelTable[0].Columns[4].ColumnName != "*仓库编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{预计寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{*仓库编码}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "剩余寿命(次)")
            else if (excelTable[0].Columns[5].ColumnName != "*库位编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{剩余寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{*库位编码}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "模具编码")
            else if (excelTable[0].Columns[6].ColumnName != "预计寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                Message = "模具清单模板:表头信息不符合规范,第7列应为{预计寿命(次)}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "产品编码")
            else if (excelTable[0].Columns[7].ColumnName != "剩余寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                Message = "模具清单模板:表头信息不符合规范,第8列应为{剩余寿命(次)}";
                return Message;
            }
            else
@@ -1201,10 +1172,10 @@
                Message = "模具点检标准模板:表头信息不符合规范,第3列应为{标准描述}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "*模具点检标准编号")
            else if (excelTable[1].Columns[0].ColumnName != "*模具点检标准编号(M)")
            {
                code = "301";
                Message = "关联模具点检部位模板:表头信息不符合规范,第1列应为{*模具点检标准编号}";
                Message = "关联模具点检部位模板:表头信息不符合规范,第1列应为{*模具点检标准编号(M)}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "*点检项序号")
@@ -1327,10 +1298,10 @@
                Message = "模具保养标准模板:表头信息不符合规范,第3列应为{标准描述}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "*模具保养标准编号")
            else if (excelTable[1].Columns[0].ColumnName != "*模具保养标准编号(M)")
            {
                code = "301";
                Message = "关联模具保养部位模板:表头信息不符合规范,第1列应为{*模具保养标准编号}";
                Message = "关联模具保养部位模板:表头信息不符合规范,第1列应为{*模具保养标准编号(M)}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "*保养项序号")
@@ -2865,7 +2836,7 @@
                    sql = @"select *  from TSecStck where code=@code";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][7].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<=0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -2992,7 +2963,7 @@
                    sql = @"select *  from TOrganization where torg_code=@torg_code";
                    dynamicParams.Add("@torg_code", excelTable[1].Rows[k][2].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<=0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -3040,7 +3011,7 @@
        #endregion
        #region【Excel上传数据验证,设备点检项目】
        public static List<ExcelErro> TenData(string FileCode, out string StuCode, out string message, out int count)
        public static List<ExcelErro> TenData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
@@ -3050,33 +3021,31 @@
            DataTable dt;
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            DataTable excelTable = new DataTable();
            list = ImportExcel.ExcelToTableErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTable(FileCode);  //获取Excel数据
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //当前Excel数据中点检标准页签中,设备点检标准编号(唯一是否有重复)
            DataTable distinct = excelTable.DefaultView.ToTable(true, "点检项目编号(唯一)");
            if (distinct.Rows.Count != excelTable.Rows.Count)
            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 = "设备点检项目页签模板:{点检项目编号(唯一)}有重复";
                erro.ErrorField = "{*点检项目编号(唯一)}";
                erro.ErrorCont = "设备点检项目模板:{*点检项目编号(唯一)}有重复";
                list.Add(erro);
            }
            for (int i = 0; i < excelTable.Rows.Count; i++)
            for (int i = 0; i < excelTable[0].Rows.Count; i++)
            {
                if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
                if (excelTable[0].Rows[i][0].ToString().Trim() != null && excelTable[0].Rows[i][0].ToString().Trim() != "")
                {
                    sql = @"select code  from TEqpchk_Item where code=@code";
                    dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[0].Rows[i][0].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[i][0].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
@@ -3096,64 +3065,62 @@
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
                count = excelTable[0].Rows.Count;
            }
            return list;
        }
        #endregion
        #region【Excel上传数据验证,设备点检标准】
        public static List<ExcelErro> TwentyTwoData(string FileCode, out string StuCode, out string message, out int count)
        public static List<ExcelErro> Ten_oneData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            List<DataTable> excelTable = new List<DataTable>();
            list = ImportExcel.ExcelToTableListErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTableList(FileCode);  //获取Excel数据
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //当前Excel数据中点检标准页签中,设备点检标准编号(唯一是否有重复)
            DataTable distinct = excelTable[0].DefaultView.ToTable(true, "设备点检标准编号(唯一)");
            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 = "设备点检标准页签模板:{设备点检标准编号(唯一)}有重复";
                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() != "")
                if (excelTable[0].Rows[j][0].ToString().Trim() != null && excelTable[0].Rows[j][0].ToString().Trim() != "")
                {
                    sql = @"select *  from TEqpchk_Main where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[j][1].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[0].Rows[j][0].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() + "在数据表中已存在";
                        erro.ErrorField = "{*设备点检标准编号(唯一)}";
                        erro.ErrorCont = "设备点检标准表:{*设备点检标准编号(唯一)}字段" + excelTable[0].Rows[j][0].ToString().Trim() + "在数据表中已存在";
                        list.Add(erro);
                    }
                    //通过设备点检标准页签模板中的标准编码查询设备点检部位页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["设备点检标准编号"].ToString() == excelTable[0].Rows[j][1].ToString().Trim());
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*设备点检标准编号(M)"].ToString() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    if (ds.Rows.Count > 0)
                    {
                        //判断保养标准查询保养部位数据是否有重复
                        DataTable distinct1 = ds.DefaultView.ToTable(true, "设备点检部位编号(唯一)");
                        //判断点检标准查询点检部位数据是否有重复
                        DataTable distinct1 = ds.DefaultView.ToTable(true, "*设备点检部位编号(唯一)");
                        if (distinct1.Rows.Count != ds.Rows.Count)
                        {
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{设备点检部位编号(唯一)}";
                            erro.ErrorCont = "设备点检部位页签模板:{设备点检标准编号}:" + excelTable[1].Rows[j][2].ToString().Trim() + " 对应{设备点检部位编号(唯一)}有重复";
                            erro.ErrorField = "{*设备点检部位编号(唯一)}";
                            erro.ErrorCont = "设备点检部位页签模板:{*设备点检标准编号(M)}:" + excelTable[1].Rows[j][1].ToString().Trim() + " 对应{*设备点检部位编号(唯一)}有重复";
                            list.Add(erro);
                        }
                    }
@@ -3161,8 +3128,8 @@
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{设备点检部位编号(唯一)}";
                        erro.ErrorCont = "设备点检部位页签模板:{设备点检标准编号}:" + excelTable[1].Rows[j][2].ToString().Trim() + " 在设备点检标准页签模板中不存在";
                        erro.ErrorField = "{*设备点检标准编号(唯一)}";
                        erro.ErrorCont = "设备点检标准模板sheet1中:{*设备点检标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在设备点检标准模板sheet中{*设备点检标准编号(唯一)}列不存在";
                        list.Add(erro);
                    }
                }
@@ -3170,17 +3137,17 @@
            //当前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() != "")
                if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
                {
                    sql = @"select *  from TEqpchk_Item where code=@code";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][3].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[1].Rows[k][2].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count < 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{设备点检部位编号(唯一)}";
                        erro.ErrorCont = "设备点检部位表:{设备点检部位编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        erro.ErrorField = "{*设备点检部位编号(唯一)}";
                        erro.ErrorCont = "设备点检部位表:{*设备点检部位编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        list.Add(erro);
                    }
                }
@@ -3189,16 +3156,16 @@
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("设备点检标准编号(唯一)")
                      ).Contains(r.Field<string>("设备点检标准编号"))
                          select rr.Field<string>("*设备点检标准编号(唯一)")
                      ).Contains(r.Field<string>("*设备点检标准编号(M)"))
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{设备点检标准编号}";
                erro.ErrorCont = "设备点检部位页签模板:{设备点检标准编号}字段中有值在设备点检标准页签模板:{设备点检标准编号(唯一)}中不存在";
                erro.ErrorField = "{*设备点检标准编号(M)}";
                erro.ErrorCont = "设备点检部位页签模板:{*设备点检标准编号(M)}字段中有值在设备点检标准页签模板:{*设备点检标准编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
@@ -3223,7 +3190,7 @@
        #endregion
        #region【Excel上传数据验证,设备保养项目】
        public static List<ExcelErro> ElevenData(string FileCode, out string StuCode, out string message, out int count)
        public static List<ExcelErro> ElevenData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
@@ -3232,33 +3199,31 @@
            DataTable dt;
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            DataTable excelTable = new DataTable();
            list = ImportExcel.ExcelToTableErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTable(FileCode);  //获取Excel数据
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //当前Excel数据中点检标准页签中,设备点检标准编号(唯一是否有重复)
            DataTable distinct = excelTable.DefaultView.ToTable(true, "保养项目编号(唯一)");
            if (distinct.Rows.Count != excelTable.Rows.Count)
            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 = "设备保养项目页签模板:{保养项目编号(唯一)}有重复";
                erro.ErrorField = "{*保养项目编号(唯一)}";
                erro.ErrorCont = "设备保养项目页签模板:{*保养项目编号(唯一)}有重复";
                list.Add(erro);
            }
            for (int i = 0; i < excelTable.Rows.Count; i++)
            for (int i = 0; i < excelTable[0].Rows.Count; i++)
            {
                if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
                if (excelTable[0].Rows[i][0].ToString().Trim() != null && excelTable[0].Rows[i][0].ToString().Trim() != "")
                {
                    sql = @"select code  from TEqpmai_Item where code=@code";
                    dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[0].Rows[i][0].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[i][0].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
@@ -3278,64 +3243,62 @@
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
                count = excelTable[0].Rows.Count;
            }
            return list;
        }
        #endregion
        #region【Excel上传数据验证,设备保养标准】
        public static List<ExcelErro> TwentyThreeData(string FileCode, out string StuCode, out string message, out int count)
        public static List<ExcelErro> Eleven_oneData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            List<DataTable> excelTable = new List<DataTable>();
            list = ImportExcel.ExcelToTableListErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTableList(FileCode);  //获取Excel数据
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //当前Excel数据中保养标准页签中,设备保养标准编号(唯一是否有重复)
            DataTable distinct = excelTable[0].DefaultView.ToTable(true, "设备保养标准编号(唯一)");
            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 = "设备保养标准页签模板:{设备保养标准编号(唯一)}有重复";
                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() != "")
                if (excelTable[0].Rows[j][0].ToString().Trim() != null && excelTable[0].Rows[j][0].ToString().Trim() != "")
                {
                    sql = @"select *  from TEqpmai_Main where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[j][1].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[0].Rows[j][0].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() + "在数据表中已存在";
                        erro.ErrorField = "{*设备保养标准编号(唯一)}";
                        erro.ErrorCont = "设备保养标准表:{*设备保养标准编号(唯一)}字段" + excelTable[0].Rows[j][0].ToString().Trim() + "在数据表中已存在";
                        list.Add(erro);
                    }
                    //通过设备保养标准页签模板中的标准编码查询设备保养部位页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["设备保养标准编号"].ToString() == excelTable[0].Rows[j][1].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*设备保养标准编号(M)"].ToString() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[0].Clone();
                    if (ds.Rows.Count > 0)
                    {
                        //判断保养标准查询保养部位数据是否有重复
                        DataTable distinct1 = ds.DefaultView.ToTable(true, "设备保养部位编号(唯一)");
                        DataTable distinct1 = ds.DefaultView.ToTable(true, "*设备保养部位编号(唯一)");
                        if (distinct1.Rows.Count != ds.Rows.Count)
                        {
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{设备保养部位编号(唯一)}";
                            erro.ErrorCont = "设备保养部位页签模板:{设备保养标准编号}:" + excelTable[1].Rows[j][2].ToString().Trim() + " 对应{设备保养部位编号(唯一)}有重复";
                            erro.ErrorField = "{*设备保养部位编号(唯一)}";
                            erro.ErrorCont = "设备保养部位页签模板:{*设备保养标准编号(M)}:" + excelTable[1].Rows[j][1].ToString().Trim() + " 对应{*设备保养部位编号(唯一)}有重复";
                            list.Add(erro);
                        }
                    }
@@ -3343,8 +3306,8 @@
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{设备保养部位编号(唯一)}";
                        erro.ErrorCont = "设备保养部位页签模板:{设备保养标准编号}:" + excelTable[1].Rows[j][2].ToString().Trim() + " 在设备保养标准页签模板中不存在";
                        erro.ErrorField = "{*设备保养标准编号(唯一)}";
                        erro.ErrorCont = "设备保养标准模板sheet1中:{*设备保养标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在设备保养标准模板sheet中{*设备保养标准编号(唯一)}列不存在";
                        list.Add(erro);
                    }
                }
@@ -3352,17 +3315,17 @@
            //当前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() != "")
                if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
                {
                    sql = @"select *  from TEqpmai_Item where code=@code";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][3].ToString().Trim());
                    dynamicParams.Add("@code", excelTable[1].Rows[k][2].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count < 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{设备保养部位编号(唯一)}";
                        erro.ErrorCont = "设备保养部位表:{设备保养部位编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        erro.ErrorField = "{*设备保养部位编号(唯一)}";
                        erro.ErrorCont = "设备保养部位表:{*设备保养部位编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        list.Add(erro);
                    }
                }
@@ -3371,16 +3334,16 @@
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("设备保养标准编号(唯一)")
                      ).Contains(r.Field<string>("设备保养标准编号"))
                          select rr.Field<string>("*设备保养标准编号(唯一)")
                      ).Contains(r.Field<string>("*设备保养标准编号(M)"))
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{设备保养标准编号}";
                erro.ErrorCont = "设备保养部位页签模板:{设备保养标准编号}字段中有值在设备保养标准页签模板:{设备保养标准编号(唯一)}中不存在";
                erro.ErrorField = "{*设备保养标准编号(M)}";
                erro.ErrorCont = "设备保养部位页签模板:{*设备保养标准编号(M)}字段中有值在设备保养标准页签模板:{*设备保养标准编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
@@ -3415,7 +3378,7 @@
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //模具表
            for (int k = 0; k < excelTable[0].Rows.Count; k++)
            {
@@ -3447,6 +3410,61 @@
                        list.Add(erro);
                    }
                }
                //判断仓库编码是否为空
                if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                {
                    sql = @"select *  from TSecStck where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[k][4].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[k][4].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
                //判断库位编码是否为空
                if (excelTable[0].Rows[k][5].ToString().Trim() != null && excelTable[0].Rows[k][5].ToString().Trim() != "")
                {
                    //库位不为空时,判断仓库是否为空
                    if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                    {
                        //判断库位是否存在
                        sql = @"select *  from TSecLoca where code=@code";
                        dynamicParams.Add("@code", excelTable[0].Rows[k][5].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[k][5].ToString().Trim() + "不存在";
                            list.Add(erro);
                        }
                        else
                        {
                            //判断库位是否属于当前仓库
                            if (excelTable[0].Rows[k][4].ToString().Trim() != dt.Rows[0]["idwarehouse"].ToString())
                            {
                                ExcelErro erro = new ExcelErro();
                                erro.RoeNumber = "/";
                                erro.ErrorField = "{*库位编码}";
                                erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "与{*仓库编码}字段:" + excelTable[0].Rows[k][4].ToString().Trim() + "不匹配";
                                list.Add(erro);
                            }
                        }
                    }
                    else
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*库位编码}";
                        erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "对应的仓库字段不能为空";
                        list.Add(erro);
                    }
                }
            }
            //模具关联产品表
            for (int j = 0; j < excelTable[1].Rows.Count; j++)
@@ -3456,7 +3474,7 @@
                    sql = @"select *  from TMateriel_Info where partcode=@partcode";
                    dynamicParams.Add("@partcode", excelTable[1].Rows[j][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<= 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -3599,7 +3617,7 @@
                        list.Add(erro);
                    }
                    //通过模具点检标准页签模板中的标准编码查询模具点检项页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具点检标准编号"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具点检标准编号(M)"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    if (ds.Rows.Count > 0)
                    {
@@ -3610,7 +3628,7 @@
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{*模具点检项编号(唯一)}";
                            erro.ErrorCont = "模具点检项页签模板:{*模具点检标准编号}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 对应{*模具点检项编号(唯一)}有重复";
                            erro.ErrorCont = "模具点检项页签模板:{*模具点检标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 对应{*模具点检项编号(唯一)}有重复";
                            list.Add(erro);
                        }
                    }
@@ -3618,8 +3636,8 @@
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具点检项编号(唯一)}";
                        erro.ErrorCont = "模具点检项页签模板:{*模具点检标准编号}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在模具点检标准页签模板中不存在";
                        erro.ErrorField = "{*模具点检标准编号(唯一)}";
                        erro.ErrorCont = "模具点检标准模板sheet1中:{*模具点检标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在模具点检标准模板sheet中{*模具点检标准编号(唯一)}列不存在";
                        list.Add(erro);
                    }
                }
@@ -3638,7 +3656,7 @@
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具点检项编号(唯一)}";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一),*模具点检项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() +","+ excelTable[1].Rows[k][3].ToString().Trim() + "}在模具点检项中不存在";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一),*模具点检项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() + "," + excelTable[1].Rows[k][3].ToString().Trim() + "}在模具点检项中不存在";
                        list.Add(erro);
                    }
                }
@@ -3648,15 +3666,15 @@
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("*模具点检标准编号(唯一)").Trim()
                      ).Contains(r.Field<string>("*模具点检标准编号").Trim())
                      ).Contains(r.Field<string>("*模具点检标准编号(M)").Trim())
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{*模具点检标准编号}";
                erro.ErrorCont = "模具点检项页签模板:{*模具点检标准编号}字段中有值在模具点检标准页签模板:{*模具点检标准编号(唯一)}中不存在";
                erro.ErrorField = "{*模具点检标准编号(M)}";
                erro.ErrorCont = "模具点检项页签模板:{*模具点检标准编号(M)}字段中有值在模具点检标准页签模板:{*模具点检标准编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
@@ -3772,7 +3790,7 @@
                        list.Add(erro);
                    }
                    //通过模具保养标准页签模板中的标准编码查询模具保养项页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具保养标准编号"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具保养标准编号(M)"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    if (ds.Rows.Count > 0)
                    {
@@ -3783,7 +3801,7 @@
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{*模具保养项编号(唯一)}";
                            erro.ErrorCont = "模具保养项页签模板:{*模具保养标准编号}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 对应{*模具保养项编号(唯一)}有重复";
                            erro.ErrorCont = "模具保养项页签模板:{*模具保养标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 对应{*模具保养项编号(唯一)}有重复";
                            list.Add(erro);
                        }
                    }
@@ -3791,8 +3809,8 @@
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具保养项编号(唯一)}";
                        erro.ErrorCont = "模具保养项页签模板:{*模具保养标准编号}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在模具保养标准页签模板中不存在";
                        erro.ErrorField = "{*模具保养标准编号(唯一)}";
                        erro.ErrorCont = "模具保养标准模板sheet1中:{*模具保养标准编号(M)}:" + excelTable[1].Rows[j][0].ToString().Trim() + " 在模具保养标准模板sheet中{*模具保养标准编号(唯一)}列不存在";
                        list.Add(erro);
                    }
                }
@@ -3821,15 +3839,15 @@
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("*模具保养标准编号(唯一)").Trim()
                      ).Contains(r.Field<string>("*模具保养标准编号").Trim())
                      ).Contains(r.Field<string>("*模具保养标准编号(M)").Trim())
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{*模具保养标准编号}";
                erro.ErrorCont = "模具保养项页签模板:{*模具保养标准编号}字段中有值在模具保养标准页签模板:{*模具保养标准编号(唯一)}中不存在";
                erro.ErrorField = "{*模具保养标准编号(M)}";
                erro.ErrorCont = "模具保养项页签模板:{*模具保养标准编号(M)}字段中有值在模具保养标准页签模板:{*模具保养标准编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
@@ -4634,7 +4652,7 @@
                            status = excelTable[0].Rows[i][2].ToString().Trim(),
                            datarange = "ALL",
                            datapermissions = datapermissions,
                            identifying="2",
                            identifying = "2",
                            description = excelTable[0].Rows[i][3].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
@@ -4803,6 +4821,21 @@
                //导入库位
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    string status = "";
                    if (excelTable[0].Rows[i][4].ToString().Trim() != null && excelTable[0].Rows[i][4].ToString().Trim() != "")
                    {
                        switch (excelTable[0].Rows[i][3].ToString().Trim())
                        {
                            case "正常":
                                status = "Y";
                                break;
                            case "停用":
                                status = "N";
                                break;
                            default:
                                break;
                        }
                    }
                    sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources) 
                            values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
                    list.Add(new
@@ -4814,7 +4847,7 @@
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            idwarehouse = excelTable[0].Rows[i][2].ToString().Trim(),
                            idparent = excelTable[0].Rows[i][3].ToString().Trim(),
                            status = excelTable[0].Rows[i][4].ToString().Trim(),
                            status = status,
                            description = excelTable[0].Rows[i][5].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString(),
@@ -4876,7 +4909,7 @@
                //导入存货档案
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    string idunitgroup="", idunit = "", idnounit = "";
                    string idunitgroup = "", idunit = "", idnounit = "";
                    int isSingleUnit = 0;
                    if (excelTable[1].Rows[i][5].ToString().Trim() == "S")
                    {
@@ -4894,7 +4927,7 @@
                        dynamicParams.Add("@name", excelTable[1].Rows[i][6].ToString().Trim());
                        var dt = DapperHelper.selectdata(sql, dynamicParams);
                        idunitgroup = dt.Rows[0]["groupcode"].ToString();
                        idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") =="1").Select(row => row.Field<string>("code")).FirstOrDefault();
                        idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "1").Select(row => row.Field<string>("code")).FirstOrDefault();
                        idnounit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "0").Select(row => row.Field<string>("code")).FirstOrDefault();
                    }
@@ -5028,7 +5061,7 @@
        #endregion
        #region【Excel数据上传,设备点检项目】
        public static string TenSubmit(string FileCode, string User, out string StuCode)
        public static string TenSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
@@ -5038,13 +5071,11 @@
            try
            {
                list.Clear();
                DataTable excelTable = new DataTable();
                excelTable = ImportExcel.ExcelToTable(FileCode);
                //导入设备点检项目表
                for (int i = 0; i < excelTable.Rows.Count; i++)
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    string Type = "", IsScan = "";
                    switch (excelTable.Rows[i][3].ToString().Trim())
                    switch (excelTable[0].Rows[i][2].ToString().Trim())
                    {
                        case "年":
                            Type = "Y";
@@ -5064,7 +5095,7 @@
                        default:
                            break;
                    }
                    switch (excelTable.Rows[i][4].ToString().Trim())
                    switch (excelTable[0].Rows[i][3].ToString().Trim())
                    {
                        case "是":
                            IsScan = "Y";
@@ -5082,12 +5113,12 @@
                        str = sql,
                        parm = new
                        {
                            code = excelTable.Rows[i][1].ToString().Trim(),
                            name = excelTable.Rows[i][2].ToString().Trim(),
                            descr = excelTable.Rows[i][5].ToString().Trim(),
                            code = excelTable[0].Rows[i][0].ToString().Trim(),
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            descr = excelTable[0].Rows[i][4].ToString().Trim(),
                            isscan = IsScan,
                            cycle = Type,
                            Operator = User,
                            Operator = us.usercode,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
@@ -5114,7 +5145,7 @@
        #endregion
        #region【Excel数据上传,设备点检标准】
        public static string TwentyTwoSubmit(string FileCode, string User, out string StuCode)
        public static string Ten_oneSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
@@ -5124,8 +5155,6 @@
            try
            {
                list.Clear();
                List<DataTable> excelTable = new List<DataTable>();
                excelTable = ImportExcel.ExcelToTableList(FileCode);
                //导入设备点检标准主表
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
@@ -5136,12 +5165,12 @@
                        str = sql,
                        parm = new
                        {
                            code = excelTable[0].Rows[k][1].ToString().Trim(),
                            name = excelTable[0].Rows[k][2].ToString().Trim(),
                            iscontr = excelTable[0].Rows[k][3].ToString().Trim(),
                            description = excelTable[0].Rows[k][4].ToString().Trim(),
                            code = excelTable[0].Rows[k][0].ToString().Trim(),
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            iscontr = excelTable[0].Rows[k][2].ToString().Trim(),
                            description = excelTable[0].Rows[k][3].ToString().Trim(),
                            CreateDate = DateTime.Now.ToString(),
                            Operator = User
                            Operator = us.usercode
                        }
                    });
                }
@@ -5149,7 +5178,7 @@
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    string Type = "";
                    switch (excelTable[1].Rows[i][7].ToString().Trim())
                    switch (excelTable[1].Rows[i][6].ToString().Trim())
                    {
                        case "日":
                            Type = "D";
@@ -5165,13 +5194,13 @@
                        parm = new
                        {
                            seq = excelTable[1].Rows[i][1].ToString().Trim(),
                            code = excelTable[1].Rows[i][3].ToString().Trim(),
                            name = excelTable[1].Rows[i][4].ToString().Trim(),
                            eqpchk_main_code = excelTable[1].Rows[i][2].ToString().Trim(),
                            description = excelTable[1].Rows[i][5].ToString().Trim(),
                            isscan = excelTable[1].Rows[i][6].ToString().Trim(),
                            code = excelTable[1].Rows[i][2].ToString().Trim(),
                            name = excelTable[1].Rows[i][3].ToString().Trim(),
                            eqpchk_main_code = excelTable[1].Rows[i][0].ToString().Trim(),
                            description = excelTable[1].Rows[i][4].ToString().Trim(),
                            isscan = excelTable[1].Rows[i][5].ToString().Trim(),
                            cycle = Type,
                            Operator = User,
                            Operator = us.usercode,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
@@ -5198,7 +5227,7 @@
        #endregion
        #region【Excel数据上传,设备保养项目】
        public static string ElevenSubmit(string FileCode, string User, out string StuCode)
        public static string ElevenSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
@@ -5208,33 +5237,11 @@
            try
            {
                list.Clear();
                DataTable excelTable = new DataTable();
                excelTable = ImportExcel.ExcelToTable(FileCode);
                //导入设备点检项目表
                for (int i = 0; i < excelTable.Rows.Count; i++)
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    string Type = "", IsScan = "";
                    //switch (excelTable.Rows[i][3].ToString().Trim())
                    //{
                    //    case "年":
                    //        Type = "Y";
                    //        break;
                    //    case "季":
                    //        Type = "S";
                    //        break;
                    //    case "月":
                    //        Type = "M";
                    //        break;
                    //    case "周":
                    //        Type = "W";
                    //        break;
                    //    case "日":
                    //        Type = "D";
                    //        break;
                    //    default:
                    //        break;
                    //}
                    switch (excelTable.Rows[i][3].ToString().Trim())
                    string IsScan = "";
                    switch (excelTable[0].Rows[i][2].ToString().Trim())
                    {
                        case "是":
                            IsScan = "Y";
@@ -5252,12 +5259,12 @@
                        str = sql,
                        parm = new
                        {
                            code = excelTable.Rows[i][1].ToString().Trim(),
                            name = excelTable.Rows[i][2].ToString().Trim(),
                            descr = excelTable.Rows[i][4].ToString().Trim(),
                            code = excelTable[0].Rows[i][0].ToString().Trim(),
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            descr = excelTable[0].Rows[i][3].ToString().Trim(),
                            isscan = IsScan,
                            cycle = "",
                            Operator = User,
                            Operator = us.usercode,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
@@ -5284,7 +5291,7 @@
        #endregion
        #region【Excel数据上传,设备保养标准】
        public static string TwentyThreeSubmit(string FileCode, string User, out string StuCode)
        public static string Eleven_oneSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
@@ -5294,13 +5301,11 @@
            try
            {
                list.Clear();
                List<DataTable> excelTable = new List<DataTable>();
                excelTable = ImportExcel.ExcelToTableList(FileCode);
                //导入设备保养标准主表
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    string Type = "";
                    switch (excelTable[0].Rows[k][3].ToString().Trim())
                    switch (excelTable[0].Rows[k][2].ToString().Trim())
                    {
                        case "年":
                            Type = "Y";
@@ -5324,12 +5329,12 @@
                        str = sql,
                        parm = new
                        {
                            code = excelTable[0].Rows[k][1].ToString().Trim(),
                            name = excelTable[0].Rows[k][2].ToString().Trim(),
                            code = excelTable[0].Rows[k][0].ToString().Trim(),
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            main_cycle = Type,
                            description = excelTable[0].Rows[k][4].ToString().Trim(),
                            description = excelTable[0].Rows[k][3].ToString().Trim(),
                            CreateDate = DateTime.Now.ToString(),
                            Operator = User
                            Operator = us.usercode
                        }
                    });
                }
@@ -5344,12 +5349,12 @@
                        parm = new
                        {
                            seq = excelTable[1].Rows[i][1].ToString().Trim(),
                            code = excelTable[1].Rows[i][3].ToString().Trim(),
                            name = excelTable[1].Rows[i][4].ToString().Trim(),
                            eapmai_code = excelTable[1].Rows[i][2].ToString().Trim(),
                            description = excelTable[1].Rows[i][5].ToString().Trim(),
                            isscan = excelTable[1].Rows[i][6].ToString().Trim(),
                            Operator = User,
                            code = excelTable[1].Rows[i][2].ToString().Trim(),
                            name = excelTable[1].Rows[i][3].ToString().Trim(),
                            eapmai_code = excelTable[1].Rows[i][0].ToString().Trim(),
                            description = excelTable[1].Rows[i][4].ToString().Trim(),
                            isscan = excelTable[1].Rows[i][5].ToString().Trim(),
                            Operator = us.usercode,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
@@ -5389,8 +5394,8 @@
                //导入模具清单
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@usestatus,@surp_life,@resi_life,@lm_user,@lm_date)";
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date,warehousecode,location_code)
                               values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date,@warehousecode,@location_code)";
                    list.Add(new
                    {
                        str = sql,
@@ -5400,8 +5405,10 @@
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            spec = excelTable[0].Rows[k][2].ToString().Trim(),
                            status = excelTable[0].Rows[k][3].ToString().Trim(),
                            surp_life =decimal.Parse(excelTable[0].Rows[k][4].ToString().Trim()==""?"0": excelTable[0].Rows[k][4].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][5].ToString().Trim()==""?"0":excelTable[0].Rows[k][5].ToString().Trim()),
                            warehousecode = excelTable[0].Rows[k][4].ToString().Trim(),
                            location_code = excelTable[0].Rows[k][5].ToString().Trim(),
                            surp_life = decimal.Parse(excelTable[0].Rows[k][6].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][6].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][7].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][7].ToString().Trim()),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
@@ -5959,7 +5966,7 @@
                            code = excelTable[0].Rows[i][0].ToString().Trim(),
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            description = excelTable[0].Rows[i][2].ToString().Trim(),
                            is_step="N",
                            is_step = "N",
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }