2025-08-22 10:14 프로젝트 초기 설정

This commit is contained in:
myname 2025-08-22 10:14:17 +09:00
parent 980655f2c1
commit d9676e143c
3 changed files with 382 additions and 1 deletions

View File

@ -0,0 +1,56 @@
<?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="SequenceUtil">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<!-- 일련번호(시퀀스) 조회 -->
<select id="SequenceUtilDAO.selectSeqMng" parameterClass="egovMap" resultClass="egovMap" >
SELECT SEQ_ID
, SEQ_SIZE
, SEQ_LPAD
, SEQ_PREFIX
, SEQ_PREFIX_DT
, CASE WHEN SEQ_PREFIX_DT IS NOT NULL
THEN TO_CHAR(NOW(), SEQ_PREFIX_DT)
ELSE NULL
END SEQ_PREFIX_DT_FMT
, INIT_DAILY_YN
, INIT_SEQ_NO
, TO_CHAR(NVL(MOD_DATE, CRE_DATE), 'YYYYMMDD') MOD_DATE_FMT
, TO_CHAR(NOW(), 'YYYYMMDD') TODAY_FMT
<isNotEqual property="seqId" compareValue="SEQ_ADR_NO">
, SEQ_NO
</isNotEqual>
<isEqual property="seqId" compareValue="SEQ_ADR_NO">
,(SELECT IFNULL(MAX(SUBSTR(a.adr_no, -3)) + 1, 1)
FROM adr_mgr_master a
WHERE 1=1
AND a.adr_no LIKE TO_CHAR(NOW(),'YYYY') || '%')
AS SEQ_NO
</isEqual>
FROM C_SEQ_MNG
WHERE SEQ_ID = #seqId#
AND USE_YN = 'Y'
</select>
<!-- 시퀀스관리 seqNo 저장 -->
<update id="SequenceUtilDAO.updateSeqMng" parameterClass="egovMap">
UPDATE C_SEQ_MNG SET
SEQ_NO = #seqNo#
, MOD_LGN_ID = #modLgnId#
, MOD_DATE = NOW()
WHERE SEQ_ID = #seqId#
</update>
<!-- 신청관리: 신청번호 조회. 사용안함. -->
<select id="SequenceUtilDAO.selectAdrNoMax" parameterClass="String" resultClass="egovMap" >
SELECT IFNULL(MAX(SUBSTR(a.adr_no, -3)) + 1, 1)
FROM adr_mgr_master a
WHERE 1=1
AND a.adr_no LIKE TO_CHAR(NOW(),'YYYY') || '%'
</select>
</sqlMap>

View File

@ -3,7 +3,10 @@
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/read/Read_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/orgChart/OrgChartManage_SQL_Postgresql.xml"/><!-- 조직도 -->
<sqlMap resource="egovframework/sqlmap/com/cmm/util/SequenceUtil_SQL_Postgresql.xml"/><!-- 시퀀스UTIL -->
</sqlMapConfig>

View File

@ -0,0 +1,322 @@
<?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="OrgChartManage">
<typeAlias alias="orgCharVO" type="kcc.let.org.service.OrgCharVO"/>
<typeAlias alias="userManageVO" type="kcc.let.uss.umt.service.UserManageVO"/>
<typeAlias alias="locVO" type="kcc.let.org.service.LocVO"/>
<select id="itsmOrgChartManageDAO.selectOrgChartListAjax" parameterClass="locVO" resultClass="locVO">
SELECT LOC_NO AS id ,
LOC_NM AS text ,
UPPER_LOC_NO AS parent ,
DEPTHS AS depths ,
FRST_REGIST_PNTTM AS frstRegistPnttm ,
LOC_ORDR AS nodeDepth
FROM (
(
SELECT LOC_NO ,
LOC_NM ,
UPPER_LOC_NO ,
1 AS DEPTHS ,
FRST_REGIST_PNTTM ,
LOC_ORDR ,
CAST(LOC_ORDR AS CHAR(50)) AS LOC_LPAD ,
GW_STATUS
FROM ITSM_LOC
WHERE 1 =1
<isNotEmpty property="topLocNo">
AND UPPER_LOC_NO = #topLocNo#
</isNotEmpty>
AND GW_STATUS = 1
UNION ALL
SELECT sub_loc.LOC_NO ,
sub_loc.LOC_NM ,
sub_loc.UPPER_LOC_NO ,
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 ,
sub_loc.GW_STATUS
FROM ITSM_LOC AS sub_loc
INNER JOIN (
SELECT LOC_NO ,
LOC_NM ,
UPPER_LOC_NO ,
1 AS DEPTHS ,
FRST_REGIST_PNTTM ,
LOC_ORDR ,
CAST(LOC_ORDR AS CHAR(50)) AS LOC_LPAD ,
GW_STATUS
FROM ITSM_LOC
WHERE 1 =1
<isNotEmpty property="topLocNo">
AND UPPER_LOC_NO = #topLocNo#
</isNotEmpty>
AND GW_STATUS = 1
)loc
ON loc.LOC_NO = sub_loc.UPPER_LOC_NO
)
)LOC
WHERE GW_STATUS = '1'
ORDER BY LOC_LPAD
</select>
<select id="itsmOrgChartManageDAO.selectOrgChartDepthListAjax" parameterClass="orgCharVO" resultClass="orgCharVO">
WITH RECURSIVE loc AS
(
SELECT
LOC_NO ,
LOC_NM ,
UPPER_LOC_NO ,
2 AS DEPTH ,
FRST_REGIST_PNTTM ,
LOC_ORDR ,
CAST(LOC_ORDR AS CHAR(50)) AS LOC_LPAD ,
GW_STATUS
FROM
ITSM_LOC
WHERE 1=1
AND UPPER_LOC_NO = '1000000'
AND LOC_NO != '000011110' /**기타 제외 */
AND GW_STATUS = 1
UNION ALL
SELECT
sub_loc.LOC_NO ,
sub_loc.LOC_NM ,
sub_loc.UPPER_LOC_NO ,
loc.DEPTH + 1 AS DEPTH ,
sub_loc.FRST_REGIST_PNTTM ,
sub_loc.LOC_ORDR ,
loc.LOC_LPAD||
","||
LPAD(sub_loc.LOC_ORDR,
5,
0) AS LOC_LPAD ,
sub_loc.GW_STATUS
FROM
ITSM_LOC AS sub_loc
INNER JOIN
loc
ON loc.LOC_NO = sub_loc.UPPER_LOC_NO
)
SELECT
LOC_NO AS id ,
LOC_NM AS text ,
UPPER_LOC_NO AS parent ,
DEPTH AS nodeDepth ,
FRST_REGIST_PNTTM AS frstRegistPnttm ,
LOC_ORDR AS sort ,
GW_STATUS
FROM LOC A
WHERE GW_STATUS = '1'
AND DEPTH = #locDepth#
<isNotEqual property="upperLocNo" compareValue="0">
AND UPPER_LOC_NO = #upperLocNo#
</isNotEqual>
ORDER BY LOC_ORDR
</select>
<!-- <select id="itsmOrgChartManageDAO.selectUserAjax" parameterClass="userManageVO" resultClass="userManageVO">
SELECT
A.ESNTL_ID AS uniqId
, A.EMPLYR_ID AS emplyrId
, A.OFCPS_NM AS ofcpsNm
, A.EMPL_NO AS emplNo
, A.GW_PART_NM AS partNm
, A.PART_IDX AS partIdx
, A.USER_NM AS userNm
, A.EMAIL_ADRES AS emailAdres
, A.OFFM_TELNO AS offmTelno
, A.ESNTL_ID AS esntlId
, A.USER_WORK AS userWork
, IFNULL((SELECT C.AUTHOR_NM FROM LETTNEMPLYRSCRTYESTBS B, LETTNAUTHORINFO C WHERE A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID AND B.AUTHOR_CODE = C.AUTHOR_CODE),'') AS authorNm
, C.LOC_NM AS partIdxTxt,
FXNUM AS fxnum
FROM LETTNEMPLYRINFO A LEFT join ITSM_LOC C ON A.PART_IDX = C.LOC_NO
WHERE 1=1
<isNotEmpty property="emplyrNm">
AND A.USER_NM LIKE CONCAT ('%', #emplyrNm#,'%')
</isNotEmpty>
<isNotEmpty property="partIdx">
AND A.PART_IDX = #partIdx#
</isNotEmpty>
<isNotEmpty property="emplyrId">
AND A.EMPLYR_ID = #emplyrId#
</isNotEmpty>
<![CDATA[
ORDER BY ZIP
]]>
</select> -->
<select id="itsmOrgChartManageDAO.selectUserAjax" parameterClass="userManageVO" resultClass="userManageVO">
SELECT
A.LOC_INFO_ID AS locInfoId ,
A.OFCPS_NM AS ofcpsNm ,
A.PART_IDX AS partIdx ,
A.USER_NM AS userNm ,
A.OFFM_TELNO AS offmTelno ,
A.USER_WORK AS userWork ,
B.LOC_NM AS partIdxTxt,
A.SORT AS sort
FROM LOC_INFO A
LEFT JOIN ITSM_LOC B
ON A.PART_IDX = B.LOC_NO
WHERE 1 =1
<isNotEmpty property="partIdx">
AND A.PART_IDX = #partIdx#
</isNotEmpty>
<isNotEmpty property="emplyrId">
AND A.LOC_INFO_ID = #emplyrId#
</isNotEmpty>
ORDER BY A.SORT ASC , LOC_INFO_ID ASC
</select>
<insert id="itsmOrgChartManageDAO.insertUserInfoAjax" parameterClass="userManageVO">
INSERT INTO LETTNEMPLYRINFO
(
EMPLYR_ID
, PART_IDX
, OFCPS_NM
, USER_NM
, OFFM_TELNO
, EMAIL_ADRES
, ESNTL_ID
)
VALUES
(
#emplyrId#
, #partIdx#
, #ofcpsNm#
, #userNm#
, #offmTelno#
, #emailAdres#
, #esntlId#
)
</insert>
<update id="itsmOrgChartManageDAO.updateUserInfoAjax" parameterClass="userManageVO">
UPDATE LETTNEMPLYRINFO SET
PART_IDX = #partIdx#
, OFCPS_NM = #ofcpsNm#
, USER_NM = #emplyrNm#
, EMPL_NO = #emplNo#
, OFFM_TELNO = #offmTelno#
, EMAIL_ADRES = #emailAdres#
, ESNTL_ID = #esntlId#
, USER_WORK = #userWork#
WHERE
EMPLYR_ID = #emplyrId#
</update>
<delete id="itsmOrgChartManageDAO.deleteUserInfoAjax" parameterClass="String">
DELETE FROM LETTNEMPLYRINFO
WHERE EMPLYR_ID = #emplyrId#
</delete>
<select id="itsmOrgChartManageDAO.selectEquiLevelLocList" parameterClass="String" resultClass="locVO">
<![CDATA[
SELECT LOC_NO as locNo
FROM ITSM_LOC
WHERE LOC_NO like #locNo#
]]>
</select>
<insert id="itsmOrgChartManageDAO.insertOrgChart" parameterClass="locVO">
INSERT INTO ITSM_LOC
(
LOC_NM,
LOC_NO,
UPPER_LOC_NO,
LOC_ORDR,
LOC_DEPTH,
USE_YN
)
VALUES
(
#locNm#,
#locNo#,
#upperLocNo#,
#locOrdr#,
#locDepth#,
#useYn#
)
</insert>
<update id="itsmOrgChartManageDAO.updateOrgChartNm" parameterClass="locVO">
UPDATE ITSM_LOC
SET
LOC_NM = #locNm#
WHERE LOC_NO = #locNo#
</update>
<delete id="itsmOrgChartManageDAO.deleteOrgChart" parameterClass="locVO" >
DELETE FROM ITSM_LOC
WHERE LOC_NO = #locNo#
</delete>
<update id="itsmOrgChartManageDAO.updateLocDate" parameterClass="locVO">
UPDATE ITSM_LOC
SET FRST_REGIST_PNTTM = now(),
LOC_ORDR = #locOrdr#,
UPPER_LOC_NO = #upperMenuId#
WHERE LOC_NO = #locNo#
</update>
<update id="itsmOrgChartManageDAO.resortLoc" parameterClass="locVO">
UPDATE ITSM_LOC A ,
(SELECT LOC_NO, ROW_NUMBER() OVER(ORDER BY LOC_ORDR, FRST_REGIST_PNTTM
<isEqual property="sortOver" compareValue="D">
DESC
</isEqual>
) AS SORT1 FROM ITSM_LOC
WHERE UPPER_LOC_NO = #upperLocNo# ORDER BY LOC_ORDR ASC ) B
SET A.LOC_ORDR = B.SORT1
WHERE A.LOC_NO = B.LOC_NO
</update>
<update id="itsmOrgChartManageDAO.updateLocCnSaveAjax" parameterClass="locVO">
UPDATE ITSM_LOC
SET LOC_CN = #locCn#
WHERE LOC_NO = #partIdx#
</update>
<select id="itsmOrgChartManageDAO.selectLocCnVO" parameterClass="locVO" resultClass="locVO">
<![CDATA[
SELECT LOC_CN as locCn
FROM ITSM_LOC
WHERE LOC_NO = #locNo#
]]>
</select>
<select id="itsmOrgChartManageDAO.selectLocPath" parameterClass="locVO" resultClass="locVO">
<![CDATA[
SELECT LOC_NO AS locNo,
LOC_NM AS locNm
FROM ITSM_LOC A
WHERE LOC_NO = (SELECT UPPER_LOC_NO FROM ITSM_LOC A
WHERE LOC_NO = #locNo#)
UNION
SELECT LOC_NO AS locNo,
LOC_NM AS locNm FROM ITSM_LOC A
WHERE LOC_NO = #locNo#
]]>
</select>
<delete id="itsmOrgChartManageDAO.deleteUserInfoLocAjax" parameterClass="String">
DELETE FROM LOC_INFO
WHERE LOC_INFO_ID = #emplyrId#
</delete>
</sqlMap>