2025-08-26 9:34 프로젝트 초기 셋팅

This commit is contained in:
myname 2025-08-26 09:34:30 +09:00
parent d9676e143c
commit 346c21bfc6
16 changed files with 1464 additions and 73 deletions

View File

@ -368,6 +368,9 @@ public class EgovUserManageController {
authorManageVO.setSearchSortOrd("desc");
authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
model.addAttribute("authorList", authorManageVO.getAuthorManageList());
System.out.println(authorManageVO.getAuthorManageList());
System.out.println(authorManageVO.getAuthorManageList().size());
//selectbox 미리 만들기

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/sec/rgm/EgovAuthorGroup_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/sec/rmt/EgovRoleManage_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/sym/ccm/cca/EgovCmmnCodeManage_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/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -5,8 +5,7 @@
<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_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Postgresql.xml"/>
@ -16,5 +15,8 @@
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Postgresql.xml"/><!-- 강사상세테이블 -->
<!-- 거주지복합 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Postgresql.xml"/>
<!-- 조건부기소유예관리 대상자 관리 -->
<sqlMap resource="egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -94,13 +94,14 @@
</insert>
<insert id="FileManageDAO.insertFileDetail" parameterClass="FileVO" >
/* FileManageDAO.insertFileDetail */
<![CDATA[
INSERT INTO LETTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN, THUMB_FILE_NM )
VALUES
( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn#, #thumbFileNm# )
( #atchFileId#, CAST(#fileSn# AS int), #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, CAST(#fileMg# AS int), #fileCn#, #thumbFileNm# )
]]>
</insert>

View File

@ -30,7 +30,7 @@
<isNotEmpty property="topLocNo">
AND UPPER_LOC_NO = #topLocNo#
</isNotEmpty>
AND GW_STATUS = 1
AND GW_STATUS = '1'
UNION ALL
@ -40,7 +40,7 @@
loc.DEPTHS + 1 AS DEPTHS ,
sub_loc.FRST_REGIST_PNTTM ,
sub_loc.LOC_ORDR ,
loc.LOC_LPAD|| ','|| LPAD(sub_loc.LOC_ORDR, 5, 0) AS LOC_LPAD ,
loc.LOC_LPAD|| ','|| LPAD(CAST(sub_loc.LOC_ORDR AS TEXT), 5, '0') AS LOC_LPAD ,
sub_loc.GW_STATUS
FROM ITSM_LOC AS sub_loc
INNER JOIN (
@ -58,7 +58,7 @@
<isNotEmpty property="topLocNo">
AND UPPER_LOC_NO = #topLocNo#
</isNotEmpty>
AND GW_STATUS = 1
AND GW_STATUS = '1'
)loc
ON loc.LOC_NO = sub_loc.UPPER_LOC_NO

View File

@ -66,8 +66,8 @@
VALUES ( #authorCode#
, #authorNm#
, #authorDc#
, (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO)
, TO_CHAR(SYSDATE, 'YYYY-MM-DD'))
, (SELECT CAST(CAST(MAX(sort_num)+1 AS VARCHAR(2)) AS INT) FROM LETTNAUTHORINFO)
, NOW())
]]>
</insert>

View File

@ -0,0 +1,129 @@
<?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="AuthorGroup">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AuthorGroupVO" type="kcc.let.sec.rgm.service.AuthorGroupVO"/>
<typeAlias alias="AuthorGroup" type="kcc.let.sec.rgm.service.AuthorGroup"/>
<resultMap id="authorGroup" class="kcc.let.sec.rgm.service.AuthorGroupVO">
<result property="userId" column="USER_ID" columnIndex="1"/>
<result property="userNm" column="USER_NM" columnIndex="2"/>
<result property="groupId" column="GROUP_ID" columnIndex="3"/>
<result property="mberTyCode" column="MBER_TY_CODE" columnIndex="4"/>
<result property="mberTyNm" column="MBER_TY_NM" columnIndex="5"/>
<result property="authorCode" column="AUTHOR_CODE" columnIndex="6"/>
<result property="regYn" column="REG_YN" columnIndex="8"/>
<result property="uniqId" column="ESNTL_ID" columnIndex="9"/>
</resultMap>
<select id="authorGroupDAO.selectAuthorGroupList" parameterClass="AuthorGroupVO" resultMap="authorGroup">
/* authorGroupDAO.selectAuthorGroupList */
SELECT A.USER_ID,
A.USER_NM,
A.GROUP_ID,
A.MBER_TY_CODE,
(SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'COM012'
AND CODE = A.MBER_TY_CODE
AND USE_AT = 'Y') AS MBER_TY_NM,
B.AUTHOR_CODE,
(CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N'
ELSE 'Y'
END) AS REG_YN,
ESNTL_ID
FROM (<!-- SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID
FROM LETTNGNRLMBER
UNION ALL --> <!-- 일반사용자 제외 -->
SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID
FROM LETTNEMPLYRINFO
) A LEFT OUTER JOIN LETTNEMPLYRSCRTYESTBS B
ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( A.USER_ID LIKE '%'||#searchKeyword#||'%' OR
A.USER_NM LIKE '%'||#searchKeyword#||'%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.USER_ID LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
A.USER_NM LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
A.GROUP_ID = #searchKeyword#
</isEqual>
</isNotEmpty>
ORDER BY 1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<insert id="authorGroupDAO.insertAuthorGroup" parameterClass="AuthorGroup">
/* authorGroupDAO.insertAuthorGroup */
<![CDATA[
INSERT INTO LETTNEMPLYRSCRTYESTBS
( SCRTY_DTRMN_TRGET_ID
, MBER_TY_CODE
, AUTHOR_CODE)
VALUES ( #uniqId#
, #mberTyCode#
, #authorCode#)
]]>
</insert>
<update id="authorGroupDAO.updateAuthorGroup" parameterClass="AuthorGroup">
UPDATE LETTNEMPLYRSCRTYESTBS
SET AUTHOR_CODE=#authorCode#
<isNotNull property="mberTyCode">
, MBER_TY_CODE=#mberTyCode#
</isNotNull>
WHERE SCRTY_DTRMN_TRGET_ID=#uniqId#
</update>
<delete id="authorGroupDAO.deleteAuthorGroup">
<![CDATA[
DELETE FROM LETTNEMPLYRSCRTYESTBS
WHERE SCRTY_DTRMN_TRGET_ID=#uniqId#
]]>
</delete>
<select id="authorGroupDAO.selectAuthorGroupListTotCnt" parameterClass="AuthorGroupVO" resultClass="int">
/* authorGroupDAO.selectAuthorGroupListTotCnt */
SELECT COUNT(*) AS totcnt
FROM (<!-- SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE
FROM LETTNGNRLMBER
UNION ALL --> <!-- 일반사용자 제외 -->
SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE
FROM LETTNEMPLYRINFO ) A LEFT OUTER JOIN LETTNEMPLYRSCRTYESTBS B
ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( A.USER_ID LIKE '%'||#searchKeyword#||'%' OR
A.USER_NM LIKE '%'||#searchKeyword#||'%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.USER_ID LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
A.USER_NM LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
A.GROUP_ID = #searchKeyword#
</isEqual>
</isNotEmpty>
</select>
</sqlMap>

View File

@ -0,0 +1,154 @@
<?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="RoleManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="roleManageVO" type="kcc.let.sec.rmt.service.RoleManageVO"/>
<typeAlias alias="roleManage" type="kcc.let.sec.rmt.service.RoleManage"/>
<resultMap id="role" class="kcc.let.sec.rmt.service.RoleManageVO">
<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="roleCreatDe" column="ROLE_CREAT_DE" columnIndex="7"/>
<result property="sortTempNo" column="SORT_TEMP_NO" columnIndex="8"/>
</resultMap>
<select id="roleManageDAO.selectRole" resultMap="role">
/* roleManageDAO.selectRole */
<![CDATA[
SELECT ROLE_CODE,
ROLE_NM,
ROLE_PTTRN,
ROLE_DC,
ROLE_TY,
ROLE_SORT,
ROLE_CREAT_DE,
ROLE_CREAT_DE AS SORT_TEMP_NO
FROM LETTNROLEINFO
WHERE ROLE_CODE = #roleCode#
]]>
</select>
<select id="roleManageDAO.selectRoleList" parameterClass="roleManageVO" resultMap="role">
/* roleManageDAO.selectRoleList */
SELECT ROLE_CODE,
ROLE_NM,
ROLE_PTTRN,
ROLE_DC,
(SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'COM029'
AND CODE = ROLE_TY) AS ROLE_TY,
ROLE_SORT,
TO_CHAR(ROLE_CREAT_DE, 'YYYY-MM-DD' ) ROLE_CREAT_DE,
TO_CHAR(ROLE_CREAT_DE, 'YYYY-MM-DD' ) SORT_TEMP_NO
FROM LETTNROLEINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="">
( ROLE_NM LIKE '%'||#searchKeyword#||'%' OR
ROLE_DC LIKE '%'||#searchKeyword#||'%' OR
ROLE_PTTRN LIKE '%'||#searchKeyword#||'%'
)
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
ROLE_NM LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
ROLE_DC LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
ROLE_PTTRN LIKE '%'||#searchKeyword#||'%'
</isEqual>
ORDER BY 1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<insert id="roleManageDAO.insertRole" parameterClass="roleManage">
<![CDATA[
INSERT INTO LETTNROLEINFO
( ROLE_CODE
, ROLE_NM
, ROLE_PTTRN
, ROLE_DC
, ROLE_TY
, ROLE_SORT
, ROLE_CREAT_DE )
VALUES ( #roleCode#
, #roleNm#
, #rolePtn#
, #roleDc#
, #roleTyp#
, #roleSort#
, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
)
]]>
</insert>
<update id="roleManageDAO.updateRole" parameterClass="roleManage">
/* roleManageDAO.updateRole */
<![CDATA[
UPDATE LETTNROLEINFO
SET ROLE_NM=#roleNm#
, ROLE_PTTRN=#rolePtn#
, ROLE_DC=#roleDc#
, ROLE_TY=#roleTyp#
, ROLE_SORT=#roleSort#
, ROLE_CREAT_DE=TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24')
/* DATE_FORMAT(NOW(), '%Y-%m-%d %T') */
WHERE ROLE_CODE=#roleCode#
]]>
</update>
<delete id="roleManageDAO.deleteRole">
<![CDATA[
DELETE FROM LETTNROLEINFO
WHERE ROLE_CODE=#roleCode#
]]>
</delete>
<select id="roleManageDAO.selectAuthorListTotCnt" parameterClass="roleManageVO" resultClass="int">
/* roleManageDAO.selectAuthorListTotCnt */
SELECT COUNT(*) totcnt
FROM LETTNROLEINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="">
( ROLE_NM LIKE '%'||#searchKeyword#||'%' OR
ROLE_DC LIKE '%'||#searchKeyword#||'%' OR
ROLE_PTTRN LIKE '%'||#searchKeyword#||'%'
)
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
ROLE_NM LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
ROLE_DC LIKE '%'||#searchKeyword#||'%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
ROLE_PTTRN LIKE '%'||#searchKeyword#||'%'
</isEqual>
</select>
<select id="roleManageDAO.selectRoleAllList" parameterClass="roleManageVO" resultMap="role">
/* roleManageDAO.selectRoleAllList */
SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE,
ROLE_CREAT_DE AS SORT_TEMP_NO
FROM LETTNROLEINFO
</select>
</sqlMap>

View File

@ -0,0 +1,196 @@
<?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="CmmnCodeManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CmmnCode" type="kcc.let.sym.ccm.cca.service.CmmnCode"/>
<typeAlias alias="CmmnCodeVO" type="kcc.let.sym.ccm.cca.service.CmmnCodeVO"/>
<typeAlias alias="CmmnDetailCodeVO" type="kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO"/>
<select id="CmmnCodeManageDAO.selectCmmnCodeCheck" parameterClass="CmmnCodeVO" resultClass="int">
SELECT
COUNT(*)
FROM
LETTCCMMNCODE
WHERE
CODE_ID = #codeId#
AND
CL_CODE = #clCode#
</select>
<select id="CmmnCodeManageDAO.selectCmmnCodeList" parameterClass="CmmnCodeVO" resultClass="egovMap">
<![CDATA[
SELECT B.CL_CODE_NM
, A.CODE_ID
, A.CODE_ID_NM
, A.USE_AT
, A.FRST_REGIST_PNTTM AS FRST_REGIST_PNTTM
FROM LETTCCMMNCODE A
, LETTCCMMNCLCODE B
WHERE A.CL_CODE = B.CL_CODE
]]>
<isEqual prepend="AND" property="searchCondition" compareValue="">
<![CDATA[
( A.CODE_ID LIKE CONCAT('%', #searchKeyword#, '%') OR A.CODE_ID_NM LIKE CONCAT('%', #searchKeyword#, '%'))
]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
<![CDATA[A.CODE_ID LIKE CONCAT('%', #searchKeyword#, '%') ]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
<![CDATA[A.CODE_ID_NM LIKE CONCAT('%', #searchKeyword#, '%')]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="clCode">
<![CDATA[A.CL_CODE = #searchKeyword#]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="clCode">
<![CDATA[A.USE_AT = 'Y']]>
</isEqual>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="CmmnCodeManageDAO.selectCmmnCodeListTotCnt" parameterClass="CmmnCodeVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) totcnt
FROM LETTCCMMNCODE A
, LETTCCMMNCLCODE B
WHERE A.CL_CODE = B.CL_CODE
]]>
<isEqual prepend="AND" property="searchCondition" compareValue="">
<![CDATA[
( CODE_ID LIKE CONCAT('%', #searchKeyword#, '%') OR A.CODE_ID_NM LIKE CONCAT('%', #searchKeyword#, '%'))
]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
<![CDATA[CODE_ID LIKE CONCAT('%', #searchKeyword#, '%') ]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
<![CDATA[CODE_ID_NM LIKE CONCAT('%', #searchKeyword#, '%')]]>
</isEqual>
</select>
<select id="CmmnCodeManageDAO.selectCmmnCodeDetail" parameterClass="CmmnCode" resultClass="CmmnCode">
<![CDATA[
SELECT B.CL_CODE_NM clCodeNm
, A.CL_CODE clCode
, A.CODE_ID codeId
, A.CODE_ID_NM codeIdNm
, A.CODE_ID_DC codeIdDc
, A.USE_AT useAt
FROM LETTCCMMNCODE A
, LETTCCMMNCLCODE B
WHERE A.CL_CODE = B.CL_CODE
AND A.CODE_ID = #codeId#
]]>
</select>
<insert id="CmmnCodeManageDAO.insertCmmnCode">
/* CmmnCodeManageDAO.insertCmmnCode */
<![CDATA[
INSERT
INTO LETTCCMMNCODE
( CODE_ID
, CODE_ID_NM
, CODE_ID_DC
, CL_CODE
, USE_AT
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
VALUES
( #codeId#
, #codeIdNm#
, #codeIdDc#
, #clCode#
, #useAt#
, NOW()
, #frstRegisterId#
, NOW()
, #frstRegisterId#
)
]]>
</insert>
<update id="CmmnCodeManageDAO.updateCmmnCode">
<![CDATA[
UPDATE LETTCCMMNCODE
SET CODE_ID_NM = #codeIdNm#
, CODE_ID_DC = #codeIdDc#
, USE_AT = #useAt#
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE CODE_ID = #codeId#
]]>
</update>
<!-- <delete id="CmmnCodeManageDAO.deleteCmmnCode">
<![CDATA[
UPDATE LETTCCMMNCODE
SET USE_AT = 'N'
WHERE CODE_ID = #codeId#
]]>
</delete> -->
<delete id="CmmnCodeManageDAO.deleteCmmnCode">
<![CDATA[
DELETE FROM LETTCCMMNCODE
WHERE CODE_ID = #codeId#
]]>
</delete>
<select id="CmmnCodeManageDAO.isExistCode" parameterClass="CmmnDetailCodeVO" resultClass="int">
<![CDATA[
SELECT SUM(CNT) FROM (
SELECT COUNT(*) CNT FROM LETTCCMMNCLCODE
WHERE CL_CODE = #codeId#
UNION
SELECT COUNT(*) CNT FROM LETTCCMMNCODE
WHERE CODE_ID = #codeId#
) A
]]>
</select>
<select id="CmmnCodeManageDAO.selectExistCmmncodeCnt" parameterClass="CmmnCodeVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) totcnt
FROM LETTCCMMNCODE A
, LETTCCMMNCLCODE B
WHERE A.CL_CODE = B.CL_CODE
AND A.CL_CODE = #clCode#
]]>
</select>
<update id="CmmnCodeManageDAO.updateCmmnCodePk" parameterClass="CmmnCode">
<![CDATA[
UPDATE LETTCCMMNCODE
SET CODE_ID_NM = #codeIdNm#
, CODE_ID_DC = #codeIdDc#
, USE_AT = #useAt#
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
, CODE_ID = #codeId#
WHERE CODE_ID = #tempCodeId#
]]>
</update>
<update id="CmmnCodeManageDAO.updateCmmnCodeNm" parameterClass="CmmnCode">
<![CDATA[
UPDATE LETTCCMMNCODE
SET CODE_ID_NM = #codeIdNm#
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE CODE_ID = #codeId#
]]>
</update>
</sqlMap>

View File

@ -0,0 +1,153 @@
<?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="CmmnClCodeManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CmmnClCodeVO" type="kcc.let.sym.ccm.ccc.service.CmmnClCodeVO"/>
<typeAlias alias="CmmnClCode" type="kcc.let.sym.ccm.ccc.service.CmmnClCode"/>
<select id="CmmnClCodeManageDAO.selectCmmnClCodeCheck" parameterClass="CmmnClCodeVO" resultClass="int">
SELECT
COUNT(*)
FROM
LETTCCMMNCLCODE
WHERE
CL_CODE = #clCode#
</select>
<select id="CmmnClCodeManageDAO.selectCmmnClCodeList" parameterClass="CmmnClCodeVO" resultClass="egovMap">
<![CDATA[
SELECT CL_CODE
, CL_CODE_NM
, USE_AT
FROM LETTCCMMNCLCODE
WHERE 1 = 1
]]>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
<![CDATA[CL_CODE = #searchKeyword#]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
<![CDATA[CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%')]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="">
<![CDATA[
( CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%') OR CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%'))
]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="CodeList">
<![CDATA[USE_AT = 'Y']]>
</isEqual>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="CmmnClCodeManageDAO.selectCmmnClCodeListTotCnt" parameterClass="CmmnClCodeVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) totcnt
FROM LETTCCMMNCLCODE
WHERE 1 = 1
]]>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
<![CDATA[CL_CODE = #searchKeyword#]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
<![CDATA[CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%')]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="">
<![CDATA[
( CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%') OR CL_CODE_NM LIKE CONCAT('%', #searchKeyword#, '%'))
]]>
</isEqual>
</select>
<select id="CmmnClCodeManageDAO.selectCmmnClCodeDetail" parameterClass="CmmnClCode" resultClass="CmmnClCode">
<![CDATA[
SELECT CL_CODE clCode
, CL_CODE_NM clCodeNm
, CL_CODE_DC clCodeDc
, USE_AT useAt
FROM LETTCCMMNCLCODE
WHERE CL_CODE = #clCode#
]]>
</select>
<insert id="CmmnClCodeManageDAO.insertCmmnClCode">
<![CDATA[
INSERT
INTO LETTCCMMNCLCODE
( CL_CODE
, CL_CODE_NM
, CL_CODE_DC
, USE_AT
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
VALUES
( #clCode#
, #clCodeNm#
, #clCodeDc#
, #useAt#
, SYSDATE
, #frstRegisterId#
, SYSDATE
, #frstRegisterId#
)
]]>
</insert>
<update id="CmmnClCodeManageDAO.updateCmmnClCode">
<![CDATA[
UPDATE LETTCCMMNCLCODE
SET CL_CODE_NM = #clCodeNm#
, CL_CODE_DC = #clCodeDc#
, USE_AT = #useAt#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE CL_CODE = #clCode#
]]>
</update>
<delete id="CmmnClCodeManageDAO.deleteCmmnClCode">
<![CDATA[
DELETE FROM LETTCCMMNCLCODE
WHERE CL_CODE = #clCode#
]]>
</delete>
<!-- <delete id="CmmnClCodeManageDAO.deleteCmmnClCode">
<![CDATA[
UPDATE LETTCCMMNCLCODE
SET USE_AT = 'N'
WHERE CL_CODE = #clCode#
]]>
</delete> -->
<update id="CmmnClCodeManageDAO.updateCmmnClCodePk" parameterClass="CmmnClCode">
<![CDATA[
UPDATE LETTCCMMNCLCODE
SET CL_CODE_NM = #clCodeNm#
, CL_CODE_DC = #clCodeDc#
, USE_AT = #useAt#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
, CL_CODE = #clCode#
WHERE CL_CODE = #tempClCode#
]]>
</update>
<update id="CmmnClCodeManageDAO.updateCmmnClCodeNm" parameterClass="CmmnClCode">
<![CDATA[
UPDATE LETTCCMMNCLCODE
SET CL_CODE_NM = #clCodeNm#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE CL_CODE = #clCode#
]]>
</update>
</sqlMap>

View File

@ -105,9 +105,9 @@
, #codeNm#
, #codeDc#
, #useAt#
, SYSDATE
, NOW()
, #frstRegisterId#
, SYSDATE
, NOW()
, #frstRegisterId#
)
]]>
@ -119,7 +119,7 @@
SET CODE_NM = #codeNm#
, CODE_DC = #codeDc#
, USE_AT = #useAt#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE CODE_ID = #codeId#
AND CODE = #code#
@ -191,7 +191,7 @@
<isNotEmpty property="sort">
, SORT = #sort#
</isNotEmpty>
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
, CODE = #code#
WHERE CODE_ID = #codeId#

View File

@ -245,7 +245,7 @@
#orgnztId# ,
#insttCode# ,
#emplyrSttusCode# ,
SYSDATE ,
NOW() ,
<isNotEmpty property="partIdx">
#partIdx# ,
</isNotEmpty>
@ -282,7 +282,7 @@
, 'Y'
, #moblphonNo#
, NULL
, SYSDATE
, NOW()
, #uniqId#
, NULL
, #mberSeq#
@ -315,12 +315,12 @@
, #emplyrSttusCode#
, #moblphonNo#
, NULL
, SYSDATE
, NOW()
, #uniqId#
, NULL
, #mberSeq#
, SYSDATE
, SYSDATE
, NOW()
, NOW()
)
</insert>
@ -501,7 +501,7 @@
PSTINST_CODE ,
EMPLYR_STTUS_CODE ,
ESNTL_ID ,
SYSDATE
NOW()
FROM LETTNEMPLYRINFO
WHERE ESNTL_ID = #uniqId#
]]>
@ -631,7 +631,7 @@
#emailYN#,
#smsYN#,
#photofileId#,
SYSDATE )
NOW() )
]]>
</insert>
@ -699,7 +699,7 @@
#emailYN#,
#smsYN#,
#photofileId#,
SYSDATE
NOW()
)
</update>
@ -785,7 +785,7 @@
#snsId# ,
#snsEmail# ,
</isNotEmpty>
SYSDATE
NOW()
)
</update>
@ -921,10 +921,10 @@
#mberId#,
#password#,
#emplyrSttusCode#,
SYSDATE,
NOW(),
#uniqId#,
SYSDATE,
SYSDATE
NOW(),
NOW()
)
</insert>

View File

@ -4,6 +4,7 @@
<sqlMap namespace="CndtnTrgtInfoMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CndtnPrcsInfoMngVO" type="kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
@ -15,11 +16,13 @@
<sql id="CndtnTrgtInfoMngDAO.column_name">
sspn_idtmt_trgt_ord
, user_id
, edu_state_cd
, edu_state_cd
, frst_regist_pnttm
, frst_register_id
, last_updt_pnttm
, last_updusr_id
, last_updusr_id
, trgt_nm
, clphone
, d_birth
@ -28,17 +31,18 @@
, post
, email
, req_pnttm
, vnt_year
, 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
, prcs_aplct_prd_ord_cmplt
, edu_aplct_ord
, rmrks
</sql>
<!-- 조회용 공통 컬럼 명 -->
@ -59,47 +63,24 @@
, a.post AS post
, a.email AS email
, a.req_pnttm AS reqPnttm
, a.vnt_year AS vntYear
, 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.req_state_cd AS reqStateCd
, a.atch_file_id AS atchFileId
, a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt
, a.rmrks AS rmrks
, 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
, 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">
/* cndtnTrgtInfoMngDAO.insert */
INSERT INTO <include refid="CndtnTrgtInfoMngDAO.table_name"/> (
<include refid="CndtnTrgtInfoMngDAO.column_name"/>
@ -107,7 +88,7 @@
#sspnIdtmtTrgtOrd#
, #userId#
, #eduStateCd#
, now()
, NOW()
, #frstRegisterId#
, #lastUpdtPnttm#
, #lastUpdusrId#
@ -119,16 +100,137 @@
, #post#
, #email#
, #reqPnttm#
, #vntYear#
, #vntNmbr#
, #cmptntAthrt#
, #sex#
, #reqNmbr#
, #prsctrNm#
, #reqStateCd#
, #atchFileId#
, #prcsAplctPrdOrdCmplt#
, ''
, #rmrks#
)
</insert>
<!-- 등록 C -->
<update id="cndtnTrgtInfoMngDAO.insert4Merge" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.insert4Merge */
MERGE INTO <include refid="CndtnTrgtInfoMngDAO.table_name"/> T1 USING DUAL
ON (
T1.req_nmbr = #reqNmbr#
AND T1.vnt_nmbr = #vntNmbr#
AND T1.vnt_year = #vntYear#
AND T1.trgt_nm = #trgtNm#
AND T1.d_birth = #dBirth#
AND T1.sex = #sex#
)
WHEN MATCHED THEN
UPDATE SET
<!-- edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#, -->
edu_state_cd = #eduStateCd#
, last_updt_pnttm = NOW()
, last_updusr_id = #frstRegisterId#
, clphone = #clphone#
, addr = #addr#
, addr_detail = #addrDetail#
, post = #post#
, email = #email#
, req_pnttm = #reqPnttm#
, cmptnt_athrt = #cmptntAthrt#
, prsctr_nm = #prsctrNm#
, req_state_cd = #reqStateCd#
, atch_file_id = #atchFileId#
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
, rmrks = #rmrks#
, edu_aplct_ord = #eduAplctOrd#
WHEN NOT MATCHED THEN
INSERT (
<include refid="CndtnTrgtInfoMngDAO.column_name"/>
)VALUES(
#sspnIdtmtTrgtOrd#
, #userId#
, #eduStateCd#
, NOW()
, #frstRegisterId#
, #lastUpdtPnttm#
, #lastUpdusrId#
, #trgtNm#
, #clphone#
, #dBirth#
, #addr#
, #addrDetail#
, #post#
, #email#
, #reqPnttm#
, #vntYear#
, #vntNmbr#
, #cmptntAthrt#
, #sex#
, #reqNmbr#
, #prsctrNm#
, #reqStateCd#
, #atchFileId#
, #prcsAplctPrdOrdCmplt#
, #eduAplctOrd#
, #rmrks#
)
</update>
<!-- bulkInsert -->
<insert id="cndtnTrgtInfoMngDAO.bulkInsert" parameterClass="CndtnPrcsInfoMngVO">
INSERT INTO <include refid="CndtnTrgtInfoMngDAO.table_name"/> (
<include refid="CndtnTrgtInfoMngDAO.column_name"/>
)VALUES(
<iterate conjunction=",">
#[]sspnIdtmtTrgtOrd#
, #[]userId#
, ''
, NOW()
, #[]frstRegisterId#
, ''
, ''
, #[]trgtNm#
, #[]clphone#
, #[]dBirth#
, #[]addr#
, #[]addrDetail#
, #[]post#
, #[]email#
, #[]reqPnttm#
, #[]vntYear#
, #[]vntNmbr#
, #[]cmptntAthrt#
, #[]sex#
, #[]reqNmbr#
, #[]prsctrNm#
, #[]reqStateCd#
, #[]atchFileId#
, ''
, ''
, #[]rmrks#
</iterate>
)
</insert>
<select id="cndtnTrgtInfoMngDAO.selectDetail" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectDetail */
SELECT
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
FROM
@ -137,17 +239,69 @@
1=1
AND sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</select>
<!-- 병합 대상자 찾기 -->
<select id="cndtnTrgtInfoMngDAO.selectDetail4Merge" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectDetail4Merge */
SELECT
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
1=1
AND trgt_nm=#trgtNm#
AND sex=#sex#
AND d_birth=#dBirth#
AND prcs_aplct_prd_ord_cmplt IS null
ORDER BY req_pnttm
LIMIT 1
</select>
<!-- 해당 지검의 관할청 코드값 가져오기 -->
<select id="cndtnTrgtInfoMngDAO.selectDetailReqNmbr" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectDetailReqNmbr */
SELECT
decode(instr(a.code_nm,'지검'),0,b.code, a.code) AS cmptntAthrt
/*
,instr(a.code_nm,'지검')
,substring(a.code_nm,1,instr(a.code_nm,'-')-1)
,a.code_nm
,a.code
,b.*
*/
FROM
LETTCCMMNDETAILCODE a
LEFT OUTER JOIN LETTCCMMNDETAILCODE b
on(b.code_nm LIKE substring(a.code_nm,1,instr(a.code_nm,'-')-1)||'%')
WHERE
a.USE_AT = 'Y'
AND a.CODE_ID = 'VEA008'
AND a.code = #cmptntAthrt#
AND (
(
instr(a.code_nm,'지검')>0
AND a.code=b.code
)
OR
(
0>=instr(a.code_nm,'지검')
)
)
AND instr(b.code_nm,'지검')>0
LIMIT 1
</select>
<!-- 강사 수정 C -->
<update id="cndtnTrgtInfoMngDAO.update" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.update */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = #userId#
, edu_state_cd = #eduStateCd#
, last_updt_pnttm = now()
, last_updusr_id = #lastUpdusrId#
SET
edu_state_cd = #eduStateCd#
, last_updt_pnttm = NOW()
, last_updusr_id = #lastUpdusrId#
, trgt_nm = #trgtNm#
, clphone = #clphone#
, d_birth = #dBirth#
@ -156,15 +310,29 @@
, post = #post#
, email = #email#
, req_pnttm = #reqPnttm#
, vnt_year = #vntYear#
, vnt_nmbr = #vntNmbr#
, cmptnt_athrt = #cmptntAthrt#
, sex = #sex#
, req_nmbr = #reqNmbr#
, prsctr_nm = #prsctrNm#
, req_state_cd = #reqStateCd#
, req_state_cd = #reqStateCd#
, atch_file_id = #atchFileId#
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>
<isNotEmpty property="prcsAplctPrdOrdCmplt">
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
<update id="cndtnTrgtInfoMngDAO.updateTrgtDuplAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateTrgtDuplAjax */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
prcs_aplct_prd_ord_cmplt = #sspnIdtmtTrgtOrd#
<isNotEmpty property="eduStateCd">
, edu_state_cd = #eduStateCd#
</isNotEmpty>
<isNotEmpty property="vntYear">
@ -178,11 +346,568 @@
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD = #prcsAplctPrdOrdCmplt#
<!-- WHERE SSPN_IDTMT_TRGT_ORD IN -->
<!-- <iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=","> -->
<!-- #sspnIdtmtTrgtOrdList[]# -->
<!-- </iterate> -->
</update>
<update id="cndtnTrgtInfoMngDAO.updateDel" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateDel */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
prcs_aplct_prd_ord_cmplt = null
<isNotEmpty property="eduStateCd">
, edu_state_cd = #eduStateCd#
</isNotEmpty>
WHERE
SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd#
</update>
<select id="cndtnTrgtInfoMngDAO.findCntreqNmber" resultClass="int" parameterClass="String">
SELECT
/*
NVL(max(abs(replace(req_nmbr,reqNmbrTemp,''))),0)
*/
NVL(max(abs(regexp_substr(req_nmbr, '[^-]+',1,5))),0)
FROM
vea_sspn_idmt_trgt
WHERE
req_nmbr LIKE #reqNmbrTemp#||'%' ;
</select>
<select id="cndtnTrgtInfoMngDAO.findCntreqNmber_bak" resultClass="int" parameterClass="String">
SELECT
count(*)
FROM
vea_sspn_idmt_trgt
WHERE
req_nmbr LIKE #reqNmbrTemp# ;
</select>
<!-- 대상자 조회 후 대상자에 로그인 ID update -->
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = #userId#
<isNotEmpty property="reqStateCd">
, req_state_cd = #reqStateCd#
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
, edu_state_cd = #eduStateCd#
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>
<!-- 대상자 조회 후 대상자에 로그인 ID update cancel-->
<update id="cndtnTrgtInfoMngDAO.updateUserIdCancel" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = NULL
, edu_aplct_ord = NULL
, edu_state_cd = '10'
, prcs_aplct_prd_ord_cmplt = NULL
WHERE
edu_aplct_ord = #eduAplctOrd#
</update>
<!-- 기소유예 대상자 R -->
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectPagingList
vea_sspn_idmt_trgt
교육상태 - vea002 - 10-교육대기,20-이수, 25-요청, 30-교육배정, 40-미이수, 50-연기, 60-교육취소, 70-재교육
의뢰상태 - vea005 - 10-교육대기, 20-교육배정, 30-완료, 40-교육취소
*/
SELECT
COUNT(1) OVER() AS totCnt,
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
, CASE
WHEN a.prcs_aplct_prd_ord_cmplt IS NOT NULL THEN
(
SELECT
CODE_NM
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = 'VEA002'
AND CODE = (SELECT b.edu_state_cd
FROM vea_sspn_idmt_trgt b
WHERE b.sspn_idtmt_trgt_ord=a.prcs_aplct_prd_ord_cmplt
)
)
ELSE (
SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'VEA002'
AND CODE = a.edu_state_cd
)
END AS eduStateCdNm
/*
, (
SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'VEA002'
AND CODE = a.edu_state_cd
) AS eduStateCdNm
*/
, CASE
WHEN a.prcs_aplct_prd_ord_cmplt IS NOT NULL THEN '병합처리'
WHEN a.EDU_STATE_CD = '20' AND a.req_state_cd = '20' THEN '완료'
ELSE (
SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'VEA005'
AND CODE = a.req_state_cd
)
END AS reqStateCdNm
, (
SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'VEA008'
AND CODE = a.cmptnt_athrt
) AS cmptntAthrtNm
, (
SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'COM014'
AND CODE = a.sex
) AS sexNm
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="eduStateCd">
AND a.EDU_STATE_CD = #eduStateCd#
</isNotEmpty>
/* 관할청 담당자를 위한 조건 */
<isNotEmpty property="searchCondition">
AND a.CMPTNT_ATHRT = #searchCondition#
</isNotEmpty>
/* 수료자 중복 리스트를 위한 조건문 */
<isNotEmpty property="trgtNm">
AND a.TRGT_NM = #trgtNm#
</isNotEmpty>
<isNotEmpty property="dBirth">
AND a.D_BIRTH = #dBirth#
</isNotEmpty>
/* //수료자 중복 리스트를 위한 조건문 */
<isNotEmpty property="searchQuery">
$searchQuery$
</isNotEmpty>
/* 의뢰상태 검색*/
<isNotEmpty prepend="AND" property="searchEduStateCd">
a.EDU_STATE_CD = #searchEduStateCd#
/*AND a.prcs_aplct_prd_ord_cmplt is null*/
AND (
CASE
WHEN a.prcs_aplct_prd_ord_cmplt IS NOT NULL THEN (
SELECT
CODE
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = 'VEA002'
AND CODE = (
SELECT
b.edu_state_cd
FROM
vea_sspn_idmt_trgt b
WHERE
b.sspn_idtmt_trgt_ord = a.prcs_aplct_prd_ord_cmplt
)
)
ELSE (
a.edu_state_cd
)
END
)=#searchEduStateCd#
</isNotEmpty>
/* 교육상태 검색*/
<isNotEmpty property="searchReqStateCd">
<isEqual property="searchReqStateCd" compareValue="30">
AND a.EDU_STATE_CD = '20'
</isEqual>
<isNotEqual property="searchReqStateCd" compareValue="30">
<isEqual property="searchReqStateCd" compareValue="20">
AND (a.REQ_STATE_CD = '20' AND a.EDU_STATE_CD!='20')
</isEqual>
<isNotEqual property="searchReqStateCd" compareValue="20">
AND a.REQ_STATE_CD = #searchReqStateCd#
</isNotEqual>
</isNotEqual>
AND(
CASE
WHEN a.prcs_aplct_prd_ord_cmplt IS NOT NULL THEN (
SELECT
CODE
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = 'VEA002'
AND CODE = (
SELECT
b.req_state_cd
FROM
vea_sspn_idmt_trgt b
WHERE
b.sspn_idtmt_trgt_ord = a.prcs_aplct_prd_ord_cmplt )
)
WHEN a.EDU_STATE_CD = '20'
AND a.req_state_cd = '20' THEN a.req_state_cd
ELSE (
a.req_state_cd )
END )=#searchReqStateCd#
</isNotEmpty>
/* 교육상태 검색*/
<isNotEmpty prepend="AND" property="searchSex">
a.SEX = #searchSex#
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt">
AND TO_CHAR(A.req_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(A.req_pnttm, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
/* 관할청 멀티셀렉트 */
<isNotEmpty property="searchSelStatus">
AND a.cmptnt_athrt IN
<iterate property="searchSelStatusList" open="(" close=")" conjunction=",">
#searchSelStatusList[]#
</iterate>
</isNotEmpty>
<isEmpty property="searchSelStatus">
<isNotEmpty property="srchCndt2">
AND a.cmptnt_athrt like #srchCndt2#||'%'
</isNotEmpty>
</isEmpty>
ORDER BY
a.req_pnttm DESC
, a.sspn_idtmt_trgt_ord DESC
, a.prcs_aplct_prd_ord_cmplt DESC
, a.frst_regist_pnttm desc
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- 기소유예 대상자 확인 STEP01 -->
<select id="cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd" parameterClass="CndtnPrcsInfoMngVO" resultClass="String">
/* cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd */
SELECT
sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND (
a.edu_state_cd = '10'
OR a.edu_state_cd = '40'
OR a.edu_state_cd = '50'
OR a.edu_state_cd = '60'
OR a.edu_state_cd = '70'
)
</select>
<!-- 기소유예 대상자 확인 STEP02 -->
<select id="cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd" parameterClass="CndtnPrcsInfoMngVO" resultClass="String">
/* cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd */
SELECT
sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND (
a.edu_state_cd = '20'
OR a.edu_state_cd = '25'
OR a.edu_state_cd = '30'
)
</select>
<!-- 기소유예 대상자 확인 STEP01 -->
<select id="cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1 - step1.신청 가능한 대상이 있는지 찾는다. */
SELECT
a.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
, a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND a.sex = #sex#
AND (
a.edu_state_cd = '10' /* 교육대기 */
OR a.edu_state_cd = '35' /* 교육신청반려*/
OR a.edu_state_cd = '50' /* 연기 */
OR a.edu_state_cd = '70' /* 재교육 */
)
AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */
<isNotEmpty property="clphone">
AND a.clphone = #clphone#
</isNotEmpty>
</select>
<!-- 기소유예 대상자 확인 STEP01 -->
<select id="cndtnTrgtInfoMngDAO.selectDuplChk" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1 - step1.신청 가능한 대상이 있는지 찾는다. */
SELECT
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND a.sex = #sex#
</select>
<!-- 기소유예 대상자 확인 STEP02 -->
<select id="cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2 - //step2.대상이 없으면 기존 이력이 있는지 확인 */
SELECT
a.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
, a.edu_state_cd AS eduStateCd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND a.sex = #sex#
AND (
a.edu_state_cd = '20' /* 이수 */
OR a.edu_state_cd = '25' /* 요청 */
OR a.edu_state_cd = '30' /* 교육배정 */
OR a.edu_state_cd = '40' /* 미이수 */
OR a.edu_state_cd = '60' /* 교육취소 */
)
AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */
<isNotEmpty property="clphone">
AND a.clphone = #clphone#
</isNotEmpty>
</select>
<!-- 기소유예 대상자 확인 STEP00 -->
<select id="cndtnTrgtInfoMngDAO.checkSspnIdtmtNewStep0" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtNewStep0 - step0.해당 계정으로 신청한 정보가 있는지 확인 하고, 있다면 동일한 정보로 신청했는지 확인 할것. */
SELECT CASE WHEN aa.cnt=bb.cnt THEN 'T'
ELSE 'F'
END AS resultCd
FROM (
/*해당 계정으로 신청한 전체 숫자*/
SELECT count(*) cnt
FROM vea_sspn_idmt_trgt b
WHERE b.user_id = #userId#
)aa
,(
/*해당 계정, 해당 정보로 신청한 전체 숫자*/
SELECT count(*) cnt
FROM vea_sspn_idmt_trgt b
WHERE b.user_id = #userId#
AND b.TRGT_NM = #trgtNm#
AND b.D_BIRTH = #dBirth#
AND b.SEX = #sex#
)bb
</select>
<select id="cndtnTrgtInfoMngDAO.findByEduAplctOrdAndMberId" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.findByEduAplctOrdAndMberId - 교육대상목록에서 상세 popup 정보 */
SELECT
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_year AS vntYear ,
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.atch_file_id AS atchFileId ,
a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt ,
a.rmrks AS rmrks ,
a.edu_aplct_ord AS eduAplctOrd
FROM
vea_sspn_idmt_trgt a
WHERE
1 = 1
AND ((a.EDU_APLCT_ORD = #eduAplctOrd#
AND a.USER_ID = #userId#)
OR
(
a.sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
)
)
</select>
<update id="cndtnTrgtInfoMngDAO.memoUpdate" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.memoUpdate */
UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
,RMRKS = #rmrks#
WHERE SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd#
</update>
<update id="cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax-cndtnTrgtInfoMngDAO.memoUpdate */
UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
REQ_STATE_CD = #reqStateCd#
, EDU_STATE_CD = #eduStateCd#
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="rmrks">
, rmrks = rmrks || #rmrks#
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
<update id="cndtnTrgtInfoMngDAO.deleteEduReqAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.deleteEduReqAjax-cndtnTrgtInfoMngDAO.memoUpdate */
DELETE FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
<select id="cndtnTrgtInfoMngDAO.selectSMSSndString" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* cndtnTrgtInfoMngDAO.selectSMSSndString */
SELECT
stng_cd AS stngCd,
cn AS cn
FROM VEA_BASIC_INFO_STNG
WHERE
1=1
<isNotEmpty property="stngCd">
AND stng_cd = #stngCd#
</isNotEmpty>
</select>
<update id="cndtnTrgtInfoMngDAO.updateSMSSndString" parameterClass="VEAStngVO">
/* cndtnTrgtInfoMngDAO.updateSMSSndString */
UPDATE VEA_BASIC_INFO_STNG
SET
CN = #cn#,
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE stng_cd = #stngCd#
</update>
<!-- 기소유예 대상자 연관 교육 내용 -->
<select id="cndtnTrgtInfoMngDAO.selectListRelated" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectListRelated */
SELECT a.SSPN_IDTMT_TRGT_ORD AS sspnIdtmtTrgtOrd
, b.prcs_ord AS prcsOrd
, b.USER_ID AS userId
, b.EDU_APLCT_ORD AS eduAplctOrd
, c.APLCT_STATE_CD AS aplctStateCd
, b.APRVL_CD AS aprvlCd
, c.CNCL_CN AS cnclCn
, c.CNCL_ATCH_FILE_ID AS cnclAtchFileId
, d.TITLE AS title
, d.edu_strt_pnttm AS eduStrtPnttm
FROM VEA_SSPN_IDMT_TRGT a
, ve_edu_aplct b
, VEA_APLCT_DETAIL_INFO c
, ve_prcs_aplct_prd d
WHERE 1=1
AND b.RNDS_ORD =a.SSPN_IDTMT_TRGT_ORD
AND b.EDU_APLCT_ORD = c.EDU_APLCT_ORD
AND b.PRCS_ORD = d.PRCS_APLCT_PRD_ORD
AND a.SSPN_IDTMT_TRGT_ORD IN (
SELECT a.SSPN_IDTMT_TRGT_ORD
FROM VEA_SSPN_IDMT_TRGT a
WHERE a.SSPN_IDTMT_TRGT_ORD =#sspnIdtmtTrgtOrd#
or a.PRCS_APLCT_PRD_ORD_CMPLT =#sspnIdtmtTrgtOrd#
)
</select>
</sqlMap>