| | |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 6) |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "301"; |
| | | Message = "角色清单模板不符合规范,请检查列名字段数"; |
| | |
| | | Message = "角色清单模板:表头信息不符合规范,第3列应为{*状态}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "数据范围") |
| | | else if (excelTable[0].Columns[3].ColumnName != "描述") |
| | | { |
| | | code = "301"; |
| | | Message = "角色清单模板:表头信息不符合规范,第4列应为{数据范围}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[4].ColumnName != "数据权限") |
| | | { |
| | | code = "301"; |
| | | Message = "角色清单模板:表头信息不符合规范,第5列应为{数据权限}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[5].ColumnName != "描述") |
| | | { |
| | | code = "301"; |
| | | Message = "角色清单模板:表头信息不符合规范,第6列应为{描述}"; |
| | | Message = "角色清单模板:表头信息不符合规范,第4列应为{描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | Message = "库位设置模板:表头信息不符合规范,第3列应为{*所属仓库编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "*上级库位编码") |
| | | else if (excelTable[0].Columns[3].ColumnName != "上级库位编码") |
| | | { |
| | | code = "301"; |
| | | Message = "库位设置模板:表头信息不符合规范,第4列应为{*上级库位编码}"; |
| | | Message = "库位设置模板:表头信息不符合规范,第4列应为{上级库位编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[4].ColumnName != "*状态") |
| | |
| | | Message = "存货分类模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 12) |
| | | else if (excelTable[1].Columns.Count != 13) |
| | | { |
| | | code = "301"; |
| | | Message = "存货档案模板不符合规范,请检查列名字段数"; |
| | |
| | | Message = "存货分类型模板:表头信息不符合规范,第1列应为{*存货分类编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "*存货分类型名称") |
| | | else if (excelTable[0].Columns[1].ColumnName != "*存货分类名称") |
| | | { |
| | | code = "301"; |
| | | Message = "存货分类型模板:表头信息不符合规范,第2列应为{*存货分类型名称}"; |
| | | Message = "存货分类型模板:表头信息不符合规范,第2列应为{*存货分类名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "上级编码") |
| | |
| | | Message = "存货档案模板:表头信息不符合规范,第6列应为{*计量方式}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[6].ColumnName != "*计量单位/组编码") |
| | | else if (excelTable[1].Columns[6].ColumnName != "*计量单位/组名称") |
| | | { |
| | | code = "301"; |
| | | Message = "存货档案模板:表头信息不符合规范,第7列应为{*计量单位/组编码}"; |
| | | Message = "存货档案模板:表头信息不符合规范,第7列应为{*计量单位/组名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[7].ColumnName != "所属仓库编码") |
| | |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,缺陷定义模板】 |
| | | public static string Eighteen(string FileCode, out string code) |
| | | public static string Eighteen(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 != 4) |
| | | else if (excelTable[0].Columns.Count != 3) |
| | | { |
| | | code = "300"; |
| | | code = "301"; |
| | | Message = "缺陷定义模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[0].ColumnName != "序号") |
| | | else if (excelTable[0].Columns[0].ColumnName != "*缺陷编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "缺陷定义模板不符合规范:表头信息不符合规范,第1列应为{序号}"; |
| | | code = "301"; |
| | | Message = "缺陷定义模板:表头信息不符合规范,第1列应为{*缺陷编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "缺陷编号(唯一)") |
| | | else if (excelTable[0].Columns[1].ColumnName != "*缺陷名称") |
| | | { |
| | | code = "300"; |
| | | Message = "缺陷定义模板不符合规范:表头信息不符合规范,第2列应为{缺陷编号(唯一)}"; |
| | | code = "301"; |
| | | Message = "缺陷定义模板:表头信息不符合规范,第2列应为{*缺陷名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "缺陷名称") |
| | | else if (excelTable[0].Columns[2].ColumnName != "缺陷描述") |
| | | { |
| | | code = "300"; |
| | | Message = "缺陷定义模板不符合规范:表头信息不符合规范,第3列应为{缺陷名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "缺陷描述") |
| | | { |
| | | code = "300"; |
| | | Message = "缺陷描述模板不符合规范:表头信息不符合规范,第4列应为{缺陷描述}"; |
| | | code = "301"; |
| | | Message = "缺陷定义模板:表头信息不符合规范,第3列应为{缺陷描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*岗位名称}"; |
| | | erro.ErrorCont = "岗位表:{*岗位名称}字段" + excelTable[1].Rows[k][1].ToString().Trim() + "已存在"; |
| | | erro.ErrorCont = "岗位表:{*岗位名称}字段" + excelTable[0].Rows[k][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*班组名称}"; |
| | | erro.ErrorCont = "班组表:{*班组名称}字段" + excelTable[1].Rows[k][1].ToString().Trim() + "已存在"; |
| | | erro.ErrorCont = "班组表:{*班组名称}字段" + excelTable[0].Rows[k][1].ToString().Trim() + "已存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | 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() != "") |
| | |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*角色名称}"; |
| | | erro.ErrorCont = "角色表:{*角色名称}字段" + excelTable[1].Rows[k][1].ToString().Trim() + "已存在"; |
| | | erro.ErrorCont = "角色表:{*角色名称}字段" + excelTable[0].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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //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); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | } |
| | | if (list.Count > 0) |
| | | { |
| | |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "") |
| | | { |
| | | // 使用Lambda表达式判断父级ID是否合理 |
| | | bool isParentIdValid = excelTable[0].AsEnumerable() |
| | | .Any(r => Convert.ToString(r["*往来单位类型编号(唯一)"]) == excelTable[0].Rows[j][2].ToString().Trim()); // 假设ID列名为Id |
| | | |
| | | // 如果父级ID不合理,则输出 |
| | | if (!isParentIdValid) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级编码}"; |
| | | erro.ErrorCont = "往来单位类型表:{上级编码}字段:" + excelTable[0].Rows[j][2].ToString().Trim() + " 不合理"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | var invalidRows = excelTable[0].AsEnumerable().Where(row => |
| | | row.Field<string>("上级编码") == row.Field<string>("*往来单位类型编号(唯一)") || |
| | | (row.Field<string>("上级编码") != null && !excelTable[0].AsEnumerable().Any(r => r.Field<string>("*往来单位类型编号(唯一)") == row.Field<string>("上级编码"))) |
| | | ); |
| | | |
| | | // 输出不合理的行 |
| | | foreach (var row in invalidRows) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级编码}"; |
| | | erro.ErrorCont = $"往来单位类型表:*往来单位类型编号(唯一): {row.Field<string>("*往来单位类型编号(唯一)")} 的上级编码:{row.Field<string>("上级编码")}不合理"; |
| | | list.Add(erro); |
| | | } |
| | | |
| | | //往来单位表 |
| | | for (int k = 0; k < excelTable[1].Rows.Count; k++) |
| | |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[k][3].ToString().Trim() != null && excelTable[0].Rows[k][3].ToString().Trim() != "") |
| | | { |
| | | // 使用Lambda表达式判断父级ID是否合理 |
| | | bool isParentIdValid = excelTable[0].AsEnumerable() |
| | | .Any(r => Convert.ToString(r["*库位编号(唯一)"]) == excelTable[0].Rows[k][3].ToString().Trim()); // 假设ID列名为Id |
| | | |
| | | // 如果父级ID不合理,则输出 |
| | | if (!isParentIdValid) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级库位编码}"; |
| | | erro.ErrorCont = "库位表:{上级库位编码}字段:" + excelTable[0].Rows[k][3].ToString().Trim() + " 不合理"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | var invalidRows = excelTable[0].AsEnumerable().Where(row => |
| | | row.Field<string>("上级库位编码") == row.Field<string>("*库位编号(唯一)") || |
| | | (row.Field<string>("上级库位编码") != null && !excelTable[0].AsEnumerable().Any(r => r.Field<string>("*库位编号(唯一)") == row.Field<string>("上级库位编码"))) |
| | | ); |
| | | |
| | | // 输出不合理的行 |
| | | foreach (var row in invalidRows) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级库位编码}"; |
| | | erro.ErrorCont = $"库位表:*库位编号(唯一): {row.Field<string>("*库位编号(唯一)")} 的上级库位编码:{row.Field<string>("上级库位编码")}不合理"; |
| | | list.Add(erro); |
| | | } |
| | | |
| | | if (list.Count > 0) |
| | | { |
| | | int index = 0; |
| | |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "") |
| | | { |
| | | // 使用Lambda表达式判断父级ID是否合理 |
| | | bool isParentIdValid = excelTable[0].AsEnumerable() |
| | | .Any(r => Convert.ToString(r["*存货分类编号(唯一)"]) == excelTable[0].Rows[j][2].ToString().Trim()); // 假设ID列名为Id |
| | | |
| | | // 如果父级ID不合理,则输出 |
| | | if (!isParentIdValid) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级编码}"; |
| | | erro.ErrorCont = "存货分类表:{上级编码}字段:" + excelTable[0].Rows[j][2].ToString().Trim() + " 不合理"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | var invalidRows = excelTable[0].AsEnumerable().Where(row => |
| | | row.Field<string>("上级编码") == row.Field<string>("*存货分类编号(唯一)") || |
| | | (row.Field<string>("上级编码") != null && !excelTable[0].AsEnumerable().Any(r => r.Field<string>("*存货分类编号(唯一)") == row.Field<string>("上级编码"))) |
| | | ); |
| | | |
| | | // 输出不合理的行 |
| | | foreach (var row in invalidRows) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{上级编码}"; |
| | | erro.ErrorCont = $"存货类型表:*存货分类编号(唯一): {row.Field<string>("**存货分类编号(唯一)")} 的上级编码:{row.Field<string>("上级编码")}不合理"; |
| | | list.Add(erro); |
| | | } |
| | | |
| | | //存货表 |
| | | for (int k = 0; k < excelTable[1].Rows.Count; k++) |
| | |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (excelTable[1].Rows[k][5].ToString().Trim() != null && excelTable[5].Rows[k][1].ToString().Trim() != "") |
| | | if (excelTable[1].Rows[k][5].ToString().Trim() != null && excelTable[1].Rows[k][5].ToString().Trim() != "") |
| | | { |
| | | switch (excelTable[1].Rows[k][5].ToString().Trim()) |
| | | { |
| | |
| | | //判断计量单位是否为单计量 |
| | | if (excelTable[1].Rows[k][6].ToString().Trim() != null && excelTable[1].Rows[k][6].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TUnit where code=@code and isSingleUnit='1'"; |
| | | dynamicParams.Add("@code", excelTable[1].Rows[k][6].ToString().Trim()); |
| | | sql = @"select * from TUnit where name=@name and isSingleUnit='1'"; |
| | | dynamicParams.Add("@name", excelTable[1].Rows[k][6].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][6].ToString().Trim() + "不是有效的单计量单位"; |
| | | erro.ErrorField = "{*计量单位/组名字}"; |
| | | erro.ErrorCont = "存货档案表:{*计量单位/组名字}字段" + excelTable[1].Rows[k][6].ToString().Trim() + "不是有效的单计量单位"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | //判断计量单位是否为多计量 |
| | | if (excelTable[1].Rows[k][6].ToString().Trim() != null && excelTable[1].Rows[k][6].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TUnitGroup where code=@code"; |
| | | sql = @"select * from TUnitGroup where name=@name"; |
| | | dynamicParams.Add("@code", excelTable[1].Rows[k][6].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][6].ToString().Trim() + "不是有效的多计量单位组"; |
| | | erro.ErrorField = "{*计量单位/组名称}"; |
| | | erro.ErrorCont = "存货档案表:{*计量单位/组名称}字段" + excelTable[1].Rows[k][6].ToString().Trim() + "不是有效的多计量单位组"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,缺陷定义】 |
| | | public static List<ExcelErro> EighteenData(string FileCode, out string StuCode, out string message, out int count) |
| | | public static List<ExcelErro> EighteenData(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 TDefect where code=@code"; |
| | | |
| | | dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim()); |
| | | sql = @"select * from TDefect where code=@code"; |
| | | dynamicParams.Add("@code", 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 TDefect where name=@name"; |
| | | dynamicParams.Add("@name", 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); |
| | | } |
| | | } |
| | |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable.Rows.Count; |
| | | count = excelTable[0].Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | //导入角色 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | if (excelTable[0].Rows[i][3].ToString().Trim() != null && excelTable[0].Rows[i][3].ToString().Trim() != "") |
| | | { |
| | | //数据范围 |
| | | switch (excelTable[0].Rows[i][3].ToString().Trim()) |
| | | { |
| | | case "全部": |
| | | datarange = "ALL"; |
| | | break; |
| | | case "本级": |
| | | datarange = "LEVEL"; |
| | | break; |
| | | case "本人": |
| | | datarange = "PERSON"; |
| | | break; |
| | | case "自定义": |
| | | datarange = "CUSTOM"; |
| | | datapermissions = excelTable[0].Rows[i][4].ToString().Trim(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | //if (excelTable[0].Rows[i][3].ToString().Trim() != null && excelTable[0].Rows[i][3].ToString().Trim() != "") |
| | | //{ |
| | | // //数据范围 |
| | | // switch (excelTable[0].Rows[i][3].ToString().Trim()) |
| | | // { |
| | | // case "全部": |
| | | // datarange = "ALL"; |
| | | // break; |
| | | // case "本级": |
| | | // datarange = "LEVEL"; |
| | | // break; |
| | | // case "本人": |
| | | // datarange = "PERSON"; |
| | | // break; |
| | | // case "自定义": |
| | | // datarange = "CUSTOM"; |
| | | // datapermissions = excelTable[0].Rows[i][4].ToString().Trim(); |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | //} |
| | | |
| | | 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)"; |
| | |
| | | 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, |
| | | datarange = "ALL", |
| | | datapermissions = datapermissions, |
| | | description = excelTable[0].Rows[i][5].ToString().Trim(), |
| | | identifying="2", |
| | | description = excelTable[0].Rows[i][3].ToString().Trim(), |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | |
| | | if (excelTable[1].Rows[i][5].ToString().Trim() == "S") |
| | | { |
| | | isSingleUnit = 1; |
| | | idunit = excelTable[1].Rows[i][6].ToString().Trim(); |
| | | sql = @"select * from TUnit where name=@name and isSingleUnit='1'"; |
| | | dynamicParams.Add("@name", excelTable[1].Rows[i][6].ToString().Trim()); |
| | | var dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | idunit = dt.Rows[0]["code"].ToString(); |
| | | } |
| | | if (excelTable[1].Rows[i][5].ToString().Trim() == "M") |
| | | { |
| | | sql = @"select T.code,T.name,T.isMainUnit from TUnitGroup G |
| | | inner join TUnit T on G.code=T.idunitgroup |
| | | where G.code=@code"; |
| | | dynamicParams.Add("@code", excelTable[1].Rows[i][6].ToString().Trim()); |
| | | where G.name=@name"; |
| | | dynamicParams.Add("@name", excelTable[1].Rows[i][6].ToString().Trim()); |
| | | var dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | idunitgroup = excelTable[1].Rows[i][6].ToString().Trim(); |
| | | idunitgroup = dt.Rows[0]["groupcode"].ToString(); |
| | | idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") =="1").Select(row => row.Field<string>("code")).FirstOrDefault(); |
| | | idnounit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "0").Select(row => row.Field<string>("code")).FirstOrDefault(); |
| | | } |
| | |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,缺陷定义】 |
| | | public static string EighteenSubmit(string FileCode, string User, out string StuCode) |
| | | public static string EighteenSubmit(List<DataTable> excelTable, User us, 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++) |
| | | //导入缺陷 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | sql = @"insert into TDefect(code,name,descr,lm_user,lm_date) |
| | | values(@code,@name,@descr,@Operator,@CreateDate)"; |
| | | sql = @"insert into TDefect(code,name,description,is_step,lm_user,lm_date) |
| | | values(@code,@name,@description,@is_step,@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(), |
| | | descr = excelTable.Rows[i][3].ToString().Trim(), |
| | | Operator = User, |
| | | CreateDate = DateTime.Now.ToString() |
| | | code = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | name = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | description = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | is_step="N", |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |