| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,工装清单模板】 |
| | | public static string Twelve(string FileCode, out string code) |
| | | #region【Excel模板上传验证,模具清单模板】 |
| | | public static string Twelve(List<DataTable> excelTable, out string code) |
| | | { |
| | | string Message = ""; |
| | | code = ""; |
| | | DataTable excelTable = new DataTable(); |
| | | excelTable = ImportExcel.ExcelToTable(FileCode); |
| | | if (excelTable.Columns.Count != 7) |
| | | if (excelTable.Count != 2) |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "导入模板不符合规范,请检查sheet数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable.Columns[0].ColumnName != "序号") |
| | | else if (excelTable[0].Columns.Count != 7) |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[1].ColumnName != "工装编号(唯一)") |
| | | else if (excelTable[1].Columns.Count != 2) |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具关联产品模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[2].ColumnName != "工装名称(唯一)") |
| | | else if (excelTable[0].Columns[0].ColumnName != "*模具编号(唯一)") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第1列应为{*模具编号(唯一)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[3].ColumnName != "工装类型") |
| | | else if (excelTable[1].Columns[1].ColumnName != "*模具名称") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第2列应为{*模具名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[4].ColumnName != "型腔数量") |
| | | else if (excelTable[1].Columns[2].ColumnName != "规格型号") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第3列应为{规格型号}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[5].ColumnName != "理论寿命(次)") |
| | | else if (excelTable[1].Columns[3].ColumnName != "*状态") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第4列应为{*状态}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable.Columns[6].ColumnName != "使用状态") |
| | | else if (excelTable[1].Columns[4].ColumnName != "*仓库编码") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第5列应为{*仓库编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[5].ColumnName != "预计寿命(次)") |
| | | { |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第6列应为{预计寿命(次)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[6].ColumnName != "剩余寿命(次)") |
| | | { |
| | | code = "301"; |
| | | Message = "模具清单模板:表头信息不符合规范,第7列应为{剩余寿命(次)}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns[0].ColumnName != "模具编码") |
| | | { |
| | | code = "301"; |
| | | Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "产品编码") |
| | | { |
| | | code = "301"; |
| | | Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}"; |
| | | return Message; |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,工装点检模板】 |
| | | public static string Thirteen(string FileCode, out string code) |
| | | #region【Excel模板上传验证,模具点检项模板】 |
| | | public static string Thirteen(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"; |
| | | Message = "模板不符合规范,缺失的Sheet"; |
| | | code = "301"; |
| | | Message = "导入模板不符合规范,请检查sheet数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 3) |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名字段数"; |
| | | code = "301"; |
| | | Message = "模具点检项目模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[1].Columns.Count != 8) |
| | | 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 = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具点检项目模板:表头信息不符合规范,第2列应为{*点检项目名称}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "点检标准(唯一)") |
| | | else if (excelTable[0].Columns[2].ColumnName != "要求描述") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | } |
| | | else if (excelTable[0].Columns[2].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 != "SEQ(部位顺序)") |
| | | { |
| | | 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 = "模板不符合规范,请检查列名"; |
| | | } |
| | | else if (excelTable[1].Columns[7].ColumnName != "点检周期") |
| | | { |
| | | code = "300"; |
| | | Message = "模板不符合规范,请检查列名"; |
| | | code = "301"; |
| | | Message = "模具点检项目模板:表头信息不符合规范,第3列应为{要求描述}"; |
| | | return Message; |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,工装清单】 |
| | | public static List<ExcelErro> TwelveData(string FileCode, out string StuCode, out string message, out int count) |
| | | #region【Excel上传数据验证,模具清单】 |
| | | public static List<ExcelErro> TwelveData(List<DataTable> excelTable, out string StuCode, out string message, out int count) |
| | | { |
| | | message = ""; |
| | | StuCode = ""; |
| | | count = 0; |
| | | string sql = ""; |
| | | DataTable dt; |
| | | var dynamicParams = new DynamicParameters(); |
| | | List<ExcelErro> list = new List<ExcelErro>(); |
| | | |
| | | list = ImportExcel.InportExcelToTableListErro(excelTable); //验证Excel数据必填字段是否为空、唯一字段是否重复 |
| | | |
| | | //模具表 |
| | | for (int k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "") |
| | | { |
| | | sql = @"select * from TMouldInfo 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[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 TMouldInfo 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[0].Rows[k][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 TMateriel_Info where partcode=@partcode"; |
| | | dynamicParams.Add("@partcode", excelTable[1].Rows[j][1].ToString().Trim()); |
| | | dt = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (dt.Rows.Count<= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{产品编码}"; |
| | | erro.ErrorCont = "模具关联产品表:{产品编码}字段" + excelTable[1].Rows[j][1].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | } |
| | | //判断模具关联产品表是否有数据 |
| | | if (excelTable[1].Rows.Count > 0) |
| | | { |
| | | //判断子表外键不存在于主表主键中的数据 |
| | | 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 |
| | | |
| | | #region【Excel上传数据验证,工装点检】 |
| | | public static List<ExcelErro> ThirteenData(string FileCode, out string StuCode, out string message, out int count) |
| | | #region【Excel上传数据验证,模具点检项目】 |
| | | public static List<ExcelErro> ThirteenData(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 TMouldchk_Item 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[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 TMouldchk_Item 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); |
| | | } |
| | | } |
| | | } |
| | | 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 string TwelveSubmit(string FileCode, string User, out string StuCode) |
| | | #region【Excel数据上传,模具清单】 |
| | | public static string TwelveSubmit(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 k = 0; k < excelTable[0].Rows.Count; k++) |
| | | { |
| | | sql = @"insert into TMouldInfo(code,name,spec,status,usestatus,warehousecode,surp_life,resi_life,lm_user,lm_date) |
| | | values(@code,@name,@spec,@status,@usestatus,@warehousecode,@surp_life,@resi_life,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | code = excelTable[0].Rows[k][0].ToString().Trim(), |
| | | name = excelTable[0].Rows[k][1].ToString().Trim(), |
| | | spec = excelTable[0].Rows[k][2].ToString().Trim(), |
| | | status = excelTable[0].Rows[k][3].ToString().Trim()=="正常"?"Y":"N", |
| | | usestatus = "0",//使用状态:在库/出库/上机/下机/维修/外借(0,1,2,3,4,5) |
| | | warehousecode = excelTable[0].Rows[k][4].ToString().Trim(), |
| | | surp_life =decimal.Parse(excelTable[0].Rows[k][5].ToString().Trim()), |
| | | resi_life = decimal.Parse(excelTable[0].Rows[k][6].ToString().Trim()), |
| | | lm_user = us.usercode, |
| | | lm_date = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | //写入模具关联产品表 |
| | | for (int i = 0; i < excelTable[1].Rows.Count; i++) |
| | | { |
| | | sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date) |
| | | values(@mouldcode,@partcode,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | mouldcode = excelTable[1].Rows[i][0].ToString().Trim(), |
| | | partcode = excelTable[1].Rows[i][1].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 ThirteenSubmit(string FileCode, string User, out string StuCode) |
| | | #region【Excel数据上传,模具点检项目】 |
| | | public static string ThirteenSubmit(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 TMouldchk_Item(code,name,description,lm_user,lm_date) |
| | | values(@code,@name,@description,@lm_user,@lm_date)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | code = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | name = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | description = excelTable[0].Rows[i][2].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) |
| | | { |