/// <summary> /// 修改炉数 /// </summary> /// <param name="current"></param> /// <param name="ls"></param> public void ChangedLs(Mod_TPP_LGPC_LSB current, decimal ls) { // 最大,最小,正常炉数 decimal maxLs = 22m, minLs = 18m, normalLs = 20m; // 浇次炉次数据 var jcData = LCLSBList.Where(w => w.C_FK == current.C_ID); // 差异炉数,正数增多炉数,负数减少炉数 var exceptLs = (int)((ls - current.N_ZJCLS) ?? 0); // 增多炉数 if (jcData.Count() == 0) { throw new Exception("没有炉次计划可供添加!"); } if (exceptLs > 0) { _helper.Add(current, exceptLs); } else { // 减少炉数,不违反订单最少炉数,直接减少,否则减少炉数,排列到最后一个浇次中 _helper.Remove(current, -exceptLs); } }
/// <summary> /// 加载炉次计划 /// </summary> private void InitLcLsb() { var result = bll_lclsb.GetModelList(string.Empty, _strCCMID); foreach (var item in result) { item.N_SORT = result.IndexOf(item) + 1; } LCLSBList.Clear(); LCLSBList.AddRange(result); }