Exemplo n.º 1
0
        public ActionResult Index()
        {
            HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel();

            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            //model.ListDoMat = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOMAT);
            model.ListDoKhan        = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOKHAN);
            model.ListDoUuTien      = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOUUTIEN);
            model.ListLoaiVanBan    = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LOAI_VANBAN);
            model.ListLinhVucVanBan = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LINHVUCVANBAN);
            HSCV_VANBANDENBusiness  = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH();

            AssignUserInfo();
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
            List <int> Ids = new List <int>();

            if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI))
            {
                CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID);
                if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0)
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList();
                    Ids.Add(DonVi.PARENT_ID.Value);
                    model.TreeData       = CCTC_THANHPHANBusiness.GetTree(DonVi.PARENT_ID.Value);
                    searchModel.DONVI_ID = DonVi.PARENT_ID.Value;
                }
                else
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                    Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                    searchModel.DONVI_ID = currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0;
                }
            }
            //Nếu là quản lý phòng ban
            else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN))
            {
                Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                searchModel.DONVI_ID = currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0;
            }
            else
            {
                Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                //searchModel.USER_ID = currentUser.ID;
            }
            searchModel.ListDonVi = Ids;
            if (model.TreeData == null)
            {
                model.TreeData = CCTC_THANHPHANBusiness.GetTree(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
            }
            searchModel.pageSize  = MaxPerpage;
            searchModel.pageIndex = 1;
            searchModel.ListIds   = initIds(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
            model.ListResult      = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, MaxPerpage);
            SessionManager.SetValue("VanBanDenSearch", searchModel);
            //model.ListVanBan = initVanBanDi();
            model.UserInfoBO = currentUser;
            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult Edit(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var VanBan = HSCV_VANBANDENBusiness.Find(id);

            AssignUserInfo();
            if (VanBan == null || currentUser.ID != VanBan.NGUOITAO)
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel();

            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            //model.ListDoMat = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOMAT);
            model.ListDoKhan                 = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOKHAN);
            model.ListDoUuTien               = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOUUTIEN);
            model.ListLoaiVanBan             = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LOAI_VANBAN);
            model.ListLinhVucVanBan          = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LINHVUCVANBAN);
            model.Extension                  = VbDenExtension;
            model.MaxSize                    = VbDenSize;
            model.ListTaiLieu                = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);
            model.VanBan                     = VanBan;
            CCTC_THANHPHANBusiness           = Get <CCTC_THANHPHANBusiness>();
            model.TreeDonVi                  = CCTC_THANHPHANBusiness.GetTree(0);
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonViId = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);

            model.ListDonVi = model.ListDonVi = CCTC_THANHPHANBusiness.GetDataByIds(ListDonViId.Where(o => o.DONVI_ID.HasValue).Select(x => x.DONVI_ID.Value).ToList());
            return(View("Create", model));
        }
        public ActionResult CreateVanBanDen(int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            EditVanBanDenModel model = new EditVanBanDenModel();

            model.typeOfVanBanDen      = type;
            model.groupDoKhans         = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, 0);
            model.groupDoUuTiens       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, 0);
            model.groupLoaiVanBans     = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LOAI_VANBAN, 0);
            model.groupLinhVucVanBans  = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LINHVUCVANBAN, 0);
            model.groupSoVanBanDens    = dmDanhMucDataBusiness.DsByMaNhomByDept(DMLOAI_CONSTANT.SOVANBANDEN, 0, currentUser.DeptParentID.GetValueOrDefault());
            model.groupDonViGuis       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DONVIGUI_VANBAN, 0);
            model.GroupDeptTypes       = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.LOAI_COQUAN, currentUser.ID);
            model.GroupDocTypes        = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.PHANLOAI_VANBAN, currentUser.ID);
            model.GroupDispatchTypes   = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.CONGVANDEN, currentUser.ID);
            model.groupTaiLieuDinhKems = new List <TAILIEUDINHKEM>();
            model.entityVanBanDen      = new HSCV_VANBANDEN();

            model.fileExtension = extensionOfVanBanDen;
            model.fileMaxSize   = maxSizeOfVanBanDen;
            return(View(model));
        }
        public ActionResult EditVanBanDen(long id, int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            attachmentBusiness    = Get <TAILIEUDINHKEMBusiness>();

            HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(id);

            if (entityVanBanDen != null)
            {
                EditVanBanDenModel model = new EditVanBanDenModel(entityVanBanDen);
                model.typeOfVanBanDen      = type;
                model.groupDonViGuis       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DONVIGUI_VANBAN, currentUser.ID, entityVanBanDen.DONVI_ID.GetValueOrDefault());
                model.groupDoKhans         = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, currentUser.ID, entityVanBanDen.DOKHAN_ID.GetValueOrDefault());
                model.groupDoUuTiens       = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, currentUser.ID, entityVanBanDen.DOMAT_ID.GetValueOrDefault());
                model.groupLoaiVanBans     = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LOAI_VANBAN, currentUser.ID, entityVanBanDen.LOAIVANBAN_ID.GetValueOrDefault());
                model.groupLinhVucVanBans  = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LINHVUCVANBAN, currentUser.ID, entityVanBanDen.LINHVUCVANBAN_ID.GetValueOrDefault());
                model.groupSoVanBanDens    = dmDanhMucDataBusiness.DsByMaNhomByDept(DMLOAI_CONSTANT.SOVANBANDEN, currentUser.ID, currentUser.DeptParentID.Value, entityVanBanDen.SOVANBANDEN_ID.GetValueOrDefault());
                model.groupTaiLieuDinhKems = attachmentBusiness.GetDataByItemID(entityVanBanDen.ID, LOAITAILIEU.VANBANDEN);
                model.entityVanBanDen      = entityVanBanDen;
                model.fileExtension        = extensionOfVanBanDen;
                model.fileMaxSize          = maxSizeOfVanBanDen;

                model.UsersReceived = entityVanBanDen.NGUOINHAN_TRUCTIEP_IDS != null?entityVanBanDen.NGUOINHAN_TRUCTIEP_IDS.ToListLong(',') : new List <long>();

                //model.Recipients = recipientBusiness.GetRecipientGroups(currentUser.DM_PHONGBAN_ID.GetValueOrDefault());

                model.GroupDeptTypes     = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.LOAI_COQUAN, currentUser.ID, entityVanBanDen.LOAI_COQUAN_ID.GetValueOrDefault());
                model.GroupDocTypes      = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.PHANLOAI_VANBAN, currentUser.ID, entityVanBanDen.THONGTIN_LOAI_ID.GetValueOrDefault());
                model.GroupDispatchTypes = dmDanhMucDataBusiness.DsByMaNhom(VanBanConstant.CONGVANDEN, currentUser.ID, entityVanBanDen.CONGVAN_DEN_ID.GetValueOrDefault());
                return(View("CreateVanBanDen", model));
            }
            return(Redirect("/Home/UnAuthor"));
        }
Exemplo n.º 5
0
        public JsonResult Delete(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN VanBan = HSCV_VANBANDENBusiness.Find(id);

            AssignUserInfo();
            if (VanBan == null || currentUser.ID != VanBan.NGUOITAO)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản phát hành cần xóa" }));
            }
            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
            FileUltilities        file        = new FileUltilities();
            List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);

            foreach (var item in ListTaiLieu)
            {
                TAILIEUDINHKEMBusiness.repository.Delete(item.TAILIEU_ID);
                file.RemoveFile(URL_FOLDER + item.DUONGDAN_FILE);
                if (!string.IsNullOrEmpty(item.PDF_VERSION))
                {
                    file.RemoveFile(URL_FOLDER + item.PDF_VERSION);
                }
            }
            THUMUC_LUUTRUBusiness = Get <THUMUC_LUUTRUBusiness>();
            THUMUC_LUUTRU ThuMuc = THUMUC_LUUTRUBusiness.GetDataByNam(id.ToString(), ThuMucLuuTruConstant.DefaultVbDen);

            if (ThuMuc != null)
            {
                ThuMuc.IS_DELETE = true;
                THUMUC_LUUTRUBusiness.Save(ThuMuc);
            }
            TAILIEUDINHKEMBusiness.Save();
            HSCV_VANBANDENBusiness.repository.Delete(id);
            HSCV_VANBANDENBusiness.Save();
            #region Xóa đơn vị nhận văn bản
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonVi = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);
            if (ListDonVi.Any())
            {
                foreach (var item in ListDonVi)
                {
                    HSCV_VANBANDEN_DONVINHANBusiness.repository.Delete(item.ID);
                }
                HSCV_VANBANDEN_DONVINHANBusiness.Save();
            }
            #endregion
            return(Json(new { Type = "SUCCESS", Message = "Xóa văn bản phát hành thành công" }));
        }
Exemplo n.º 6
0
        public PartialViewResult ShowDepartment(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN VanBan = HSCV_VANBANDENBusiness.Find(id);

            if (VanBan == null)
            {
                VanBan = new HSCV_VANBANDEN();
            }
            DonViNhanModel model = new DonViNhanModel();

            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            model.VanBan    = VanBan;
            model.ListDonVi = HSCV_VANBANDEN_DONVINHANBusiness.GetDataBO(id);
            return(PartialView("_ShowDepartment", model));
        }
Exemplo n.º 7
0
        public ActionResult CreateLichCongTac(long idVanBanDen = 0)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            dmNguoiDungBusiness   = Get <DM_NGUOIDUNGBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            wfLogBusiness         = Get <WF_LOGBusiness>();

            EditLichCongTacViewModel model = new EditLichCongTacViewModel();
            long userId = 0;

            if (idVanBanDen > 0)
            {
                HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(idVanBanDen);
                if (entityVanBanDen != null && entityVanBanDen.NGUOITAO == currentUser.ID && hscvVanBanDenBusiness.CheckIsFinish(entityVanBanDen.ID))
                {
                    LICHCONGTAC calendar = new LICHCONGTAC();
                    calendar.TIEUDE       = entityVanBanDen.TRICHYEU;
                    calendar.NGAY_CONGTAC = entityVanBanDen.NGAYCONGTAC ?? DateTime.Now;
                    calendar.GIO_CONGTAC  = entityVanBanDen.GIO_CONGTAC.GetValueOrDefault();
                    calendar.PHUT_CONGTAC = entityVanBanDen.PHUT_CONGTAC.GetValueOrDefault();
                    model = new EditLichCongTacViewModel(calendar);
                    model.entityLichCongTac = calendar;

                    //lấy người xử lý cuối làm người chủ trì công tác
                    DM_NGUOIDUNG_BO lastProcessor = wfLogBusiness.GetFinalProcessor(entityVanBanDen.ID, MODULE_CONSTANT.VANBANDEN);
                    userId = lastProcessor.ID;
                }
                else
                {
                    return(Redirect("/Home/UnAuthor"));
                }
            }
            else if (SessionManager.HasValue("CreateCalendarOfTheDay"))
            {
                LICHCONGTAC entityCalendar = (LICHCONGTAC)SessionManager.GetValue("CreateCalendarOfTheDay");
                model = new EditLichCongTacViewModel(entityCalendar);

                SessionManager.Remove("CreateCalendarOfTheDay");
            }
            model.groupOfLanhDaos     = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), userId);
            model.groupOfDestinations = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_DEN);
            return(View("EditLichCongTac", model));
        }
Exemplo n.º 8
0
        public JsonResult getData(int indexPage, string sortQuery, int pageSize)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var searchModel = SessionManager.GetValue("VanBanDenSearch") as HSCV_VANBANDEN_SEARCH;

            if (!string.IsNullOrEmpty(sortQuery))
            {
                if (searchModel == null)
                {
                    searchModel = new HSCV_VANBANDEN_SEARCH();
                }
                searchModel.sortQuery = sortQuery;
                if (pageSize > 0)
                {
                    searchModel.pageSize = pageSize;
                }
                SessionManager.SetValue("VanBanDenSearch", searchModel);
            }
            var data = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, pageSize, indexPage);

            return(Json(data));
        }
        public JsonResult Delete(long id)
        {
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(id);

            AssignUserInfo();
            if (entityVanBanDen == null || currentUser.ID != entityVanBanDen.NGUOITAO)
            {
                return(Json(new { Type = "ERROR", Message = "Bạn không có quyền xóa văn bản trình ký này" }));
            }
            attachmentBusiness = Get <TAILIEUDINHKEMBusiness>();
            FileUltilities        file        = new FileUltilities();
            List <TAILIEUDINHKEM> ListTaiLieu = attachmentBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);

            foreach (var item in ListTaiLieu)
            {
                attachmentBusiness.repository.Delete(item.TAILIEU_ID);
                file.RemoveFile(uploadFolder + item.DUONGDAN_FILE);
                if (!string.IsNullOrEmpty(item.PDF_VERSION))
                {
                    file.RemoveFile(uploadFolder + item.PDF_VERSION);
                }
            }
            storeFolderBusiness = Get <THUMUC_LUUTRUBusiness>();
            THUMUC_LUUTRU ThuMuc = storeFolderBusiness.GetDataByNam(id.ToString(), ThuMucLuuTruConstant.DefaultVanban);

            if (ThuMuc != null)
            {
                ThuMuc.IS_DELETE = true;
                storeFolderBusiness.Save(ThuMuc);
            }
            attachmentBusiness.Save();
            hscvVanBanDenBusiness.repository.Delete(id);
            #region xóa văn bản đến trong elastic

            ElasticSearch.deleteDocument(id.ToString(), ElasticType.VanBanDen);
            #endregion
            return(Json(new { Type = "SUCCESS", Message = "Xóa văn bản đến thành công" }));
        }
Exemplo n.º 10
0
        public JsonResult SavePhatHanhVanBan(FormCollection col)
        {
            AssignUserInfo();
            SMSDAL.SendSMSDAL sms = new SMSDAL.SendSMSDAL();
            SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>();
            LogSMSBusiness      = Get <LogSMSBusiness>();

            HSCV_VANBANDIBusiness  = Get <HSCV_VANBANDIBusiness>();
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();

            DM_NHOMDANHMUCBusiness  = Get <DM_NHOMDANHMUCBusiness>();
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            DM_NGUOIDUNGBusiness    = Get <DM_NGUOIDUNGBusiness>();


            WF_MODULEBusiness  = Get <WF_MODULEBusiness>();
            WF_PROCESSBusiness = Get <WF_PROCESSBusiness>();

            WF_STATE_FUNCTIONBusiness = Get <WF_STATE_FUNCTIONBusiness>();
            WF_STATEBusiness          = Get <WF_STATEBusiness>();
            WF_STREAMBusiness         = Get <WF_STREAMBusiness>();

            WF_FUNCTION_DONEBusiness     = Get <WF_FUNCTION_DONEBusiness>();
            WF_LOGBusiness               = Get <WF_LOGBusiness>();
            WF_ITEM_USER_PROCESSBusiness = Get <WF_ITEM_USER_PROCESSBusiness>();

            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();

            string selectedDept = col["department-choose"];
            long?  ID           = col["ID"].ToLongOrNULL();

            if (0 >= ID)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" }));
            }

            #region cập nhật thông tin văn bản đi
            HSCV_VANBANDI VanBanDi = HSCV_VANBANDIBusiness.Find(ID);
            if (VanBanDi == null)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" }));
            }

            if (!string.IsNullOrEmpty(col["SOHIEU"]))
            {
                VanBanDi.SOHIEU = col["SOHIEU"];
            }
            VanBanDi.USER_RECEIVE_DIRECTLY = col["USERS_RECEIVE_SPECIAL"];
            VanBanDi.DONVINHAN_INTERNAL_ID = selectedDept;
            VanBanDi.SOTHEOSO    = col["SOTHEOSO"];
            VanBanDi.SOVANBAN_ID = col["SOVANBAN_ID"].ToIntOrNULL();
            if (!string.IsNullOrEmpty(col["TRICHYEU"]))
            {
                VanBanDi.TRICHYEU = col["TRICHYEU"].Trim();
            }
            if (!string.IsNullOrEmpty(col["NGAY_HIEULUC"]))
            {
                try
                {
                    VanBanDi.NGAYCOHIEULUC = col["NGAY_HIEULUC"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            if (!string.IsNullOrEmpty(col["NGAYHET_HIEULUC"]))
            {
                try
                {
                    VanBanDi.NGAYHETHIEULUC = col["NGAYHET_HIEULUC"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            if (!string.IsNullOrEmpty(col["NGAYBANHANH"]))
            {
                try
                {
                    VanBanDi.NGAYBANHANH = col["NGAYBANHANH"].ToDateTime();
                }
                catch (Exception e)
                {
                }
            }
            HSCV_VANBANDIBusiness.Save(VanBanDi);
            #endregion

            //cập nhật số đi theo văn bản vào số văn bản hiện tại
            int numbSoDiTheoSo = VanBanDi.SOTHEOSO.GetPrefixNumber();
            DM_DANHMUC_DATABusiness.UpdateSoVanBan(VanBanDi.SOVANBAN_ID.GetValueOrDefault(), numbSoDiTheoSo);

            #region Convert Văn bản
            List <int> ListDonVi       = selectedDept.ToListInt(',');
            DateTime?  NGAY_HIEULUC    = col["NGAY_HIEULUC"].ToDateTime();
            DateTime?  NGAYHET_HIEULUC = col["NGAYHET_HIEULUC"].ToDateTime();
            string     TRICHYEU        = col["TRICHYEU"];
            string     SOHIEU          = col["SOHIEU"];
            if (!string.IsNullOrEmpty(SOHIEU))
            {
                SOHIEU = SOHIEU.Trim();
            }
            if (!string.IsNullOrEmpty(TRICHYEU))
            {
                TRICHYEU = TRICHYEU.Trim();
            }

            List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(ID.HasValue ? ID.Value : 0, LOAITAILIEU.VANBAN);
            DM_NGUOIDUNG          NguoiDung   = DM_NGUOIDUNGBusiness.Find(VanBanDi.NGUOIKY_ID);

            #endregion
            #region cập nhật wf function done

            var process = WF_PROCESSBusiness.GetProcess(VanBanDi.ID, MODULE_CONSTANT.VANBANTRINHKY);

            var function     = WF_STATE_FUNCTIONBusiness.GetStateFunction((int)process.CURRENT_STATE);
            var functionDone = new WF_FUNCTION_DONE();
            functionDone.ITEM_TYPE      = MODULE_CONSTANT.VANBANTRINHKY;
            functionDone.ITEM_ID        = VanBanDi.ID;
            functionDone.STATE          = process.CURRENT_STATE;
            functionDone.FUNCTION_STATE = function.ID;
            functionDone.create_at      = DateTime.Now;
            functionDone.create_by      = currentUser.ID;
            WF_FUNCTION_DONEBusiness.Save(functionDone);
            var log = new WF_LOG();
            log.ITEM_ID      = VanBanDi.ID;
            log.ITEM_TYPE    = MODULE_CONSTANT.VANBANTRINHKY;
            log.MESSAGE      = "<div class='label label-info'>Đã phát hành</div>";
            log.WF_ID        = process.WF_ID;
            log.create_at    = DateTime.Now;
            log.create_by    = currentUser.ID;
            log.NGUOIXULY_ID = currentUser.ID;
            WF_LOGBusiness.Save(log);
            //Ghi nhận luồng đã xử lý xong
            var state = WF_STATEBusiness.Find(process.CURRENT_STATE);
            if (state != null && state.IS_KETTHUC == true)
            {
                process.IS_END = true;
                WF_PROCESSBusiness.Save(process);
            }

            var itemprocess = WF_ITEM_USER_PROCESSBusiness.repository.All().Where(x =>
                                                                                  x.ITEM_ID == process.ITEM_ID && x.ITEM_TYPE == process.ITEM_TYPE &&
                                                                                  x.STEP_ID == process.CURRENT_STATE)
                              .FirstOrDefault();
            if (itemprocess != null)
            {
                itemprocess.DAXULY = true;
                WF_ITEM_USER_PROCESSBusiness.Save(itemprocess);
            }
            #endregion

            //gửi văn bản đi cho đơn vị
            SaveVanBanPhatHanhToDonVi(VanBanDi, sms);

            //gửi văn bản đi cho cá nhân
            SaveVanBanPhatHanhToCaNhan(VanBanDi, sms);

            return(Json(new { Type = "SUCCESS", Message = "Lưu sổ và phát hành văn bản thành công" }));
        }
        public ActionResult ExportExcel(int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            Dictionary <string, string> properties = new Dictionary <string, string>();

            properties.Add("STT", "STT");
            properties.Add("SOHIEU", "Số ký hiệu");

            properties.Add("TRICHYEU", "Trích yếu");
            properties.Add("SOBAN", "Số bản");
            properties.Add("NGAY_VANBAN", "Ngày VB");
            properties.Add("TEN_DONVI", "Tác giả");
            properties.Add("NGAYTAO", "Ngày đăng ký");
            properties.Add("CHUTRI", "Chủ trì + phối hợp");
            properties.Add("SOTRANG", "Số trang");
            properties.Add("LUU_HOSO", "Lưu hồ sơ");
            properties.Add("GHICHU", "Ghi chú");

            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            string actionName = "ChuaXuLy";
            string fileName   = "BÁO CÁO THỐNG KÊ VĂN BẢN ĐẾN CHƯA XỬ LÝ";
            List <HSCV_VANBANDEN_BO> dataExport = new List <HSCV_VANBANDEN_BO>();
            string sessionName;

            switch (type)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
                actionName  = "ChuaXuLy";
                sessionName = "VanBanDenChuaXuLySearchModel";
                fileName    = "Báo cáo thống kê văn bản đến chưa xử lý";
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
                actionName  = "DaXuLy";
                sessionName = "VanBanDenDaXuLySearchModel";
                fileName    = "Văn bản đến đã xử lý";
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                actionName  = "ThamGiaXuLy";
                sessionName = "VanBanDenThamGiaXuLySearchModel";
                fileName    = "Văn bản đến tham gia xử lý";
                break;

            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                actionName  = "NoiBoChuaXuLy";
                sessionName = "VanBanDenNoiBoChuaXuLySearchModel";
                fileName    = "Văn bản đến nội bộ chưa xử lý";
                break;

            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                actionName  = "NoiBoDaXuLy";
                sessionName = "VanBanDenNoiBoDaXuLySearchModel";
                fileName    = "Văn bản đến nội bộ đã xử lý";
                break;

            default:
                sessionName = string.Empty;
                break;
            }
            var searchModel = SessionManager.GetValue(sessionName) as HSCV_VANBANDEN_SEARCH;

            PageListResultBO <HSCV_VANBANDEN_BO> data = new PageListResultBO <HSCV_VANBANDEN_BO>();

            switch (type)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                data = hscvVanBanDenBusiness.GetListInProcess(searchModel, defaultPageSize, -1);
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                data = hscvVanBanDenBusiness.GetListProcessed(searchModel, defaultPageSize, -1);
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                data = hscvVanBanDenBusiness.GetListJoinProcess(searchModel, defaultPageSize, -1);
                break;

            default:
                break;
            }

            EPPlusSupplier <HSCV_VANBANDEN_BO> supplier = new EPPlusSupplier <HSCV_VANBANDEN_BO>();

            supplier.properties  = properties;
            supplier.startColumn = 1;
            supplier.startRow    = 5;
            supplier.fileName    = fileName;

            var stream = supplier.CreateExcelFile(data.ListItem, FormatWorkSheet);
            var buffer = stream as MemoryStream;

            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", fileName + ".xlsx"));
            Response.BinaryWrite(buffer.ToArray());
            Response.Flush();
            Response.End();

            return(RedirectToAction(actionName));
        }
Exemplo n.º 12
0
        public ActionResult Detail(long id)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var VanBanBO = HSCV_VANBANDENBusiness.FindById(id);

            if (VanBanBO == null)
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            AssignUserInfo();
            HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
            var ListDonViId = HSCV_VANBANDEN_DONVINHANBusiness.GetData(id);

            //Nếu là quản lý đơn vị
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
            if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI))
            {
                CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID);
                List <int>     Ids   = new List <int>();
                if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0)
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList();
                    Ids.Add(DonVi.PARENT_ID.Value);
                }
                else
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                    Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                }
                if (ListDonViId.Where(x => Ids.Contains(x.DONVI_ID.Value)).Count() == 0)
                {
                    return(RedirectToAction("NotFound", "Home", new { area = "" }));
                }
                //if (!VanBanBO.DONVI_ID.HasValue || !Ids.Contains(VanBanBO.DONVI_ID.Value))
                //{
                //    return RedirectToAction("NotFound", "Home", new { area = "" });
                //}
            }
            //Nếu là quản lý phòng ban
            else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN))
            {
                List <int> Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                if (ListDonViId.Where(x => Ids.Contains(x.DONVI_ID.Value)).Count() == 0)
                {
                    return(RedirectToAction("NotFound", "Home", new { area = "" }));
                }
                //if (!VanBanBO.DONVI_ID.HasValue || !Ids.Contains(VanBanBO.DONVI_ID.Value))
                //{
                //    return RedirectToAction("NotFound", "Home", new { area = "" });
                //}
            }
            else if (currentUser.ID != VanBanBO.NGUOITAO && !ListDonViId.Select(x => x.DONVI_ID).Contains(currentUser.DM_PHONGBAN_ID))
            {
                return(RedirectToAction("NotFound", "Home", new { area = "" }));
            }
            //List<long> Ids = initIds(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
            //if (VanBanBO.VANBANDI_ID.HasValue && !Ids.Contains(VanBanBO.VANBANDI_ID.Value))
            //{
            //    return RedirectToAction("NotFound", "Home");
            //}

            HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel();

            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            TAILIEUDINHKEMBusiness  = Get <TAILIEUDINHKEMBusiness>();
            model.ListTaiLieu       = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBANDEN);
            model.VanBanBO          = VanBanBO;

            model.ListDonVi = model.ListDonVi = CCTC_THANHPHANBusiness.GetDataByIds(ListDonViId.Where(o => o.DONVI_ID.HasValue).Select(x => x.DONVI_ID.Value).ToList());
            return(View(model));
        }
        public JsonResult SearchData(FormCollection fc)
        {
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            string sessionName;
            int    type = fc["TYPE"].ToIntOrZero();

            switch (type)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
                sessionName = "VanBanDenChuaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
                sessionName = "VanBanDenDaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                sessionName = "VanBanDenThamGiaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                sessionName = "VanBanDenNoiBoChuaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                sessionName = "VanBanDenNoiBoDaXuLySearchModel";
                break;

            default:
                sessionName = string.Empty;
                break;
            }
            var searchModel = SessionManager.GetValue(sessionName) as HSCV_VANBANDEN_SEARCH;

            searchModel.isInternal         = (type == VANBANDEN_CONSTANT.NOIBO_CHUAXULY || type == VANBANDEN_CONSTANT.NOIBO_DAXULY);
            searchModel.ITEM_TYPE          = (type == VANBANDEN_CONSTANT.NOIBO_CHUAXULY || type == VANBANDEN_CONSTANT.NOIBO_DAXULY) ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN;
            searchModel.SOHIEU             = fc["SOHIEU"];
            searchModel.TRICHYEU           = fc["TRICHYEU"];
            searchModel.DOKHAN_ID          = fc["DOKHAN_ID"].ToIntOrNULL();
            searchModel.DOMAT_ID           = fc["DOMAT_ID"].ToIntOrNULL();
            searchModel.LINHVUCVANBAN_ID   = fc["LINHVUCVANBAN_ID"].ToIntOrNULL();
            searchModel.LOAIVANBAN_ID      = fc["LOAIVANBAN_ID"].ToIntOrNULL();
            searchModel.NGUOIKY            = fc["NGUOIKY"];
            searchModel.SOVANBANDEN_ID     = fc["SOVANBANDEN_ID"].ToIntOrNULL();
            searchModel.NGAYBANHANH_TU     = fc["BANHANHTUNGAY"].ToDateTime();
            searchModel.NGAYBANHANH_DEN    = fc["BANHANHDENNGAY"].ToDateTime();
            searchModel.NGAYHIEULUC_TU     = fc["HIEULUCTUNGAY"].ToDateTime();
            searchModel.NGAYHIEULUC_DEN    = fc["HIEULUCDENNGAY"].ToDateTime();
            searchModel.NGAYHETHIEULUC_TU  = fc["HETHIEULUCTUNGAY"].ToDateTime();
            searchModel.NGAYHETHIEULUC_DEN = fc["HETHIEULUCDENNGAY"].ToDateTime();
            searchModel.NGAYVANBAN_TU      = fc["NGAYVBTUNGAY"].ToDateTime();
            searchModel.NGAYVANBAN_DEN     = fc["NGAYVBDENNGAY"].ToDateTime();
            SessionManager.SetValue(sessionName, searchModel);
            PageListResultBO <HSCV_VANBANDEN_BO> data = new PageListResultBO <HSCV_VANBANDEN_BO>();

            switch (type)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                data = hscvVanBanDenBusiness.GetListInProcess(searchModel, defaultPageSize, 1);
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                data = hscvVanBanDenBusiness.GetListProcessed(searchModel, defaultPageSize, 1);
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                data = hscvVanBanDenBusiness.GetListJoinProcess(searchModel, defaultPageSize, 1);
                break;

            default:
                break;
            }
            return(Json(data));
        }
        public JsonResult GetData(int pageIndex, string sortQuery, int pageSize, int type)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            string sessionName;
            HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH();

            switch (type)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
                sessionName = "VanBanDenChuaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
                sessionName = "VanBanDenDaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                sessionName = "VanBanDenThamGiaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                searchModel.isInternal = true;
                searchModel.ITEM_TYPE  = MODULE_CONSTANT.VANBANDENNOIBO;
                sessionName            = "VanBanDenNoiBoChuaXuLySearchModel";
                break;

            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                searchModel.isInternal = true;
                searchModel.ITEM_TYPE  = MODULE_CONSTANT.VANBANDENNOIBO;
                sessionName            = "VanBanDenNoiBoDaXuLySearchModel";
                break;

            default:
                sessionName = string.Empty;
                break;
            }
            PageListResultBO <HSCV_VANBANDEN_BO> data = new PageListResultBO <HSCV_VANBANDEN_BO>();

            if (!string.IsNullOrEmpty(sessionName))
            {
                searchModel = (HSCV_VANBANDEN_SEARCH)SessionManager.GetValue(sessionName);
                if (searchModel == null)
                {
                    searchModel           = new HSCV_VANBANDEN_SEARCH();
                    searchModel.USER_ID   = currentUser.ID;
                    searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDEN;
                }
                searchModel.sortQuery = sortQuery;
                if (pageSize > 0)
                {
                    searchModel.pageSize = pageSize;
                }
                SessionManager.SetValue(sessionName, searchModel);

                switch (type)
                {
                case VANBANDEN_CONSTANT.CHUA_XULY:
                case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                    data = hscvVanBanDenBusiness.GetListInProcess(searchModel, pageSize, pageIndex);
                    break;

                case VANBANDEN_CONSTANT.DA_XULY:
                case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                    data = hscvVanBanDenBusiness.GetListProcessed(searchModel, pageSize, pageIndex);
                    break;

                case VANBANDEN_CONSTANT.THAMGIA_XULY:
                    data = hscvVanBanDenBusiness.GetListJoinProcess(searchModel, pageSize, pageIndex);
                    break;

                default:
                    break;
                }
            }
            return(Json(data));
        }
        /// <summary>
        /// @description: view model văn bản đến
        /// @author: duynn
        /// @since: 06/08/2018
        /// </summary>
        /// <param name="typeOfVanBanDen"></param>
        /// <returns></returns>
        public ListVanBanDenViewModel GetListViewModelOfVanBanDen(int typeOfVanBanDen)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH();

            searchModel.USER_ID   = currentUser.ID;
            searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDEN;

            ListVanBanDenViewModel model = new ListVanBanDenViewModel();

            model.userInfo              = currentUser;
            model.typeOfLoaiVanBan      = typeOfVanBanDen;
            model.groupOfLoaiVanBans    = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LOAI_VANBAN, 0);
            model.groupOfLinhVucVanBans = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LINHVUCVANBAN, 0);
            model.groupOfDoKhans        = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, 0);
            model.groupOfDoUuTiens      = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, 0);
            int tmpdept = currentUser.DeptParentID.HasValue ? currentUser.DeptParentID.Value : 0;

            model.groupSoVanBanDens = dmDanhMucDataBusiness.DsByMaNhomByDept(DMLOAI_CONSTANT.SOVANBANDEN, 0, tmpdept);
            DM_THAOTAC userFunction = currentUser.ListThaoTac.Where(o => o.MA_THAOTAC.ToUpper() == "HSCV_VANBANDEN_CREATE").FirstOrDefault();

            model.canCreate = (userFunction != null && userFunction.DM_THAOTAC_ID > 0);
            string sessionName;

            switch (typeOfVanBanDen)
            {
            case VANBANDEN_CONSTANT.CHUA_XULY:
                sessionName             = "VanBanDenChuaXuLySearchModel";
                model.title             = "Quản lý văn bản đến chưa xử lý";
                model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListInProcess(searchModel);
                break;

            case VANBANDEN_CONSTANT.DA_XULY:
                sessionName             = "VanBanDenDaXuLySearchModel";
                model.title             = "Quản lý văn bản đến đã xử lý";
                model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListProcessed(searchModel);
                break;

            case VANBANDEN_CONSTANT.THAMGIA_XULY:
                sessionName             = "VanBanDenThamGiaXuLySearchModel";
                model.title             = "Quản lý văn bản đến tham gia xử lý";
                model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListJoinProcess(searchModel);
                break;

            case VANBANDEN_CONSTANT.NOIBO_CHUAXULY:
                sessionName             = "VanBanDenNoiBoChuaXuLySearchModel";
                searchModel.isInternal  = true;
                searchModel.ITEM_TYPE   = MODULE_CONSTANT.VANBANDENNOIBO;
                model.title             = "Quản lý văn bản đến nội bộ chưa xử lý";
                model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListInProcess(searchModel);
                break;

            case VANBANDEN_CONSTANT.NOIBO_DAXULY:
                searchModel.isInternal  = true;
                searchModel.ITEM_TYPE   = MODULE_CONSTANT.VANBANDENNOIBO;
                sessionName             = "VanBanDenNoiBoDaXuLySearchModel";
                model.title             = "Quản lý văn bản đến nội bộ đã xử lý";
                model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListProcessed(searchModel);
                break;

            default:
                sessionName = string.Empty;
                break;
            }
            SessionManager.SetValue(sessionName, searchModel);
            return(model);
        }
        public ActionResult DetailVanBanDen(long id, int type = VANBANDEN_CONSTANT.CHUA_XULY)
        {
            AssignUserInfo();
            wfItemUserProcess     = Get <WF_ITEM_USER_PROCESSBusiness>();
            wfReviewUserBusiness  = Get <WF_REVIEW_USERBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            attachmentBusiness    = Get <TAILIEUDINHKEMBusiness>();
            var            HSCVREADVANBANBusiness = Get <HSCVREADVANBANBusiness>();
            HSCV_VANBANDEN entityVanBanDen        = hscvVanBanDenBusiness.Find(id);
            bool           canAccess = wfItemUserProcess.CheckPermissionProcess(id, true == entityVanBanDen.IS_NOIBO ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, currentUser.ID);
            bool           canReview = wfReviewUserBusiness.CheckPermissionReview(id, true == entityVanBanDen.IS_NOIBO ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, currentUser.ID);

            if ((!canAccess && !canReview) || entityVanBanDen == null)
            {
                return(Redirect("/Home/UnAuthor"));
            }

            var checkread = HSCVREADVANBANBusiness.repository.All()
                            .Where(x => x.USER_ID == currentUser.ID && x.TYPE == 1 && x.VANBAN_ID == id).FirstOrDefault();

            if (checkread == null)
            {
                HSCV_READVANBAN readObj = new HSCV_READVANBAN();
                readObj.TYPE      = 1;
                readObj.USER_ID   = currentUser.ID;
                readObj.VANBAN_ID = id;
                HSCVREADVANBANBusiness.Save(readObj);
            }

            DetailVanBanDenViewModel model                    = new DetailVanBanDenViewModel();
            DM_DANHMUC_DATA          entityDonViGui           = dmDanhMucDataBusiness.Find(entityVanBanDen.DONVI_ID);
            DM_DANHMUC_DATA          entityDoKhan             = dmDanhMucDataBusiness.Find(entityVanBanDen.DOKHAN_ID);
            DM_DANHMUC_DATA          entityDoUuTien           = dmDanhMucDataBusiness.Find(entityVanBanDen.DOMAT_ID);
            DM_DANHMUC_DATA          entityLinhVucVanBan      = dmDanhMucDataBusiness.Find(entityVanBanDen.LINHVUCVANBAN_ID);
            DM_DANHMUC_DATA          entityLoaiVanBan         = dmDanhMucDataBusiness.Find(entityVanBanDen.LOAIVANBAN_ID);
            DM_DANHMUC_DATA          entityLoaiCoQuan         = dmDanhMucDataBusiness.Find(entityVanBanDen.LOAI_COQUAN_ID);
            DM_DANHMUC_DATA          entityThongTinLoaiVanBan = dmDanhMucDataBusiness.Find(entityVanBanDen.THONGTIN_LOAI_ID);
            DM_DANHMUC_DATA          entityCongVanDen         = dmDanhMucDataBusiness.Find(entityVanBanDen.CONGVAN_DEN_ID);

            model.currentUserId         = currentUser.ID;
            model.entityVanBanDen       = entityVanBanDen;
            model.nameOfDonViGui        = entityDonViGui != null ? entityDonViGui.TEXT : string.Empty;
            model.nameOfDoKhan          = entityDoKhan != null ? entityDoKhan.TEXT : string.Empty;
            model.nameOfDoUuTien        = entityDoUuTien != null ? entityDoUuTien.TEXT : string.Empty;
            model.nameOfLinhVucVanBan   = entityLinhVucVanBan != null ? entityLinhVucVanBan.TEXT : string.Empty;
            model.nameOfLoaiVanBan      = entityLoaiVanBan != null ? entityLoaiVanBan.TEXT : string.Empty;
            model.nameOfLoaiCoQuan      = entityLoaiCoQuan != null ? entityLoaiCoQuan.TEXT : string.Empty;
            model.nameOfThongTinLoaiBan = entityThongTinLoaiVanBan != null ? entityThongTinLoaiVanBan.TEXT : string.Empty;
            model.nameOfCongVanDen      = entityCongVanDen != null ? entityCongVanDen.TEXT : string.Empty;

            model.groupOfTaiLieuDinhKems = attachmentBusiness.GetDataByItemID(entityVanBanDen.ID, LOAITAILIEU.VANBANDEN);
            model.typeOfVanBanDen        = type;

            bool isFinish = hscvVanBanDenBusiness.CheckIsFinish(id);

            model.canCreateCalendar = (entityVanBanDen.NGUOITAO == currentUser.ID && isFinish);
            if (isFinish == false && entityVanBanDen.NGAYCONGTAC != null)
            {
                //kiểm tra người dùng có bước xử lý hay không?
                bool hasSteps = false;
                wfProcessBusiness       = Get <WF_PROCESSBusiness>();
                wfReviewUserBusiness    = Get <WF_REVIEW_USERBusiness>();
                wfReviewBusiness        = Get <WF_REVIEWBusiness>();
                wfStateBusiness         = Get <WF_STATEBusiness>();
                wfStepBusiness          = Get <WF_STEPBusiness>();
                wfStateFunctionBusiness = Get <WF_STATE_FUNCTIONBusiness>();

                WF_PROCESS process = wfProcessBusiness.repository.All()
                                     .Where(x => x.ITEM_ID == id && x.ITEM_TYPE == MODULE_CONSTANT.VANBANDEN &&
                                            x.USER_ID == currentUser.ID).FirstOrDefault();

                WF_REVIEW reviewReject = wfReviewBusiness.repository.All()
                                         .Where(x => x.ITEMID == id && x.ITEMTYPE == MODULE_CONSTANT.VANBANDEN && x.IS_REJECT == true)
                                         .OrderByDescending(x => x.ID).FirstOrDefault();

                WF_FUNCTION       function      = null;
                bool              requireReview = false;
                List <WF_STEP>    nextSteps     = new List <WF_STEP>();
                List <StepBackBO> stepsBack     = new List <StepBackBO>();

                if (process != null)
                {
                    if (process != null || reviewReject != null)
                    {
                        WF_STATE startState = wfStateBusiness.Find(process.CURRENT_STATE);
                        if (startState != null)
                        {
                            if (startState.IS_KETTHUC != true)
                            {
                                nextSteps = wfStepBusiness.GetListNextStep(process.WF_ID.GetValueOrDefault(), startState.ID);
                                stepsBack = wfStepBusiness.GetListNextStepBack(process);
                            }

                            function = wfStateFunctionBusiness.CheckGetFunction(startState.ID, entityVanBanDen.ID, MODULE_CONSTANT.VANBANDEN);
                        }
                    }
                    else if (process.IS_PENDING == true)
                    {
                        WF_REVIEW reviewFinish = wfReviewBusiness.repository.All()
                                                 .Where(x => x.ITEMID == id && x.ITEMTYPE == MODULE_CONSTANT.VANBANDEN && x.IS_FINISH != true)
                                                 .OrderByDescending(x => x.ID).FirstOrDefault();
                        if (reviewFinish != null)
                        {
                            requireReview = wfReviewUserBusiness.CheckReviewing(reviewFinish.ID, currentUser.ID);
                        }
                    }

                    hasSteps = (nextSteps.Any() || stepsBack.Any() || function != null || requireReview == true);
                }
                model.hasSteps = hasSteps;
                if (hasSteps)
                {
                    entityVanBanDen.NGAYCONGTAC = new DateTime(entityVanBanDen.NGAYCONGTAC.Value.Year, entityVanBanDen.NGAYCONGTAC.Value.Month, entityVanBanDen.NGAYCONGTAC.Value.Day);
                    lichCongTacBusiness         = Get <LICHCONGTACBusiness>();
                    model.isDuplicateCalendar   = lichCongTacBusiness.repository.All()
                                                  .Where(x => x.LANHDAO_ID == currentUser.ID &&
                                                         x.NGAY_CONGTAC.Equals(entityVanBanDen.NGAYCONGTAC.Value)).Count() > 0;
                }
            }

            return(View(model));
        }
        public ActionResult SaveVanBanDen(HSCV_VANBANDEN entity, FormCollection fc, IEnumerable <HttpPostedFileBase> filebase, string[] filename, string[] FOLDER_ID)
        {
            try
            {
                AssignUserInfo();

                UploadFileTool uploadFileTool = new UploadFileTool();
                hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
                wfProcessBusiness     = Get <WF_PROCESSBusiness>();
                dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

                entity.SOHIEU            = fc["SOHIEU"].Trim();
                entity.TRICHYEU          = fc["TRICHYEU"].Trim();
                entity.SOTRANG           = fc["SOTRANG"].ToIntOrZero();
                entity.LOAIVANBAN_ID     = fc["LOAIVANBAN_ID"].ToIntOrZero();
                entity.DONVI_ID          = fc["DONVI_ID"].ToIntOrZero();
                entity.LINHVUCVANBAN_ID  = fc["LINHVUCVANBAN_ID"].ToIntOrZero();
                entity.DOKHAN_ID         = fc["DOKHAN_ID"].ToIntOrZero();
                entity.NGAY_HIEULUC      = fc["NGAY_HIEULUC"].ToDateTime();
                entity.NGAYHET_HIEULUC   = fc["NGAYHET_HIEULUC"].ToDateTime();
                entity.NGAY_VANBAN       = fc["NGAY_VANBAN"].ToDateTime();
                entity.NGAY_BANHANH      = fc["NGAY_BANHANH"].ToDateTime();
                entity.NGUOIKY           = !string.IsNullOrEmpty(fc["NGUOIKY"]) ? fc["NGUOIKY"].Trim() : string.Empty;
                entity.CHUCVU            = !string.IsNullOrEmpty(fc["CHUCVU"]) ? fc["CHUCVU"].Trim() : string.Empty;
                entity.NOIDUNG           = !string.IsNullOrEmpty(fc["NOIDUNGVANBAN"]) ? fc["NOIDUNGVANBAN"].Trim() : string.Empty;
                entity.DOMAT_ID          = fc["DOMAT_ID"].ToIntOrZero();
                entity.SOVANBANDEN_ID    = fc["SOVANBANDEN_ID"].ToIntOrZero();
                entity.SODITHEOSO        = fc["SODITHEOSO"].Trim();
                entity.NGAYCONGTAC       = fc["NGAYCONGTAC"].ToDateTime();
                entity.GIO_CONGTAC       = fc["GIO_CONGTAC"].ToIntOrNULL();
                entity.PHUT_CONGTAC      = fc["PHUT_CONGTAC"].ToIntOrNULL();
                entity.SODITHEOSO_NUMBER = int.Parse(entity.SODITHEOSO);
                entity.MA_DANGKY         = fc["MA_DANGKY"];
                entity.LOAI_COQUAN_ID    = fc["LOAI_COQUAN_ID"].ToIntOrNULL();
                entity.SO_BAN            = fc["SO_BAN"].ToIntOrNULL();
                entity.THONGTIN_LOAI_ID  = fc["THONGTIN_LOAI_ID"].ToIntOrNULL();
                entity.TACGIA            = fc["TACGIA"];
                entity.CONGVAN_DEN_ID    = fc["CONGVAN_DEN_ID"].ToIntOrNULL();
                entity.THOIHAN_GIAIQUYET = fc["THOIHAN_GIAIQUYET"].ToDateTime();
                List <long> ListUser = new List <long>();
                ListUser.Add(currentUser.ID);
                if (entity.ID == 0)
                {
                    entity.NGAYTAO  = DateTime.Now;
                    entity.NGUOITAO = currentUser.ID;
                    entity.NGAYSUA  = DateTime.Now;
                    entity.NGUOISUA = currentUser.ID;
                    hscvVanBanDenBusiness.Save(entity);
                    #region insert elastic search
                    ElasticModel model = ElasticModel.ConvertVanBanDen(entity, ListUser);
                    ElasticSearch.insertDocument(model, model.Id.ToString(), ElasticType.VanBanDen);
                    #endregion
                    JsonResultBO processResult = wfProcessBusiness.AddFlow(entity.ID, MODULE_CONSTANT.VANBANDEN, currentUser);
                    if (processResult.Status)
                    {
                        uploadFileTool.UploadFiles(filebase, extensionOfVanBanDen.Split(',').ToList(), uploadFolder, filename, entity.ID, LOAITAILIEU.VANBANDEN, maxSizeOfVanBanDen, currentUser);
                    }
                    //cập nhật số đi theo sổ
                    dmDanhMucDataBusiness.UpdateSoVanBan(entity.SOVANBANDEN_ID.GetValueOrDefault(), entity.SODITHEOSO.ToIntOrZero());
                }
                else
                {
                    HSCV_VANBANDEN dbEntity = hscvVanBanDenBusiness.Find(entity.ID);

                    dbEntity.SOHIEU           = entity.SOHIEU;
                    dbEntity.TRICHYEU         = entity.TRICHYEU;
                    dbEntity.SOTRANG          = entity.SOTRANG;
                    dbEntity.DONVI_ID         = entity.DONVI_ID;
                    dbEntity.LOAIVANBAN_ID    = entity.LOAIVANBAN_ID;
                    dbEntity.LINHVUCVANBAN_ID = entity.LINHVUCVANBAN_ID;
                    dbEntity.DOKHAN_ID        = entity.DOKHAN_ID;
                    dbEntity.NGAY_HIEULUC     = entity.NGAY_HIEULUC;
                    dbEntity.NGAYHET_HIEULUC  = entity.NGAYHET_HIEULUC;
                    dbEntity.NGAY_VANBAN      = entity.NGAY_VANBAN;
                    dbEntity.NGAY_BANHANH     = entity.NGAY_BANHANH;
                    dbEntity.NGUOIKY          = entity.NGUOIKY;
                    dbEntity.CHUCVU           = entity.CHUCVU;
                    dbEntity.NOIDUNG          = entity.NOIDUNG;
                    dbEntity.DOMAT_ID         = entity.DOMAT_ID;

                    dbEntity.NGAYCONGTAC       = entity.NGAYCONGTAC;
                    dbEntity.SOVANBANDEN_ID    = entity.SOVANBANDEN_ID;
                    dbEntity.SODITHEOSO        = entity.SODITHEOSO;
                    dbEntity.SODITHEOSO_NUMBER = entity.SODITHEOSO_NUMBER;

                    dbEntity.GIO_CONGTAC  = entity.GIO_CONGTAC;
                    dbEntity.PHUT_CONGTAC = entity.PHUT_CONGTAC;

                    dbEntity.MA_DANGKY              = entity.MA_DANGKY;
                    dbEntity.LOAI_COQUAN_ID         = entity.LOAI_COQUAN_ID;
                    dbEntity.SO_BAN                 = entity.SO_BAN;
                    dbEntity.THONGTIN_LOAI_ID       = entity.THONGTIN_LOAI_ID;
                    dbEntity.TACGIA                 = entity.TACGIA;
                    dbEntity.CONGVAN_DEN_ID         = entity.CONGVAN_DEN_ID;
                    dbEntity.THOIHAN_GIAIQUYET      = entity.THOIHAN_GIAIQUYET;
                    dbEntity.NGUOINHAN_TRUCTIEP_IDS = entity.NGUOINHAN_TRUCTIEP_IDS;
                    dbEntity.NGAYSUA                = DateTime.Now;
                    dbEntity.NGUOISUA               = currentUser.ID;
                    hscvVanBanDenBusiness.Save(dbEntity);

                    uploadFileTool.UploadFiles(filebase, extensionOfVanBanDen.Split(',').ToList(), uploadFolder, filename, dbEntity.ID, LOAITAILIEU.VANBANDEN, maxSizeOfVanBanDen, currentUser);

                    #region update elastic
                    ElasticModel model = ElasticModel.ConvertVanBanDen(dbEntity, ListUser);
                    ElasticSearch.updateDocument(model, model.Id.ToString(), ElasticType.VanBanDen);
                    #endregion
                }
                return(RedirectToAction("DetailVanBanDen", new { id = entity.ID }));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index"));
            }
        }
Exemplo n.º 18
0
        public JsonResult SaveObj(HSCV_VANBANDEN VanBan, FormCollection col, IEnumerable <HttpPostedFileBase> filebase, string[] filename, string[] FOLDER_ID)
        {
            try
            {
                List <CommonError> ListError = new List <CommonError>();
                Regex regex = new Regex(@"\d{2}/\d{2}/\d{4}");
                #region Gán dữ liệu string
                string NGUOIKY     = string.Empty;
                string CHUCVU      = string.Empty;
                string TRICHYEU    = string.Empty;
                string NOIDUNG     = string.Empty;
                string SOHIEU      = string.Empty;
                string SOTHEOSO    = string.Empty;
                string YKIENCHIDAO = string.Empty;
                if (!string.IsNullOrEmpty(col["NGUOIKY"]))
                {
                    NGUOIKY = col["NGUOIKY"].Trim();
                }
                if (!string.IsNullOrEmpty(col["CHUCVU"]))
                {
                    CHUCVU = col["CHUCVU"].Trim();
                }
                if (!string.IsNullOrEmpty(col["TRICHYEU"]))
                {
                    TRICHYEU = col["TRICHYEU"].Trim();
                }
                if (!string.IsNullOrEmpty(col["NOIDUNG"]))
                {
                    NOIDUNG = col["NOIDUNG"].Trim();
                }
                if (!string.IsNullOrEmpty(col["SOHIEU"]))
                {
                    SOHIEU = col["SOHIEU"].Trim();
                }
                CommonError commonError;
                if (!string.IsNullOrEmpty(col["NGAY_HIEULUC"]))
                {
                    if (regex.IsMatch(col["NGAY_HIEULUC"]))
                    {
                        VanBan.NGAY_HIEULUC = col["NGAY_HIEULUC"].ToDataTime();
                        if (!VanBan.NGAY_HIEULUC.HasValue)
                        {
                            commonError         = new CommonError();
                            commonError.Field   = "NGAY_HIEULUC";
                            commonError.Message = "Ngày hiệu lực không tồn tại";
                            ListError.Add(commonError);
                        }
                    }
                    else
                    {
                        commonError         = new CommonError();
                        commonError.Field   = "NGAY_HIEULUC";
                        commonError.Message = "Ngày hiệu lực không đúng định dạng";
                        ListError.Add(commonError);
                    }
                }
                if (!string.IsNullOrEmpty(col["NGAYHET_HIEULUC"]))
                {
                    if (regex.IsMatch(col["NGAYHET_HIEULUC"]))
                    {
                        VanBan.NGAYHET_HIEULUC = col["NGAYHET_HIEULUC"].ToDataTime();
                        if (!VanBan.NGAYHET_HIEULUC.HasValue)
                        {
                            commonError         = new CommonError();
                            commonError.Field   = "NGAYHET_HIEULUC";
                            commonError.Message = "Ngày hết hiệu lực không tồn tại";
                            ListError.Add(commonError);
                        }
                    }
                    else
                    {
                        commonError         = new CommonError();
                        commonError.Field   = "NGAYHET_HIEULUC";
                        commonError.Message = "Ngày hết hiệu lực không đúng định dạng";
                        ListError.Add(commonError);
                    }
                }
                if (!string.IsNullOrEmpty(col["NGAY_VANBAN"]))
                {
                    if (regex.IsMatch(col["NGAY_VANBAN"]))
                    {
                        VanBan.NGAY_VANBAN = col["NGAY_VANBAN"].ToDataTime();
                        if (!VanBan.NGAY_VANBAN.HasValue)
                        {
                            commonError         = new CommonError();
                            commonError.Field   = "NGAY_VANBAN";
                            commonError.Message = "Ngày văn bản không tồn tại";
                            ListError.Add(commonError);
                        }
                    }
                    else
                    {
                        commonError         = new CommonError();
                        commonError.Field   = "NGAY_VANBAN";
                        commonError.Message = "Ngày văn bản không đúng định dạng";
                        ListError.Add(commonError);
                    }
                }
                if (VanBan.NGAY_HIEULUC > VanBan.NGAYHET_HIEULUC)
                {
                    commonError         = new CommonError();
                    commonError.Field   = "NGAY_HIEULUC";
                    commonError.Message = "Ngày có hiệu lực phải nhỏ hơn hoặc bằng ngày hết hiệu lực";
                    ListError.Add(commonError);
                }
                if (!string.IsNullOrEmpty(col["NGAY_BANHANH"]))
                {
                    if (regex.IsMatch(col["NGAY_BANHANH"]))
                    {
                        VanBan.NGAY_BANHANH = col["NGAY_BANHANH"].ToDataTime();
                        if (!VanBan.NGAY_BANHANH.HasValue)
                        {
                            commonError         = new CommonError();
                            commonError.Field   = "NGAY_BANHANH";
                            commonError.Message = "Ngày ban hành không tồn tại";
                            ListError.Add(commonError);
                        }
                    }
                    else
                    {
                        commonError         = new CommonError();
                        commonError.Field   = "NGAY_BANHANH";
                        commonError.Message = "Ngày ban hành không đúng định dạng";
                        ListError.Add(commonError);
                    }
                }
                else
                {
                    commonError         = new CommonError();
                    commonError.Field   = "NGAY_BANHANH";
                    commonError.Message = "Bạn chưa chọn ngày ban hành";
                    ListError.Add(commonError);
                }
                //if (!string.IsNullOrEmpty(col["SOTHEOSO"]))
                //{
                //    SOTHEOSO = col["SOTHEOSO"].Trim();
                //}
                //if (!string.IsNullOrEmpty(col["YKIENCHIDAO"]))
                //{
                //    YKIENCHIDAO = col["YKIENCHIDAO"].Trim();
                //}
                #endregion
                VanBan.NGUOIKY  = NGUOIKY;
                VanBan.CHUCVU   = CHUCVU;
                VanBan.TRICHYEU = TRICHYEU;
                VanBan.NOIDUNG  = NOIDUNG;
                VanBan.SOHIEU   = SOHIEU;
                //VanBan.SOTHEOSO = SOTHEOSO;
                //VanBan.YKIENCHIDAO = YKIENCHIDAO;
                ListError.AddRange(IsValid(VanBan));
                if (ListError.Count > 0)
                {
                    return(Json(new { Type = "INVALID", Message = ListError }));
                }
                AssignUserInfo();
                HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();

                UploadFileTool tool = new UploadFileTool();
                if (VanBan.ID > 0)
                {
                    #region Cập nhật văn bản
                    var result = HSCV_VANBANDENBusiness.Find(VanBan.ID);
                    if (result == null || currentUser.ID != result.NGUOITAO)
                    {
                        return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản phát hành cần cập nhật" }));
                    }
                    result.CHUCVU    = VanBan.CHUCVU;
                    result.DOKHAN_ID = VanBan.DOKHAN_ID;
                    result.DOMAT_ID  = VanBan.DOMAT_ID;
                    //result.DOUUTIEN_ID = VanBan.DOUUTIEN_ID;
                    result.LINHVUCVANBAN_ID = VanBan.LINHVUCVANBAN_ID;
                    result.LOAIVANBAN_ID    = VanBan.LOAIVANBAN_ID;
                    result.NGAYSUA          = DateTime.Now;
                    result.NGUOIKY          = VanBan.NGUOIKY;
                    result.NGUOISUA         = currentUser.ID;
                    result.NOIDUNG          = VanBan.NOIDUNG;
                    //result.SOBANSAO = VanBan.SOBANSAO;
                    result.SOHIEU = VanBan.SOHIEU;
                    //result.SOTHEOSO = VanBan.SOTHEOSO;
                    //result.SOTO = VanBan.SOTO;
                    result.SOTRANG  = VanBan.SOTRANG;
                    result.TRICHYEU = VanBan.TRICHYEU;
                    //result.YKIENCHIDAO = VanBan.YKIENCHIDAO;
                    result.NGAY_BANHANH    = VanBan.NGAY_BANHANH;
                    result.NGAY_HIEULUC    = VanBan.NGAY_HIEULUC;
                    result.NGAY_VANBAN     = VanBan.NGAY_VANBAN;
                    result.NGAYHET_HIEULUC = VanBan.NGAYHET_HIEULUC;
                    HSCV_VANBANDENBusiness.Save(result);
                    tool.UploadCustomFileVer3(filebase, true, VbDenExtension, URL_FOLDER, VbDenSize, FOLDER_ID, filename, result.ID, LOAITAILIEU.VANBANDEN, "Văn bản đến", currentUser);
                    return(Json(new { Type = "SUCCESS", Message = "Cập nhật văn bản phát hành thành công" }));

                    #endregion
                }
                else
                {
                    #region Thêm mới văn bản
                    VanBan.NGAYTAO  = DateTime.Now;
                    VanBan.NGUOITAO = currentUser.ID;
                    VanBan.DONVI_ID = currentUser.DM_PHONGBAN_ID;
                    HSCV_VANBANDENBusiness.Save(VanBan);
                    tool.UploadCustomFileVer3(filebase, true, VbDenExtension, URL_FOLDER, VbDenSize, FOLDER_ID, filename, VanBan.ID, LOAITAILIEU.VANBANDEN, "Văn bản đến", currentUser);
                    #endregion
                }
                #region Thêm đơn vị nhận
                HSCV_VANBANDEN_DONVINHANBusiness = Get <HSCV_VANBANDEN_DONVINHANBusiness>();
                var ListDonVi = HSCV_VANBANDEN_DONVINHANBusiness.GetData(VanBan.ID);
                foreach (var item in ListDonVi)
                {
                    HSCV_VANBANDEN_DONVINHANBusiness.repository.Delete(item.ID);
                }
                HSCV_VANBANDEN_DONVINHANBusiness.Save();
                var selectedDept = col["department-choose"];
                if (!string.IsNullOrEmpty(selectedDept))
                {
                    var Ids = selectedDept.ToListInt(',');
                    foreach (var item in Ids)
                    {
                        HSCV_VANBANDEN_DONVINHAN DonVi = new HSCV_VANBANDEN_DONVINHAN();
                        DonVi.DONVI_ID     = item;
                        DonVi.VANBANDEN_ID = VanBan.ID;
                        HSCV_VANBANDEN_DONVINHANBusiness.Save(DonVi);
                    }
                }
                #endregion
                return(Json(new { Type = "SUCCESS", Message = "Thêm mới văn bản phát hành thành công" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Type = "ERROR", Message = "Đã có lỗi xảy ra. Vui lòng kiểm tra lại" }));
            }
        }
        public PartialViewResult GetReportResult(FormCollection form)
        {
            AssignUserInfo();
            string   categoryCode             = string.Empty;
            string   reportTitle              = string.Empty;
            string   departmentExtensionTitle = string.Empty;
            int      reportType            = form["reportType"].ToIntOrZero();
            int      timeFilterType        = form["timeFilterType"].ToIntOrZero();
            int      queryItemCategoryType = form["queryItemCategoryType"].ToIntOrZero();
            int      queryDepartment       = form["queryDepartment"].ToIntOrZero();
            DateTime?queryDateStart;
            DateTime?queryDateEnd;

            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            CCTC_THANHPHAN department = cctcThanhPhanBusiness.Find(queryDepartment);

            departmentExtensionTitle = department != null?string.Format("CỦA ĐƠN VỊ {0}", department.NAME.ToUpper()) : string.Empty;

            DM_DANHMUC_DATA category = dmDanhMucDataBusiness.Find(queryItemCategoryType) ?? new DM_DANHMUC_DATA();

            category.TEXT = string.IsNullOrEmpty(category.TEXT) ? string.Empty : category.TEXT.ToUpper();

            ReportVanBanDenResultViewModel viewModel = new ReportVanBanDenResultViewModel();

            viewModel.reportType = reportType;

            if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
            {
                categoryCode = DMLOAI_CONSTANT.LOAI_VANBAN;
            }
            else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
            {
                categoryCode = DMLOAI_CONSTANT.LINHVUCVANBAN;
            }
            else
            {
                categoryCode = DMLOAI_CONSTANT.DONVIGUI_VANBAN;
            }

            if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.NGAY)
            {
                queryDateStart = form["queryDateStart"].ToDateTime();
                queryDateEnd   = form["queryDateEnd"].ToDateTime();
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO LOẠI {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("THỐNG KÊ VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TỪ NGÀY {1} ĐẾN NGÀY {2} {3}", category.TEXT, queryDateStart.Value.ToVietnameseDateFormat(), queryDateEnd.Value.ToVietnameseDateFormat(), departmentExtensionTitle);
                }
            }
            else if (timeFilterType == LOAI_BAOCAO_THOIGIAN_CONSTANT.THANG)
            {
                int month = form["queryMonth"].ToIntOrZero();
                int year  = form["queryYear"].ToIntOrZero();
                queryDateStart = new DateTime(year, month, 1);
                queryDateEnd   = new DateTime(year, month, DateTime.DaysInMonth(year, month));
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LOẠI {0} TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TRONG THÁNG {1} NĂM {2} {3}", category.TEXT, month, year, departmentExtensionTitle);
                }
            }
            else
            {
                int year = form["queryYearOnly"].ToIntOrZero();
                queryDateStart = new DateTime(year, 1, 1);
                queryDateEnd   = new DateTime(year, 12, 31);
                if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LOAI_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LOẠI {0} TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
                else if (reportType == LOAI_BAOCAO_VANBAN_CONSTANT.BAOCAO_LINHVUC_VANBANDEN)
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO LĨNH VỰC {0} TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
                else
                {
                    reportTitle = string.Format("BÁO CÁO VĂN BẢN ĐẾN THEO ĐƠN VỊ {0} GỬI TRONG NĂM {1} {2}", category.TEXT, year, departmentExtensionTitle);
                }
            }
            viewModel.title = reportTitle;
            viewModel.groupOfReportResultItems = hscvVanBanDenBusiness.GetStatisticResultByCategory(queryDepartment, MODULE_CONSTANT.VANBANDEN, categoryCode, queryDateStart, queryDateEnd, queryItemCategoryType);
            SessionManager.SetValue("ReportVanBanDen" + reportType, viewModel);
            return(PartialView("_ReportVanBanDenResult", viewModel));
        }
Exemplo n.º 20
0
        public JsonResult searchData(FormCollection form)
        {
            HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>();
            var searchModel = SessionManager.GetValue("VanBanDenSearch") as HSCV_VANBANDEN_SEARCH;

            if (searchModel == null)
            {
                searchModel          = new HSCV_VANBANDEN_SEARCH();
                searchModel.pageSize = MaxPerpage;
            }
            int DONVI_ID = form["DONVI_ID"].ToIntOrZero();

            if (DONVI_ID > 0)
            {
                AssignUserInfo();
                CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
                List <int> Ids = new List <int>();
                if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI))
                {
                    CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID);
                    Ids = new List <int>();
                    if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0)
                    {
                        Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList();
                        Ids.Add(DonVi.PARENT_ID.Value);
                    }
                    else
                    {
                        Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                        Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                    }
                }
                else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN))
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList();
                    Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0);
                }
                if (Ids.Contains(DONVI_ID))
                {
                    Ids = CCTC_THANHPHANBusiness.GetDSChild(DONVI_ID).Select(x => x.ID).ToList();
                    Ids.Add(DONVI_ID);
                    searchModel.ListDonVi = Ids;
                }
                else
                {
                    searchModel.ListDonVi = Ids;
                }
            }
            searchModel.SOHIEU           = form["SOHIEU"];
            searchModel.TRICHYEU         = form["TRICHYEU"];
            searchModel.DOKHAN_ID        = form["DOKHAN_ID"].ToIntOrNULL();
            searchModel.DOMAT_ID         = form["DOMAT_ID"].ToIntOrNULL();
            searchModel.LINHVUCVANBAN_ID = form["LINHVUCVANBAN_ID"].ToIntOrNULL();
            searchModel.LOAIVANBAN_ID    = form["LOAIVANBAN_ID"].ToIntOrNULL();
            searchModel.NGUOIKY          = form["NGUOIKY"];
            searchModel.NGAYBANHANH_TU   = form["BANHANH_TU"].ToDateTime();
            searchModel.NGAYBANHANH_DEN  = form["BANHANH_DEN"].ToDateTime();
            SessionManager.SetValue("VanBanDenSearch", searchModel);
            var data = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, searchModel.pageSize, 1);

            return(Json(data));
        }