yl
2022-08-12 ff2d682273e71c9d1f01ea8405116396da87a259
VueWebApi/Tools/ImportExcelData.cs
@@ -18,57 +18,110 @@
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 6)
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "用户编号(唯一)")
            else if (excelTable[1].Columns.Count != 10)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "用户姓名")
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable.Columns[3].ColumnName != "密码")
            else if (excelTable[0].Columns[1].ColumnName != "班组编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板:表头信息不符合规范,第2列应为{班组编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[4].ColumnName != "手机号")
            else if (excelTable[0].Columns[2].ColumnName != "班组名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板:表头信息不符合规范,第3列应为{班组名称}";
                return Message;
            }
            else if (excelTable.Columns[5].ColumnName != "邮箱")
            else if (excelTable[0].Columns[3].ColumnName != "班组描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板:表头信息不符合规范,第4列应为{班组描述}";
                return Message;
            }
            else if (excelTable.Columns[6].ColumnName != "所属组织")
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户清单模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable.Columns[7].ColumnName != "在职状态")
            else if (excelTable[1].Columns[1].ColumnName != "用户编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户清单模板:表头信息不符合规范,第2列应为{用户编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[8].ColumnName != "工资类型")
            else if (excelTable[1].Columns[2].ColumnName != "用户姓名")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户清单模板:表头信息不符合规范,第3列应为{用户姓名}";
                return Message;
            }
            else if (excelTable[1].Columns[3].ColumnName != "在职状态")
            {
                code = "300";
                Message = "用户清单模板:表头信息不符合规范,第4列应为{在职状态}";
                return Message;
            }
            else if (excelTable[1].Columns[4].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列应为{邮箱}";
                return Message;
            }
            else if (excelTable[1].Columns[7].ColumnName != "组织编码")
            {
                code = "300";
                Message = "用户清单模板:表头信息不符合规范,第8列应为{组织编码}";
                return Message;
            }
            else if (excelTable[1].Columns[8].ColumnName != "工资类型")
            {
                code = "300";
                Message = "用户清单模板:表头信息不符合规范,第9列应为{工资类型}";
                return Message;
            }
            else if (excelTable[1].Columns[9].ColumnName != "用户组编码")
            {
                code = "300";
                Message = "用户清单模板:表头信息不符合规范,第10列应为{用户组编码}";
                return Message;
            }
            else
            {
@@ -84,32 +137,74 @@
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 4)
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns.Count != 3)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "角色类型模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "角色编号(唯一)")
            else if (excelTable[1].Columns.Count != 5)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "模板角色清单不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "角色名称(唯一)")
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "角色类型模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable.Columns[3].ColumnName != "角色类型")
            else if (excelTable[0].Columns[1].ColumnName != "角色类型编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "角色类型模板:表头信息不符合规范,第2列应为{角色类型编号(唯一)}";
                return Message;
            }
            else if (excelTable[0].Columns[2].ColumnName != "角色类型名称")
            {
                code = "300";
                Message = "角色类型模板:表头信息不符合规范,第3列应为{角色类型名称}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "角色清单模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "角色编号(唯一)")
            {
                code = "300";
                Message = "角色清单模板:表头信息不符合规范,第2列应为{角色编号(唯一)}";
                return Message;
            }
            else if (excelTable[1].Columns[2].ColumnName != "角色姓名")
            {
                code = "300";
                Message = "角色清单模板:表头信息不符合规范,第3列应为{角色姓名}";
                return Message;
            }
            else if (excelTable[1].Columns[3].ColumnName != "角色类型编码")
            {
                code = "300";
                Message = "角色清单模板:表头信息不符合规范,第4列应为{角色类型编码}";
                return Message;
            }
            else if (excelTable[1].Columns[4].ColumnName != "角色描述")
            {
                code = "300";
                Message = "角色清单模板:表头信息不符合规范,第5列应为{角色描述}";
                return Message;
            }
            else
            {
@@ -186,42 +281,67 @@
        }
        #endregion
        #region【Excel模板上传验证,供方清单模板】
        #region【Excel模板上传验证,往来单位清单模板】
        public static string Four(string FileCode, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 5)
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 2)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns.Count != 7)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "往来单位模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "供方编号(唯一)")
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "供方名称(唯一)")
            else if (excelTable[0].Columns[1].ColumnName != "往来单位编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第2列应为{往来单位编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[3].ColumnName != "补充描述")
            else if (excelTable[0].Columns[2].ColumnName != "往来单位名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第3列应为{往来单位名称}";
                return Message;
            }
            else if (excelTable.Columns[4].ColumnName.Trim() != "供方类型(外协供方,外购供方)")
            else if (excelTable[0].Columns[3].ColumnName != "往来单位属性")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第4列应为{往来单位属性}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "联系人")
            {
                code = "300";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第5列应为{联系人}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "联系方式")
            {
                code = "300";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第6列应为{联系方式}";
                return Message;
            }
            else if (excelTable[0].Columns[6].ColumnName != "地址")
            {
                code = "300";
                Message = "往来单位模板不符合规范:表头信息不符合规范,第7列应为{地址}";
                return Message;
            }
            else
            {
@@ -232,180 +352,85 @@
        }
        #endregion
        #region【Excel模板上传验证,客户清单模板】
        public static string Five(string FileCode, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[1].ColumnName != "客户编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[2].ColumnName != "客户名称(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[3].ColumnName != "补充描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else
            {
                code = "200";
                Message = "模板检验通过";
            }
            return Message;
        }
        #endregion
        #region【Excel模板上传验证,仓库定义模板】
        #region【Excel模板上传验证,仓库、库位定义模板】
        public static string SixOne(string FileCode, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 4)
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[1].ColumnName != "仓库编码(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[2].ColumnName != "仓库名称(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[3].ColumnName != "功能描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else
            {
                code = "200";
                Message = "模板检验通过";
            }
            return Message;
        }
        #endregion
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
        #region【Excel模板上传验证,库区定义模板】
        public static string SixTwo(string FileCode, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 6)
            }
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "仓库清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[1].Columns.Count != 5)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "库区编码(唯一)")
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "用户班组模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "库区名称(唯一)")
            else if (excelTable[0].Columns[1].ColumnName != "仓库编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "仓库清单模板:表头信息不符合规范,第2列应为{仓库编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[3].ColumnName != "功能描述")
            else if (excelTable[0].Columns[2].ColumnName != "仓库名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "仓库清单模板:表头信息不符合规范,第3列应为{仓库名称}";
                return Message;
            }
            else if (excelTable.Columns[4].ColumnName != "仓库编码")
            else if (excelTable[0].Columns[3].ColumnName != "仓库描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "仓库清单模板:表头信息不符合规范,第4列应为{仓库描述}";
                return Message;
            }
            else if (excelTable.Columns[5].ColumnName != "仓库名称")
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else
            {
                code = "200";
                Message = "模板检验通过";
            }
            return Message;
        }
        #endregion
        #region【Excel模板上传验证,库位定义模板】
        public static string SixThree(string FileCode, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 6)
            else if (excelTable[1].Columns[1].ColumnName != "库位编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板:表头信息不符合规范,第2列应为{库位编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[1].Columns[2].ColumnName != "库位姓名")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板:表头信息不符合规范,第3列应为{库位姓名}";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "库位编码(唯一)")
            else if (excelTable[1].Columns[3].ColumnName != "所属仓库编码")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板:表头信息不符合规范,第4列应为{所属仓库编码}";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "库位名称(唯一)")
            else if (excelTable[1].Columns[4].ColumnName != "库位描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[3].ColumnName != "功能描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[4].ColumnName != "库区编码")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable.Columns[5].ColumnName != "库区名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "库位清单模板:表头信息不符合规范,第5列应为{库位描述}";
                return Message;
            }
            else
            {
@@ -1297,73 +1322,39 @@
            if (excelTable.Count != 2)
            {
                code = "300";
                Message = "模板不符合规范,缺失的Sheet";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable[0].Columns.Count != 4)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名字段数";
            }
            else if (excelTable[1].Columns.Count != 7)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名字段数";
                Message = "缺陷定义模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "缺陷定义模板不符合规范:表头信息不符合规范,第1列应为{序号}";
                return Message;
            }
            else if (excelTable[0].Columns[1].ColumnName != "物料编码(唯一)")
            else if (excelTable[0].Columns[1].ColumnName != "缺陷编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "缺陷定义模板不符合规范:表头信息不符合规范,第2列应为{缺陷编号(唯一)}";
                return Message;
            }
            else if (excelTable[0].Columns[2].ColumnName != "物料名称")
            else if (excelTable[0].Columns[2].ColumnName != "缺陷名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "缺陷定义模板不符合规范:表头信息不符合规范,第3列应为{缺陷名称}";
                return Message;
            }
            else if (excelTable[0].Columns[3].ColumnName != "启用状态")
            else if (excelTable[0].Columns[3].ColumnName != "缺陷描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[1].ColumnName != "物料信息序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[2].ColumnName != "缺陷代码(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[3].ColumnName != "缺陷名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[4].ColumnName != "主工艺路线")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[5].ColumnName != "责任工序编码")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[6].ColumnName != "责任工序名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                Message = "缺陷描述模板不符合规范:表头信息不符合规范,第4列应为{缺陷描述}";
                return Message;
            }
            else
            {
@@ -1615,44 +1606,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)
            {
@@ -1662,14 +1683,14 @@
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "300";
                StuCode = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
@@ -1682,9 +1703,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 = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
        #endregion
@@ -1703,7 +1796,7 @@
        }
        #endregion
        #region【Excel上传数据验证,供方清单】
        #region【Excel上传数据验证,往来单位清单】
        public static List<ExcelErro> FourData(string FileCode, out string StuCode, out string message, out int count)
        {
            message = "";
@@ -1711,64 +1804,132 @@
            count = 0;
            string sql = "";
            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数据
            for (int i = 0; i < excelTable.Rows.Count; i++)
            {
                if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
                {
                    sql = @"select code  from TCustomer where code=@code";
                    dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{往来单位编码(唯一)}";
                        erro.ErrorCont = "往来单位表:{往来单位编码(唯一)}字段" + excelTable.Rows[i][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            if (list.Count > 0)
            {
                int index = 0;
                foreach (ExcelErro item in list)
                {
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
            }
            return list;
        }
        #endregion
        #region【Excel上传数据验证,客户清单】
        public static List<ExcelErro> FiveData(string FileCode, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            return list;
        }
        #endregion
        #region【Excel上传数据验证,仓库定义】
        #region【Excel上传数据验证,仓库、库位定义】
        public static List<ExcelErro> SixOneData(string FileCode, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            return list;
        }
        #endregion
        #region【Excel上传数据验证,库区定义】
        public static List<ExcelErro> SixTwoData(string FileCode, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            return list;
        }
        #endregion
        #region【Excel上传数据验证,库位定义】
        public static List<ExcelErro> SixThreeData(string FileCode, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            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 T_Sec_Stck where code=@code";
                    dynamicParams.Add("@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 T_Sec_Loca where code=@code";
                    dynamicParams.Add("@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 = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
        #endregion
@@ -1936,8 +2097,46 @@
            count = 0;
            string sql = "";
            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数据
            for (int i = 0; i < excelTable.Rows.Count; i++)
            {
                if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
                {
                    sql = @"select code  from TDefect where code=@code";
                    dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{缺陷定义编号(唯一)}";
                        erro.ErrorCont = "缺陷定义表:{缺陷定义编号(唯一)}字段" + excelTable.Rows[i][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            if (list.Count > 0)
            {
                int index = 0;
                foreach (ExcelErro item in list)
                {
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
            }
            return list;
        }
        #endregion
@@ -2034,11 +2233,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,54 +2264,49 @@
                    {
                        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)
                {
                    StuCode = "300";
                    message = "导入失败!";
                    StuCode = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "200";
                    message = "导入成功!";
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
@@ -2110,9 +2323,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 = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {
@@ -2141,14 +2406,70 @@
        }
        #endregion
        #region【Excel数据上传,供方清单】
        #region【Excel数据上传,往来单位清单】
        public static string FourSubmit(string FileCode, string User, out string StuCode)
        {
            string message = "";
            StuCode = "";
            string sql = "";
            DataTable dt;
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                DataTable excelTable = new DataTable();
                excelTable = ImportExcel.ExcelToTable(FileCode);
                //导入往来单位表
                for (int i = 0; i < excelTable.Rows.Count; i++)
                {
                    string WGType = "", WXType = "", KHType = "";
                    switch (excelTable.Rows[i][3].ToString().Trim())
                    {
                        case "外购供方":
                            WGType = "WG";
                            break;
                        case "外协供方":
                            WXType = "WX";
                            break;
                        case "客户":
                            KHType = "KH";
                            break;
                        default:
                            break;
                    }
                    sql = @"insert into TCustomer(code,name,mtype,conttacts,conttphone,addr,lm_user,lm_date,btype,htype)
                            values(@code,@name,@mtype,@conttacts,@conttphone,@addr,@Operator,@CreateDate,@btype,@htype)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable.Rows[i][1].ToString().Trim(),
                            name = excelTable.Rows[i][2].ToString().Trim(),
                            mtype = WGType,
                            conttacts = excelTable.Rows[i][4].ToString().Trim(),
                            conttphone = excelTable.Rows[i][5].ToString().Trim(),
                            addr = excelTable.Rows[i][6].ToString().Trim(),
                            Operator = User,
                            CreateDate = DateTime.Now.ToString(),
                            btype = WXType,
                            htype = KHType
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    StuCode = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {
@@ -2159,68 +2480,67 @@
        }
        #endregion
        #region【Excel数据上传,客户清单】
        public static string FiveSubmit(string FileCode, string User, out string StuCode)
        {
            string message = "";
            StuCode = "";
            try
            {
            }
            catch (Exception e)
            {
                StuCode = "300";
                message = e.Message;
            }
            return message;
        }
        #endregion
        #region【Excel数据上传,仓库定义】
        #region【Excel数据上传,仓库、库位定义】
        public static string SixOneSubmit(string FileCode, string User, out string StuCode)
        {
            string message = "";
            StuCode = "";
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
            }
            catch (Exception e)
            {
                StuCode = "300";
                message = e.Message;
            }
            return message;
        }
        #endregion
        #region【Excel数据上传,库区定义】
        public static string SixTwoSubmit(string FileCode, string User, out string StuCode)
        {
            string message = "";
            StuCode = "";
            try
            {
            }
            catch (Exception e)
            {
                StuCode = "300";
                message = e.Message;
            }
            return message;
        }
        #endregion
        #region【Excel数据上传,库位定义】
        public static string SixThreeSubmit(string FileCode, string User, out string StuCode)
        {
            string message = "";
            StuCode = "";
            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 T_Sec_Stck(code,name,description,lm_user,lm_date)
                            values(@code,@name,@description,@Operator,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable[0].Rows[k][1].ToString().Trim(),
                            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++)
                {
                    sql = @"insert into T_Sec_Loca(code,name,description,stock_code,lm_user,lm_date)
                            values(@code,@name,@description,@stock_code,@Operator,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable[1].Rows[i][1].ToString().Trim(),
                            name = excelTable[1].Rows[i][2].ToString().Trim(),
                            stock_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 = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {
@@ -2434,9 +2754,44 @@
        {
            string message = "";
            StuCode = "";
            string sql = "";
            DataTable dt;
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                DataTable excelTable = new DataTable();
                excelTable = ImportExcel.ExcelToTable(FileCode);
                //导入往来单位表
                for (int i = 0; i < excelTable.Rows.Count; i++)
                {
                    sql = @"insert into TDefect(code,name,descr,lm_user,lm_date)
                            values(@code,@name,@descr,@Operator,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable.Rows[i][1].ToString().Trim(),
                            name = excelTable.Rows[i][2].ToString().Trim(),
                            descr = excelTable.Rows[i][3].ToString().Trim(),
                            Operator = User,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    StuCode = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {