| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,节拍工价模板】 |
| | | public static string TwentyFour(string FileCode, out string code) |
| | | #region【Excel模板上传验证,节拍工价(工艺路线版)模板】 |
| | | public static string TwentyFour(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数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 9) |
| | | else if (excelTable[0].Columns.Count != 4) |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[0].ColumnName != "序号") |
| | | else if (excelTable[0].Columns[0].ColumnName != "*产品编码") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第1列应为{序号}"; |
| | | Message = "产品名称模板不符合规范:表头信息不符合规范,第1列应为{*产品编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[1].ColumnName != "产品名称") |
| | | else if (excelTable[0].Columns[1].ColumnName != "*工艺路线编码") |
| | | { |
| | | code = "300"; |
| | | Message = "产品名称模板不符合规范:表头信息不符合规范,第2列应为{产品名称}"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第2列应为{*工艺路线编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[2].ColumnName != "工艺路线名称") |
| | | else if (excelTable[0].Columns[2].ColumnName != "*工序编码") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第3列应为{工艺路线名称}"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第3列应为{*工序编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[3].ColumnName != "工序名称") |
| | | else if (excelTable[0].Columns[3].ColumnName != "*计件单价") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{工序名称}"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{*计件单价}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[4].ColumnName != "设备名称") |
| | | else |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{设备名称}"; |
| | | code = "200"; |
| | | Message = "模板检验通过"; |
| | | } |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[5].ColumnName != "计件单价") |
| | | #endregion |
| | | |
| | | #region【Excel模板上传验证,节拍工价(工序版)模板】 |
| | | public static string TwentyFive(List<DataTable> excelTable, out string code) |
| | | { |
| | | string Message = ""; |
| | | code = ""; |
| | | if (excelTable.Count != 1) |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{计件单价}"; |
| | | Message = "导入模板不符合规范,请检查sheet数"; |
| | | return Message; |
| | | |
| | | } |
| | | else if (excelTable[0].Columns.Count != 3) |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范,请检查列名字段数"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[6].ColumnName != "设备节拍") |
| | | else if (excelTable[0].Columns[0].ColumnName != "*产品编码") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{设备节拍}"; |
| | | Message = "产品名称模板不符合规范:表头信息不符合规范,第1列应为{*产品编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[7].ColumnName != "生产节拍") |
| | | else if (excelTable[0].Columns[1].ColumnName != "*工序编码") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{生产节拍}"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第2列应为{*工序编码}"; |
| | | return Message; |
| | | } |
| | | else if (excelTable[0].Columns[8].ColumnName != "型腔数") |
| | | else if (excelTable[0].Columns[2].ColumnName != "*计件单价") |
| | | { |
| | | code = "300"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第4列应为{型腔数}"; |
| | | Message = "节拍工价模板不符合规范:表头信息不符合规范,第3列应为{*计件单价}"; |
| | | return Message; |
| | | } |
| | | else |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,节拍工价】 |
| | | public static List<ExcelErro> TwentyFourData(string FileCode, out string StuCode, out string message, out int count) |
| | | #region【Excel上传数据验证,节拍工价(工艺路线版)】 |
| | | public static List<ExcelErro> TwentyFourData(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 i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | //产品是否存在 |
| | | sql = @"select partname from TMateriel_Info |
| | | where partname=@partname"; |
| | | dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim()); |
| | | sql = @"select partcode,partname from TMateriel_Info |
| | | where partcode=partcode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data.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[i][0].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //工艺路线是否存在 |
| | | sql = @"select name from TFlw_Rout |
| | | where name=@routename"; |
| | | dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim()); |
| | | sql = @"select code,name from TFlw_Rout |
| | | where code=@routecode"; |
| | | dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | var data0 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data0.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{工艺路线名称}"; |
| | | erro.ErrorCont = "工艺路线:{工艺路线名称}字段" + excelTable.Rows[i][2].ToString().Trim() + "不存在"; |
| | | erro.ErrorField = "{*工艺路线编码}"; |
| | | erro.ErrorCont = "工艺路线:{*工艺路线编码}字段" + excelTable[0].Rows[i][1].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //工序是否存在 |
| | | sql = @"select stepname from TStep |
| | | where stepname=@stepname"; |
| | | dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim()); |
| | | sql = @"select stepcode,stepname from TStep |
| | | where stepcode=@stepcode"; |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim()); |
| | | var data1 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data1.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{工序名称}"; |
| | | erro.ErrorCont = "工序定义:{工序名称}字段" + excelTable.Rows[i][3].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //设备是否存在 |
| | | sql = @"select name from TEqpInfo |
| | | where name=@eqpname"; |
| | | dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim()); |
| | | var data2 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data2.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{设备名称}"; |
| | | erro.ErrorCont = "设备清单:{设备名称}字段" + excelTable.Rows[i][4].ToString().Trim() + "不存在"; |
| | | erro.ErrorField = "{*工序编码}"; |
| | | erro.ErrorCont = "工序定义:{*工序编码}字段" + excelTable[0].Rows[i][2].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //判断产品是否关联工艺路线 |
| | | sql = @"select M.partname,R.name from TMateriel_Route A |
| | | sql = @"select M.partcode,R.code from TMateriel_Route A |
| | | inner join TMateriel_Info M on A.materiel_code=M.partcode |
| | | inner join TFlw_Rout R on A.route_code=R.code |
| | | where M.partname=@partname and R.name=@routename"; |
| | | dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim()); |
| | | dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim()); |
| | | where M.partcode=@partcode and R.code=@routecode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | var data3 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data3.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{产品名称/工艺路线名称}"; |
| | | erro.ErrorCont = "产品关联工艺路线:{产品名称}字段:【" + excelTable.Rows[i][1].ToString().Trim() + "】对应工艺路线名称:【" + excelTable.Rows[i][2].ToString().Trim() + "】未关联"; |
| | | erro.ErrorField = "{*产品编码/*工艺路线编码}"; |
| | | erro.ErrorCont = "产品关联工艺路线:{*产品编码}字段:【" + excelTable[0].Rows[i][0].ToString().Trim() + "】对应*工艺路线编码:【" + excelTable[0].Rows[i][1].ToString().Trim() + "】未关联"; |
| | | list.Add(erro); |
| | | } |
| | | //判断工艺路线是否关联工序 |
| | | sql = @"select R.name,S.stepname from TFlw_Rtdt A |
| | | sql = @"select R.code,S.stepcode from TFlw_Rtdt A |
| | | inner join TFlw_Rout R on A.rout_code=R.code |
| | | inner join TStep S on A.step_code=S.stepcode |
| | | where R.name=@routename and S.stepname=@stepname"; |
| | | dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim()); |
| | | dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim()); |
| | | where R.code=@routecode and S.stepcode=@stepcode"; |
| | | dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim()); |
| | | var data4 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data4.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{工艺路线名称/工序名称}"; |
| | | erro.ErrorCont = "工艺路线关联工序:{工艺路线名称}字段:【" + excelTable.Rows[i][2].ToString().Trim() + "】对应工序名称:【" + excelTable.Rows[i][3].ToString().Trim() + "】未关联"; |
| | | erro.ErrorField = "{*工艺路线编码/*工序编码}"; |
| | | erro.ErrorCont = "工艺路线关联工序:{*工艺路线编码}字段:【" + excelTable[0].Rows[i][1].ToString().Trim() + "】对应*工序编码:【" + excelTable[0].Rows[i][2].ToString().Trim() + "】未关联"; |
| | | list.Add(erro); |
| | | } |
| | | //判断工序是否关联设备 |
| | | sql = @"select E.name,S.stepname from TFlw_Rteqp A |
| | | inner join TStep S on A.step_code=S.stepcode |
| | | inner join TEqpInfo E on A.eqp_code=E.code |
| | | where S.stepname=@stepname and E.name=@eqpname"; |
| | | dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim()); |
| | | dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim()); |
| | | var data5 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data5.Rows.Count <= 0) |
| | | //判断产品、工艺路线、工序是否重复 |
| | | var isDuplicate = excelTable[0].AsEnumerable() |
| | | .GroupBy(row => new |
| | | { |
| | | PartCode = row["*产品编码"].ToString().Trim(), |
| | | RoutCode = row["*工艺路线编码"].ToString().Trim(), |
| | | StepCode = row["*工序编码"].ToString().Trim() |
| | | }).Any(g => g.Count() > 1); |
| | | if (isDuplicate) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{工序名称/设备名称}"; |
| | | erro.ErrorCont = "工序关联设备:{工序名称}字段:【" + excelTable.Rows[i][3].ToString().Trim() + "】对应设备名称:【" + excelTable.Rows[i][4].ToString().Trim() + "】未关联"; |
| | | erro.ErrorField = "{*产品编码/*工艺路线编码/*工序编码}"; |
| | | erro.ErrorCont = "模板数据中:{*产品编码}字段:【" + excelTable[0].Rows[i][0].ToString().Trim() + "】对应{*工艺路线编码}字段:【" + excelTable[0].Rows[i][1].ToString().Trim() + "】对应{*工序编码}:【" + excelTable[0].Rows[i][2].ToString().Trim() + "】有重复!"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable.Rows.Count; |
| | | count = excelTable[0].Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel上传数据验证,节拍工价(工艺路线版)】 |
| | | public static List<ExcelErro> TwentyFiveData(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 i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | //产品是否存在 |
| | | sql = @"select partcode,partname from TMateriel_Info |
| | | where partcode=partcode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*产品编码}"; |
| | | erro.ErrorCont = "存货档案:{*产品编码}字段" + excelTable[0].Rows[i][0].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //工序是否存在 |
| | | sql = @"select stepcode,stepname from TStep |
| | | where stepcode=@stepcode"; |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | var data1 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data1.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*工序编码}"; |
| | | erro.ErrorCont = "工序定义:{*工序编码}字段" + excelTable[0].Rows[i][1].ToString().Trim() + "不存在"; |
| | | list.Add(erro); |
| | | } |
| | | //判断产品是否关联工序 |
| | | sql = @"select M.partcode,R.stepcode from TMateriel_Step A |
| | | inner join TMateriel_Info M on A.materiel_code=M.partcode |
| | | inner join TStep R on A.step_code=R.stepcode |
| | | where M.partcode=@partcode and R.stepcode=@stepcode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | var data3 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data3.Rows.Count <= 0) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{*产品编码/*工序编码}"; |
| | | erro.ErrorCont = "产品关联工序:{*产品编码}字段:【" + excelTable[0].Rows[i][0].ToString().Trim() + "】对应*工序编码:【" + excelTable[0].Rows[i][1].ToString().Trim() + "】未关联"; |
| | | list.Add(erro); |
| | | } |
| | | //判断产品、工序是否重复 |
| | | var isDuplicate = excelTable[0].AsEnumerable() |
| | | .GroupBy(row => new |
| | | { |
| | | PartCode = row["*产品编码"].ToString().Trim(), |
| | | StepCode = row["*工序编码"].ToString().Trim() |
| | | }).Any(g => g.Count() > 1); |
| | | if (isDuplicate) |
| | | { |
| | | ExcelErro erro = new ExcelErro(); |
| | | erro.RoeNumber = "/"; |
| | | erro.ErrorField = "{产品编码/工序编码}"; |
| | | erro.ErrorCont = "模板数据中:{*产品编码}字段:【" + excelTable[0].Rows[i][0].ToString().Trim() + "】对应*工序编码:【" + excelTable[0].Rows[i][1].ToString().Trim() + "】有重复!"; |
| | | list.Add(erro); |
| | | } |
| | | } |
| | | if (list.Count > 0) |
| | | { |
| | | int index = 0; |
| | | foreach (ExcelErro item in list) |
| | | { |
| | | index++; |
| | | item.Seq = index.ToString(); |
| | | } |
| | | StuCode = "301"; |
| | | message = "数据验证失败"; |
| | | } |
| | | else |
| | | { |
| | | StuCode = "200"; |
| | | message = "数据验证成功"; |
| | | count = excelTable[0].Rows.Count; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,节拍工价】 |
| | | public static string TwentyFourSubmit(string FileCode, string User, out string StuCode) |
| | | #region【Excel数据上传,节拍工价(工艺路线版)】 |
| | | public static string TwentyFourSubmit(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++) |
| | | { |
| | | string partcode = "", routecode = "", stepcode = "", eqpcode = "", wkspcode = ""; |
| | | //查询产品编码 |
| | | sql = @"select partcode from TMateriel_Info |
| | | where partname=@partname"; |
| | | dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim()); |
| | | //查询工序节拍表中:产品+工艺路线+工序是否存在 |
| | | sql = @"select * from TPrteEqp_Stad where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim()); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data.Rows.Count > 0) |
| | | { |
| | | partcode = data.Rows[0]["partcode"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | StuCode = "产品名称:【" + excelTable.Rows[i][1].ToString().Trim() + "】对应编码不存在!"; |
| | | message = "导入失败!"; |
| | | } |
| | | //查询工艺路线编码 |
| | | sql = @"select code from TFlw_Rout |
| | | where name=@routename"; |
| | | dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim()); |
| | | var data0 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data0.Rows.Count > 0) |
| | | { |
| | | routecode = data0.Rows[0]["code"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | StuCode = "工艺路线名称:【" + excelTable.Rows[i][2].ToString().Trim() + "】对应编码不存在!"; |
| | | message = "导入失败!"; |
| | | } |
| | | //查询工序编码 |
| | | sql = @"select stepcode from TStep |
| | | where stepname=@stepname"; |
| | | dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim()); |
| | | var data1 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data1.Rows.Count > 0) |
| | | { |
| | | stepcode = data1.Rows[0]["stepcode"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | StuCode = "工序名称:【" + excelTable.Rows[i][3].ToString().Trim() + "】对应编码不存在!"; |
| | | message = "导入失败!"; |
| | | } |
| | | //查询设备编码 |
| | | sql = @"select code from TEqpInfo |
| | | where name=@eqpname"; |
| | | dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim()); |
| | | var data4 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data4.Rows.Count > 0) |
| | | { |
| | | eqpcode = data4.Rows[0]["code"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | StuCode = "设备名称:【" + excelTable.Rows[i][4].ToString().Trim() + "】对应编码不存在!"; |
| | | message = "导入失败!"; |
| | | } |
| | | //查询车间编码 |
| | | sql = @"select wksp_code from TEqpInfo |
| | | where name=@eqpname"; |
| | | dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim()); |
| | | var data5 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data5.Rows.Count > 0) |
| | | { |
| | | wkspcode = data5.Rows[0]["wksp_code"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | StuCode = "设备名称:【" + excelTable.Rows[i][4].ToString().Trim() + "】对应车间编码不存在!"; |
| | | message = "导入失败!"; |
| | | } |
| | | //查询工序节拍表中:产品+工艺路线+工序+设备是否存在 |
| | | sql = @"select * from TPrteEqp_Stad |
| | | where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode"; |
| | | dynamicParams.Add("@partcode", partcode); |
| | | dynamicParams.Add("@routecode", routecode); |
| | | dynamicParams.Add("@stepcode", stepcode); |
| | | dynamicParams.Add("@eqpcode", eqpcode); |
| | | var data6 = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data6.Rows.Count > 0) |
| | | { |
| | | sql = @"update TPrteEqp_Stad set stand_value=@stand_value,eqp_value=@eqp_value,cavity_qty=@cavity_qty,unprice=@unprice,lm_user=@username,lm_date=@userdate |
| | | where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode "; |
| | | sql = @"update TPrteEqp_Stad set unprice=@unprice,lm_user=@username,lm_date=@userdate |
| | | where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | partcode = partcode, |
| | | routecode = routecode, |
| | | stepcode = stepcode, |
| | | eqpcode = eqpcode, |
| | | stand_value = excelTable.Rows[i][7].ToString().Trim(), |
| | | eqp_value = excelTable.Rows[i][6].ToString().Trim(), |
| | | cavity_qty = excelTable.Rows[i][8].ToString().Trim(), |
| | | unprice = excelTable.Rows[i][5].ToString().Trim(), |
| | | username = User, |
| | | partcode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | routecode = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | stepcode = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | unprice = excelTable[0].Rows[i][3].ToString().Trim(), |
| | | username = us.usercode, |
| | | userdate = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | sql = @"insert into TPrteEqp_Stad(materiel_code,eqp_code,stand_value,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,step_code) |
| | | values(@partcode,@eqpcode,@stand_value,@routecode,@unprice,@eqp_value,@cavity_qty,@wkspcode,@username,@userdate,@stepcode)"; |
| | | sql = @"insert into TPrteEqp_Stad(materiel_code,route_code,step_code,unprice,lm_user,lm_date) |
| | | values(@partcode,@routecode,@stepcode,@unprice,@username,@userdate)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | partcode = partcode, |
| | | eqpcode = eqpcode, |
| | | stand_value = excelTable.Rows[i][7].ToString().Trim(), |
| | | routecode = routecode, |
| | | unprice = excelTable.Rows[i][5].ToString().Trim(), |
| | | eqp_value = excelTable.Rows[i][6].ToString().Trim(), |
| | | cavity_qty = excelTable.Rows[i][8].ToString().Trim(), |
| | | wkspcode = wkspcode, |
| | | username = User, |
| | | userdate = DateTime.Now.ToString(), |
| | | stepcode = stepcode |
| | | partcode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | routecode = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | stepcode = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | unprice = excelTable[0].Rows[i][3].ToString().Trim(), |
| | | username = us.usercode, |
| | | userdate = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | bool aa = DapperHelper.DoTransaction(list); |
| | | if (aa) |
| | | { |
| | | StuCode = "200"; |
| | | message = "导入成功!"; |
| | | } |
| | | else |
| | | { |
| | | StuCode = "300"; |
| | | message = "导入失败!"; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | StuCode = "300"; |
| | | message = e.Message; |
| | | } |
| | | return message; |
| | | } |
| | | #endregion |
| | | |
| | | #region【Excel数据上传,节拍工价(工序版)】 |
| | | public static string TwentyFiveSubmit(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(); |
| | | //导入节拍工价表 |
| | | for (int i = 0; i < excelTable[0].Rows.Count; i++) |
| | | { |
| | | //查询工序节拍表中:产品+工序是否存在 |
| | | sql = @"select * from TPrteEqp_Stad where materiel_code=@partcode and step_code=@stepcode"; |
| | | dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim()); |
| | | dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim()); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data.Rows.Count > 0) |
| | | { |
| | | sql = @"update TPrteEqp_Stad set unprice=@unprice,lm_user=@username,lm_date=@userdate |
| | | where materiel_code=@partcode and step_code=@stepcode"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | partcode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | stepcode = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | unprice = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | username = us.usercode, |
| | | userdate = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | sql = @"insert into TPrteEqp_Stad(materiel_code,step_code,unprice,lm_user,lm_date) |
| | | values(@partcode,@stepcode,@unprice,@username,@userdate)"; |
| | | list.Add(new |
| | | { |
| | | str = sql, |
| | | parm = new |
| | | { |
| | | partcode = excelTable[0].Rows[i][0].ToString().Trim(), |
| | | stepcode = excelTable[0].Rows[i][1].ToString().Trim(), |
| | | unprice = excelTable[0].Rows[i][2].ToString().Trim(), |
| | | username = us.usercode, |
| | | userdate = DateTime.Now.ToString() |
| | | } |
| | | }); |
| | | } |