Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
        }