@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; }
@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; }