예제 #1
0
        public JsonResult Edit(FormCollection collection, string[] FOLDER_ID, string[] filename, IEnumerable <HttpPostedFileBase> filebase)
        {
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            var result = new JsonResultBO(true);

            AssignUserInfo();
            try
            {
                var id    = collection["ID"].ToIntOrZero();
                var myobj = DM_DANHMUC_DATABusiness.Find(id);
                myobj.DATA   = collection["DATA"].ToIntOrZero();
                myobj.TEXT   = collection["TEXT"].ToString();
                myobj.CODE   = collection["CODE"];
                myobj.GHICHU = collection["GHICHU"].ToString();
                myobj.COLOR  = collection["COLOR"].ToString();
                myobj.DEPTID = collection["DEPTID"].ToIntOrNULL();
                if (filebase != null && filebase.FirstOrDefault() != null)
                {
                    FileUltilities file = new FileUltilities();
                    TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
                    List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(myobj.ID, LOAITAILIEU.MST_DIVISION);
                    foreach (var item in ListTaiLieu)
                    {
                        file.RemoveFile(UPLOADFOLDER + "/" + item.DUONGDAN_FILE);
                        TAILIEUDINHKEMBusiness.repository.Delete(item.TAILIEU_ID);
                    }
                    TAILIEUDINHKEMBusiness.Save();
                    if (filename == null)
                    {
                        filename = new string[filebase.Count()];
                    }
                    UploadFileTool tool     = new UploadFileTool();
                    List <string>  FileName = new List <string>();
                    List <string>  FilePath = new List <string>();
                    List <long>    FileId   = new List <long>();
                    tool.UploadCustomFileAndOutPath(filebase, false, MstDivisionExtension, UPLOADFOLDER,
                                                    int.Parse(MstDivisionSize), FOLDER_ID, filename, myobj.ID,
                                                    out FilePath, out FileName, out FileName, out FileId, LOAITAILIEU.MST_DIVISION,
                                                    "Danh mục dùng chung");
                    if (FilePath.Any())
                    {
                        myobj.ICON = FilePath[0];
                    }
                }
                DM_DANHMUC_DATABusiness.Save(myobj);
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = "Không cập nhật được";
            }
            return(Json(result));
        }
예제 #2
0
        public JsonResult SaveVanBan(FormCollection form, List <HttpPostedFileBase> filebase, string[] FOLDER_ID, string[] filename)
        {
            QuanLyVanBanBusiness   = Get <QuanLyVanBanBusiness>();
            TaiLieuDinhKemBusiness = Get <TAILIEUDINHKEMBusiness>();

            var    SaveVanBan = new QUANLY_VANBAN();
            string title      = "Thêm mới văn bản thành công";

            if (!string.IsNullOrEmpty(form["ID"]) && Convert.ToInt32(form["ID"]) > 0)
            {
                SaveVanBan = QuanLyVanBanBusiness.Find(Convert.ToInt32(form["ID"]));
                title      = "Cập nhật văn bản thành công";
            }
            SaveVanBan.COQUAN_BANHANH_ID = form["COQUAN_BANHANH_ID"].ToIntOrNULL();
            SaveVanBan.DOMAT_ID          = form["DOMAT_ID"].ToIntOrNULL();
            SaveVanBan.GHICHU            = form["GHICHU"];
            SaveVanBan.HOSO_ID           = form["HOSO_ID"].ToIntOrNULL();
            SaveVanBan.LINHVUC_ID        = form["LINHVUC_ID"].ToIntOrNULL();
            SaveVanBan.LOAI_VANBAN_ID    = form["LOAI_VANBAN_ID"].ToIntOrNULL();
            SaveVanBan.MUCDO_TRUYCAP     = form["MUCDO_TRUYCAP"].ToIntOrNULL();
            SaveVanBan.NGAYBANHANH       = form["NGAYBANHANH"].ToDateTime();
            SaveVanBan.NGONNGU_ID        = form["NGONNGU_ID"].ToIntOrNULL();
            SaveVanBan.SO_KYHIEU         = form["SO_KYHIEU"];
            SaveVanBan.TIEUDE            = form["TIEUDE"];
            SaveVanBan.TINHTRANG_VATLY   = form["TINHTRANG_VATLY"].ToIntOrNULL();
            SaveVanBan.TOSO            = form["TOSO"].ToIntOrNULL();
            SaveVanBan.TRICHYEU_VANBAN = form["TRICHYEU_VANBAN"];
            QuanLyVanBanBusiness.Save(SaveVanBan);
            //Lưu file đính kèm
            if (filebase != null && filebase.Count() > 0)
            {
                if (!string.IsNullOrEmpty(form["ID"]) && Convert.ToInt32(form["ID"]) > 0 && filebase[0] != null)
                {
                    #region Xóa tài liệu đi kèm

                    List <TAILIEUDINHKEM> ListTaiLieu = TaiLieuDinhKemBusiness.GetDataByItemID(SaveVanBan.ID, LOAITAILIEU.VANBAN);
                    FileUltilities        file        = new FileUltilities();
                    foreach (var item in ListTaiLieu)
                    {
                        file.RemoveFile(URLPath + "\\" + item.DUONGDAN_FILE);
                        TaiLieuDinhKemBusiness.Delete(item.TAILIEU_ID);
                    }
                    TaiLieuDinhKemBusiness.Save();

                    #endregion Xóa tài liệu đi kèm
                }
                UploadFileTool tool   = new UploadFileTool();
                var            exited = tool.UploadCustomFile(filebase, true, FileAllowUpload, URLPath, MaxFileSizeUpload.ToIntOrZero(), FOLDER_ID, filename, SaveVanBan.ID, LOAITAILIEU.VANBAN, "Văn Bản");
            }
            return(Json(new { VanBan = QuanLyVanBanBusiness.GetByHoSo(SaveVanBan.HOSO_ID), message = title }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public JsonResult Create(FormCollection collection, string[] FOLDER_ID, string[] filename, IEnumerable <HttpPostedFileBase> filebase)
        {
            DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>();
            var result = new JsonResultBO(true);

            try
            {
                var myobj = new DM_DANHMUC_DATA();
                myobj.DM_NHOM_ID = collection["DM_NHOM_ID"].ToIntOrZero();
                myobj.DATA       = collection["DATA"].ToIntOrZero();
                myobj.TEXT       = collection["TEXT"].ToString();
                myobj.CODE       = collection["CODE"];
                myobj.COLOR      = collection["COLOR"].ToString();
                myobj.GHICHU     = collection["GHICHU"].ToString();
                myobj.DEPTID     = collection["DEPTID"].ToIntOrNULL();
                DM_DANHMUC_DATABusiness.Save(myobj);
                if (filebase != null)
                {
                    if (filename == null)
                    {
                        filename = new string[filebase.Count()];
                    }
                    UploadFileTool tool     = new UploadFileTool();
                    List <string>  FileName = new List <string>();
                    List <string>  FilePath = new List <string>();
                    List <long>    FileId   = new List <long>();
                    tool.UploadCustomFileAndOutPath(filebase, false, MstDivisionExtension, UPLOADFOLDER,
                                                    int.Parse(MstDivisionSize), FOLDER_ID, filename, myobj.ID,
                                                    out FilePath, out FileName, out FileName, out FileId, LOAITAILIEU.MST_DIVISION,
                                                    "Danh mục dùng chung");
                    if (FilePath.Any())
                    {
                        myobj.ICON = FilePath[0];
                        DM_DANHMUC_DATABusiness.Save(myobj);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = "Không thêm mới được";
            }
            return(Json(result));
        }
예제 #4
0
        public JsonResult SaveKyDuyetVanBan(long id)
        {
            AssignUserInfo();
            HSCV_VANBANDIBusiness = Get <HSCV_VANBANDIBusiness>();
            HSCV_VANBANDI VanBan = HSCV_VANBANDIBusiness.Find(id);

            if (VanBan == null)
            {
                return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản trình ký cần ký duyệt" }));
            }
            //Nếu như văn bản cần ký duyệt
            if (true == VanBan.HAS_SIGNED)
            {
                try
                {
                    UploadFileTool tool                   = new UploadFileTool();
                    FileUltilities file                   = new FileUltilities();
                    List <string>  ListExtension          = tool.GetWordExtension();
                    List <string>  ListPdfExtension       = tool.GetPdfExtension();
                    var            TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>();
                    var            ListTaiLieu            = TAILIEUDINHKEMBusiness.GetDataByItemID(id, LOAITAILIEU.VANBAN);
                    var            ListPdf                = ListTaiLieu.Where(x => !string.IsNullOrEmpty(x.DINHDANG_FILE) && ListPdfExtension.Contains(x.DINHDANG_FILE.ToLower())).ToList();
                    var            ListWord               = ListTaiLieu.Where(x => !string.IsNullOrEmpty(x.DINHDANG_FILE) && ListExtension.Contains(x.DINHDANG_FILE.ToLower())).ToList();
                    var            personalSign           = "";
                    if (currentUser.signpath != null && currentUser.signpath != "")
                    {
                        personalSign = Server.MapPath("~/" + currentUser.signpath);
                    }

                    if (ListWord.Count > 0)
                    {
                        FileUltilities.CreateListWatermark("APPROVED", ListWord, "", personalSign);
                    }

                    if (ListPdf.Count > 0)
                    {
                        FileUltilities.CreateWaterMarkPdf(ListPdf, "APPROVED");
                    }
                }
                catch (Exception ex)
                {
                }
            }
            #region cập nhật wf function done
            var WF_PROCESSBusiness        = Get <WF_PROCESSBusiness>();
            var process                   = WF_PROCESSBusiness.GetProcess(VanBan.ID, MODULE_CONSTANT.VANBANTRINHKY);
            var WF_STATE_FUNCTIONBusiness = Get <WF_STATE_FUNCTIONBusiness>();
            var function                  = WF_STATE_FUNCTIONBusiness.GetStateFunction((int)process.CURRENT_STATE);
            var WF_FUNCTION_DONEBusiness  = Get <WF_FUNCTION_DONEBusiness>();
            var WF_LOGBusiness            = Get <WF_LOGBusiness>();
            var functionDone              = new WF_FUNCTION_DONE();
            functionDone.ITEM_TYPE      = MODULE_CONSTANT.VANBANTRINHKY;
            functionDone.ITEM_ID        = VanBan.ID;
            functionDone.STATE          = process.CURRENT_STATE;
            functionDone.FUNCTION_STATE = function.ID;
            functionDone.create_at      = DateTime.Now;
            AssignUserInfo();
            functionDone.create_by = currentUser.ID;
            WF_FUNCTION_DONEBusiness.Save(functionDone);
            var log = new WF_LOG();
            log.ITEM_ID      = VanBan.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 WF_STATEBusiness = Get <WF_STATEBusiness>();
            var state            = WF_STATEBusiness.Find(process.CURRENT_STATE);
            if (state != null && state.IS_KETTHUC == true)
            {
                process.IS_END = true;
                WF_PROCESSBusiness.Save(process);
            }
            #endregion
            return(Json(new { Type = "SUCCESS", Message = "Ký duyệt văn bản thành công" }));
        }
예제 #5
0
        /// <summary>
        /// Phản hồi kết quả review
        /// </summary>
        /// <param name="phanHoiVanBan"></param>
        /// <param name="pheDuyetVanBan"></param>
        /// <param name="itemId"></param>
        /// <param name="itemType"></param>
        /// <returns></returns>
        public ActionResult SaveUserReview(FormCollection coll, IEnumerable <HttpPostedFileBase> filebase, string[] filename, string[] FOLDER_ID)
        {
            AssignUserInfo();
            string phanHoiVanBan  = coll["PHANHOIVANBAN"];
            int    pheDuyetVanBan = coll["PHEDUYETVANBAN"].ToIntOrZero();
            long   itemId         = coll["itemId"].ToLongOrZero();
            string itemType       = coll["itemType"];

            var result = new JsonResultBO(true);
            WF_REVIEW_USERBusiness WF_REVIEW_USERBusiness = Get <WF_REVIEW_USERBusiness>();
            WF_REVIEWBusiness      WF_REVIEWBusiness      = Get <WF_REVIEWBusiness>();
            WF_REVIEW ReviewObj = WF_REVIEWBusiness.repository.All()
                                  .Where(x => x.ITEMID == itemId && x.ITEMTYPE == itemType && x.IS_FINISH != true).FirstOrDefault();

            if (ReviewObj != null)
            {
                // kiểm tra xem nội dung phản hồi có hay không và người dùng hiện tại có quyền review với văn bản này ko và phải là đợt review mới nhất
                WF_USER_REVIEW userReview = WF_REVIEW_USERBusiness.repository.All().Where(x =>
                                                                                          x.ITEMTYPE == itemType && x.ITEMID == itemId && x.USER_ID == currentUser.ID &&
                                                                                          x.REVIEW_ID == ReviewObj.ID).FirstOrDefault();
                if (!string.IsNullOrEmpty(phanHoiVanBan) && userReview != null)
                {
                    // luu log xu ly
                    var WF_LogBusiness = Get <WF_LOGBusiness>();
                    // Lấy log cuối cùng
                    WF_LOG lastLog = WF_LogBusiness.repository.All()
                                     .Where(x => x.ITEM_ID == ReviewObj.ITEMID && x.ITEM_TYPE == ReviewObj.ITEMTYPE)
                                     .OrderByDescending(x => x.ID).FirstOrDefault();
                    WF_LOG log = new WF_LOG();
                    if (lastLog != null)
                    {
                        log.MESSAGE      = phanHoiVanBan;
                        log.NGUOIXULY_ID = currentUser.ID;
                        log.create_at    = DateTime.Now;
                        log.create_by    = currentUser.ID;
                        log.ITEM_TYPE    = ReviewObj.ITEMTYPE;
                        log.ITEM_ID      = ReviewObj.ITEMID;
                        log.NGUONHAN_ID  = lastLog.NGUOIXULY_ID;
                        log.WF_ID        = lastLog.WF_ID;
                        log.STEP_ID      = lastLog.STEP_ID;
                    }
                    // end
                    userReview.COMMENT   = phanHoiVanBan;
                    userReview.REVIEW_AT = DateTime.Now;
                    if (pheDuyetVanBan == 1)
                    {
                        userReview.IS_APPROVE = true;
                        log.MESSAGE          += "- Đồng ý";
                    }
                    else
                    {
                        userReview.IS_APPROVE = false;
                        // cập nhật lại trạng thái reject, đã reject rồi sẽ ko cập nhật trạng thái pending của process vì chưa xử lý xong
                        ReviewObj.IS_REJECT = true;
                        log.MESSAGE        += "- Không đồng ý";
                    }
                    if (lastLog != null)
                    {
                        WF_LogBusiness.Save(log);
                        UploadFileTool tool = new UploadFileTool();
                        tool.UploadCustomFileVer3(filebase, true, VbTrinhKyExtension, URL_FOLDER, VbTrinhKySize, FOLDER_ID, filename, log.ID, LOAITAILIEU.REVIEWVANBAN, "Review Văn bản trình ký", currentUser);
                    }
                    WF_REVIEW_USERBusiness.Save(userReview);
                    WF_REVIEWBusiness.Save(ReviewObj);
                    #region kiểm tra xem đã review hết chưa thì cập nhật lại trạng thái của bảng review là is finish
                    if (WF_REVIEW_USERBusiness.CheckFinishReview(ReviewObj.ID))
                    {
                        // nếu không còn bản ghi nào để review thì cập nhật trạng thái is finish
                        ReviewObj.IS_FINISH = true;
                        WF_REVIEWBusiness.Save(ReviewObj);
                        // nếu đã cập nhật hêt rồi mà ko có bản ghi nào bị từ chối thì update lại trạng thái pending của process
                        if (ReviewObj.IS_REJECT != true)
                        {
                            var WF_PROCESSBusiness = Get <WF_PROCESSBusiness>();
                            var ProcessObj         = WF_PROCESSBusiness.repository.All()
                                                     .Where(x => x.ITEM_ID == itemId && x.ITEM_TYPE == itemType).OrderByDescending(x => x.ID)
                                                     .FirstOrDefault();
                            if (ProcessObj != null)
                            {
                                ProcessObj.IS_PENDING = false;
                                WF_PROCESSBusiness.Save(ProcessObj);
                            }
                        }
                    }
                    #endregion
                    #region gửi notification
                    var         SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>();
                    SYS_TINNHAN noti = new SYS_TINNHAN();
                    noti.FROM_USERNAME = currentUser.HOTEN;
                    noti.FROM_USER_ID  = currentUser.ID;
                    noti.NGAYTAO       = DateTime.Now;
                    noti.NOIDUNG       = currentUser.HOTEN + " đã trả lời Review một văn bản trình ký";
                    if (ReviewObj.ITEMTYPE == MODULE_CONSTANT.VANBANTRINHKY)
                    {
                        noti.URL    = "/HSVanBanDiArea/VanBanChuaXuLy/DetailVanBan/" + itemId.ToString();
                        noti.TIEUDE = "REVIEW VĂN BẢN TRÌNH KÝ";
                    }
                    noti.TO_USER_ID = userReview.CREATED_BY;
                    SYS_TINNHANBusiness.Save(noti, targetScreen, false, ReviewObj.ITEMID.HasValue ? ReviewObj.ITEMID.Value : 0, TargetDocType.COORDINATED);
                    #endregion
                }
                //else
                //{
                //    //result.MessageFail("Dữ liệu không hợp lệ hoặc bạn đang cố gắng hack hệ thống");
                //    //return Redirect("/HSVanBanDiArea/VanBanChuaXuLy/DetailVanBan/" + itemId.ToString());
                //}
            }
            //else
            //{
            //    result.MessageFail("Dữ liệu không hợp lệ hoặc bạn đang cố gắng hack hệ thống");
            //}
            return(Redirect("/HSVanBanDiArea/VanBanChuaXuLy/DetailVanBan/" + itemId.ToString()));
            //return Json(result);
        }
        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"));
            }
        }
예제 #7
0
        public JsonResult SaveCongViec(HSCV_CONGVIEC CongViec, FormCollection col, IEnumerable <HttpPostedFileBase> filebase, string[] filename, string[] FOLDER_ID)
        {
            AssignUserInfo();
            #region gán dữ liệu
            string NGAYBATDAU       = col["NGAYBATDAU"];
            string NGAYKETTHUC      = col["NGAYKETTHUC"];
            string MUCTIEU_CONGVIEC = col["MUCTIEU_CONGVIEC"];
            string CACBUOC_THUCHIEN = col["CACBUOC_THUCHIEN"];
            if (!string.IsNullOrEmpty(NGAYBATDAU))
            {
                NGAYBATDAU = NGAYBATDAU.Trim();
            }
            if (!string.IsNullOrEmpty(NGAYKETTHUC))
            {
                NGAYKETTHUC = NGAYKETTHUC.Trim();
            }
            if (!string.IsNullOrEmpty(col["NOIDUNGCONGVIEC"]))
            {
                CongViec.NOIDUNGCONGVIEC = col["NOIDUNGCONGVIEC"].Trim();
            }
            if (!string.IsNullOrEmpty(col["TENCONGVIEC"]))
            {
                CongViec.TENCONGVIEC = col["TENCONGVIEC"].Trim();
            }
            if (!string.IsNullOrEmpty(MUCTIEU_CONGVIEC))
            {
                CongViec.MUCTIEU_CONGVIEC = MUCTIEU_CONGVIEC.Trim();
            }
            if (!string.IsNullOrEmpty(CACBUOC_THUCHIEN))
            {
                CongViec.CACBUOC_THUCHIEN = CACBUOC_THUCHIEN.Trim();
            }
            CongViec.NGAY_NHANVIEC = NGAYBATDAU.ToDateTime();
            CongViec.NGAYHOANTHANH_THEOMONGMUON = NGAYKETTHUC.ToDateTime();
            CongViec.IS_BATDAU = false;
            #endregion
            List <CommonError> ListError = IsValid(CongViec, NGAYBATDAU, NGAYKETTHUC);
            if (ListError.Any())
            {
                return(Json(new { Type = "INVALID", Message = ListError }, JsonRequestBehavior.AllowGet));
            }
            HSCV_CONGVIECBusiness = Get <HSCV_CONGVIECBusiness>();
            UploadFileTool tool = new UploadFileTool();
            if (CongViec.ID > 0)
            {
                #region Cập nhật công việc cá nhân
                var result = HSCV_CONGVIECBusiness.Find(CongViec.ID);
                if (result == null || currentUser.ID != result.NGUOIGIAOVIEC_ID)
                {
                    return(Json(new { Type = "ERROR", Message = "Không tìm thấy công việc cần cập nhật" }, JsonRequestBehavior.AllowGet));
                }
                result.DOKHAN                     = CongViec.DOKHAN;
                result.DOUU_TIEN                  = CongViec.DOUU_TIEN;
                result.HAS_FILE                   = filebase.Any() ? 1 : 0;
                result.HAS_NHACVIECDENHAN         = CongViec.HAS_NHACVIECDENHAN;
                result.IS_EMAIL                   = CongViec.IS_EMAIL;
                result.IS_HASPLAN                 = CongViec.IS_HASPLAN;
                result.IS_MESG                    = CongViec.IS_MESG;
                result.IS_POPUP                   = CongViec.IS_POPUP;
                result.IS_SMS                     = CongViec.IS_SMS;
                result.IS_SUBTASK                 = CongViec.IS_SUBTASK;
                result.ITEMTYPE                   = CongViec.ITEMTYPE;
                result.ITEM_ID                    = CongViec.ITEM_ID;
                result.NGAY_NHANVIEC              = CongViec.NGAY_NHANVIEC;
                result.NGAYHOANTHANH_THEOMONGMUON = CongViec.NGAYHOANTHANH_THEOMONGMUON;
                result.NGAYSUA                    = DateTime.Now;
                result.NGUOIGIAOVIECDANHGIA       = CongViec.NGUOIGIAOVIECDANHGIA;
                result.NGUOIGIAOVIECDAPHANHOI     = CongViec.NGUOIGIAOVIECDAPHANHOI;
                result.NOIDUNGCONGVIEC            = CongViec.NOIDUNGCONGVIEC;
                result.PHANTRAMHOANTHANH          = CongViec.PHANTRAMHOANTHANH;
                result.SONGAYNHACTRUOCHAN         = CongViec.SONGAYNHACTRUOCHAN;
                result.SUBTASK_ID                 = CongViec.SUBTASK_ID;
                result.TENCONGVIEC                = CongViec.TENCONGVIEC;
                result.TRANGTHAI_ID               = CongViec.TRANGTHAI_ID;
                result.IS_BATDAU                  = CongViec.IS_BATDAU;
                result.CACBUOC_THUCHIEN           = CongViec.CACBUOC_THUCHIEN;
                result.MUCTIEU_CONGVIEC           = CongViec.MUCTIEU_CONGVIEC;
                HSCV_CONGVIECBusiness.Save(result);
                tool.UploadCustomFileVer3(filebase, true, CongViecExtension, URL_FOLDER, CongViecSize, FOLDER_ID, filename, result.ID, LOAITAILIEU.CONGVIEC, "Công việc", currentUser);
                #endregion
                #region Elastic search
                List <long> ListUser = new List <long>();
                ListUser.Add(currentUser.ID);
                ListUser.Add(result.NGUOITAO.HasValue ? result.NGUOITAO.Value : 0);
                ElasticModel model = ElasticModel.ConvertJob(result, ListUser, currentUser.HOTEN);
                ElasticSearch.updateDocument(model, model.Id.ToString(), ElasticType.CongViec);
                #endregion

                return(Json(new { Type = "SUCCESS", Message = "Cập nhật công việc đã giao thành công" }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { Type = "ERROR", Message = "Không thể thực hiện thao tác này" }, JsonRequestBehavior.AllowGet));
        }
예제 #8
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" }));
            }
        }