This commit is contained in:
myname 2023-12-15 15:04:25 +09:00
commit 48da1ae315
13 changed files with 1459 additions and 0 deletions

View File

@ -0,0 +1,36 @@
package kcc.let.uss.notify.service;
import java.util.List;
import kcc.com.cmm.service.CmmnDetailCode;
/**
*
* 알림 관리자 관리
* @author 이호영
* @since 2023.12.14
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성
*
*
* </pre>
*/
public interface NotifyManageService {
List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO);
void mngInsert(NotifyManageVO notifyManageVO);
NotifyManageVO findById(NotifyManageVO notifyManageVO);
void mngUpdate(NotifyManageVO notifyManageVO);
void mngDel(NotifyManageVO notifyManageVO);
}

View File

@ -0,0 +1,150 @@
package kcc.let.uss.notify.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
/**
*
* 알림 관리자 관리
* @author 이호영
* @since 2023.12.14
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성
*
*
* </pre>
*/
public class NotifyManageVO extends ComDefaultVO implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
private String cmmNotifyOrd;
private String toUserId;
private String notifyCn;
private String notifyChk;
private String lctrDivCd;
private String notifyPath;
private String eduAplctOrd;
private String eduChasiOrd;
private String frstRegistPnttm;
private String frstRegisterId;
private String lastUpdtPnttm;
private String lastUpdusrId;
private String cmmNotifyMngOrd;
private String useYn;
private String mngUserId;
private String mngUserNm;
public String getCmmNotifyOrd() {
return cmmNotifyOrd;
}
public void setCmmNotifyOrd(String cmmNotifyOrd) {
this.cmmNotifyOrd = cmmNotifyOrd;
}
public String getToUserId() {
return toUserId;
}
public void setToUserId(String toUserId) {
this.toUserId = toUserId;
}
public String getNotifyCn() {
return notifyCn;
}
public void setNotifyCn(String notifyCn) {
this.notifyCn = notifyCn;
}
public String getNotifyChk() {
return notifyChk;
}
public void setNotifyChk(String notifyChk) {
this.notifyChk = notifyChk;
}
public String getLctrDivCd() {
return lctrDivCd;
}
public void setLctrDivCd(String lctrDivCd) {
this.lctrDivCd = lctrDivCd;
}
public String getNotifyPath() {
return notifyPath;
}
public void setNotifyPath(String notifyPath) {
this.notifyPath = notifyPath;
}
public String getEduAplctOrd() {
return eduAplctOrd;
}
public void setEduAplctOrd(String eduAplctOrd) {
this.eduAplctOrd = eduAplctOrd;
}
public String getEduChasiOrd() {
return eduChasiOrd;
}
public void setEduChasiOrd(String eduChasiOrd) {
this.eduChasiOrd = eduChasiOrd;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getCmmNotifyMngOrd() {
return cmmNotifyMngOrd;
}
public void setCmmNotifyMngOrd(String cmmNotifyMngOrd) {
this.cmmNotifyMngOrd = cmmNotifyMngOrd;
}
public String getUseYn() {
return useYn;
}
public void setUseYn(String useYn) {
this.useYn = useYn;
}
public String getMngUserId() {
return mngUserId;
}
public void setMngUserId(String mngUserId) {
this.mngUserId = mngUserId;
}
public String getMngUserNm() {
return mngUserNm;
}
public void setMngUserNm(String mngUserNm) {
this.mngUserNm = mngUserNm;
}
}

View File

@ -0,0 +1,53 @@
package kcc.let.uss.notify.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.uss.notify.service.NotifyManageVO;
/**
*
* 알림 관리자 관리
* @author 이호영
* @since 2023.12.14
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성
*
*
* </pre>
*/
@Repository("NotifyManageDAO")
public class NotifyManageDAO extends EgovAbstractDAO {
public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
return (List<NotifyManageVO>) list("VEANotifyMngDAO.selectMngPagingList", notifyManageVO);
}
public void mngInsert(NotifyManageVO notifyManageVO) {
insert("VEANotifyMngDAO.mngInsert", notifyManageVO);
}
public NotifyManageVO findById(NotifyManageVO notifyManageVO) {
return (NotifyManageVO) select("VEANotifyMngDAO.findById", notifyManageVO);
}
public void mngUpdate(NotifyManageVO notifyManageVO) {
update("VEANotifyMngDAO.mngUpdate", notifyManageVO);
}
public void mngDel(NotifyManageVO notifyManageVO) {
update("VEANotifyMngDAO.mngDel", notifyManageVO);
}
}

View File

@ -0,0 +1,63 @@
package kcc.let.uss.notify.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
/**
*
* 알림 관리자 관리
* @author 이호영
* @since 2023.12.14
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성
*
*
* </pre>
*/
@Service("NotifyManageService")
public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements NotifyManageService {
@Resource(name="NotifyManageDAO")
private NotifyManageDAO notifyManageDAO;
@Override
public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
return notifyManageDAO.selectMngPagingList(notifyManageVO);
}
@Override
public void mngInsert(NotifyManageVO notifyManageVO) {
notifyManageDAO.mngInsert(notifyManageVO);
}
@Override
public NotifyManageVO findById(NotifyManageVO notifyManageVO) {
return notifyManageDAO.findById(notifyManageVO);
}
@Override
public void mngUpdate(NotifyManageVO notifyManageVO) {
notifyManageDAO.mngUpdate(notifyManageVO);
}
@Override
public void mngDel(NotifyManageVO notifyManageVO) {
notifyManageDAO.mngDel(notifyManageVO);
}
}

View File

@ -0,0 +1,317 @@
package kcc.let.uss.notify.web;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.sec.ram.service.AuthorManageVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserDefaultVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.fndtnEnhanceTrn.prcsInfoMng.web.FndthPrcsInfoMngController;
/**
*
* 알림 관리자 관리
* @author 이호영
* @since 2023.12.14
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성
*
*
* </pre>
*/
@Controller
public class NotifyManageController {
private static final Logger LOGGER = LoggerFactory.getLogger(NotifyManageController.class);
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
//교육과정순번
@Resource(name="veaCmmNotifyMngOrdGnrService")
private EgovIdGnrService veaCmmNotifyMngOrdGnrService;
/**
* @methodName : selectCmmnDetailCodeDetail
* @author : 이호영
* @date : 2023.12.14
* @description :
* @param notifyManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/uss/umt/notify/selectList.do")
public String selectList (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
if(notifyManageVO.getPageUnit() != 10) {
notifyManageVO.setPageUnit(notifyManageVO.getPageUnit());
}
try{
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
paginationInfo.setPageSize(notifyManageVO.getPageSize());
notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
//userSearchVO.setAdminYn("Y");
List<NotifyManageVO> resultList = notifyManageService.selectMngPagingList(notifyManageVO) ;
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? resultList.get(0).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", resultList);
}catch(Exception ex) {
ex.printStackTrace();
}
return "cmm/uss/umt/notify/selectList";
}
/**
* @methodName : notifyUserReg
* @author : 이호영
* @date : 2023.12.14
* @description : 수신자 등록
* @param notifyManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/uss/umt/notify/notifyUserReg.do")
public String notifyUserReg (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO();
userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ;
model.addAttribute("adminList", adminList);
return "cmm/uss/umt/notify/notifyUserReg";
}
@RequestMapping(value="/uss/umt/notify/notifyUserModify.do")
public String notifyUserModify (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO();
userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ;
model.addAttribute("adminList", adminList);
NotifyManageVO resultVO = notifyManageService.findById(notifyManageVO) ;
model.addAttribute("info", resultVO);
return "cmm/uss/umt/notify/notifyUserModify";
}
/**
* @methodName : notifyUserRegAjax
* @author : 이호영
* @date : 2023.12.14
* @description : 수신자 등록 ajax
* @param notifyManageVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/uss/umt/notify/notifyUserRegAjax.do")
public ModelAndView notifyUserRegAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setCmmNotifyMngOrd(veaCmmNotifyMngOrdGnrService.getNextStringId()); // 고유ID);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngInsert(notifyManageVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/uss/umt/notify/notifyUserModifyAjax.do")
public ModelAndView notifyUserModifyAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngUpdate(notifyManageVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/uss/umt/notify/notifyUserDelAjax.do")
public ModelAndView notifyUserDelAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngDel(notifyManageVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping(value="/uss/umt/notify/notifyUserDetail.do")
public String notifyUserDetail (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO();
//
// <isEqual prepend="AND" property="searchCondition" compareValue="0">
// userId LIKE '%'||#searchKeyword#||'%'
// </isEqual>
//
NotifyManageVO resultVO = notifyManageService.findById(notifyManageVO) ;
userSearchVO.setSearchKeyword(resultVO.getMngUserId());
userSearchVO.setSearchCondition("0");
userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ;
List<Map<?, ?>> filteredList = adminList.stream()
.filter(map -> map instanceof Map)
.map(map -> (Map<?, ?>) map)
.filter(map -> resultVO.getMngUserId().equals(map.get("userId")))
.collect(Collectors.toList());
resultVO.setMngUserNm(filteredList.get(0).get("userNm").toString());
model.addAttribute("adminList", adminList);
model.addAttribute("info", resultVO);
return "cmm/uss/umt/notify/notifyUserDetail";
}
}

View File

@ -3028,5 +3028,21 @@
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
<!-- 알림 수신자 관리 -->
<bean name="veaCmmNotifyMngOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="veaCmmNotifyMngOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="VEA_CMM_NOTIFY_MNG"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정신청기간 ID Generation Strategy Config -->
<bean name="veaCmmNotifyMngOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="cmmNotifyMng_" /><!-- prefix 값 수정 -->
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/sym/ccm/notify/VEANotify_Mng_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="VEANotify">
<typeAlias alias="notifyManageVO" type="kcc.let.uss.notify.service.NotifyManageVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEANotifyMngDAO.table_name">
VEA_CMM_NOTIFY_MNG
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEANotifyMngDAO.column_name">
cmm_notify_mng_ord,
lctr_div_cd,
mng_user_id,
use_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEANotifyMngDAO.select_column_name">
a.cmm_notify_mng_ord as cmmNotifyMngOrd,
a.lctr_div_cd as lctrDivCd,
a.mng_user_id as mngUserId,
a.use_yn as useYn,
a.frst_regist_pnttm as frstRegistPnttm,
a.frst_register_id as frstRegisterId,
a.last_updt_pnttm as lastUpdtPnttm,
a.last_updusr_id as lastUpdusrId
</sql>
<select id="VEANotifyMngDAO.selectMngPagingList" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyMngDAO.selectMngPagingList */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEANotifyMngDAO.select_column_name"/>
FROM
<include refid="VEANotifyMngDAO.table_name"/> a
WHERE USE_YN = 'Y'
</select>
<select id="VEANotifyMngDAO.findById" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyMngDAO.findById */
SELECT
<include refid="VEANotifyMngDAO.select_column_name"/>
FROM
<include refid="VEANotifyMngDAO.table_name"/> a
WHERE a.cmm_notify_mng_ord = #cmmNotifyMngOrd#
</select>
<insert id="VEANotifyMngDAO.mngInsert" parameterClass="notifyManageVO">
/* VEANotifyMngDAO.mngInsert */
INSERT INTO <include refid="VEANotifyMngDAO.table_name"/> (
<include refid="VEANotifyMngDAO.column_name"/>
)VALUES(
#cmmNotifyMngOrd#
,#lctrDivCd#
,#mngUserId#
,'Y'
,SYSDATE
,#frstRegisterId#
,''
,''
)
</insert>
<update id="VEANotifyMngDAO.mngUpdate" parameterClass="notifyManageVO">
/* VEANotifyMngDAO.mngUpdate */
UPDATE
<include refid="VEANotifyMngDAO.table_name"/>
SET
lctr_div_cd = #lctrDivCd#
, mng_user_id = #mngUserId#
, last_updt_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId#
WHERE
cmm_notify_mng_ord = #cmmNotifyMngOrd#
</update>
<update id="VEANotifyMngDAO.mngDel" parameterClass="notifyManageVO">
/* VEANotifyMngDAO.mngDel */
UPDATE
<include refid="VEANotifyMngDAO.table_name"/>
SET
use_yn = 'N'
, last_updt_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId#
WHERE
cmm_notify_mng_ord = #cmmNotifyMngOrd#
</update>
</sqlMap>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="VEANotify">
<typeAlias alias="notifyManageVO" type="kcc.let.uss.notify.service.NotifyManageVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEANotifyDAO.table_name">
VEA_CMM_NOTIFY a
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEANotifyDAO.column_name">
CMM_NOTIFY_ORD
TO_USER_ID
NOTIFY_CN
NOTIFY_CHK
LCTR_DIV_CD
NOTIFY_PATH
EDU_APLCT_ORD
EDU_CHASI_ORD
FRST_REGIST_PNTTM
FRST_REGISTER_ID
LAST_UPDT_PNTTM
LAST_UPDUSR_ID
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEANotifyDAO.select_column_name">
a.CMM_NOTIFY_ORD as cmmNotifyOrd ,
a.TO_USER_ID as toUserId ,
a.NOTIFY_CN as notifyCn ,
a.NOTIFY_CHK as notifyChk ,
a.LCTR_DIV_CD as lctrDivCd ,
a.NOTIFY_PATH as notifyPath ,
a.EDU_APLCT_ORD as eduAplctOrd ,
a.EDU_CHASI_ORD as eduChasiOrd ,
a.FRST_REGIST_PNTTM as frstRegistPnttm ,
a.FRST_REGISTER_ID as frstRegisterId ,
a.LAST_UPDT_PNTTM as lastUpdtPnttm ,
a.LAST_UPDUSR_ID as lastUpdusrId
</sql>
</sqlMap>

View File

@ -0,0 +1,149 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
* @Description : 기반강화연수 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function fn_del(){
var data = new FormData(document.getElementById("modifyForm"));
if(confirm("삭제하시겠습니까?")){
var url = "${pageContext.request.contextPath}/uss/umt/notify/notifyUserDelAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoList(){
var form = document.modifyForm ;
form.action = "<c:url value='/uss/umt/notify/selectList.do'/>";
form.submit();
}
function fn_modify(){
var form = document.modifyForm ;
form.action = "<c:url value='/uss/umt/notify/notifyUserModify.do'/>";
form.submit();
}
</script>
</head>
<body>
<form id="modifyForm" name="modifyForm" method="post">
<input type="hidden" name="cmmNotifyMngOrd" id="cmmNotifyMngOrd" value="${info.cmmNotifyMngOrd}">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>알림수신자관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>관리자관리</p>
</li>
<li><span class="cur_nav">알림수신자상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>수신자 상세</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">수신자ID</th>
<td>
${info.mngUserId }(${info.mngUserNm })
</td>
</tr>
<tr>
<th scope="row">담당영역</th>
<td>
<ve:code codeId="VE0011" code="${info.lctrDivCd}"/>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type05" onclick="fn_del(); return false;">삭제</button>
<button type="button" class="btn_type02" onclick="fn_modify(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,166 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
* @Description : 기반강화연수 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function fncSave(){
var valResult = false;
$('select').each(function(){
if($(this).val() === '') {
// 현재 select 태그의 상위 th 태그의 텍스트를 찾습니다.
var thText = $(this).closest('tr').find('th').text();
// 사용자에게 알림을 표시합니다.
alert(thText + "을(를) 선택해주세요.");
valResult = true;
return false;
}
})
if(valResult){
return false;
}
var data = new FormData(document.getElementById("createForm"));
if(confirm("수정하시겠습니까?")){
var url = "${pageContext.request.contextPath}/uss/umt/notify/notifyUserModifyAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/uss/umt/notify/selectList.do'/>";
listForm.submit();
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<input type="hidden" name="cmmNotifyMngOrd" id="cmmNotifyMngOrd" value="${info.cmmNotifyMngOrd}">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>알림수신자관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>관리자관리</p>
</li>
<li><span class="cur_nav">알림수신자수정</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>수신자 수정</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">수신자ID</th>
<td>
<select name="mngUserId" class="sel_type1">
<option value="">선택</option>
<c:forEach var="list" items="${adminList}" varStatus="status">
<option value="${list.userId }" ${info.mngUserId eq list.userId ? 'selected' : '' } >${list.userId }(${list.userNm })</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th scope="row">담당영역</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VE0011" name="lctrDivCd" id="lctrDivCd" css="class='sel_type1'"
selectedValue="${info.lctrDivCd }" defaultValue=''
defaultText="선택"
/>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,166 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
* @Description : 기반강화연수 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function fncSave(){
var valResult = false;
$('select').each(function(){
if($(this).val() === '') {
// 현재 select 태그의 상위 th 태그의 텍스트를 찾습니다.
var thText = $(this).closest('tr').find('th').text();
// 사용자에게 알림을 표시합니다.
alert(thText + "을(를) 선택해주세요.");
valResult = true;
return false;
}
})
if(valResult){
return false;
}
var data = new FormData(document.getElementById("createForm"));
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/uss/umt/notify/notifyUserRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/uss/umt/notify/selectList.do'/>";
listForm.submit();
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>알림수신자관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>관리자관리</p>
</li>
<li><span class="cur_nav">알림수신자등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>수신자 등록</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">수신자ID</th>
<td>
<select name="mngUserId" class="sel_type1">
<option value="">선택</option>
<c:forEach var="list" items="${adminList}" varStatus="status">
<option value="${list.userId }">${list.userId }(${list.userNm })</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th scope="row">담당영역</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VE0011" name="lctrDivCd" id="lctrDivCd" css="class='sel_type1'"
selectedValue="" defaultValue=''
defaultText="선택"
/>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,168 @@
<%--
Class Name : EgovUserManage.jsp
Description : 사용자관리(조회,삭제) JSP
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.03 JJY 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 JJY
since : 2009.03.03
--%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, width=device-width" />
<title>사용자 목록</title>
<script type="text/javaScript" language="javascript" defer="defer">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/uss/umt/notify/selectList.do'/>";
listForm.submit();
}
function fn_regBtn(){
var form = document.listForm ;
form.action = "<c:url value='/uss/umt/notify/notifyUserReg.do'/>";
form.submit();
}
function fn_goDetail(cmmNotifyMngOrd){
var form = document.detailForm ;
form.cmmNotifyMngOrd.value=cmmNotifyMngOrd;
form.action = "<c:url value='/uss/umt/notify/notifyUserDetail.do'/>";
form.submit();
}
</script>
</head>
<body>
<form name="detailForm" action="" method="post">
<input type="hidden" name="cmmNotifyMngOrd" id="cmmNotifyMngOrd" />
</form>
<form name="listForm" action="<c:url value='/uss/umt/user/EgovUserManage.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${notifyManageVO.pageIndex}' default='1' /> "/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${notifyManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${notifyManageVO.searchSortOrd}" />" />
<div class="cont_wrap">
<div class="box">
<div class="cont_tit">
<h2>알림수신자관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>관리자관리</p>
</li>
<li><span class="cur_nav">알림수신자관리</span></li>
</ul>
</div>
<!-- cont -->
<div class="cont">
<!-- list_top -->
<div class="list_top list_top_sub">
<p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div class="list_util">
<%-- <c:if test="${siteId eq 'super'}">
<select name="searchConditionSite" class="sel_type1" id="searchConditionSite" title="검색조건2-검색어구분">
<c:forEach var="result" items="${siteManageList}" varStatus="status">
<option value="${result.siteId}" <c:if test="${result.siteId eq userSearchVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option>
</c:forEach>
</select>
</c:if>
<select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건">
<option value="" <c:if test="${empty userSearchVO.searchCondition }">selected="selected"</c:if> >전체</option>
<option value="0" <c:if test="${notifyManageVO.searchCondition == '0'}">selected="selected"</c:if> >아이디</option>
<option value="1" <c:if test="${notifyManageVO.searchCondition == '1'}">selected="selected"</c:if> >관리자명</option>
</select>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${notifyManageVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요">
<button class="btn_search" onclick="fnSearch(); return false;">검색</button>
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${notifyManageVO.pageUnit == '10' or userSearchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${notifyManageVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${notifyManageVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select> --%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 15%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th scope="col">담당자ID</th>
<th scope="col">관련영역</th>
<th scope="col">등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr onclick="fn_goDetail('${list.cmmNotifyMngOrd}')" style="cursor: pointer;" >
<td>
<c:out value="${list.mngUserId}"/>
</td>
<td>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button type="button" class="btnType02" onclick="fn_regBtn(); return false;">등록</button>
</div>
</div>
<!-- //btn_wrap -->
<!-- page -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</div>
<!-- //cont -->
</div>
</div>
</form>
<form name="modiForm" id="modiForm" method="get">
<input name="selectedId" type="hidden" />
</form>
</body>
</html>