コード例 #1
0
        public ActionResult CreateWoTas(long id)
        {
            ScheduleMaintenanceTbl schdl = _context.ScheduleMaintenanceTbl.Where(x => x.ScheduleMainId == id).First();

            WorkOrderTbl wo = new WorkOrderTbl();

            wo.AssetId          = schdl.AssetId;
            wo.SiteId           = schdl.SiteId;
            wo.TechnicianId     = schdl.TechnicianId;
            wo.WoDesc           = schdl.MaintenanceDesc;
            wo.MaentenanceId    = schdl.ScheduleMainId;
            wo.RequestId        = null;
            wo.Date             = DateTime.Now;
            wo.CreatedAtWo      = DateTime.Now;
            wo.EstimatedWorking = schdl.EstimatedTime;
            wo.TaskDetail       = schdl.TaskDetail;
            wo.EntityId         = _context.TaskTbl.Where(x => x.TaskId == schdl.TaskId).First().TaskCode;


            _context.WorkOrderTbl.Add(wo);
            _context.SaveChanges();



            ScheduleMaintenanceTbl schdl2 = _context.ScheduleMaintenanceTbl.Where(x => x.ScheduleMainId == id).First();

            schdl2.Sended          = true;
            schdl2.LastMaintenance = DateTime.Now;
            _context.Update(schdl2);
            _context.SaveChanges();

            return(Json(new { success = true }));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(long id, WorkOrderTbl workOrder)
        {
            if (id != workOrder.WoId)
            {
                return(NotFound());
            }

            //var a = Convert.ToBoolean(workOrder.SparepartActive);
            //var b = "";
            //if (a == true)
            //{
            //    b = "Active";
            //}
            //else
            //{
            //    b = "Non Active";
            //}

            if (ModelState.IsValid)
            {
                //  var checkmainid = _db.WorkOrderTbl.Where(x => x.WoId == id).First();

                workOrder.MaentenanceId = _db.WorkOrderTbl.AsNoTracking().Where(x => x.WoId == id).First().MaentenanceId;
                workOrder.RequestId     = _db.WorkOrderTbl.AsNoTracking().Where(x => x.WoId == id).First().RequestId;
                //workOrder.SparepartActive = b;
                //_db.Add(workOrder);
                //await _db.SaveChangesAsync();
                _db.Update(workOrder);
                _db.SaveChanges();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(workOrder));
        }
コード例 #3
0
ファイル: WoRequestController.cs プロジェクト: ibnumei/Asseta
        public ActionResult CreateWoTas(long id)
        {
            WoRequestTbl schdl     = _context.WoRequestTbl.Where(x => x.Id == id).First();
            var          linestask = _context.WoRequestTaskLine.Where(x => x.WoRequestId == id).First().TaskId;

            WorkOrderTbl wo = new WorkOrderTbl();

            wo.AssetId = schdl.AssetId;
            wo.SiteId  = schdl.SiteId;
            //  wo.TechnicianId = schdl.TechnicianId;
            wo.WoDesc        = schdl.RequestDesc;
            wo.MaentenanceId = null;
            wo.Date          = DateTime.Now;
            wo.CreatedAtWo   = DateTime.Now;
            wo.RequestId     = schdl.Id;
            //  wo.EstimatedWorking = schdl.EstimatedTime;
            // wo.TaskDetail = schdl.TaskDetail;
            wo.EntityId = _context.TaskTbl.Where(x => x.TaskId == linestask).First().TaskCode;


            _context.WorkOrderTbl.Add(wo);
            _context.SaveChanges();



            WoRequestTbl schdl2 = _context.WoRequestTbl.Where(x => x.Id == id).First();

            schdl2.Status = "In Approval";
            // schdl2.LastMaintenance = DateTime.Now;
            _context.Update(schdl2);
            _context.SaveChanges();

            return(Json(new { success = true }));
        }
コード例 #4
0
        public ActionResult Run(long id)
        {
            WorkOrderTbl wotbl = _db.WorkOrderTbl.Where(x => x.WoId == id).First();

            string woeid = "";

            woeid = generateRunningNumber(woeid);

            WoExecutionTbl woe = new WoExecutionTbl();

            woe.WoId          = wotbl.WoId;
            woe.Date          = DateTime.Now;
            woe.SiteId        = wotbl.SiteId;
            woe.TechnicianId  = wotbl.TechnicianId;
            woe.WoDesc        = wotbl.WoDesc;
            woe.WorkExeId     = woeid;
            woe.RequestId     = wotbl.RequestId;
            woe.MaintenanceId = wotbl.MaentenanceId;
            woe.Status        = "Not Started";
            //Not Enough Parts
            _db.WoExecutionTbl.Add(woe);
            _db.SaveChanges();

            var            IdWoe = _db.WoExecutionTbl.Where(x => x.WoId == wotbl.WoId).First().Id;
            WoExecutionTbl wowo  = _db.WoExecutionTbl.Where(x => x.Id == IdWoe).First();

            if (wotbl.MaentenanceId == null)
            {
                if (wotbl.SparepartActive == true)
                {
                    List <WoRequestSpartpartLineTbl> spline = _db.WoRequestSpartpartLineTbl.Where(x => x.WoRequestId == wotbl.RequestId).ToList();
                    for (int i = 0; i < spline.Count; i++)
                    {
                        var checkQty             = _db.SparepartTbl.Where(x => x.SparepartId == spline[i].SparepartId).First();
                        WoExeSparepartTbl wosptb = new WoExeSparepartTbl();
                        wosptb.WoExeId       = IdWoe;
                        wosptb.SparepartId   = spline[i].SparepartId;
                        wosptb.SparepartCode = _db.SparepartTbl.Where(x => x.SparepartId == spline[i].SparepartId).First().SparepartCode;
                        wosptb.Quantity      = spline[i].Quantity;
                        if (checkQty.Qty < spline[i].Quantity && wotbl.Status == "Approved")
                        {
                            createSPR(spline[i], wotbl.WoId, checkQty.Qty);

                            wowo.Status = "Not Enough Parts";
                        }



                        _db.WoExeSparepartTbl.Add(wosptb);
                        _db.SaveChanges();
                    }
                }

                List <WoRequestTaskLine> tskline = _db.WoRequestTaskLine.Where(x => x.WoRequestId == wotbl.RequestId).ToList();
                for (int i = 0; i < tskline.Count; i++)
                {
                    WoExeTaskTbl wotsk = new WoExeTaskTbl();
                    wotsk.WoExeId  = IdWoe;
                    wotsk.TaskCode = "FRQ";
                    wotsk.Detail   = tskline[i].TaskDetail;
                    //wotsk.TaskType = tskline[i].TaskType;

                    _db.WoExeTaskTbl.Add(wotsk);
                    _db.SaveChanges();
                }
            }
            else
            {
                if (wotbl.SparepartActive == true)
                {
                    List <ScheduleSparepartLinesTbl> spline = _db.ScheduleSparepartLinesTbl.Where(x => x.ScheduleMainId == wotbl.MaentenanceId).ToList();
                    for (int i = 0; i < spline.Count; i++)
                    {
                        var checkQty             = _db.SparepartTbl.Where(x => x.SparepartId == spline[i].SparepartId).First();
                        WoExeSparepartTbl wosptb = new WoExeSparepartTbl();
                        wosptb.WoExeId       = IdWoe;
                        wosptb.SparepartId   = spline[i].SparepartId;
                        wosptb.SparepartCode = _db.SparepartTbl.Where(x => x.SparepartId == spline[i].SparepartId).First().SparepartCode;
                        wosptb.Quantity      = spline[i].Quantity;
                        if (checkQty.Qty < spline[i].Quantity && wotbl.Status == "Approved")
                        {
                            createSPR2(spline[i], wotbl.WoId, checkQty.Qty);
                            wowo.Status = "Not Enough Parts";
                        }

                        _db.WoExeSparepartTbl.Add(wosptb);
                        _db.SaveChanges();
                    }
                }

                List <TaskLineTbl> tskline = _db.TaskLineTbl.Where(x => x.TaskCode == wotbl.EntityId).ToList();
                for (int i = 0; i < tskline.Count; i++)
                {
                    WoExeTaskTbl wotsk = new WoExeTaskTbl();
                    wotsk.WoExeId  = IdWoe;
                    wotsk.TaskCode = tskline[i].TaskCode;
                    wotsk.Detail   = tskline[i].TaskName;
                    wotsk.TaskType = tskline[i].TaskType;

                    _db.WoExeTaskTbl.Add(wotsk);
                    _db.SaveChanges();
                }
            }

            _db.Update(wowo);
            _db.SaveChanges();


            return(Json(new { success = true }));
        }