Beispiel #1
0
        /// <summary>
        /// 异步方法有可能造成2条记录的录入
        /// </summary>
        /// <param name="item"></param>
        public static void Update(MPSTLItem item)
        {
            //OnItemsChanged();

            var _repository = new Repository.TLScheduleRepository();
            ///获取待更新的计划stamp
            var _planstamp = item.PlanStamp;

            if (_repository.GetALL().Where(w => w.PlanStamp == _planstamp && w.OutFeedingDate != null).Count() == 1)
            {
                //说明已经完成计划投料了 ,可以下任务了。
                var cpitem = item.CPItem;
                //成品分解
                cpitem.OnItemIDChanged();
                //成品分解后的子项的赋值
                cpitem.GetComponetItemsConsum(item.Qty);
                cpitem.NextRCLProcessItems.ForEach(x =>
                {
                    new ICMO
                    {
                        FauxQty         = x.FAuxQty,
                        FBomInterID     = x.BOMId,
                        FWorkShop       = x.DepId,
                        FPlanCommitDate = DateTime.Now.Date,
                        FPlanFinishDate = DateTime.Now.Date,
                        FItemId         = x.K3ItemID,
                        QJId            = item.QJId,
                        WorkId          = x.WorkID,
                        FCostObjId      = x.FCustObjId,
                        FRoutingId      = x.FRoutingId,
                        UnitID          = 305,
                        TLBillNo        = item.PlanStamp,
                        CPItemId        = cpitem.K3ItemID
                    }.InsertICMO();
                });
                //成品
                new ICMO
                {
                    FauxQty         = item.Qty,
                    FBomInterID     = cpitem.BOMId,
                    FWorkShop       = cpitem.DepId,
                    FPlanCommitDate = DateTime.Now.Date,
                    FPlanFinishDate = DateTime.Now.Date,
                    FItemId         = cpitem.K3ItemID,
                    QJId            = item.QJId,
                    WorkId          = 55,
                    FCostObjId      = item.CPItem.FCustObjId,
                    FRoutingId      = item.CPItem.FRoutingId,
                    UnitID          = 293,
                    TLBillNo        = item.PlanStamp,
                    CPItemId        = cpitem.K3ItemID
                }.InsertICMO();
            }
            item.OutFeedingDate = DateTime.Now;
            item.RunningStatus  = TLRunningStatus.完成;
            _repository.Update(item);
        }
Beispiel #2
0
        private void DataLoad()
        {
            mpsTLItemsList = new Repository.TLScheduleRepository().GetALL()
                             .Where(w => w.RunningStatus != TLRunningStatus.完成).OrderByDescending(b => b.XH).ToList();

            for (int i = 0; i < mpsTLItemsList.Count; i++)
            {
                mpsTLItemsList[i].XH = i + 1;
            }
            MPSTLItemsView = new ObservableCollection <MPSTLItem>(mpsTLItemsList);
        }