Пример #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);
        }
Пример #2
0
 public int Update(MPSTLItem item)
 {
     if (item.SubFItemId == 0)
     {
         return(0);
     }
     _dbcontext.Entry(item).State = System.Data.Entity.EntityState.Modified;
     return(_dbcontext.SaveChanges());
 }
Пример #3
0
 /// <summary>
 /// 用户权下的删除
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public int UserDelete(MPSTLItem item)
 {
     if (item == null || item.SubFItemId == 0 || item.FeedingDate != null || item.OutFeedingDate != null)
     {
         return(0);
     }
     item.IsDeleted = true;
     _dbcontext.Entry(item).State = EntityState.Modified;
     return(_dbcontext.SaveChanges());
 }
Пример #4
0
        public int Insert(MPSTLItem item)
        {
            if (item.SubFItemId == 0)
            {
                return(0);
            }
            int _id     = _dbcontext.MPSTLItems.Select(x => x.ID).DefaultIfEmpty(0).Max();
            int _xh     = _dbcontext.MPSTLItems.Select(x => x.XH).DefaultIfEmpty(0).Max();
            var _billno = "TL" + (_id + 1).ToString().PadLeft(6, '0');

            item.BillNo    = _billno;
            item.XH        = _xh + 1;
            item.IsDeleted = false;
            _dbcontext.MPSTLItems.Add(item);
            return(_dbcontext.SaveChanges());
        }
Пример #5
0
 static void Insert(MPSTLItem item)
 {
     OnItemsChanged();
 }
Пример #6
0
 static void Delete(MPSTLItem item)
 {
     OnItemsChanged();
 }