Пример #1
0
        // GET: EquipmentPlan
        public ActionResult Index()
        {
            DictionaryRepository dicRepository = new DictionaryRepository(false);

            Guid id = Guid.NewGuid();

            ViewBag.EquipmentPlanType =
                dicRepository.GetAsQuarable().Where(o => o.Type == Dictionary.DicEquipmentPlanType.DicCode && o.ExpireDate == null)
                .ToList().OrderBy(o => o.Name)
                .Select(o => new Item()
            {
                Id = o.Id.ToString(), Name = o.Name
            }).ToList();

            ViewBag.PlanType = dicRepository.GetDictionaryElementIdByTypeAndCode(
                Dictionary.DicEquipmentPlanType.DicCode, Dictionary.DicEquipmentPlanType.CheckPlan);

            EquipmentRepository eRepository = new EquipmentRepository(false);
            var equipment = eRepository.GetAsQuarable(e => e.DeleteDate == null).FirstOrDefault();

            if (equipment != null)
            {
                ViewBag.EquipmentDefaultId = equipment.Id;
            }

            return(PartialView(id));
        }
Пример #2
0
        public JsonResult CreateMaterial(EXP_Materials model)
        {
            var errors = ModelState.Values.Select(v => v.Errors);

            if (ModelState.IsValid)
            {
                MaterialRepository repository = new MaterialRepository(false);
                EXP_Materials      m          = new EXP_Materials()
                {
                    Id                     = Guid.NewGuid(),
                    Name                   = model.Name,
                    TypeId                 = model.TypeId,
                    RegistrationDate       = model.RegistrationDate ?? DateTime.Now,
                    CreatedDate            = DateTime.Now,
                    DrugFormId             = model.DrugFormId,
                    Dosage                 = model.Dosage,
                    DosageUnitId           = model.DosageUnitId,
                    DosageQuantity         = model.DosageQuantity,
                    Concentration          = model.Concentration,
                    Volume                 = model.Volume,
                    VolumeUnitId           = model.VolumeUnitId,
                    IsContainNPP           = model.IsContainNPP,
                    ProducerId             = model.ProducerId,
                    CountryId              = model.CountryId,
                    Quantity               = model.Quantity,
                    UnitId                 = model.UnitId,
                    Batch                  = model.Batch,
                    DateOfManufacture      = model.DateOfManufacture,
                    ExpirationDate         = model.ExpirationDate,
                    RetestDate             = model.RetestDate,
                    IsCertificatePassport  = model.IsCertificatePassport,
                    StorageId              = model.StorageId,
                    StorageTemperatureFrom = model.StorageTemperatureFrom,
                    StorageTemperatureTo   = model.StorageTemperatureTo,
                    ActiveSubstancePercent = model.ActiveSubstancePercent,
                    WaterContentPercent    = model.WaterContentPercent,
                    DrugDeclarationId      = model.DrugDeclarationId,
                    IsAdditional           = model.IsAdditional,
                    // DeleteDate = model.DeleteDate
                };
                DictionaryRepository drep = new DictionaryRepository(false);
                var statusId = drep.GetDictionaryElementIdByTypeAndCode(Dictionary.MaterialRdStatus.DicCode, Dictionary.MaterialRdStatus.Registered);
                m.StatusId = statusId;

                repository.Insert(m);

                repository.Save();
                model.Id = m.Id;
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        public JsonResult AcceptMaterials(Guid modelId)
        {
            MaterialRepository repository = new MaterialRepository(false);
            EXP_Materials      m          = repository.GetById(modelId);

            DictionaryRepository drep = new DictionaryRepository(false);
            var statusId = drep.GetDictionaryElementIdByTypeAndCode(Dictionary.MaterialRdStatus.DicCode, Dictionary.MaterialRdStatus.Accepted);

            m.StatusId = statusId;

            repository.Update(m);
            repository.Save();

            return(Json(modelId, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ActionResult MaterialListPartialVew(Guid?ddId)
        {
            DictionaryRepository repository = new DictionaryRepository();
            Guid?mpSample = repository.GetDictionaryElementIdByTypeAndCode(Dictionary.MaterialRdType.DicCode, Dictionary.MaterialRdType.MpSample);
            CreateMaterialViewModel model = new CreateMaterialViewModel()
            {
                DrugDeclarationId = ddId
            };

            if (mpSample.HasValue)
            {
                model.TypeIdDefaultValue = mpSample.Value;
            }

            return(PartialView(model));
        }
Пример #5
0
        public JsonResult SaveProtocolOfQualification(LimsEquipmentAct model)
        {
            string msg = string.Empty;

            ModelState.Remove("Id");
            if (ModelState.IsValid)
            {
                try
                {
                    EquipmentRepository  eRepository = new EquipmentRepository();
                    DictionaryRepository dicRepo     = new DictionaryRepository(false);
                    if (model.Id == Guid.Empty)
                    {
                        model.Id         = Guid.NewGuid();
                        model.CreateDate = DateTime.Now;

                        Guid?actTypeId = dicRepo.GetDictionaryElementIdByTypeAndCode(Dictionary.DicEquipmentAct.DicCode,
                                                                                     Dictionary.DicEquipmentAct.ProtocolOfQualification);
                        if (actTypeId != null)
                        {
                            model.ActTypeId = actTypeId.Value;
                        }

                        eRepository.InsertLimsEquipmentAct(model);
                    }
                    else
                    {
                        eRepository.UpdateLimsEquipmentAct(model);
                    }
                    eRepository.Save();
                }
                catch (Exception e)
                {
                    msg = e.ToString();
                }
            }
            return(Json(new { msg }, JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        /// <summary>
        /// Протокол квалификации
        /// </summary>
        /// <param name="id"></param>
        /// <param name="equipmentId"></param>
        /// <returns></returns>
        public PartialViewResult ProtocolOfQualificationForm(Guid?id, Guid?equipmentId)
        {
            ViewBag.UiId = Guid.NewGuid().ToString();

            EquipmentRepository eRepository = new EquipmentRepository();
            LimsEquipmentAct    act         = new LimsEquipmentAct();

            act.Id           = Guid.Empty;
            act.FileLinkData = new FileLink();
            if (equipmentId.HasValue && !id.HasValue)
            {
                var equipment = eRepository.GetAsQuarable(e => e.Id == equipmentId)
                                .FirstOrDefault();
                act.LimsEquipment = equipment;
                act.EquipmentId   = equipmentId.Value;
            }
            else if (id.HasValue)
            {
                act = eRepository.GetLimsEquipmentActs(ea => ea.Id == id).FirstOrDefault();
                if (act != null)
                {
                    act.FileLinkData = eRepository.GetActualActFile(id.Value);
                    if (act.FileLinkData == null)
                    {
                        DictionaryRepository dicRepo = new DictionaryRepository(false);
                        act.FileLinkData            = new FileLink();
                        act.FileLinkData.CategoryId = dicRepo.GetDictionaryElementIdByTypeAndCode(Dictionary.DicEquipmentAct.DicCode,
                                                                                                  Dictionary.DicEquipmentAct.ProtocolOfQualification);
                        act.FileLinkData.DocumentId = act.Id;
                        act.FileLinkData.Id         = Guid.NewGuid();
                    }
                    act.FileLinkData.AcceptFormats =
                        "application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/pdf, image/jpeg";
                }
            }

            return(PartialView("ProtocolOfQualificationView", act));
        }
Пример #7
0
        public ActionResult CreateSparePart([DataSourceRequest] DataSourceRequest request,
                                            [Bind(Exclude = "Id")] LimsEquipmentActSparePart model, Guid actId, Guid equipmentId)
        {
            if (ModelState.IsValid)
            {
                EquipmentRepository eRepository = new EquipmentRepository(false);
                var act = eRepository.GetLimsEquipmentActs(a => a.Id == actId).FirstOrDefault();
                if (act == null)
                {
                    act = new LimsEquipmentAct()
                    {
                        Id          = actId,
                        CreateDate  = DateTime.Now,
                        EquipmentId = equipmentId
                    };

                    DictionaryRepository dicRepo = new DictionaryRepository(false);
                    Guid?actTypeId = dicRepo.GetDictionaryElementIdByTypeAndCode(Dictionary.DicEquipmentAct.DicCode,
                                                                                 Dictionary.DicEquipmentAct.ActOfSpareParts);
                    if (actTypeId != null)
                    {
                        act.ActTypeId = actTypeId.Value;
                    }

                    eRepository.InsertLimsEquipmentAct(act);
                    eRepository.Save();
                }
                model.EquipmentActId = act.Id;


                model.Id          = Guid.NewGuid();
                model.CreatedDate = DateTime.Now;

                eRepository.InsertLimsEquipmentActSparePart(model);
                eRepository.Save();
            }
            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #8
0
        public JsonResult AcceptDirection(Guid directionId)
        {
            MaterialDirectionRepository repository = new MaterialDirectionRepository(false);
            EXP_MaterialDirections      m          = repository.GetAsQuarable(d => d.Id == directionId).FirstOrDefault();

            if (m != null)
            {
                DictionaryRepository drep = new DictionaryRepository(false);
                var statusId = drep.GetDictionaryElementIdByTypeAndCode(Dictionary.MaterialDirectionStatusDic.DicCode, Dictionary.MaterialDirectionStatusDic.Accepted);
                if (statusId.HasValue)
                {
                    m.StatusId = statusId.Value;
                }

                m.ReceiveDate        = DateTime.Now;
                m.ExecutorEmployeeId = UserHelper.GetCurrentEmployee().Id;

                repository.Update(m);
                repository.Save();
            }

            return(Json(directionId, JsonRequestBehavior.AllowGet));
        }
Пример #9
0
        public JsonResult SaveActForRepair(LimsEquipmentAct model)
        {
            string msg = string.Empty;

            ModelState.Remove("Id");
            if (ModelState.IsValid)
            {
                try
                {
                    EquipmentRepository  eRepository = new EquipmentRepository();
                    DictionaryRepository dicRepo     = new DictionaryRepository(false);
                    EmployeesRepository  empRepo     = new EmployeesRepository(false);
                    var act = eRepository.GetLimsEquipmentActs(a => a.Id == model.Id).FirstOrDefault();

                    if (act == null)
                    {
                        model.Id         = Guid.NewGuid();
                        model.CreateDate = DateTime.Now;

                        Guid?actTypeId = dicRepo.GetDictionaryElementIdByTypeAndCode(Dictionary.DicEquipmentAct.DicCode,
                                                                                     Dictionary.DicEquipmentAct.ActForRepair);
                        if (actTypeId != null)
                        {
                            model.ActTypeId = actTypeId.Value;
                        }

                        var headOfLab = empRepo.GetById(model.HeadOfLaboratoryId);
                        if (headOfLab != null)
                        {
                            model.HeadOfLaboratoryName = headOfLab.FullName;
                        }
                        var engineer = empRepo.GetById(model.EngineerId);
                        if (engineer != null)
                        {
                            model.EngineerName = engineer.FullName;
                        }

                        eRepository.InsertLimsEquipmentAct(model);
                    }
                    else
                    {
                        act.State  = model.State;
                        act.Reason = model.Reason;

                        act.HeadOfLaboratoryId = model.HeadOfLaboratoryId;
                        var headOfLab = empRepo.GetById(model.HeadOfLaboratoryId);
                        if (headOfLab != null)
                        {
                            act.HeadOfLaboratoryName = headOfLab.FullName;
                        }

                        act.EngineerId = model.EngineerId;
                        var engineer = empRepo.GetById(model.EngineerId);
                        if (engineer != null)
                        {
                            act.EngineerName = engineer.FullName;
                        }

                        eRepository.UpdateLimsEquipmentAct(act);
                    }

                    eRepository.Save();
                }
                catch (Exception e)
                {
                    msg = e.ToString();
                }
            }
            return(Json(new { msg }, JsonRequestBehavior.AllowGet));
        }
Пример #10
0
        public JsonResult SaveActOfConversation(LimsEquipmentAct model)
        {
            string msg = string.Empty;

            ModelState.Remove("Id");
            if (ModelState.IsValid)
            {
                try
                {
                    EquipmentRepository  eRepository = new EquipmentRepository();
                    DictionaryRepository dicRepo     = new DictionaryRepository(false);
                    EmployeesRepository  empRepo     = new EmployeesRepository(false);
                    if (model.Id == Guid.Empty)
                    {
                        model.Id         = Guid.NewGuid();
                        model.CreateDate = DateTime.Now;

                        Guid?actTypeId = dicRepo.GetDictionaryElementIdByTypeAndCode(Dictionary.DicEquipmentAct.DicCode,
                                                                                     Dictionary.DicEquipmentAct.ActOfConversation);
                        if (actTypeId != null)
                        {
                            model.ActTypeId = actTypeId.Value;
                        }

                        var headOfLab = empRepo.GetById(model.HeadOfLaboratoryId);
                        if (headOfLab != null)
                        {
                            model.HeadOfLaboratoryName = headOfLab.FullName;
                        }
                        var director = empRepo.GetById(model.DirectorRCId);
                        if (director != null)
                        {
                            model.DirectorRCName = director.FullName;
                        }

                        eRepository.InsertLimsEquipmentAct(model);
                    }
                    else
                    {
                        var headOfLab = empRepo.GetById(model.HeadOfLaboratoryId);
                        if (headOfLab != null)
                        {
                            model.HeadOfLaboratoryName = headOfLab.FullName;
                        }
                        var director = empRepo.GetById(model.DirectorRCId);
                        if (director != null)
                        {
                            model.DirectorRCName = director.FullName;
                        }

                        eRepository.UpdateLimsEquipmentAct(model);
                    }
                    eRepository.Save();
                }
                catch (Exception e)
                {
                    msg = e.ToString();
                }
            }
            return(Json(new { msg }, JsonRequestBehavior.AllowGet));
        }
Пример #11
0
        public ActionResult CreateCertificateOfCompletion(int stageId, Guid drugDeclarationId)
        {
            CertificateOfCompletionRepository repository = new CertificateOfCompletionRepository();
            DictionaryRepository dictionary = new DictionaryRepository(false);
            var newStatusId = dictionary.GetDictionaryElementIdByTypeAndCode(Dictionary.CertificateOfCompletionStatusDic.DicCode,
                                                                             Dictionary.CertificateOfCompletionStatusDic.New);

            DirectionToPayRepository directionRepository = new DirectionToPayRepository(false);
            var directionToPay =
                directionRepository.GetAsQuarable(
                    d => d.EXP_DrugDeclaration.Any(dd => dd.Id == drugDeclarationId) &&
                    d.Type == EXP_DirectionToPaysView.ExpertWorkType && d.DeleteDate == null).FirstOrDefault();

            if (directionToPay != null)
            {
                var  cert    = repository.GetAsQuarable(coc => coc.DicStageId == stageId && coc.DrugDeclarationId == drugDeclarationId && coc.DeleteDate == null).FirstOrDefault();
                bool isExist = cert != null;

                if (!isExist)
                {
                    cert = new EXP_CertificateOfCompletion()
                    {
                        Id                = Guid.NewGuid(),
                        Number            = Registrator.GetNumber("CertificateOfCompletion").ToString(),
                        CreateEmployeeId  = UserHelper.GetCurrentEmployee().Id,
                        CreateDate        = DateTime.Now,
                        DeleteDate        = null,
                        ModifyDate        = null,
                        SendDate          = null,
                        StatusId          = newStatusId,
                        DicStageId        = stageId,
                        DrugDeclarationId = drugDeclarationId
                    }
                }
                ;

                switch (stageId)
                {
                case CodeConstManager.STAGE_PRIMARY:
                    cert.TotalPrice = directionToPay.TotalPrice * (decimal)0.7;
                    break;

                case CodeConstManager.STAGE_SAFETYREPORT:
                    cert.TotalPrice = directionToPay.TotalPrice * (decimal)0.3;
                    break;

                default:
                    break;
                }

                if (isExist)
                {
                    repository.Update(cert);
                }
                else
                {
                    repository.Insert(cert);
                }
                repository.Save();
            }
            else
            {
                return(Json(new { IsSuccess = false, Message = "Отсутствует направление на оплату" }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { IsSuccess = true, Message = "" }, JsonRequestBehavior.AllowGet));
        }