| | |
| | | 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 != 4) |
| | | { |
| | | code = "300"; |
| | | Message = "用户班组模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 10) |
| | | else if (excelTable[0].Columns.Count != 9) |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板不符合规范,请检查列名字段数"; |
| | |
| | | else if (excelTable[0].Columns[0].ColumnName != "序号") |
| | | { |
| | | code = "300"; |
| | | Message = "用户班组模板:表头信息不符合规范,第1列应为{序号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "班组编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "用户班组模板:表头信息不符合规范,第2列应为{班组编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "班组名称") |
| | | { |
| | | code = "300"; |
| | | Message = "用户班组模板:表头信息不符合规范,第3列应为{班组名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "班组描述") |
| | | { |
| | | code = "300"; |
| | | Message = "用户班组模板:表头信息不符合规范,第4列应为{班组描述}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[0].ColumnName != "序号") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第1列应为{序号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[1].ColumnName != "用户编号(唯一)") |
| | | else if (excelTable[0].Columns[1].ColumnName != "用户编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第2列应为{用户编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[2].ColumnName != "用户姓名") |
| | | else if (excelTable[0].Columns[2].ColumnName != "用户姓名") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第3列应为{用户姓名}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[3].ColumnName != "在职状态") |
| | | else if (excelTable[0].Columns[3].ColumnName != "在职状态") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第4列应为{在职状态}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[4].ColumnName != "密码") |
| | | else if (excelTable[0].Columns[4].ColumnName != "密码") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第5列应为{密码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[5].ColumnName != "手机号") |
| | | else if (excelTable[0].Columns[5].ColumnName != "手机号") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第6列应为{手机号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[6].ColumnName != "邮箱") |
| | | else if (excelTable[0].Columns[6].ColumnName != "邮箱") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第7列应为{邮箱}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[7].ColumnName != "组织编码") |
| | | else if (excelTable[0].Columns[7].ColumnName != "组织编码") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第8列应为{组织编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[8].ColumnName != "工资类型") |
| | | else if (excelTable[0].Columns[8].ColumnName != "工资类型") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第9列应为{工资类型}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[9].ColumnName != "用户组编码") |
| | | { |
| | | code = "300"; |
| | | Message = "用户清单模板:表头信息不符合规范,第10列应为{用户组编码}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 3) |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 5) |
| | | else if (excelTable[1].Columns.Count != 6) |
| | | { |
| | | code = "300"; |
| | | Message = "模板角色清单不符合规范,请检查列名字段数"; |
| | |
| | | Message = "角色类型模板:表头信息不符合规范,第1列应为{序号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "角色类型编号(唯一)") |
| | | else if (excelTable[0].Columns[1].ColumnName != "组织编码") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第1列应为{组织编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "角色类型编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第2列应为{角色类型编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "角色类型名称") |
| | | else if (excelTable[0].Columns[3].ColumnName != "角色类型名称") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第3列应为{角色类型名称}"; |
| | |
| | | Message = "角色清单模板:表头信息不符合规范,第1列应为{序号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[1].ColumnName != "角色编号(唯一)") |
| | | else if (excelTable[1].Columns[1].ColumnName != "组织编码") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第1列应为{组织编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[2].ColumnName != "角色编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第2列应为{角色编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[2].ColumnName != "角色姓名") |
| | | else if (excelTable[1].Columns[3].ColumnName != "角色姓名") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第3列应为{角色姓名}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[3].ColumnName != "角色类型编码") |
| | | else if (excelTable[1].Columns[4].ColumnName != "角色类型编码") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第4列应为{角色类型编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[4].ColumnName != "角色描述") |
| | | else if (excelTable[1].Columns[5].ColumnName != "角色描述") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第5列应为{角色描述}"; |
| | |
| | | string Message = ""; |
| | | code = ""; |
| | | List<DataTable> excelTable = new List<DataTable>(); |
| | | excelTable = ImportExcel.ExcelToThreeTableList(FileCode); |
| | | if (excelTable.Count != 6) |
| | | excelTable = ImportExcel.ExcelToTableList(FileCode); |
| | | if (excelTable.Count != 2) |
| | | { |
| | | code = "300"; |
| | | Message = "导入模板不符合规范,请检查Sheet数"; |
| | | } |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备类型)不符合规范,请检查列名字段数"; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 5) |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组)不符合规范,请检查列名字段数"; |
| | | } |
| | | else if (excelTable[2].Columns.Count != 9) |
| | | else if (excelTable[0].Columns.Count != 7) |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单)不符合规范,请检查列名字段数"; |
| | |
| | | else if (excelTable[0].Columns[0].ColumnName != "序号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备类型):表头信息不符合规范,第1列应为{序号}"; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "设备类型编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备类型):表头信息不符合规范,第2列应为{设备类型编号(唯一)}"; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "设备类型名称") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备类型):表头信息不符合规范,第3列应为{设备类型名称}"; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "设备类型描述") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备类型):表头信息不符合规范,第4列应为{设备类型描述}"; |
| | | } |
| | | else if (excelTable[1].Columns[0].ColumnName != "序号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组):表头信息不符合规范,第1列应为{序号}"; |
| | | } |
| | | else if (excelTable[1].Columns[1].ColumnName != "设备组编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组):表头信息不符合规范,第2列应为{设备组编号(唯一)}"; |
| | | } |
| | | else if (excelTable[1].Columns[2].ColumnName != "设备组名称") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组):表头信息不符合规范,第3列应为{设备组名称}"; |
| | | } |
| | | else if (excelTable[1].Columns[3].ColumnName != "设备类型编号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组):表头信息不符合规范,第4列应为{设备类型编号}"; |
| | | } |
| | | else if (excelTable[1].Columns[4].ColumnName != "设备组描述") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备组):表头信息不符合规范,第5列应为{设备组描述}"; |
| | | } |
| | | else if (excelTable[2].Columns[0].ColumnName != "序号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{序号}"; |
| | | } |
| | | else if (excelTable[2].Columns[1].ColumnName != "设备编号(唯一)") |
| | | else if (excelTable[0].Columns[1].ColumnName != "设备编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{设备编号(唯一)}"; |
| | | } |
| | | else if (excelTable[2].Columns[2].ColumnName != "设备名称") |
| | | else if (excelTable[0].Columns[2].ColumnName != "设备名称") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{设备名称}"; |
| | | } |
| | | else if (excelTable[2].Columns[3].ColumnName != "设备类型编号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{设备类型编号}"; |
| | | } |
| | | else if (excelTable[2].Columns[4].ColumnName != "设备组编号") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{设备组编号}"; |
| | | } |
| | | else if (excelTable[2].Columns[5].ColumnName != "投入日期") |
| | | else if (excelTable[0].Columns[3].ColumnName != "投入日期") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{投入日期}"; |
| | | } |
| | | else if (excelTable[2].Columns[6].ColumnName != "生产车间") |
| | | else if (excelTable[0].Columns[4].ColumnName != "车间编码") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{生产车间}"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{车间编码}"; |
| | | } |
| | | else if (excelTable[2].Columns[7].ColumnName != "使用状态") |
| | | else if (excelTable[0].Columns[5].ColumnName != "使用状态") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{使用状态}"; |
| | | } |
| | | else if (excelTable[2].Columns[8].ColumnName != "稼动率(%)") |
| | | else if (excelTable[0].Columns[6].ColumnName != "稼动率(%)") |
| | | { |
| | | code = "300"; |
| | | Message = "设备清单模板(设备清单):表头信息不符合规范,第1列应为{稼动率(%)}"; |
| | |
| | | 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++) |
| | | DataTable excelTable = new DataTable(); |
| | | list = ImportExcel.ExcelToTableErro(FileCode); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | excelTable = ImportExcel.ExcelToTable(FileCode); //获取Excel数据 |
| | | for (int k = 0; k < excelTable.Rows.Count; k++) |
| | | { |
| | | if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][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[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() != "") |
| | | if (excelTable.Rows[k][1].ToString().Trim() != null && excelTable.Rows[k][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TUser where usercode=@usercode"; |
| | | dynamicParams.Add("@usercode", excelTable[1].Rows[k][1].ToString().Trim()); |
| | | dynamicParams.Add("@usercode", excelTable.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() + "已存在"; |
| | | erro.ErrorCont = "用户表:{用户编码(唯一)}字段" + excelTable.Rows[k][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[1].Rows[k][7].ToString().Trim() != null && excelTable[1].Rows[k][7].ToString().Trim() != "") |
| | | if (excelTable.Rows[k][7].ToString().Trim() != null && excelTable.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()); |
| | | dynamicParams.Add("@org_code", excelTable.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[1].Rows[k][2].ToString().Trim() + "不存在"; |
| | | erro.ErrorCont = "用户表:{组织编码}字段" + excelTable.Rows[k][7].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) |
| | | { |
| | |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable[0].Rows.Count + excelTable[1].Rows.Count; |
| | | count = excelTable.Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | //主表 |
| | | 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[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TOrganization where org_code=@org_code"; |
| | | dynamicParams.Add("@org_code", excelTable[1].Rows[j][1].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[1].Rows[j][1].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TRoleType where roletype_code=@roletype_code"; |
| | | dynamicParams.Add("@roletype_code", excelTable[0].Rows[j][1].ToString().Trim()); |
| | | dynamicParams.Add("@roletype_code", excelTable[0].Rows[j][2].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.ErrorCont = "班组表:{角色类型编码(唯一)}字段" + excelTable[0].Rows[j][2].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() != "") |
| | | if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TRole where role_code=@role_code"; |
| | | dynamicParams.Add("@role_code", excelTable[1].Rows[k][1].ToString().Trim()); |
| | | dynamicParams.Add("@role_code", excelTable[1].Rows[k][2].ToString().Trim()); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TOrganization where org_code=@org_code"; |
| | | dynamicParams.Add("@org_code", excelTable[1].Rows[k][1].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[1].Rows[k][1].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[1].Rows[k][4].ToString().Trim() != null && excelTable[1].Rows[k][4].ToString().Trim() != "") |
| | | { |
| | | sql = @"select torg_code from TRoleType where roletype_code=@roletype_code"; |
| | | dynamicParams.Add("@roletype_code", excelTable[1].Rows[k][4].ToString().Trim()); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt != null && dt.Rows.Count > 0) |
| | | { |
| | | if (dt.Rows[0]["torg_code"].ToString() != excelTable[1].Rows[k][1].ToString().Trim()) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{角色类型编码}"; |
| | | erro.ErrorCont = "角色表:{角色类型编码}字段" + excelTable[1].Rows[k][4].ToString().Trim() + " 不是组织编码:" + excelTable[1].Rows[k][1].ToString().Trim() + "下的角色组"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //判断子表组织编码不存在于主表组织编码中的数据 |
| | | var dt2 = 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> listRow2 = dt2.ToList(); |
| | | if (listRow2.Count > 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{组织编码}"; |
| | | erro.ErrorCont = "角色表:{组织编码}字段中有值在角色类型表:{组织编码}中不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //判断子表外键不存在于主表主键中的数据 |
| | | var dt3 = from r in excelTable[1].AsEnumerable() |
| | |
| | | var dynamicParams = new DynamicParameters(); |
| | | DataTable dt; |
| | | List<ExcelErro> list = new List<ExcelErro>(); |
| | | List<DataTable> excelTable = new List<DataTable>(); |
| | | list = ImportExcel.ExcelToThreeTableListErro(FileCode); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | excelTable = ImportExcel.ExcelToThreeTableList(FileCode); //获取Excel数据 |
| | | //设备类型表,判断设备类型是否存在 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | if (excelTable[0].Rows[i][1].ToString().Trim() != null && excelTable[0].Rows[i][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TEqpType where code=@code"; |
| | | dynamicParams.Add("@code", excelTable[0].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[0].Rows[i][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | //设备组表,判断设备组是否存在 |
| | | for (int j = 0; j < excelTable[1].Rows.Count; j++) |
| | | { |
| | | if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TEqpGroup where code=@code"; |
| | | dynamicParams.Add("@code", excelTable[1].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[1].Rows[j][1].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); |
| | | } |
| | | DataTable excelTable = new DataTable(); |
| | | list = ImportExcel.ExcelToTableErro(FileCode); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | excelTable = ImportExcel.ExcelToTable(FileCode); //获取Excel数据 |
| | | //设备清单表 |
| | | for (int k = 0; k < excelTable[2].Rows.Count; k++) |
| | | for (int k = 0; k < excelTable.Rows.Count; k++) |
| | | { |
| | | if (excelTable[2].Rows[k][1].ToString().Trim() != null && excelTable[2].Rows[k][1].ToString().Trim() != "") |
| | | if (excelTable.Rows[k][1].ToString().Trim() != null && excelTable.Rows[k][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TEqpInfo where code=@code"; |
| | | dynamicParams.Add("@code", excelTable[2].Rows[k][1].ToString().Trim()); |
| | | dynamicParams.Add("@code", excelTable.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[2].Rows[k][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | //判断设备组是否对应正确的设备类型 |
| | | var yourGetData = excelTable[1].AsEnumerable().Where<DataRow>(a => a["设备类型编号"].ToString() == excelTable[2].Rows[k][3].ToString().Trim()&& a["设备组编号(唯一)"].ToString() == excelTable[2].Rows[k][4].ToString().Trim()); |
| | | if (yourGetData.Count() <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{设备类型编号}/{设备组编号}"; |
| | | erro.ErrorCont = "设备表:{设备编号(唯一)}字段" + excelTable[2].Rows[k][1].ToString().Trim() + "对应{设备类型编号}:"+ excelTable[2].Rows[k][4].ToString().Trim() + "/{设备组编号}:"+ excelTable[2].Rows[k][4].ToString().Trim() + "与设备组清单中设置对不上"; |
| | | erro.ErrorCont = "设备表:{设备编号(唯一)}字段" + excelTable.Rows[k][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | //车间判断 |
| | | for (int m = 0; m < excelTable[2].Rows.Count; m++) |
| | | for (int m = 0; m < excelTable.Rows.Count; m++) |
| | | { |
| | | if (excelTable[2].Rows[m][6].ToString().Trim() != null && excelTable[2].Rows[m][6].ToString().Trim() != "") |
| | | if (excelTable.Rows[m][4].ToString().Trim() != null && excelTable.Rows[m][4].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TOrganization where org_name=@code and description='W'"; |
| | | dynamicParams.Add("@code", excelTable[2].Rows[m][6].ToString().Trim()); |
| | | sql = @"select * from TOrganization where org_code=@code and description='W'"; |
| | | dynamicParams.Add("@code", excelTable.Rows[m][4].ToString().Trim()); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt.Rows.Count<=0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{生产车间}"; |
| | | erro.ErrorCont = "设备表:{生产车间}字段" + excelTable[2].Rows[m][6].ToString().Trim() + "不存在"; |
| | | erro.ErrorField = "{车间编码}"; |
| | | erro.ErrorCont = "设备表:{车间编码}字段" + excelTable.Rows[m][4].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable[0].Rows.Count + excelTable[1].Rows.Count+excelTable[2].Rows.Count; |
| | | count = excelTable.Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | 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 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 |
| | | } |
| | | }); |
| | | } |
| | | DataTable excelTable = new DataTable(); |
| | | excelTable = ImportExcel.ExcelToTable(FileCode); |
| | | //导入用户 |
| | | for (int i = 0; i < excelTable[1].Rows.Count; i++) |
| | | for (int i = 0; i < excelTable.Rows.Count; i++) |
| | | { |
| | | if (excelTable[1].Rows[i][3].ToString().Trim() == "在职") |
| | | if (excelTable.Rows[i][3].ToString().Trim() == "在职") |
| | | { |
| | | Enable = "Y"; |
| | | } |
| | |
| | | Enable = "N"; |
| | | } |
| | | //工资类型 |
| | | switch (excelTable[1].Rows[i][8].ToString().Trim()) |
| | | switch (excelTable.Rows[i][8].ToString().Trim()) |
| | | { |
| | | case "计件制": |
| | | WageType = "2"; |
| | |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | 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)"; |
| | | sql = @"select * from TUser where usercode=@usercode"; |
| | | dynamicParams.Add("@usercode", excelTable.Rows[i][1].ToString().Trim()); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | continue; |
| | | } |
| | | sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) |
| | | values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@usergroup_code)"; |
| | | 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(), |
| | | UserCode = excelTable.Rows[i][1].ToString().Trim(), |
| | | UserName = excelTable.Rows[i][2].ToString().Trim(), |
| | | password = excelTable.Rows[i][4].ToString().Trim(), |
| | | Enable = Enable, |
| | | Mobile = excelTable[1].Rows[i][5].ToString().Trim(), |
| | | Mobile = excelTable.Rows[i][5].ToString().Trim(), |
| | | CreateDate = DateTime.Now.ToString(), |
| | | Email = excelTable[1].Rows[i][6].ToString().Trim(), |
| | | Email = excelTable.Rows[i][6].ToString().Trim(), |
| | | Operator = User, |
| | | StuOrg = excelTable[1].Rows[i][7].ToString().Trim(), |
| | | wagetype = WageType |
| | | StuOrg = excelTable.Rows[i][7].ToString().Trim(), |
| | | wagetype = WageType, |
| | | usergroup_code = excelTable.Rows[i][9].ToString().Trim() |
| | | } |
| | | }); |
| | | } |
| | |
| | | //导入角色类型 |
| | | for (int k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | sql = @"insert into TRoleType(roletype_code,roletype_name) |
| | | values(@roletype_code,@roletype_name)"; |
| | | sql = @"insert into TRoleType(roletype_code,roletype_name,torg_code) |
| | | values(@roletype_code,@roletype_name,@torg_code)"; |
| | | 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() |
| | | roletype_code = excelTable[0].Rows[k][2].ToString().Trim(), |
| | | roletype_name = excelTable[0].Rows[k][3].ToString().Trim(), |
| | | torg_code = excelTable[0].Rows[k][1].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)"; |
| | | sql = @"insert into TRole(role_code,role_name,roletype_code,description,lm_user,lm_date,torg_code) |
| | | values(@role_code,@role_name,@roletype_code,@description,@Operator,@CreateDate,@torg_code)"; |
| | | 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(), |
| | | role_code = excelTable[1].Rows[i][2].ToString().Trim(), |
| | | role_name = excelTable[1].Rows[i][3].ToString().Trim(), |
| | | roletype_code = excelTable[1].Rows[i][4].ToString().Trim(), |
| | | description = excelTable[1].Rows[i][5].ToString().Trim(), |
| | | Operator = User, |
| | | CreateDate = DateTime.Now.ToString() |
| | | CreateDate = DateTime.Now.ToString(), |
| | | torg_code = excelTable[1].Rows[i][1].ToString().Trim() |
| | | } |
| | | }); |
| | | } |
| | |
| | | try |
| | | { |
| | | list.Clear(); |
| | | List<DataTable> excelTable = new List<DataTable>(); |
| | | excelTable = ImportExcel.ExcelToThreeTableList(FileCode); |
| | | //写入设备类型 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) |
| | | values(@code,@name,@lm_user,@lm_date,@remark)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | code = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | name = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | lm_user = User, |
| | | lm_date = DateTime.Now.ToString(), |
| | | remark= excelTable[0].Rows[i][3].ToString().Trim() |
| | | |
| | | } |
| | | }); |
| | | } |
| | | //写入设备组 |
| | | for (int j = 0; j < excelTable[1].Rows.Count; j++) |
| | | { |
| | | sql = @"insert into TEqpGroup(code,name,lm_user,lm_date,remark,eqptype_code) |
| | | values(@code,@name,@lm_user,@lm_date,@remark,@eqptype_code)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | code = excelTable[1].Rows[j][1].ToString().Trim(), |
| | | name = excelTable[1].Rows[j][2].ToString().Trim(), |
| | | lm_user = User, |
| | | lm_date = DateTime.Now.ToString(), |
| | | remark = excelTable[1].Rows[j][4].ToString().Trim(), |
| | | eqptype_code= excelTable[1].Rows[j][3].ToString().Trim() |
| | | |
| | | } |
| | | }); |
| | | } |
| | | DataTable excelTable = new DataTable(); |
| | | excelTable = ImportExcel.ExcelToTable(FileCode); |
| | | //导入设备清单 |
| | | for (int k = 0; k < excelTable[2].Rows.Count; k++) |
| | | for (int k = 0; k < excelTable.Rows.Count; k++) |
| | | { |
| | | //获取车间编码 |
| | | string sql0 = @"select org_code,org_name from TOrganization where org_name=@wkshp and description='W' and is_delete<>'1'"; |
| | | dynamicParams.Add("@wkshp", excelTable[2].Rows[k][6].ToString()); |
| | | var data = DapperHelper.selectdata(sql0, dynamicParams); |
| | | |
| | | sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date) |
| | | values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)"; |
| | | sql = @"select * from TEqpInfo where code=@eqp_code"; |
| | | dynamicParams.Add("@eqp_code", excelTable.Rows[k][1].ToString().Trim()); |
| | | DataTable dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | continue; |
| | | } |
| | | sql = @"insert into TEqpInfo(code,name,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date) |
| | | values(@devicecode,@devicename,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | devicecode = excelTable[2].Rows[k][1].ToString().Trim(), |
| | | devicename = excelTable[2].Rows[k][2].ToString().Trim(), |
| | | devicetype = excelTable[2].Rows[k][3].ToString().Trim(), |
| | | devicegroup = excelTable[2].Rows[k][4].ToString().Trim(), |
| | | workshop = data.Rows[0]["org_code"].ToString().Trim(), |
| | | importdate = excelTable[2].Rows[k][5].ToString().Trim(), |
| | | ratio = excelTable[2].Rows[k][8].ToString().Trim(), |
| | | status = excelTable[2].Rows[k][7].ToString().Trim(), |
| | | devicecode = excelTable.Rows[k][1].ToString().Trim(), |
| | | devicename = excelTable.Rows[k][2].ToString().Trim(), |
| | | workshop = excelTable.Rows[k][4].ToString().Trim(), |
| | | importdate = excelTable.Rows[k][3].ToString().Trim(), |
| | | ratio = excelTable.Rows[k][6].ToString().Trim(), |
| | | status = excelTable.Rows[k][5].ToString().Trim(), |
| | | uom = "台", |
| | | lm_user = User, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | |
| | | bool aa = DapperHelper.DoTransaction(list); |
| | | if (aa) |
| | | { |