| | |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,岗位管理模板】 |
| | | public static string One(string FileCode, out string code) |
| | | public static string 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 != 1) |
| | | { |
| | | code = "300"; |
| | | code = "301"; |
| | | Message = "导入模板不符合规范,请检查sheet数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板不符合规范,请检查列名字段数"; |
| | | code = "301"; |
| | | Message = "岗位清单模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 6) |
| | | else if (excelTable[0].Columns[0].ColumnName != "*岗位编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "模板角色清单不符合规范,请检查列名字段数"; |
| | | code = "301"; |
| | | Message = "岗位清单模板:表头信息不符合规范,第1列应为{*岗位编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[0].ColumnName != "序号") |
| | | else if (excelTable[0].Columns[1].ColumnName != "*岗位名称") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第1列应为{序号}"; |
| | | code = "301"; |
| | | Message = "岗位清单模板:表头信息不符合规范,第2列应为{*岗位名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "组织编码") |
| | | else if (excelTable[0].Columns[2].ColumnName != "*状态") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第1列应为{组织编码}"; |
| | | code = "301"; |
| | | Message = "岗位清单模板:表头信息不符合规范,第3列应为{*状态}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "角色类型编号(唯一)") |
| | | else if (excelTable[0].Columns[3].ColumnName != "描述") |
| | | { |
| | | code = "300"; |
| | | Message = "角色类型模板:表头信息不符合规范,第2列应为{角色类型编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].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 = "角色清单模板:表头信息不符合规范,第1列应为{组织编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[2].ColumnName != "角色编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第2列应为{角色编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[3].ColumnName != "角色姓名") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第3列应为{角色姓名}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[4].ColumnName != "角色类型编码") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第4列应为{角色类型编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[5].ColumnName != "角色描述") |
| | | { |
| | | code = "300"; |
| | | Message = "角色清单模板:表头信息不符合规范,第5列应为{角色描述}"; |
| | | code = "301"; |
| | | Message = "岗位清单模板:表头信息不符合规范,第4列应为{描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,班组管理模板】 |
| | | public static string Two(string FileCode, out string code) |
| | | public static string Two(List<DataTable> excelTable, out string code) |
| | | { |
| | | string Message = ""; |
| | | code = ""; |
| | | if (excelTable.Count != 1) |
| | | { |
| | | code = "301"; |
| | | Message = "导入模板不符合规范,请检查sheet数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "301"; |
| | | Message = "班组清单模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[0].ColumnName != "*班组编号(唯一)") |
| | | { |
| | | code = "301"; |
| | | Message = "班组清单模板:表头信息不符合规范,第1列应为{*班组编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "*班组名称") |
| | | { |
| | | code = "301"; |
| | | Message = "班组清单模板:表头信息不符合规范,第2列应为{*班组名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "*状态") |
| | | { |
| | | code = "301"; |
| | | Message = "班组清单模板:表头信息不符合规范,第3列应为{*状态}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "描述") |
| | | { |
| | | code = "301"; |
| | | Message = "班组清单模板:表头信息不符合规范,第4列应为{描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | | { |
| | | code = "200"; |
| | | Message = "模板检验通过"; |
| | | } |
| | | return Message; |
| | | } |
| | | #endregion |
| | |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,角色管单模板】 |
| | | public static string Four(string FileCode, out string code) |
| | | public static string Four(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 != 7) |
| | | else if (excelTable[0].Columns.Count != 6) |
| | | { |
| | | code = "300"; |
| | | Message = "往来单位模板不符合规范,请检查列名字段数"; |
| | | 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 = "角色清单模板:表头信息不符合规范,第4列应为{数据范围}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[4].ColumnName != "联系人") |
| | | else if (excelTable[0].Columns[4].ColumnName != "数据权限") |
| | | { |
| | | code = "300"; |
| | | Message = "往来单位模板不符合规范:表头信息不符合规范,第5列应为{联系人}"; |
| | | code = "301"; |
| | | Message = "角色清单模板:表头信息不符合规范,第5列应为{数据权限}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[5].ColumnName != "联系方式") |
| | | else if (excelTable[0].Columns[5].ColumnName != "描述") |
| | | { |
| | | code = "300"; |
| | | Message = "往来单位模板不符合规范:表头信息不符合规范,第6列应为{联系方式}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[6].ColumnName != "地址") |
| | | { |
| | | code = "300"; |
| | | Message = "往来单位模板不符合规范:表头信息不符合规范,第7列应为{地址}"; |
| | | code = "301"; |
| | | Message = "角色清单模板:表头信息不符合规范,第6列应为{描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,岗位管理】 |
| | | public static List<ExcelErro> OneData(string FileCode, out string StuCode, out string message, out int count) |
| | | public static List<ExcelErro> OneData(List<DataTable> excelTable, out string StuCode, out string message, out int count) |
| | | { |
| | | message = ""; |
| | | StuCode = ""; |
| | |
| | | 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++) |
| | | list = ImportExcel.InportExcelToTableListErro(excelTable); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | //岗位表 |
| | | for (int k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "") |
| | | if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].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][2].ToString().Trim()); |
| | | sql = @"select * from TPost where postcode=@postcode"; |
| | | dynamicParams.Add("@postcode", excelTable[0].Rows[k][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][2].ToString().Trim() + "已存在"; |
| | | erro.ErrorField = "{*岗位编号(唯一)}"; |
| | | erro.ErrorCont = "岗位表:{*岗位编号(唯一)}字段" + excelTable[0].Rows[k][0].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | //子表 |
| | | for (int k = 0; k < excelTable[1].Rows.Count; k++) |
| | | if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].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][2].ToString().Trim()); |
| | | sql = @"select * from TPost where postname=@postname"; |
| | | dynamicParams.Add("@postname", excelTable[0].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.ErrorField = "{*岗位名称}"; |
| | | erro.ErrorCont = "岗位表:{*岗位名称}字段" + excelTable[1].Rows[k][1].ToString().Trim() + "已存在"; |
| | | 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() |
| | | 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) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,班组管理】 |
| | | public static List<ExcelErro> TwoData(string FileCode, out string StuCode, out string message, out int count) |
| | | public static List<ExcelErro> TwoData(List<DataTable> excelTable, 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>(); |
| | | |
| | | list = ImportExcel.InportExcelToTableListErro(excelTable); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | //班组表 |
| | | for (int k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TGroup where usergroupcode=@usergroupcode"; |
| | | dynamicParams.Add("@usergroupcode", excelTable[0].Rows[k][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[k][0].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TGroup where usergroupname=@usergroupname"; |
| | | dynamicParams.Add("@usergroupname", excelTable[0].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][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[0].Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | | #endregion |
| | |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,角色管理】 |
| | | public static List<ExcelErro> FourData(string FileCode, out string StuCode, out string message, out int count) |
| | | public static List<ExcelErro> FourData(List<DataTable> excelTable, out string StuCode, out string message, out int count) |
| | | { |
| | | message = ""; |
| | | StuCode = ""; |
| | | count = 0; |
| | | string sql = ""; |
| | | DataTable dt; |
| | | 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 = ImportExcel.InportExcelToTableListErro(excelTable); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | //班组表 |
| | | for (int k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "") |
| | | if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "") |
| | | { |
| | | sql = @"select code from TCustomer where code=@code"; |
| | | |
| | | dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim()); |
| | | sql = @"select * from TRole where rolecode=@rolecode"; |
| | | dynamicParams.Add("@rolecode", excelTable[0].Rows[k][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[k][0].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TRole where rolename=@rolename"; |
| | | dynamicParams.Add("@rolename", excelTable[0].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][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[k][3].ToString().Trim() != null && excelTable[0].Rows[k][3].ToString().Trim() != "") |
| | | { |
| | | if (excelTable[0].Rows[k][3].ToString().Trim() == "自定义") |
| | | { |
| | | if (excelTable[0].Rows[k][4].ToString().Trim() == null && excelTable[0].Rows[k][4].ToString().Trim() == "") |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{数据权限}"; |
| | | erro.ErrorCont = "角色表:{数据范围}字段为:" + excelTable[1].Rows[k][3].ToString().Trim() + "时,{数据权限}字段不能为空"; |
| | | list.Add(erro); |
| | | } |
| | | else |
| | | { |
| | | //判断数据权限编码是否合理 |
| | | if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "") |
| | | { |
| | | string[] torgcode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][4].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] |
| | | sql = @"select postcode from TOrganization where torg_code in @torgcode"; |
| | | dynamicParams.Add("@torgcode", torgcode); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt != null && dt.Rows.Count > 0) |
| | | { |
| | | string[] values = excelTable[0].Rows[k][4].ToString().Trim().Split(','); |
| | | var unmatchedValues = values.Except(dt.AsEnumerable().Select(row => row.Field<string>("torg_code"))); |
| | | foreach (var value in unmatchedValues) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = (k + 1).ToString(); |
| | | erro.ErrorField = "{数据权限}"; |
| | | erro.ErrorCont = "角色表:{数据权限}字段" + value + " 不是有效的组织编码"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = (k + 1).ToString(); |
| | | erro.ErrorField = "{数据权限}"; |
| | | erro.ErrorCont = "角色表:{数据权限}字段" + excelTable[0].Rows[k][4].ToString().Trim() + " 不是有效的组织编码"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable.Rows.Count; |
| | | count = excelTable[0].Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,岗位管理】 |
| | | public static string OneSubmit(string FileCode, string User, out string StuCode) |
| | | public static string OneSubmit(List<DataTable> excelTable, User us, out string StuCode) |
| | | { |
| | | 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++) |
| | | //导入岗位 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | sql = @"insert into TRoleType(roletype_code,roletype_name,torg_code) |
| | | values(@roletype_code,@roletype_name,@torg_code)"; |
| | | sql = @"insert into TPost(postcode,postname,status,description,lm_user,lm_date) |
| | | values(@postcode,@postname,@status,@description,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | 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,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][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(), |
| | | torg_code = excelTable[1].Rows[i][1].ToString().Trim() |
| | | usercode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | username = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | status = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | description = excelTable[0].Rows[i][3].ToString().Trim(), |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,分组管理】 |
| | | public static string TwoSubmit(string FileCode, string User, out string StuCode) |
| | | public static string TwoSubmit(List<DataTable> excelTable, User us, out string StuCode) |
| | | { |
| | | string message = ""; |
| | | StuCode = ""; |
| | | string sql = ""; |
| | | List<object> list = new List<object>(); |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | |
| | | list.Clear(); |
| | | //导入班组 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | sql = @"insert into TGroup(usergroupcode,usergroupname,status,description,lm_user,lm_date) |
| | | values(@usergroupcode,@usergroupname,@status,@description,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | usergroupcode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | usergroupname = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | status = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | description = excelTable[0].Rows[i][3].ToString().Trim(), |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | bool aa = DapperHelper.DoTransaction(list); |
| | | if (aa) |
| | | { |
| | | StuCode = "200"; |
| | | message = "导入成功!"; |
| | | } |
| | | else |
| | | { |
| | | StuCode = "300"; |
| | | message = "导入失败!"; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,角色管理】 |
| | | public static string FourSubmit(string FileCode, string User, out string StuCode) |
| | | public static string FourSubmit(List<DataTable> excelTable, User us, out string StuCode) |
| | | { |
| | | string message = ""; |
| | | StuCode = ""; |
| | | string sql = ""; |
| | | DataTable dt; |
| | | string sql = "", datarange = "", datapermissions = ""; |
| | | 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++) |
| | | //导入角色 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | string Type = ""; |
| | | switch (excelTable.Rows[i][3].ToString().Trim()) |
| | | if (excelTable[0].Rows[i][3].ToString().Trim() != null && excelTable[0].Rows[i][3].ToString().Trim() != "") |
| | | { |
| | | case "供应商": |
| | | Type = "226"; |
| | | //数据范围 |
| | | switch (excelTable[0].Rows[i][3].ToString().Trim()) |
| | | { |
| | | case "全部": |
| | | datarange = "ALL"; |
| | | break; |
| | | case "客户": |
| | | Type = "211"; |
| | | case "本级": |
| | | datarange = "LEVEL"; |
| | | break; |
| | | case "客户/供应商": |
| | | Type = "228"; |
| | | case "本人": |
| | | datarange = "PERSON"; |
| | | break; |
| | | case "自定义": |
| | | datarange = "CUSTOM"; |
| | | datapermissions = excelTable[0].Rows[i][4].ToString().Trim(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | sql = @"insert into TCustomer(code,name,type,conttacts,conttphone,addr,lm_user,lm_date) |
| | | values(@code,@name,@type,@conttacts,@conttphone,@addr,@Operator,@CreateDate)"; |
| | | sql = @"insert into TRole(rolecode,rolename,status,datarange,datapermissions,identifying,description,lm_user,lm_date) |
| | | values(@rolecode,@rolename,@status,@datarange,@datapermissions,@identifying,@description,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | code = excelTable.Rows[i][1].ToString().Trim(), |
| | | name = excelTable.Rows[i][2].ToString().Trim(), |
| | | type = Type, |
| | | 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() |
| | | rolecode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | rolename = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | status = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | datarange = datarange, |
| | | datapermissions = datapermissions, |
| | | description = excelTable[0].Rows[i][5].ToString().Trim(), |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |