/// <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); }
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); }