예제 #1
0
        public ActionResult RefuseInSafety(Guid stageId)
        {
            var repo = new AssessmentStageRepository();

            repo.StartRefuseInSafety(stageId, true);
            return(Json("OK", JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        /// <summary>
        /// подписание
        /// </summary>
        /// <param name="preambleId"></param>
        /// <param name="xmlAuditForm"></param>
        /// <returns></returns>
        public ActionResult SignForm(string preambleId, string xmlAuditForm)
        {
            var success    = true;
            var repository = new SafetyAssessmentRepository();
            var model      = repository.GetById(preambleId);

            new SignDocumentRepository().SaveSignDocument(UserHelper.GetCurrentEmployee().Id, xmlAuditForm, model);

            if (model.StatusId == CodeConstManager.STATUS_DRAFT_ID)
            {
                model.FirstSendDate = DateTime.Now;
            }

            var modelStage = new AssessmentStageRepository().GetByDeclarationId(model.Id.ToString(), CodeConstManager.STAGE_OBK_COZ);

            if (modelStage != null && modelStage.StageStatusId ==
                new SafetyAssessmentRepository().GetStageStatusByCode(OBK_Ref_StageStatus.InReWork).Id)
            {
                modelStage.StageStatusId = new SafetyAssessmentRepository().GetStageStatusByCode(OBK_Ref_StageStatus.InWork).Id;
                new SafetyAssessmentRepository().SaveStage(modelStage);
            }

            model.StatusId = CodeConstManager.STATUS_SEND_ID;
            model.SendDate = DateTime.Now;
            model.IsSigned = false;

            var history = new OBK_AssessmentDeclarationHistory()
            {
                DateCreate = DateTime.Now,
                AssessmentDeclarationId = model.Id,
                XmlSign  = xmlAuditForm,
                StatusId = CodeConstManager.STATUS_SEND_ID,
                UserId   = UserHelper.GetCurrentEmployee().Id,
                Note     = "Отчет предоставлен. Дата отправки:" + DateTime.Now
            };

            if (string.IsNullOrEmpty(model.Number))
            {
                model.Number = repository.GetAppNumber();
                var act = db.OBK_ActReception.FirstOrDefault(o => o.OBK_AssessmentDeclarationId == model.Id);
                if (act != null)
                {
                    act.Number = model.Number;
                    db.SaveChanges();
                }
            }
            repository.SaveOrUpdate(model, UserHelper.GetCurrentEmployee().Id);
            repository.SaveHisotry(history, UserHelper.GetCurrentEmployee().Id);

            //    new SafetyAssessmentRepository().AddHistory(model.Id, OBK_Ref_StageStatus.New, UserHelper.GetCurrentEmployee().Id);

            return(Json(new { success }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public virtual ActionResult SendNotSign(string modelId)
        {
            var repository = new SafetyAssessmentRepository();
            var model      = repository.GetById(modelId);

            if (model.StatusId == CodeConstManager.STATUS_DRAFT_ID)
            {
                model.FirstSendDate = DateTime.Now;
            }

            var modelStage = new AssessmentStageRepository().GetByDeclarationId(modelId, CodeConstManager.STAGE_OBK_COZ);

            if (modelStage != null && modelStage.StageStatusId == new SafetyAssessmentRepository().GetStageStatusByCode(OBK_Ref_StageStatus.InReWork).Id)
            {
                var ex = db.OBK_AssessmentStageExecutors.Where(r => r.AssessmentStageId == modelStage.Id && r.ExecutorType == 2).FirstOrDefault();

                modelStage.StageStatusId = new SafetyAssessmentRepository().GetStageStatusByCode(OBK_Ref_StageStatus.InWork).Id;
                new SafetyAssessmentRepository().SaveStage(modelStage);

                new SafetyAssessmentRepository().AddHistory(model.Id, OBK_Ref_StageStatus.InWork, ex.ExecutorId);
            }

            model.StatusId = CodeConstManager.STATUS_SEND_ID;
            model.SendDate = DateTime.Now;
            model.IsSigned = false;
            var history = new OBK_AssessmentDeclarationHistory()
            {
                DateCreate = DateTime.Now,
                AssessmentDeclarationId = model.Id,
                StatusId = CodeConstManager.STATUS_SEND_ID,
                UserId   = UserHelper.GetCurrentEmployee().Id,
                Note     = "Отчет предоставлен без подписи. Дата отправки:" + DateTime.Now
            };

            if (string.IsNullOrEmpty(model.Number))
            {
                model.Number = repository.GetAppNumber();
                var act = db.OBK_ActReception.FirstOrDefault(o => o.OBK_AssessmentDeclarationId == model.Id);
                if (act != null)
                {
                    act.Number = model.Number;
                    db.SaveChanges();
                }
            }
            repository.SaveOrUpdate(model, UserHelper.GetCurrentEmployee().Id);
            repository.SaveHisotry(history, UserHelper.GetCurrentEmployee().Id);
            return(Json(new
            {
                isSuccess = true
            }));
        }
예제 #4
0
        public ActionResult ExpDocView(Guid id)
        {
            var stage = GetAssessmentStage(id);
            var model = stage.OBK_AssessmentDeclaration;

            //Результат
            var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck();

            ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name");
            // номерклатура
            var nomeclature = new AssessmentStageRepository().GetRefNomenclature();

            ViewData["UObkNomenclature"] = new SelectList(nomeclature, "Id", "NameRu");
            //основание
            var reasons = new SafetyAssessmentRepository().GetRefReasons();

            ViewData["UObkReasons"] = new SelectList(reasons, "Id", "Name", "ExpertiseResult");

            return(PartialView(model));
        }
예제 #5
0
        public ActionResult DocumentReviewConfirm(Guid?id)
        {
            if (id == null)
            {
                return(Json("Ok!", JsonRequestBehavior.AllowGet));
            }
            var expertise = GetAssessmentStage(id);

            expertise.StageStatusId = new SafetyAssessmentRepository().GetStageStatusByCode(OBK_Ref_StageStatus.OnExpDocument).Id;
            expertise.FactEndDate   = DateTime.Now;
            new SafetyAssessmentRepository().SaveStage(expertise);

            var model = expertise.OBK_AssessmentDeclaration;

            if (model == null)
            {
                return(Json("Ok!", JsonRequestBehavior.AllowGet));
            }
            model.StatusId = CodeConstManager.STATUS_OBK_EXP_SEND_ID;
            new SafetyAssessmentRepository().Update(model);
            var history = new OBK_AssessmentDeclarationHistory()
            {
                DateCreate = DateTime.Now,
                AssessmentDeclarationId = model.Id,
                StatusId = model.StatusId,
                UserId   = UserHelper.GetCurrentEmployee().Id,
            };

            new SafetyAssessmentRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id);
            var    stageRepository = new AssessmentStageRepository();
            string resultDescription;

            if (!stageRepository.HasStage(model.Id, CodeConstManager.STAGE_OBK_EXPERTISE_DOC))
            {
                stageRepository.ToNextStage(model, null, new int[] { CodeConstManager.STAGE_OBK_EXPERTISE_DOC }, out resultDescription);
            }

            return(Json("Ok!", JsonRequestBehavior.AllowGet));
        }
예제 #6
0
 public SafetyAssessmentController()
 {
     repository      = new SafetyAssessmentRepository();
     stageRepository = new AssessmentStageRepository();
 }