예제 #1
0
        public void GenerateWorkProcesses(WorkProcess process)
        {
            var workprocess = this.Queryable().Include(x => x.SKU).Where(x => x.Id == process.Id).First();

            workprocess.Status = 1;
            this.Update(workprocess);
            var steps = _setpservice.Queryable().Where(x => x.ProductionProcessId == process.ProductionProcessId).ToList();
            var list  = new List <WorkProcessDetail>();

            foreach (var setp in steps)
            {
                if (!_processdetailservice.Queryable().Where(x => x.ProcessStepId == setp.Id).Any())
                {
                    WorkProcessDetail item = new WorkProcessDetail();
                    item.WorkProcessId       = process.Id;
                    item.Operator            = "";
                    item.SKUId               = workprocess.SKUId;
                    item.ComponentSKU        = workprocess.SKU.Sku;
                    item.GraphSKU            = workprocess.GraphSKU;
                    item.ProcessStepId       = setp.Id;
                    item.StandardElapsedTime = setp.ElapsedTime;
                    item.StationId           = setp.StationId;
                    item.StepName            = setp.StepName;
                    item.Status              = 0;
                    list.Add(item);
                }
            }
            _processdetailservice.InsertRange(list);
        }
        //[ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "ProcessStep,SKU,Station,WorkProcess,Id,WorkProcessId,SKUId,ComponentSKU,GraphSKU,ProcessStepId,StepName,StationId,StandardElapsedTime,StartingDateTime,CompletedDateTime,ElapsedTime,WorkingTime,Operator,QCConfirm,QCConfirmDateTime,CompletedConfirm,Status,Remark,CreatedUserId,CreatedDateTime,LastEditUserId,LastEditDateTime")] WorkProcessDetail workProcessDetail)
        {
            if (ModelState.IsValid)
            {
                workProcessDetail.ObjectState = ObjectState.Modified;
                _workProcessDetailService.Update(workProcessDetail);

                _unitOfWork.SaveChanges();
                if (Request.IsAjaxRequest())
                {
                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                DisplaySuccessMessage("Has update a WorkProcessDetail record");
                return(RedirectToAction("Index"));
            }
            var processstepRepository = _unitOfWork.Repository <ProcessStep>();

            ViewBag.ProcessStepId = new SelectList(processstepRepository.Queryable(), "Id", "StepName", workProcessDetail.ProcessStepId);
            var skuRepository = _unitOfWork.Repository <SKU>();

            ViewBag.SKUId = new SelectList(skuRepository.Queryable(), "Id", "Sku", workProcessDetail.SKUId);
            var stationRepository = _unitOfWork.Repository <Station>();

            ViewBag.StationId = new SelectList(stationRepository.Queryable(), "Id", "StationNo", workProcessDetail.StationId);
            var workprocessRepository = _unitOfWork.Repository <WorkProcess>();

            ViewBag.WorkProcessId = new SelectList(workprocessRepository.Queryable(), "Id", "WorkNo", workProcessDetail.WorkProcessId);
            if (Request.IsAjaxRequest())
            {
                var modelStateErrors = String.Join("", this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(n => n.ErrorMessage)));
                return(Json(new { success = false, err = modelStateErrors }, JsonRequestBehavior.AllowGet));
            }
            DisplayErrorMessage();
            return(View(workProcessDetail));
        }
        // GET: WorkProcessDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkProcessDetail workProcessDetail = _workProcessDetailService.Find(id);

            if (workProcessDetail == null)
            {
                return(HttpNotFound());
            }
            var processstepRepository = _unitOfWork.Repository <ProcessStep>();

            ViewBag.ProcessStepId = new SelectList(processstepRepository.Queryable(), "Id", "StepName", workProcessDetail.ProcessStepId);
            var skuRepository = _unitOfWork.Repository <SKU>();

            ViewBag.SKUId = new SelectList(skuRepository.Queryable(), "Id", "Sku", workProcessDetail.SKUId);
            var stationRepository = _unitOfWork.Repository <Station>();

            ViewBag.StationId = new SelectList(stationRepository.Queryable(), "Id", "StationNo", workProcessDetail.StationId);
            var workprocessRepository = _unitOfWork.Repository <WorkProcess>();

            ViewBag.WorkProcessId = new SelectList(workprocessRepository.Queryable(), "Id", "WorkNo", workProcessDetail.WorkProcessId);
            return(View(workProcessDetail));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult DeleteConfirmed(int id)
        {
            WorkProcessDetail workProcessDetail = _workProcessDetailService.Find(id);

            _workProcessDetailService.Delete(workProcessDetail);
            _unitOfWork.SaveChanges();
            if (Request.IsAjaxRequest())
            {
                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }
            DisplaySuccessMessage("Has delete a WorkProcessDetail record");
            return(RedirectToAction("Index"));
        }
        // GET: WorkProcessDetails/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkProcessDetail workProcessDetail = _workProcessDetailService.Find(id);

            if (workProcessDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(workProcessDetail));
        }
        // GET: WorkProcessDetails/Create
        public ActionResult Create()
        {
            WorkProcessDetail workProcessDetail = new WorkProcessDetail();
            //set default value
            var processstepRepository = _unitOfWork.Repository <ProcessStep>();

            ViewBag.ProcessStepId = new SelectList(processstepRepository.Queryable(), "Id", "StepName");
            var skuRepository = _unitOfWork.Repository <SKU>();

            ViewBag.SKUId = new SelectList(skuRepository.Queryable(), "Id", "Sku");
            var stationRepository = _unitOfWork.Repository <Station>();

            ViewBag.StationId = new SelectList(stationRepository.Queryable(), "Id", "StationNo");
            var workprocessRepository = _unitOfWork.Repository <WorkProcess>();

            ViewBag.WorkProcessId = new SelectList(workprocessRepository.Queryable(), "Id", "WorkNo");
            return(View(workProcessDetail));
        }