/// <summary> /// 下发轧钢计划 /// </summary> /// <returns></returns> public string UpdateWgt(DataRow[] rows) { try { string result = "1"; TransactionHelper.BeginTransaction(); Dal_TSC_SLAB_MAIN dalMain = new Dal_TSC_SLAB_MAIN(); int a = 0; foreach (var item in rows) { a++; decimal cou = Convert.ToDecimal(item["NC账存支数"].ToString()); decimal wgt = Convert.ToDecimal(item["NC与CAP重量账差"].ToString()); if (cou == 0 || wgt == 0) { continue; } decimal wgt_ave = Math.Round(wgt / cou, 3); decimal wgt_sy = 0; if (cou > 1) { wgt_sy = wgt - wgt_ave * (cou - 1); } DataTable dt = dalMain.Get_List(item["炉号"].ToString(), item["钢种"].ToString(), item["开坯号"].ToString(), item["物料号"].ToString(), item["自由项1"].ToString(), item["自由项2"].ToString(), item["质量等级"].ToString(), item["仓库"].ToString()).Tables[0]; if (dt.Rows.Count == cou) { for (int kk = 0; kk < dt.Rows.Count; kk++) { Mod_TSC_SLAB_MAIN model = dalMain.GetModel_Trans(dt.Rows[kk]["C_ID"].ToString()); if (kk == dt.Rows.Count - 1) { if (cou == 1) { model.N_WGT = model.N_WGT + wgt_ave; } else { model.N_WGT = model.N_WGT + wgt_sy; } } else { model.N_WGT = model.N_WGT + wgt_ave; } if (!dalMain.Update_Trans(model)) { TransactionHelper.RollBack(); return("重量更新失败!"); } } } else { continue; } } TransactionHelper.Commit(); return(result); } catch (Exception ex) { TransactionHelper.RollBack(); return(ex.Message); } }