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 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")); } }