Exemple #1
0
        /// <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);
            }
        }