public EvEventTbl findOne(UserInfo userInfo, EventForm form) { logger.infoCode("I0001"); // I0001=メソッド開始:{0} // 定数区分 Specification<EvEventTbl> whereEventKey = StringUtil.isNull(form.getEventKey()) ? null : new Specification<EvEventTbl>() { @Override public Predicate toPredicate( Root<EvEventTbl> root, CriteriaQuery<?> query, CriteriaBuilder cb) { return cb.equal(root.get("eventKey"), form.getEventKey()); } }; Specification<EvEventTbl> whereUpdDate = DateUtil.isNull(form.getUpdDate()) ? null : new Specification<EvEventTbl>() { @Override public Predicate toPredicate( Root<EvEventTbl> root, CriteriaQuery<?> query, CriteriaBuilder cb) { return cb.equal(root.get("updDate"), form.getUpdDate()); } }; logger.infoCode("I0002"); // I0002=メソッド終了:{0} return evEventTblRepository.findOne(Specifications.where(whereEventKey).and(whereUpdDate)); }
@Transactional public boolean delete(UserInfo userInfo, EventForm form) { logger.infoCode("I0001"); try { if (userInfo.isMgmt2() || userInfo.isMgmt3() || userInfo.isMgmt4()) { logger.infoCode("I0002"); return false; } EvEventTbl entity = findOne(userInfo, form); evEventPublicTblRepository.delete(entity.getEvEventPublicTbls()); int c1 = evEventTblRepository.delete(form.getEventKey(), form.getUpdDate()); if (c1 > 0) { evEventPublicTblRepository.flush(); evEventTblRepository.flush(); logger.infoCode("I0002"); return true; } } catch (Exception e) { logger.errorCode("E1009", e); // E1009=削除に失敗しました。{0} } return false; }
/** * 一覧取得 * * @param form * @param locale * @return */ public List<EventDto> findEventBatchTarget(EventForm form, Locale locale) { logger.infoCode("I0001"); // I0001=メソッド開始:{0} Date today = DateUtil.toDate(DateUtil.getSysdate("yyyyMMdd")); // 取得条件:公開 Specification<EvEventTbl> wherePublicFlag = StringUtil.isNull(form.getSearchPublicFlag()) ? null : new Specification<EvEventTbl>() { @Override public Predicate toPredicate( Root<EvEventTbl> root, CriteriaQuery<?> query, CriteriaBuilder cb) { return cb.equal(root.get("publicFlag"), form.getSearchPublicFlag()); } }; // 取得条件:日付 Specification<EvEventTbl> whereEnDay = StringUtil.isNull(form.getSearchDateType()) ? null : new Specification<EvEventTbl>() { @Override public Predicate toPredicate( Root<EvEventTbl> root, CriteriaQuery<?> query, CriteriaBuilder cb) { // batch処理 if (SEARCH_DATE_TYPE_BATCH.equals(form.getSearchDateType().toLowerCase())) { Predicate predicate = cb.conjunction(); Predicate predicate2 = cb.conjunction(); predicate2 = cb.and(predicate2, cb.equal(root.get("updDate").as(Date.class), today)); predicate2 = cb.and( predicate2, cb.lessThan(root.get("eventSendDate").as(Date.class), today)); predicate = cb.and(predicate, cb.equal(root.get("eventSendDate").as(Date.class), today)); predicate = cb.or(predicate2); return predicate; } return null; } }; List<EvEventTbl> list = evEventTblRepository.findAll(Specifications.where(wherePublicFlag).and(whereEnDay)); logger.infoCode("I0002"); // I0002=メソッド終了:{0} return getDtoList(list, locale); }
public boolean insertCmInfo( UserInfo userInfo, EventForm form, String opeKbn, String roleCode, String partyCode) { boolean result = false; try { CmInfoTbl entity = new CmInfoTbl(); entity.setSendDate(DateUtil.getNowTimestamp()); entity.setTitle(form.getEventTitle()); entity.setDataKbn("2"); entity.setOpeKbn(opeKbn); entity.setInfoRefKey(form.getEventKey()); entity.setMakeUserKey(userInfo.getLoginUserKey()); entity.setUpdDate(DateUtil.getNowTimestamp()); entity.setUpdUserKey(userInfo.getLoginUserKey()); entity = cmInfoTblRepository.save(entity); String infoKey = entity.getInfoKey(); if (infoKey != null && StringUtil.isNotNull(infoKey)) { CmInfoPublicTbl entitySub = new CmInfoPublicTbl(); CmInfoPublicTblPK id = new CmInfoPublicTblPK(); id.setInfoKey(infoKey); id.setSeqNo(1); entitySub.setId(id); entitySub.setPublicKbn("1"); entitySub.setRole(roleCode); entitySub.setPartyCode(partyCode); entitySub.setUpdDate(DateUtil.getNowTimestamp()); entitySub.setUpdUserKey(userInfo.getLoginUserKey()); cmInfoPublicTblRepository.save(entitySub); cmInfoTblRepository.flush(); cmInfoPublicTblRepository.flush(); result = true; } } catch (Exception e) { logger.errorCode("E1007", e); // E1007=登録に失敗しました。{0} } return result; }
@Transactional public boolean update(EventForm form, UserInfo userInfo) { logger.infoCode("I0001"); try { EvEventTbl entity = new EvEventTbl(); if (form.getPageMode().equals(CommonConst.PAGE_MODE_EDIT)) { entity = findOne(userInfo, form); if (entity == null) { throw new Exception(); } } entity.setUpdUserKey(userInfo.getLoginUserKey()); entity.setPartyCode(userInfo.getLoginPartyCode()); entity.setPartyName(userInfo.getLoginPartyName()); // entity.setEventKey(form.getEventKey()); entity.setEventMemo(form.getEventMemo()); entity.setEventPlace(form.getEventPlace()); entity.setEventRecruit(form.getEventRecruit()); entity.setEventSendDate(form.getEventSendDateAsTimestamp()); entity.setEventStartDate(form.getEventStartDateAsTimestamp()); entity.setEventTelno(form.getEventTelno()); entity.setEventTitle(form.getEventTitle()); entity.setEventUnit(form.getEventUnit()); entity.setSubjectInsKbn(form.getSubjectInsKbn()); entity.setPublicFlag(form.getPublicFlag()); entity.setUpdDate(DateUtil.getNowTimestamp()); // 更新テーブル:イベント公開範囲テーブル if (form.getPageMode().equals(CommonConst.PAGE_MODE_EDIT)) { // イベント公開範囲テーブルから対象データをDELETEする。 evEventPublicTblRepository.delete(entity.getEvEventPublicTbls()); } entity = evEventTblRepository.save(entity); List<EvEventPublicTbl> publicList = new ArrayList<>(); int count = 1; // 企業・研究所などがチェックONの場合、1件出力する。 if (form.checkHasPublicItem("1")) { EvEventPublicTbl tbl = new EvEventPublicTbl(); EvEventPublicTblPK pk = new EvEventPublicTblPK(); pk.setEventKey(entity.getEventKey()); pk.setSeqNo(count); tbl.setId(pk); // 企業・研究所等が、設定されている分の出力を行う場合、1:ROLE。 tbl.setPublicKbn("1"); // 企業・研究所等が、設定されている分の出力を行う場合、1:ROLE。 tbl.setRole("1"); // 企業・研究所等が、設定されている分の出力を行う場合、NULL。 tbl.setPartyCode(null); // 現在時刻を設定する。 tbl.setUpdDate(DateUtil.getNowTimestamp()); // ログイン者のユーザキーの値を設定する。 tbl.setUpdUserKey(userInfo.getLoginUserKey()); publicList.add(tbl); count = count + 1; } if (form.checkHasPublicItem("2")) { // 大學がチェックONの場合、公開範囲(公開)で選択されている件数出力する。 for (int i = 0; i < form.getPublicPartyArray().length; i++) { EvEventPublicTbl tbl = new EvEventPublicTbl(); EvEventPublicTblPK pk = new EvEventPublicTblPK(); pk.setEventKey(entity.getEventKey()); pk.setSeqNo(count); tbl.setId(pk); // 大學が、設定されている分の出力を行う場合、2:組織。 tbl.setPublicKbn("2"); // 大學が、設定されている分の出力を行う場合、NULL。 tbl.setRole(null); // 大學が、設定されている分の出力を行う場合、対象大学の組織コード。 tbl.setPartyCode(form.getPublicPartyArray()[i]); // 現在時刻を設定する。 tbl.setUpdDate(DateUtil.getNowTimestamp()); // ログイン者のユーザキーの値を設定する。 tbl.setUpdUserKey(userInfo.getLoginUserKey()); publicList.add(tbl); count = count + 1; } } if (form.getPageMode().equals(CommonConst.PAGE_MODE_ADD) || form.getPageMode().equals(CommonConst.PAGE_MODE_COPY)) { // お知らせ情報、お知らせ情報公開範囲登録 this.insertCmInfo(userInfo, form, "201", userInfo.getTargetRole().getAuthority(), null); } evEventPublicTblRepository.save(publicList); if (entity != null) { logger.infoCode("I0002"); return true; } } catch (Exception e) { logger.errorCode("E1007", e); // E1007=登録に失敗しました。{0} } return false; }