2025-08-12 09:22 구동을 위한 소스 변경

This commit is contained in:
myname 2025-08-12 09:22:25 +09:00
parent a254d42117
commit 525effee2f
15 changed files with 1653 additions and 5 deletions

View File

@ -271,7 +271,7 @@ public class FndthPrcsAplctPrdMngController {
/**
* 기반강화연수 교육확정관리목록
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do")
@RequestMapping({"/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do", "/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList.do"})
public String fndthEduPrcsAplctMngList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, HttpSession session, ModelMap model ) throws Exception {

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/sec/ram/EgovAuthorManage_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/sec/ram/EgovAuthorRoleManage_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?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/uss/ion/fms/FmsFile_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,10 @@
<?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/uss/umt/EgovUserManage_SQL_Postgresql.xml"/> -->
<sqlMap resource="egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_postgresql.xml"/>
<!-- <sqlMap resource="egovframework/sqlmap/let/uss/ion/sign/SignManage_SQL_Postgresql.xml"/> -->
</sqlMapConfig>

View File

@ -0,0 +1,11 @@
<?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/ve/prcs/VEPrcs_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsOnlnCntnt_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_postgre.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_postgresql.xml"/>
</sqlMapConfig>

View File

@ -12,6 +12,5 @@
<!-- <sqlMap resource="egovframework/sqlmap/config/postgresql/EgovWebLog_SQL_Postgresql.xml"/> -->
<!-- <sqlMap resource="egovframework/sqlmap/config/postgresql/EgovMenuManage_SQL_Postgresql.xml"/> -->
<sqlMap resource="egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_postgre.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-ve.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,170 @@
<?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="authorManageDAO">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AuthorManageVO" type="kcc.let.sec.ram.service.AuthorManageVO"/>
<typeAlias alias="AuthorManage" type="kcc.let.sec.ram.service.AuthorManage"/>
<resultMap id="author" class="kcc.let.sec.ram.service.AuthorManageVO">
<result property="authorCode" column="AUTHOR_CODE" columnIndex="1"/>
<result property="authorNm" column="AUTHOR_NM" columnIndex="2"/>
<result property="authorDc" column="AUTHOR_DC" columnIndex="3"/>
<result property="authorCreatDe" column="AUTHOR_CREAT_DE" columnIndex="4"/>
<result property="sortNum" column="SORT_NUM" columnIndex="5"/> <!-- 정렬을 위한 임시 파라미터 -->
</resultMap>
<resultMap id="authorHrc" class="kcc.let.sec.ram.service.AuthorManageVO">
<result property="authorCode" column="AUTHOR_CODE" columnIndex="1"/>
<result property="authorNm" column="AUTHOR_NM" columnIndex="2"/>
<result property="authorDc" column="AUTHOR_DC" columnIndex="3"/>
<result property="sortNum" column="SORT_NUM" columnIndex="4"/>
<result property="authorCreatDe" column="AUTHOR_CREAT_DE" columnIndex="5"/>
<result property="authorPRole" column="PARNTS_ROLE" columnIndex="6"/>
<result property="authorCRole" column="CHLDRN_ROLE" columnIndex="7"/>
</resultMap>
<select id="selectAuthorList" parameterClass="AuthorManageVO" resultMap="author">
SELECT
AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC,
TO_CHAR(AUTHOR_CREAT_DE , 'YYYY-MM-DD') AUTHOR_CREAT_DE ,
SORT_NUM
FROM LETTNAUTHORINFO
WHERE 1=1
<isNotEmpty property="authorSet">
AND AUTHOR_SET = #authorSet#
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
AUTHOR_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<insert id="insertAuthor" parameterClass="AuthorManage">
<![CDATA[
INSERT INTO LETTNAUTHORINFO
( AUTHOR_CODE
, AUTHOR_NM
, AUTHOR_DC
, SORT_NUM
, AUTHOR_CREAT_DE )
VALUES ( #authorCode#
, #authorNm#
, #authorDc#
, (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO)
, NOW())
]]>
</insert>
<update id="updateAuthor" parameterClass="AuthorManage">
<![CDATA[
UPDATE LETTNAUTHORINFO
SET AUTHOR_NM=#authorNm#
, AUTHOR_DC=#authorDc#
WHERE AUTHOR_CODE=#authorCode#
]]>
</update>
<delete id="deleteAuthor" parameterClass="AuthorManage">
<![CDATA[
DELETE FROM LETTNAUTHORINFO
WHERE AUTHOR_CODE=#authorCode#
]]>
</delete>
<select id="selectAuthor" resultMap="author">
<![CDATA[
SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE,
TO_CHAR(AUTHOR_CREAT_DE , 'YYYY-MM-DD') SORT_NUM
FROM LETTNAUTHORINFO
WHERE AUTHOR_CODE=#authorCode#
]]>
</select>
<select id="selectAuthorListTotCnt" parameterClass="AuthorManageVO" resultClass="int">
SELECT COUNT(*) totcnt
FROM LETTNAUTHORINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="1">
AUTHOR_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
</select>
<select id="selectAuthorAllList" parameterClass="AuthorManageVO" resultMap="author">
SELECT
AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE,
SORT_NUM
FROM LETTNAUTHORINFO
ORDER BY SORT_NUM DESC
</select>
<select id="selectAuthorHrcList" parameterClass="AuthorManageVO" resultMap="authorHrc">
SELECT
A.AUTHOR_CODE, A.AUTHOR_NM, A.AUTHOR_DC, A.AUTHOR_CREAT_DE, A.SORT_NUM, B.PARNTS_ROLE, B.CHLDRN_ROLE
FROM LETTNAUTHORINFO A
LEFT OUTER JOIN LETTNROLES_HIERARCHY B
ON A.AUTHOR_CODE = B.PARNTS_ROLE
ORDER BY A.SORT_NUM DESC
</select>
<!-- 추가 LETTNAUTHORINFO sort + update -->
<update id="updateAuthorSort" parameterClass="AuthorManage">
UPDATE LETTNAUTHORINFO
SET
<isEqual property="wkMode" compareValue="I">
SORT_NUM = SORT_NUM+1
</isEqual>
<isEqual property="wkMode" compareValue="D">
SORT_NUM = SORT_NUM-1
</isEqual>
WHERE SORT_NUM > #sortNum#
</update>
<!-- 추가 LETTNROLES_HIERARCHY 입력 -->
<insert id="insertLettnrolesHierarchy" parameterClass="AuthorManage">
<![CDATA[
INSERT INTO LETTNROLES_HIERARCHY
( PARNTS_ROLE
, CHLDRN_ROLE)
VALUES ( #parntsRole#
, #chldrnRole#)
]]>
</insert>
<!-- 추가 LETTNROLES_HIERARCHY PARNTS_ROLE update -->
<update id="updateLettnrolesHierarchyCCrole" parameterClass="AuthorManage">
<![CDATA[
UPDATE LETTNROLES_HIERARCHY
SET CHLDRN_ROLE = #parntsRole#
WHERE CHLDRN_ROLE = #chldrnRole#
]]>
</update>
<!-- 추가 LETTNROLES_HIERARCHY CHLDRN_ROLE update -->
<update id="updateLettnrolesHierarchyPCrole" parameterClass="AuthorManage">
<![CDATA[
UPDATE LETTNROLES_HIERARCHY
SET CHLDRN_ROLE = #chldrnRole#
WHERE PARNTS_ROLE = #parntsRole#
]]>
</update>
<!-- 추가 LETTNROLES_HIERARCHY ROLE delete -->
<delete id="deleteLettnrolesHierarchy" parameterClass="AuthorManage">
<![CDATA[
DELETE FROM LETTNROLES_HIERARCHY
WHERE PARNTS_ROLE = #parntsRole#
AND CHLDRN_ROLE = #chldrnRole#
]]>
</delete>
</sqlMap>

View File

@ -0,0 +1,98 @@
<?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="authorRoleManageDAO">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="authorRoleManageVO" type="kcc.let.sec.ram.service.AuthorRoleManageVO"/>
<typeAlias alias="authorRoleManage" type="kcc.let.sec.ram.service.AuthorRoleManage"/>
<resultMap id="authorRole" class="kcc.let.sec.ram.service.AuthorRoleManageVO">
<result property="roleCode" column="ROLE_CODE" columnIndex="1"/>
<result property="roleNm" column="ROLE_NM" columnIndex="2"/>
<result property="rolePtn" column="ROLE_PTTRN" columnIndex="3"/>
<result property="roleDc" column="ROLE_DC" columnIndex="4"/>
<result property="roleTyp" column="ROLE_TY" columnIndex="5"/>
<result property="roleSort" column="ROLE_SORT" columnIndex="6"/>
<result property="authorCode" column="AUTHOR_CODE" columnIndex="7"/>
<result property="regYn" column="REG_YN" columnIndex="8"/>
<result property="creatDt" column="CREAT_DT" columnIndex="9"/>
<result property="tempSortNum" column="tempSortNum" columnIndex="10"/>
</resultMap>
<select id="selectAuthorRoleList" parameterClass="authorRoleManageVO" resultMap="authorRole">
SELECT A.ROLE_CODE,
A.ROLE_NM,
A.ROLE_PTTRN,
A.ROLE_DC,
A.ROLE_TY,
A.ROLE_SORT,
B.AUTHOR_CODE,
TO_CHAR(B.CREAT_DT , 'YYYY-MM-DD') CREAT_DT,
(CASE WHEN B.ROLE_CODE IS NULL THEN 'N'
ELSE 'Y'
END) AS REG_YN,
A.ROLE_SORT AS tempSortNum
FROM
(SELECT * FROM LETTNROLEINFO
WHERE 1=1
<isNotEmpty property="searchKeyword2">
<isNotEqual property="searchKeyword2" compareValue="">
AND ( ROLE_NM LIKE '%' || #searchKeyword2# || '%' OR ROLE_DC LIKE '%' || #searchKeyword2# || '%'
OR ROLE_PTTRN LIKE '%' || #searchKeyword2# || '%'
)
</isNotEqual>
</isNotEmpty>
) A
LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM LETTNAUTHORROLERELATE WHERE AUTHOR_CODE = #searchKeyword#) B
ON A.ROLE_CODE = B.ROLE_CODE
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="selectAuthorRoleListTotCnt" parameterClass="authorRoleManageVO" resultClass="int">
SELECT COUNT(*) totcnt
FROM (
SELECT * FROM LETTNROLEINFO WHERE 1=1
<isNotEmpty property="searchKeyword2">
<isNotEqual property="searchKeyword2" compareValue="">
AND ( ROLE_NM LIKE '%' || #searchKeyword2# || '%' OR ROLE_DC LIKE '%' || #searchKeyword2# || '%'
OR ROLE_PTTRN LIKE '%' || #searchKeyword2# || '%'
)
</isNotEqual>
</isNotEmpty>
)A
LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM LETTNAUTHORROLERELATE WHERE AUTHOR_CODE = #searchKeyword#) B
ON A.ROLE_CODE = B.ROLE_CODE
</select>
<insert id="insertAuthorRole" parameterClass="authorRoleManage">
<![CDATA[
INSERT INTO LETTNAUTHORROLERELATE
( AUTHOR_CODE
, ROLE_CODE
, CREAT_DT)
VALUES ( #authorCode#
, #roleCode#
, now())
ON CONFLICT (AUTHOR_CODE, ROLE_CODE)
DO UPDATE SET CREAT_DT = NOW()
]]>
</insert>
<delete id="deleteAuthorRole">
<![CDATA[
DELETE FROM LETTNAUTHORROLERELATE
WHERE AUTHOR_CODE=#authorCode#
AND ROLE_CODE=#roleCode#
]]>
</delete>
</sqlMap>

View File

@ -90,7 +90,7 @@
LEFT JOIN LETTNEMPLYRINFO C ON A.EMPLYR_ID = C.EMPLYR_ID
WHERE 1=1
<isEmpty property="searchCondition"> /* 이전 원래 쿼리 */
AND A.MENU_NO = #searchKeyword#
AND A.MENU_NO = CAST(#searchKeyword# AS int)
</isEmpty>
<isNotEmpty property="searchCondition"> /* 접속 통계를 위한 추가 쿼리 */
AND A.PROGRM_FILE_NM = #searchKeyword#

View File

@ -0,0 +1,245 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!--
수정일 수정자 수정내용
=========== ======== =================================================
2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경
2024.08.12 Gemini PostgreSQL용으로 변환
-->
<sqlMap namespace="UnityLink">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="fmsFileVO" type="kcc.com.uss.ion.fms.service.FmsFileVO" />
<!-- 첨부파일 관리::입력 -->
<insert id="fmsFileDAO.insertFmsFile">
INSERT
INTO LETFMSFILE
(
FMS_ID,
FMS_NM,
CONTENT,
FMS_LINK,
FMS_DOWN_LINK,
REGDT,
MODDT,
REGISTER_ID,
FMS_IMAGE_FILE,
FMS_IMAGE
)
VALUES
(
#fmsId#,
#fmsNm#,
#content#,
#fmsLink#,
#fmsDownLink#,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
#registerId#,
#fmsImageFile#,
#fmsImage#
)
</insert>
<!-- 첨부파일관리 리스트 -->
<select id="fmsFileDAO.selectfmsFileList" parameterClass="fmsFileVO" resultClass="fmsFileVO">
SELECT FMS_ID AS fmsId,
FMS_NM AS fmsNm,
CONTENT AS content,
FMS_LINK AS fmsLink,
FMS_DOWN_LINK AS fmsDownLink,
TO_CHAR(REGDT, 'YYYY-MM-DD HH24:MI:SS') regdt ,
TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') moddt ,
REGISTER_ID AS registerId,
FMS_IMAGE_FILE AS fmsImageFile,
FMS_IMAGE AS fmsImage,
(
SELECT
ATCH_FILE_ID
FROM
LETTNFILEDETAIL
WHERE
ATCH_FILE_ID = FMS_IMAGE_FILE
LIMIT 1
) AS atchFileId
FROM LETFMSFILE A
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( FMS_NM LIKE '%' || #searchKeyword# || '%'
OR CONTENT LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND FMS_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 첨부파일 관리::리스트 count -->
<select id="fmsFileDAO.selectfmsFileCount" resultClass="int">
SELECT
COUNT(*) totcnt
FROM LETFMSFILE
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( FMS_NM LIKE '%' || #searchKeyword# || '%'
OR CONTENT LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND FMS_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
</select>
<!-- 첨부파일 관리::상세조회 -->
<select id="fmsFileDAO.selectfmsFileVO" parameterClass="fmsFileVO" resultClass="fmsFileVO" >
SELECT FMS_ID AS fmsId,
FMS_NM AS fmsNm,
CONTENT AS content,
FMS_LINK AS fmsLink,
FMS_DOWN_LINK AS fmsDownLink,
TO_CHAR(REGDT, 'YYYY-MM-DD HH24:MI:SS') regdt ,
TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') moddt ,
REGISTER_ID AS registerId,
FMS_IMAGE_FILE AS fmsImageFile,
FMS_IMAGE AS fmsImage
FROM LETFMSFILE
WHERE 1=1
AND FMS_ID = #fmsId#
LIMIT 1
</select>
<!-- 첨부파일 관리::상세조회(파일위치까지 조회: 파일까지 삭제하기 위해 -->
<select id="fmsFileDAO.selectfmsFileDirVO" parameterClass="fmsFileVO" resultClass="fmsFileVO" >
SELECT A.FMS_ID AS fmsId,
A.FMS_NM AS fmsNm,
A.CONTENT AS content,
A.FMS_LINK AS fmsLink,
A.FMS_DOWN_LINK AS fmsDownLink,
TO_CHAR(REGDT, 'YYYY-MM-DD HH24:MI:SS') regdt ,
TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') moddt ,
A.REGISTER_ID AS registerId,
A.FMS_IMAGE_FILE AS fmsImageFile,
A.FMS_IMAGE AS fmsImage,
B.FILE_STRE_COURS || B.STRE_FILE_NM as whFile
FROM LETFMSFILE A INNER JOIN LETTNFILEDETAIL B
ON A.FMS_IMAGE_FILE = B.ATCH_FILE_ID
AND A.FMS_ID = #fmsId#
LIMIT 1
</select>
<delete id="fmsFileDAO.deleteFmsFile">
<![CDATA[
DELETE FROM LETFMSFILE
WHERE FMS_ID = #fmsId#
]]>
</delete>
<!-- 첨부파일관리 리스트 -->
<select id="fmsFileDAO.selectfmsFileVoList" parameterClass="fmsFileVO" resultClass="fmsFileVO">
<![CDATA[
SELECT A.FMS_ID AS fmsId,
A.FMS_NM AS fmsNm,
A.CONTENT AS content,
A.FMS_LINK || B.FILE_SN AS fmsLink,
A.FMS_DOWN_LINK || B.FILE_SN AS fmsDownLink ,
TO_CHAR(A.REGDT, 'YYYY-MM-DD HH24:MI:SS') regdt ,
TO_CHAR(A.MODDT, 'YYYY-MM-DD HH24:MI:SS') moddt ,
A.REGISTER_ID AS registerId,
A.FMS_IMAGE_FILE AS fmsImageFile,
A.FMS_IMAGE AS fmsImage,
B.FILE_STRE_COURS || B.STRE_FILE_NM as whFile,
LOWER(B.FILE_EXTSN) AS fileExtsn,
B.ORIGNL_FILE_NM AS orignlFileNm ,
B.FILE_SN AS fileSn ,
B.FILE_STRE_COURS AS fileStreCours,
B.STRE_FILE_NM AS streFileNm,
B.FILE_SIZE AS fileSize
FROM LETFMSFILE A LEFT JOIN LETTNFILEDETAIL B
ON A.FMS_IMAGE_FILE = B.ATCH_FILE_ID
WHERE 1=1
AND A.FMS_ID = #fmsId#
]]>
</select>
<update id="fmsFileDAO.updateFmsFile">
UPDATE LETFMSFILE
SET
FMS_NM= #fmsNm#,
CONTENT= #content#,
MODDT= CURRENT_TIMESTAMP,
<isNotEmpty property="fmsLink">
FMS_LINK = #fmsLink# ,
</isNotEmpty>
<isNotEmpty property="fmsDownLink">
FMS_DOWN_LINK = #fmsDownLink# ,
</isNotEmpty>
<isNotEmpty property="fmsImageFile">
FMS_IMAGE_FILE = #fmsImageFile# ,
</isNotEmpty>
REGISTER_ID= #registerId#
WHERE FMS_ID=#fmsId#
</update>
<!-- 첨부파일 임시테이블 ::입력 -->
<insert id="fmsFileDAO.insertTempFileTable">
INSERT
INTO LETTNFILETEMPDETAIL
(
USER_ID,
URL,
FILE_SN,
FILE_STRE_COURS,
STRE_FILE_NM,
ORIGNL_FILE_NM,
FILE_EXTSN,
FILE_SIZE
)
VALUES
(
#userId#,
#url#,
#fileSn#,
#fileStreCours#,
#streFileNm#,
#orignlFileNm#,
#fileExtsn#,
#fileSize#
)
</insert>
<delete id="fmsFileDAO.deleteTempFileTable">
<![CDATA[
DELETE FROM LETTNFILETEMPDETAIL
WHERE USER_ID = #userId#
AND URL = #url#
]]>
</delete>
</sqlMap>

View File

@ -0,0 +1,342 @@
<?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="mberManageDAO">
<typeAlias alias="egovMap" type = "egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="userSearchVO" type = "kcc.let.uss.umt.service.UserDefaultVO"/>
<typeAlias alias="mberVO" type = "kcc.let.uss.umt.service.MberManageVO"/>
<typeAlias alias="mberConfigVO" type = "kcc.let.uss.umt.service.MberManageConfigVO"/>
<select id="mberManageDAO.selectMberCnf" resultClass="mberConfigVO">
SELECT a.CONFIG_ID as configId,
a.CONFIG_ORDER as configOrder,
a.CONFIG_NAME as configName,
a.USE_YN as useYn,
a.NECE_YN as neceYn,
a.PLACE_HOLDER as placeHolder,
a.IS_SNS as isSns
FROM TB_REGICONFIG a
WHERE 1=1
<isNotEmpty property="useYn">
AND a.USE_YN = #useYn#
</isNotEmpty>
<isNotEmpty property="isSns">
AND a.IS_SNS = #isSns#
</isNotEmpty>
ORDER BY a.CONFIG_ORDER
</select>
<update id="mberManageDAO.updateMberCnf" >
UPDATE TB_REGICONFIG
SET USE_YN = #useYn#,
NECE_YN = #neceYn#,
PLACE_HOLDER = #placeHolder#,
CONFIG_ORDER = #configOrder#
WHERE CONFIG_ID = #configId#
</update>
<select id="mberManageDAO.selectMberList" parameterClass="userSearchVO" resultClass="egovMap">
SELECT
COUNT(uniqId) OVER() AS totCnt ,
uniqId, userTy, userId , userNm,
emailAdres, areaNo, middleTelno, endTelno,
moblphonNo, groupId, sttus,
TO_CHAR(sbscrbDe, 'YYYY-MM-DD') sbscrbDe,
B.AUTHOR_CODE AS authorCode,
E.AUTHOR_NM AS authorCodeTxt
FROM(
SELECT
ESNTL_ID uniqId,
'USR01' userTy,
MBER_ID userId,
MBER_NM userNm,
MBER_EMAIL_ADRES emailAdres,
AREA_NO areaNo,
MIDDLE_TELNO middleTelno,
END_TELNO endTelno,
MBTLNUM moblphonNo,
GROUP_ID groupId,
MBER_STTUS sttus,
SBSCRB_DE sbscrbDe
FROM LETTNGNRLMBER
) A
LEFT JOIN LETTNEMPLYRSCRTYESTBS B
ON A.uniqId = B.SCRTY_DTRMN_TRGET_ID
LEFT JOIN LETTNAUTHORINFO E
ON B.AUTHOR_CODE = E.AUTHOR_CODE
LEFT JOIN
( SELECT CODE_NM ,
CODE
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
/** 회원상태 코드 */
AND CODE_ID = 'COM013'
)
F
ON A.sttus = F.CODE
WHERE 1=1
<isNotEqual prepend="AND" property="sbscrbSttus" compareValue="0">
sttus = #sbscrbSttus#
</isNotEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="0">
userId LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
userNm LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="">
( userNm LIKE '%' || #searchKeyword# || '%' OR userId LIKE '%' || #searchKeyword# || '%')
</isEqual>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="mberManageDAO.selectMberListTotCnt" parameterClass="userSearchVO" resultClass="int">
SELECT COUNT(1) totcnt
FROM(
SELECT
ESNTL_ID uniqId,
'USR01' userTy,
MBER_ID userId,
MBER_NM userNm,
MBER_EMAIL_ADRES emailAdres,
AREA_NO areaNo,
MIDDLE_TELNO middleTelno,
END_TELNO endTelno,
MBTLNUM moblphonNo,
GROUP_ID groupId,
MBER_STTUS sttus,
SBSCRB_DE sbscrbDe
FROM LETTNGNRLMBER
) A
WHERE 1=1
<isNotEqual prepend="AND" property="sbscrbSttus" compareValue="0">
sttus = #sbscrbSttus#
</isNotEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="0">
userId LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
userNm LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="">
( userNm LIKE '%' || #searchKeyword# || '%' OR userId LIKE '%' || #searchKeyword# || '%')
</isEqual>
</select>
<select id="mberManageDAO.selectMber" resultClass="kcc.let.uss.umt.service.MberManageVO">
SELECT
A.ESNTL_ID uniqId,
'USR01' userTy,
A.MBER_ID mberId,
A.MBER_NM mberNm,
A.PASSWORD password,
A.PASSWORD_HINT passwordHint,
A.PASSWORD_CNSR passwordCnsr,
A.IHIDNUM ihidnum,
A.SEXDSTN_CODE sexdstnCode,
A.ZIP zip,
A.ADRES adres,
A.AREA_NO areaNo,
A.MBER_STTUS mberSttus,
A.DETAIL_ADRES detailAdres,
A.END_TELNO endTelno,
A.MBTLNUM moblphonNo,
A.GROUP_ID groupId,
A.MBER_FXNUM mberFxnum,
A.MBER_EMAIL_ADRES mberEmailAdres,
A.MIDDLE_TELNO middleTelno,
A.SBSCRB_DE sbscrbDe,
A.BIRTH_DAY birth,
A.EMAIL_YN emailYN,
A.SMS_YN smsYN,
A.PHOTOFILE_ID photofileId,
c.author_code authorCode
FROM LETTNGNRLMBER A
LEFT OUTER JOIN
( SELECT b.author_code, b.scrty_dtrmn_trget_id
FROM lettnemplyrscrtyestbs b
)
c
ON A.esntl_id = c.scrty_dtrmn_trget_id
WHERE ESNTL_ID= #uniqId#
</select>
<!-- 관리자 대리 등록을 위한 사용자 정보 찾기용 쿼리 -->
<select id="mberManageDAO.selectMber4AdminReg" resultClass="kcc.let.uss.umt.service.MberManageVO">
SELECT
A.ESNTL_ID uniqId,
'USR01' userTy,
A.MBER_ID mberId,
A.MBER_NM mberNm,
A.PASSWORD password,
A.PASSWORD_HINT passwordHint,
A.PASSWORD_CNSR passwordCnsr,
A.IHIDNUM ihidnum,
A.SEXDSTN_CODE sexdstnCode,
A.ZIP zip,
A.ADRES adres,
A.AREA_NO areaNo,
A.MBER_STTUS mberSttus,
A.DETAIL_ADRES detailAdres,
A.END_TELNO endTelno,
A.MBTLNUM moblphonNo,
A.GROUP_ID groupId,
A.MBER_FXNUM mberFxnum,
A.MBER_EMAIL_ADRES mberEmailAdres,
A.MIDDLE_TELNO middleTelno,
A.SBSCRB_DE sbscrbDe,
A.BIRTH_DAY birth,
A.EMAIL_YN emailYN,
A.SMS_YN smsYN,
A.PHOTOFILE_ID photofileId,
c.author_code authorCode
FROM LETTNGNRLMBER A
LEFT OUTER JOIN
( SELECT b.author_code, b.scrty_dtrmn_trget_id
FROM lettnemplyrscrtyestbs b
)
c
ON A.esntl_id = c.scrty_dtrmn_trget_id
WHERE 1=1
AND a.mber_seq>0
AND a.mber_id!=a.mber_seq
and a.mber_id = (
SELECT user_id
FROM ve_edu_aplct a
LEFT OUTER JOIN
( SELECT b.author_code,
b.scrty_dtrmn_trget_id
FROM lettnemplyrscrtyestbs b
)
c
ON A.user_id = c.scrty_dtrmn_trget_id
WHERE a.email=#mberEmailAdres#
AND c.author_code='ROLE_USER_MEMBER'
GROUP BY user_id
LIMIT 1
)
</select>
<!-- <select id="mberManageDAO.selectMberListTotCnt" parameterClass="userSearchVO" resultClass="int">
SELECT COUNT(1) totcnt
FROM(
SELECT
ESNTL_ID uniqId,
'USR01' userTy,
MBER_ID mberId,
MBER_NM mberNm,
PASSWORD password,
PASSWORD_HINT passwordHint,
PASSWORD_CNSR passwordCnsr,
IHIDNUM ihidnum,
SEXDSTN_CODE sexdstnCode,
ZIP zip,
ADRES adres,
AREA_NO areaNo,
MBER_STTUS mberSttus,
DETAIL_ADRES detailAdres,
END_TELNO endTelno,
MBTLNUM moblphonNo,
GROUP_ID groupId,
MBER_FXNUM mberFxnum,
MBER_EMAIL_ADRES mberEmailAdres,
MIDDLE_TELNO middleTelno,
SBSCRB_DE sbscrbDe,
BIRTH_DAY birth,
EMAIL_YN emailYN,
SMS_YN smsYN,
PHOTOFILE_ID photofileId
FROM LETTNGNRLMBER
) A
WHERE 1=1
<isNotEqual prepend="AND" property="sbscrbSttus" compareValue="0">
sttus LIKE #sbscrbSttus#
</isNotEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="0">
userId LIKE #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
userNm LIKE '%' #searchKeyword# '%'
</isEqual>
</select> -->
<update id="mberManageDAO.updateMber" >
UPDATE LETTNGNRLMBER
SET
<isNotEmpty property="passwordHint">
PASSWORD_HINT = #passwordHint#,
</isNotEmpty>
<isNotEmpty property="passwordCnsr">
PASSWORD_CNSR = #passwordCnsr#,
</isNotEmpty>
<isNotEmpty property="ihidnum">
IHIDNUM = #ihidnum#,
</isNotEmpty>
<isNotEmpty property="sexdstnCode">
SEXDSTN_CODE = #sexdstnCode#,
</isNotEmpty>
<isNotEmpty property="zip">
ZIP = #zip#,
</isNotEmpty>
<isNotEmpty property="adres">
ADRES = #adres#,
</isNotEmpty>
<isNotEmpty property="areaNo">
AREA_NO = #areaNo#,
</isNotEmpty>
<isNotEmpty property="mberSttus">
MBER_STTUS = #mberSttus#,
</isNotEmpty>
<isNotEmpty property="detailAdres">
DETAIL_ADRES = #detailAdres#,
</isNotEmpty>
<isNotEmpty property="endTelno">
END_TELNO = #endTelno#,
</isNotEmpty>
<isNotEmpty property="moblphonNo">
MBTLNUM = #moblphonNo#,
</isNotEmpty>
<isNotEmpty property="groupId">
GROUP_ID = #groupId#,
</isNotEmpty>
<isNotEmpty property="mberFxnum">
MBER_FXNUM = #mberFxnum#,
</isNotEmpty>
<isNotEmpty property="mberEmailAdres">
MBER_EMAIL_ADRES = #mberEmailAdres#,
</isNotEmpty>
<isNotEmpty property="middleTelno">
MIDDLE_TELNO = #middleTelno#,
</isNotEmpty>
<isNotEmpty property="birth">
BIRTH_DAY = #birth#,
</isNotEmpty>
<isNotEmpty property="emailYN">
EMAIL_YN = #emailYN#,
</isNotEmpty>
<isNotEmpty property="smsYN">
SMS_YN = #smsYN#,
</isNotEmpty>
<isNotEmpty property="photofileId">
PHOTOFILE_ID = #photofileId#,
</isNotEmpty>
MBER_NM = #mberNm#
WHERE ESNTL_ID=#uniqId#
</update>
<delete id="mberManageDAO.deleteMber">
<![CDATA[
DELETE FROM LETTNGNRLMBER
WHERE ESNTL_ID=#delId#
]]>
</delete>
</sqlMap>

View File

@ -0,0 +1,188 @@
<?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="CndtnTrgtInfoMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CndtnPrcsInfoMngVO" type="kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO"/>
<!-- 공통 테이블 명 -->
<sql id="CndtnTrgtInfoMngDAO.table_name">
vea_sspn_idmt_trgt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="CndtnTrgtInfoMngDAO.column_name">
sspn_idtmt_trgt_ord
, user_id
, edu_state_cd
, frst_regist_pnttm
, frst_register_id
, last_updt_pnttm
, last_updusr_id
, trgt_nm
, clphone
, d_birth
, addr
, addr_detail
, post
, email
, req_pnttm
, vnt_nmbr
, cmptnt_athrt
, sex
, req_nmbr
, prsctr_nm
, req_state_cd
, prcs_aplct_prd_ord_cmplt
, vnt_year
, atch_file_id
, edu_aplct_ord
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="CndtnTrgtInfoMngDAO.select_column_name">
a.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
, a.user_id AS userId
, a.edu_state_cd AS eduStateCd
, a.frst_regist_pnttm AS frstRegistPnttm
, a.frst_register_id AS frstRegisterId
, a.last_updt_pnttm AS lastUpdtPnttm
, a.last_updusr_id AS lastUpdusrId
, a.trgt_nm AS trgtNm
, a.clphone AS clphone
, a.d_birth AS dBirth
, a.addr AS addr
, a.addr_detail AS addrDetail
, a.post AS post
, a.email AS email
, a.req_pnttm AS reqPnttm
, a.vnt_nmbr AS vntNmbr
, a.cmptnt_athrt AS cmptntAthrt
, a.sex AS sex
, a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm
, a.req_state_cd AS reqStateCd
, a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt
, a.vnt_year AS vntYear
, a.atch_file_id AS atchFileId
, a.edu_aplct_ord AS eduAplctOrd
</sql>
<!-- 기소유예 대상자 R -->
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
SELECT
COUNT(1) OVER() AS totCnt,
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="searchQuery">
$searchQuery$
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt">
AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 등록 C -->
<insert id="cndtnTrgtInfoMngDAO.insert" parameterClass="CndtnPrcsInfoMngVO">
INSERT INTO <include refid="CndtnTrgtInfoMngDAO.table_name"/> (
<include refid="CndtnTrgtInfoMngDAO.column_name"/>
)VALUES(
#sspnIdtmtTrgtOrd#
, #userId#
, #eduStateCd#
, now()
, #frstRegisterId#
, #lastUpdtPnttm#
, #lastUpdusrId#
, #trgtNm#
, #clphone#
, #dBirth#
, #addr#
, #addrDetail#
, #post#
, #email#
, #reqPnttm#
, #vntNmbr#
, #cmptntAthrt#
, #sex#
, #reqNmbr#
, #prsctrNm#
, #reqStateCd#
)
</insert>
<select id="cndtnTrgtInfoMngDAO.selectDetail" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
SELECT
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
1=1
AND sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</select>
<!-- 강사 수정 C -->
<update id="cndtnTrgtInfoMngDAO.update" parameterClass="CndtnPrcsInfoMngVO">
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = #userId#
, edu_state_cd = #eduStateCd#
, last_updt_pnttm = now()
, last_updusr_id = #lastUpdusrId#
, trgt_nm = #trgtNm#
, clphone = #clphone#
, d_birth = #dBirth#
, addr = #addr#
, addr_detail = #addrDetail#
, post = #post#
, email = #email#
, req_pnttm = #reqPnttm#
, vnt_nmbr = #vntNmbr#
, cmptnt_athrt = #cmptntAthrt#
, sex = #sex#
, req_nmbr = #reqNmbr#
, prsctr_nm = #prsctrNm#
, req_state_cd = #reqStateCd#
<isNotEmpty property="prcsAplctPrdOrdCmplt">
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
</isNotEmpty>
<isNotEmpty property="vntYear">
, vnt_year = #vntYear#
</isNotEmpty>
<isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>
</sqlMap>

View File

@ -170,6 +170,7 @@
<update id="updateSspnIdtmtTrgt" parameterClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.updateSspnIdtmtTrgt */
/*
UPDATE
(
SELECT a0.SSPN_IDTMT_TRGT_ORD
@ -188,6 +189,21 @@
AND b0.SSPN_IDTMT_TRGT_ORD IS NOT NULL
)aa0
SET aa0.SSPN_IDTMT_TRGT_ORD = aa0.NEW_SSPN_IDTMT_TRGT_ORD
*/
UPDATE vea_aplct_detail_info a0
SET SSPN_IDTMT_TRGT_ORD = b0.SSPN_IDTMT_TRGT_ORD
FROM (
SELECT
b.EDU_APLCT_ORD,
c.SSPN_IDTMT_TRGT_ORD
FROM
ve_edu_aplct b
JOIN vea_sspn_idmt_trgt c ON b.EDU_APLCT_ORD = c.EDU_APLCT_ORD
) b0
WHERE
a0.EDU_APLCT_ORD = b0.EDU_APLCT_ORD
AND b0.SSPN_IDTMT_TRGT_ORD IS NOT NULL
</update>
@ -636,7 +652,7 @@
x.USER_ID = le.ESNTL_ID
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y'
AND x.aprvl_cd IN (20,35,60)
AND x.aprvl_cd IN ('20','35','60')
/* 20-승인, 35-취소 신청, 60-확정*/
) AS nosCnt1

View File

@ -0,0 +1,222 @@
<?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="VEPrcsOnlnCntnt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsCntntVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsOnlnCntntDAO.table_name">
ve_prcs_onln_cntnt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsOnlnCntntDAO.column_name">
prcs_ord,
prcs_onln_cntnt_ord,
onln_cntnt_div_cd,
detail_prcs_nm,
chasi,
use_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsOnlnCntntDAO.select_column_name">
a.prcs_ord AS prcsOrd,
a.prcs_onln_cntnt_ord AS prcsOnlnCntntOrd,
a.onln_cntnt_div_cd AS onlnCntntDivCd,
a.detail_prcs_nm AS detailPrcsNm,
a.chasi AS chasi,
a.use_yn AS useYn,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsOnlnCntntDAO.insert" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEPrcsOnlnCntntDAO.table_name"/> (
<include refid="VEPrcsOnlnCntntDAO.column_name"/>
)VALUES(
#prcsOrd#,
#prcsOnlnCntntOrd#,
#onlnCntntDivCd#,
#detailPrcsNm#,
#chasi#,
#useYn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsOnlnCntntDAO.selectDetail" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/> A
WHERE A.PRCS_ORD = #prcsOrd#
AND A.PRCS_ONLN_CNTNT_ORD = #prcsOnlnCntntOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsOnlnCntntDAO.update" parameterClass="VEPrcsCntntVO">
UPDATE
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="onlnCntntDivCd">
, onln_cntnt_div_cd = #onlnCntntDivCd#
</isNotEmpty>
<isNotEmpty property="detailPrcsNm">
, detail_prcs_nm = #detailPrcsNm#
</isNotEmpty>
<isNotEmpty property="chasi">
, chasi = #chasi#
</isNotEmpty>
<isNotEmpty property="useYn">
, use_yn = #useYn#
</isNotEmpty>
WHERE
prcs_ord = #prcsOrd#
AND prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsOnlnCntntDAO.delete" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
AND prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</delete>
<!-- 강사 정보 D -->
<delete id="VEPrcsOnlnCntntDAO.deleteAll" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsOnlnCntntDAO.selectList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT <include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM <include refid="VEPrcsOnlnCntntDAO.table_name"/> A
WHERE 1=1
<isNotEmpty property="prcsOrd">
AND A.PRCS_ORD = #prcsOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsOnlnCntntDAO.selectPagingList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord=#prcsOrd#
</isNotEmpty>
<isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.prcs_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="VEPrcsOnlnCntntDAO.selectChkPersonList" parameterClass="HashMap" resultClass="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO">
SELECT
T1.instr_div AS instrDiv,
T1.user_id AS userId,
T1.instr_detail_ord AS instrDetailOrd,
T1.instr_nm AS instrNm,
T1.phone AS phone,
T1.email AS email,
T1.post AS post,
T1.addr AS addr,
T1.addr_detail AS addrDetail,
T1.rsdne AS rsdne,
T1.d_birth AS dBirth,
T1.final_schol AS finalSchol,
T1.mjr AS mjr,
T1.appt_yr AS apptYr,
T1.actvt_carer AS actvtCarer,
T1.mn_lctr_cn AS mnLctrCn,
T1.pht_atch_file_id AS phtAtchFileId,
T1.blng AS blng,
T1.pstn AS pstn,
T1.prfsn_fld AS prfsnFld,
T1.sbmt_yn AS sbmtYn,
T1.sbmt_pnttm AS sbmtPnttm,
T1.aprvl_cd AS aprvlCd,
T1.aprvl_pnttm AS aprvlPnttm,
T1.aprvl_id AS aprvlId,
T1.aprvl_cn AS aprvlCn,
TO_CHAR(T1.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
T1.frst_register_id AS frstRegisterId,
TO_CHAR(T1.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
T1.last_updusr_id AS lastUpdusrId,
T1.use_yn AS useYn,
T1.qlfct_end_yn AS qlfctEndYn,
T1.qlfct_end_pnttm AS qlfctEndPnttm,
T1.qlfct_end_cn AS qlfctEndCn,
T1.appt_dt AS apptDt,
T1.hchk_dt AS hchkDt,
T1.rmrks AS rmrks
FROM ve_instr_detail T1
WHERE T1.INSTR_DIV = '10'
AND T1.USE_YN = 'Y'
AND
<iterate open="(" close=")" conjunction="," property="paramArray" prepend="T1.USER_ID IN " >
#paramArray[]#
</iterate>
</select>
</sqlMap>

View File

@ -0,0 +1,332 @@
<?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="VEPrcs">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsDAO.table_name">
VE_PRCS
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsDAO.column_name">
prcs_ord,
prcs_div,
prcs_kind,
prcs_nm,
prcs_cn,
prcs_sort_no,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
lctr_div_cd,
use_yn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsDAO.select_column_name">
A.PRCS_ORD AS prcsOrd,
A.PRCS_DIV AS prcsDiv,
A.PRCS_KIND AS prcsKind,
A.PRCS_NM AS prcsNm,
A.PRCS_CN AS prcsCn,
A.PRCS_SORT_NO AS prcsSortNo,
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm,
A.FRST_REGISTER_ID AS frstRegisterId,
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LCTR_DIV_CD AS lctrDivCd,
A.USE_YN AS useYn
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsDAO.insert" parameterClass="VEPrcsDetailVO">
INSERT INTO <include refid="VEPrcsDAO.table_name"/> (
<include refid="VEPrcsDAO.column_name"/>
)VALUES(
#prcsOrd#,
#prcsDiv#,
#prcsKind#,
#prcsNm#,
#prcsCn#,
#prcsSortNo#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#lctrDivCd#,
#useYn#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
FROM
<include refid="VEPrcsDAO.table_name"/> a
WHERE
a.prcs_ord = #prcsOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsDAO.update" parameterClass="VEPrcsDetailVO">
UPDATE
<include refid="VEPrcsDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
, prcs_kind = #prcsKind#
<isNotEmpty property="prcsDiv">
,prcs_div = #prcsDiv#
</isNotEmpty>
<isNotEmpty property="prcsNm">
,prcs_nm = #prcsNm#
</isNotEmpty>
<isNotEmpty property="prcsCn">
,prcs_cn = #prcsCn#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
,lctr_div_cd = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
,use_yn = #useYn#
</isNotEmpty>
<isNotEmpty property="prcsSortNo">
,prcs_sort_no = #prcsSortNo#
</isNotEmpty>
WHERE
prcs_ord = #prcsOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsDAO.delete" parameterClass="VEPrcsDetailVO">
DELETE FROM
<include refid="VEPrcsDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsDAO.selectList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT <include refid="VEPrcsDAO.select_column_name"/>
, B.CNT
FROM <include refid="VEPrcsDAO.table_name"/> A ,
(
SELECT PRCS_ORD, COUNT(*) CNT
FROM VE_PRCS_ONLN_CNTNT A
GROUP BY PRCS_ORD
)B
WHERE 1=1
AND A.PRCS_ORD = B.PRCS_ORD
<isNotEmpty property="lctrDivCd">
AND A.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
</select>
<select id="VEPrcsDAO.selectTngrPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
WHERE 1=1
AND A.USE_YN = #useYn#
AND A.LCTR_DIV_CD = #lctrDivCd#
</select>
<select id="VEPrcsDAO.selectMberEduAplctPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
, c.cnt
FROM VE_EDU_APLCT_ONLN B , <include refid="VEPrcsDAO.table_name"/> A
,(
SELECT PRCS_ORD, COUNT(*) cnt
FROM VE_PRCS_ONLN_CNTNT
GROUP BY PRCS_ORD
)c
WHERE B.EDU_APLCT_ORD = #eduAplctOrd#
AND B.PRCS_ORD = A.PRCS_ORD
AND A.PRCS_ORD = C.PRCS_ORD
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsDAO.selectPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsDAO.select_column_name"/>
<!-- , b.cnt -->
FROM
<include refid="VEPrcsDAO.table_name"/> a
<!-- , (
SELECT
prcs_ord
, COUNT(*) cnt
FROM
ve_prcs_onln_cntnt a
GROUP BY prcs_ord
)b -->
WHERE
1=1
<!-- AND a.prcs_ord=b.prcs_ord -->
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="prcsDiv">
AND a.prcs_div=#prcsDiv#
</isNotEmpty>
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND a.prcs_kind IN " >#searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchStatus">
AND a.prcs_div = #searchStatus#
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord=#prcsOrd#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt">
/*등록일시*/
AND TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSmbtEndDt">
/*등록일시*/
AND TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
ORDER BY 1=1
, CAST(a.prcs_sort_no AS INTEGER)
<isEmpty property="orderByQuery">
, a.prcs_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<sql id="VEPRCSDAO.EDU_PRCS_JOIN">
LEFT OUTER JOIN VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
</sql>
<sql id="VEPRCSDAO.EDU_PRCS_COLUMN_NAME">
CASE WHEN B.EDU_APLCT_ORD IS NOT NULL THEN 'Y' ELSE 'N' END AS checkYn,
</sql>
<select id="VEPrcsDAO.selectPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
(SELECT COUNT(1) FROM VE_PRCS_ONLN_CNTNT WHERE PRCS_ORD = A.PRCS_ORD) AS chasiCnt,
COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt,
CASE WHEN B.EDU_APLCT_ORD IS NOT NULL THEN 'Y' ELSE 'N' END AS checkYn,
(SELECT END_PNTTM FROM VE_PRCS_APLCT_PRD WHERE USE_YN = 'Y' order by frst_regist_pnttm DESC limit 1) AS endPnttm,
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
<isNotEmpty property="mode">
<isEqual property="mode" compareValue="DETAIL">
INNER JOIN
</isEqual>
<isNotEqual property="mode" compareValue="DETAIL">
LEFT OUTER JOIN
</isNotEqual>
</isNotEmpty>
<isEmpty property="mode">
LEFT OUTER JOIN
</isEmpty> VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
WHERE 1=1
AND LCTR_DIV_CD = #lctrDivCd#
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
ORDER BY A.PRCS_DIV, CAST(A.PRCS_SORT_NO AS INTEGER)
</select>
<select id="VEPrcsDAO.selectPrcsDetailList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt,
COUNT(C.PRCS_ORD) OVER(PARTITION BY A.PRCS_ORD) AS rowDtlCnt,
CASE WHEN D.PRCS_ONLN_CNTNT_ORD IS NOT NULL THEN 'Y' ELSE 'N' END AS checkYn,
C.PRCS_ONLN_CNTNT_ORD AS prcsOnlnCntntOrd,
C.ONLN_CNTNT_DIV_CD AS onlnCntntDivCd,
C.DETAIL_PRCS_NM AS detailPrcsNm,
D.EDU_STRT_DT AS eduStrtDt,
D.EDU_END_DT AS eduEndDt,
D.EDU_PRSNL AS eduPrsnl,
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
INNER JOIN VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
INNER JOIN VE_PRCS_ONLN_CNTNT C
ON A.PRCS_ORD = C.PRCS_ORD
<isNotEmpty property="mode">
<isEqual property="mode" compareValue="DETAIL">
INNER JOIN
</isEqual>
<isNotEqual property="mode" compareValue="DETAIL">
LEFT OUTER JOIN
</isNotEqual>
</isNotEmpty>
<isEmpty property="mode">
LEFT OUTER JOIN
</isEmpty> VE_PRCS_CMPLT_DETAIL D
ON C.PRCS_ORD = D.PRCS_ORD
AND C.PRCS_ONLN_CNTNT_ORD = D.PRCS_ONLN_CNTNT_ORD
AND D.EDU_APLCT_ORD = #eduAplctOrd#
WHERE 1=1
AND A.LCTR_DIV_CD = #lctrDivCd#
AND A.USE_YN = 'Y'
AND C.USE_YN = 'Y'
<isNotEmpty property="prcsOrd">
AND C.PRCS_ORD = #prcsOrd#
</isNotEmpty>
<isEqual property="searchCondition" compareValue="groupby">
GROUP BY C.PRCS_ORD
</isEqual>
</select>
<update id="VEPrcsDAO.updatePrcsSort" parameterClass="VEPrcsDetailVO">
UPDATE VE_PRCS SET
PRCS_SORT_NO = #prcsSortNo#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = NOW()
WHERE PRCS_ORD = #prcsOrd#
</update>
</sqlMap>