コード例 #1
0
        public JsonResult UpdateProdEntry(string row)
        {
            TPO.Web.Core.ResponseMessage responseMessage;
            try
            {
                TPOCProductRollModel productRoll = JsonConvert.DeserializeObject <TPOCProductRollModel>(row);
                if (productRoll.Id > 0)
                {
                    using (TPOCProductRollService service = new TPOCProductRollService())
                    {
                        var dto = service.Get(productRoll.Id);
                        if (dto.ProductCode != productRoll.ProductCode)
                        {
                            dto.ProductCode = productRoll.ProductCode;
                        }
                        if (dto.Code != productRoll.Code)
                        {
                            dto.Code = productRoll.Code;
                        }

                        service.Save(dto);
                    }
                    responseMessage = SetResponseMesssage(ActionTypeMessage.SuccessfulSave);
                }
                else
                {
                    responseMessage = SetResponseMesssage(ActionTypeMessage.Error, "Can't make changes to new product roll");
                }
            }
            catch (Exception ex)
            {
                responseMessage = SetResponseMesssage(ActionTypeMessage.FailedDelete, ex.Message);
            }
            return(Json(responseMessage, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public JsonResult SaveProdEntry(string prodEntry)
        {
            TPO.Web.Core.ResponseMessage responseMessage;

            try
            {
                TPOCProductRollModel productRoll = JsonConvert.DeserializeObject <TPOCProductRollModel>(prodEntry);
                productRoll.PlantId               = CurrentPlantId;
                productRoll.Modified              = true;
                productRoll.LastModified          = DateTime.Now;
                productRoll.DateEntered           = DateTime.Now;
                productRoll.EnteredBy             = CurrentUser;
                productRoll.ModifiedBy            = CurrentUser;
                productRoll.RawMaterialReceivedId = GetRawMaterialReceivedId(CurrentPlantId, productRoll.LotNumber);
                if (productRoll.MasterRollId == 0)
                {
                    productRoll.MasterRollId = null;
                }

                using (TPOCProductRollService service = new TPOCProductRollService())
                {
                    service.EditProdEntry(Mapper.Map <TPOCProductRollModel, TPOCProductRollDto>(productRoll));
                }
                responseMessage = SetResponseMesssage(ActionTypeMessage.SuccessfulSave);
            }
            catch (Exception ex)
            {
                responseMessage = SetResponseMesssage(ActionTypeMessage.FailedSave, ex.Message);
            }

            return(Json(responseMessage, JsonRequestBehavior.AllowGet));
        }
        public JsonResult FetchMasterRolls(int productionLineId, int shiftId, DateTime productionDate, int workOrderId = 0)
        {
            List <TPOCProductRoll> items = new List <TPOCProductRoll>();

            using (TPOCProductRollService service = new TPOCProductRollService())
            {
                var dtos = service.GetMasterRollsByShift(productionLineId, shiftId, productionDate).Where(delegate(TPOCProductRollDto d) { return(workOrderId == 0 ? true : d.WorkOrderID == workOrderId); });
                AutoMapper.Mapper.Map(dtos, items);
            }
            return(Json(items, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public JsonResult GetMasterRollComments(int masterRollId)
        {
            string comments = string.Empty;

            if (masterRollId > 0)
            {
                using (TPOCProductRollService service = new TPOCProductRollService())
                {
                    var dto = service.Get(masterRollId);
                    comments = dto.Comments;
                }
            }
            return(Json(comments, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
 public JsonResult RemoveProductionEntry(string row)
 {
     TPO.Web.Core.ResponseMessage responseMessage;
     try
     {
         TPOCProductRollModel productRoll = JsonConvert.DeserializeObject <TPOCProductRollModel>(row);
         using (TPOCProductRollService service = new TPOCProductRollService())
         {
             service.Delete(productRoll.Id);
         }
         responseMessage = SetResponseMesssage(ActionTypeMessage.SuccessfulDelete);
     }
     catch (Exception ex)
     {
         responseMessage = SetResponseMesssage(ActionTypeMessage.FailedDelete, ex.Message);
     }
     return(Json(responseMessage, JsonRequestBehavior.AllowGet));
 }
コード例 #6
0
        public JsonResult GetWorkOrderShiftData(int lineID, int shiftID, int workOrderID, DateTime prodDate)
        {
            WorkOrderShiftDataModel model = new WorkOrderShiftDataModel();

            //Set default units of measure
            using (UnitOfMeasureService svc = new UnitOfMeasureService())
            {
                var lengthDefault = svc.GetDefaultByTypeCode("L");
                if (lengthDefault != null)
                {
                    model.LengthUnitOfMeasure = lengthDefault.Code;
                }
                var weightDefault = svc.GetDefaultByTypeCode("W");
                if (weightDefault != null)
                {
                    model.WeightUnitOfMeasure = weightDefault.Code;
                }
            }

            //Get production line
            ProductionLinesDto lineDto = null;

            using (ProductionLineService lineSvc = new ProductionLineService())
            {
                lineDto = lineSvc.Get(lineID);
            }
            if (lineDto != null)
            {
                List <TPOCProductRollDto> rollDtos = new List <TPOCProductRollDto>();
                using (TPOCProductRollService rollSvc = new TPOCProductRollService())
                {
                    if (lineDto.TPOMorC == "M")
                    {
                        //Get master rolls
                        rollDtos.AddRange(rollSvc.GetMasterRollsByShift(lineID, shiftID, prodDate));
                    }
                    else
                    {
                        //Get child rolls
                        rollDtos.AddRange(rollSvc.GetChildRollsByShift(lineID, shiftID, prodDate));
                    }
                }
                //Filter for rolls specific to the work order
                var workOrderRolls = rollDtos.Where(r => r.WorkOrderID == workOrderID).ToList();
                model.RollCount1      = workOrderRolls.Count;
                model.Length1         = workOrderRolls.Sum(r => r.Length);
                model.Weight1         = workOrderRolls.Sum(r => r.Weight);
                model.ShiftRollWeight = rollDtos.Sum(r => r.Weight);

                //Get scraps
                List <TPOLineScrapDto> scrapDtos = new List <TPOLineScrapDto>();
                using (TPOLineScrapService scrapSvc = new TPOLineScrapService())
                {
                    scrapDtos.AddRange(scrapSvc.GetByShift(shiftID, prodDate));
                }
                //Filter for scraps specific to the work order
                var woScraps = scrapDtos.Where(s => s.WorkOrderID == workOrderID).ToList();
                for (int i = 0; i < woScraps.Count; i++)
                {
                    switch (woScraps[i].TPOLineScrapTypeDescription)
                    {
                    case "Second":
                    {
                        model.Length2 += woScraps[i].Length;
                        model.Weight2 += woScraps[i].Weight;
                    } break;

                    case "Third":
                    {
                        model.Length3 += woScraps[i].Length;
                        model.Weight3 += woScraps[i].Weight;
                    } break;

                    case "Fourth":
                    {
                        model.Length4 += woScraps[i].Length;
                        model.Weight4 += woScraps[i].Weight;
                    } break;
                    }
                }
                model.ShiftScrapWeight = scrapDtos.Sum(s => s.Weight);

                //Get downtime
                List <DownTimeDto> dtDtos = new List <DownTimeDto>();
                using (DownTimeService dtSvc = new DownTimeService())
                {
                    dtDtos.AddRange(dtSvc.GetByShift(lineID, shiftID, prodDate));
                }

                var woDowntime = dtDtos.Where(dt => dt.WorkOrderID == workOrderID).ToList();
                model.DownTimeMinutes      = woDowntime.Sum(dt => dt.DownTimeMinutes);
                model.ShiftDownTimeMinutes = dtDtos.Sum(dt => dt.DownTimeMinutes);

                //Get production line schedule
                List <ProductionLineScheduleDto> plSchedDtos = new List <ProductionLineScheduleDto>();
                using (ProductionLineScheduleService plSchedSvc = new ProductionLineScheduleService())
                {
                    plSchedDtos.AddRange(plSchedSvc.GetByShift(lineID, shiftID, prodDate));
                }

                model.ScheduledRunTime = plSchedDtos.Sum(s => s.MinutesScheduled);

                //Check if feeder entry forms need to be used
                if (lineDto.LineDescCode == "TPO")
                {
                    model.RMUse = true;
                    List <TPOFormulationLineProductDto> formDtos = new List <TPOFormulationLineProductDto>();
                    using (TPOFormulationLineProductService formSvc = new TPOFormulationLineProductService())
                    {
                        formDtos.AddRange(formSvc.GetByWorkOrder(lineID, workOrderID));
                    }
                    if (formDtos.Count > 0)
                    {
                        model.Form      = formDtos.First().TPOFormulationID;
                        model.Extruders = formDtos.First().TPOFormulationExtruders;
                    }

                    List <WorkOrderShiftDataDto> eorDtos = new List <WorkOrderShiftDataDto>();
                    using (WorkOrderShiftDataService eorSvc = new WorkOrderShiftDataService())
                    {
                        eorDtos.AddRange(eorSvc.GetByShift(lineID, shiftID, prodDate));

                        if (eorDtos.Count == 0)
                        {
                            eorSvc.Add(new WorkOrderShiftDataDto()
                            {
                                LineID         = lineID,
                                ProductionDate = prodDate,
                                ShiftID        = shiftID,
                                WorkOrderID    = workOrderID,
                                PlantID        = CurrentPlantId,
                                EnteredBy      = CurrentUser,
                                DateEntered    = DateTime.Now,
                                ModifiedBy     = CurrentUser,
                                LastModified   = DateTime.Now
                            });
                        }
                        else
                        {
                            model.ScrimA = eorDtos.First().ScrimAreaUsed;
                            model.ScrimW = eorDtos.First().ScrimWeightUsed;
                            model.Resin  = eorDtos.First().DrainedResin;
                        }
                    }
                }
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }