2025-08-28 09:49 프로젝트 초기 셋팅

This commit is contained in:
myname 2025-08-28 09:50:38 +09:00
parent 93b85239b2
commit 3a91a644cd
6 changed files with 428 additions and 15 deletions

View File

@ -1047,12 +1047,14 @@ public class OprtnInstrAdultPrflContoller {
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
//3.0 데이터가 있으면 모두 조회
selectCondition += " AND a0.user_id=b0.user_id ";
//3.1 제출 완료 사용중인 데이터 조회
//selectCondition += "AND a.sbmt_yn='Y' AND a.use_yn = 'Y'";
selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'";
//selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'";
//3.2 강사 테이블 성인강사여부 Y인것만 조회
//selectCondition += "AND (b.adult_instr_yn ='Y' OR a.qlfct_end_yn = 'Y') ";
selectCondition += "AND (b0.adult_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y') ";
//selectCondition += "AND (b0.adult_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y') ";
//3.3 이름 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchKeyword())){
//selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')";

View File

@ -12,7 +12,7 @@
<!-- 강의복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Postgresql.xml"/><!-- 강사상세테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Postgresql.xml"/><!-- 강사상세테이블 -->
<!-- 거주지복합 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Postgresql.xml"/>
@ -24,5 +24,9 @@
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml"/>
<!-- 강사 --><!-- 기본셋 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_SQL_Postgresql.xml"/><!-- 강사테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrHstryMng_SQL_Postgresql.xml"/> <!-- 강사이력관리 -->
</sqlMapConfig>

View File

@ -181,9 +181,9 @@
#aprvlCn#,
SYSDATE,
NOW(),
#frstRegisterId#,
SYSDATE,
NOW(),
#lastUpdusrId#,
<!-- useYn 값 없을 시 N 기본 -->
<isNotEmpty property="useYn">
@ -250,9 +250,9 @@
#aprvlCn#,
SYSDATE,
NOW(),
#frstRegisterId#,
SYSDATE,
NOW(),
#lastUpdusrId#,
<!-- useYn 값 없을 시 N 기본 -->
<isNotEmpty property="useYn">
@ -275,7 +275,7 @@
WHEN MATCHED THEN
UPDATE
SET last_updusr_id = #frstRegisterId#
, last_updt_pnttm = SYSDATE
, last_updt_pnttm = NOW()
<isNotEmpty property="email">
, email =#email#
@ -326,7 +326,7 @@
/* 강사 추가 정보 VEInstrDetailDAO.selectDetail */
SELECT
<include refid="VEInstrDetailDAO.select_column_name"/>
, TO_CHAR(SYSDATE,'YYYY')||'년'||TO_CHAR(SYSDATE,'MM')||'월'||TO_CHAR(SYSDATE,'DD')||'일'
, TO_CHAR(NOW(),'YYYY')||'년'||TO_CHAR(NOW(),'MM')||'월'||TO_CHAR(NOW(),'DD')||'일'
AS hstryPnttm
, b.desc_1 AS desc1
, b.desc_2 AS desc2
@ -393,6 +393,7 @@
<!-- 강사 정보 U -->
<update id="VEInstrDetailDAO.update" parameterClass="VEInstrDetailVO">
/* VEInstrDetailDAO.update */
UPDATE
<include refid="VEInstrDetailDAO.table_name"/>
SET
@ -466,7 +467,8 @@
</isNotEmpty><isNotEmpty property="qlfctEndYn">
qlfct_end_yn = #qlfctEndYn#,
</isNotEmpty><isNotEmpty property="qlfctEndPnttm">
qlfct_end_pnttm = #qlfctEndPnttm#,
/* qlfct_end_pnttm = qlfctEndPnttm, */
qlfct_end_pnttm = NOW(),
</isNotEmpty><isNotEmpty property="qlfctEndCn">
qlfct_end_cn = #qlfctEndCn#,
</isNotEmpty><isNotEmpty property="divCd">
@ -489,7 +491,7 @@
aprvl_cn = '',
</isEqual>
LAST_UPDT_PNTTM = SYSDATE
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
@ -583,7 +585,7 @@
#unfthYn#,
#extraPayYn#,
#rmrks#,
SYSDATE,
NOW(),
#frstRegisterId#,
#rprtScore#
)
@ -620,6 +622,7 @@
<!-- 강사 메모 수정 U -->
<update id="VEInstrDetailDAO.updateInstrMemo" parameterClass="VEInstrDetailVO">
/* VEInstrDetailDAO.updateInstrMemo */
UPDATE
VE_INSTR_DETAIL
SET
@ -634,6 +637,7 @@
<!-- 강사 메모 수정 U -->
<update id="VEInstrDetailDAO.updateInstrSigMemo" parameterClass="VEInstrDetailVO">
/* VEInstrDetailDAO.updateInstrSigMemo */
UPDATE
VE_INSTR_DETAIL
SET

View File

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- 찾교 강사, 강사상세 테이블 -->
<sqlMap namespace="VEInstr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrDetailVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrDAO.table_name">
ve_instr
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDAO.column_name">
user_id,
tngr_instr_yn,
adult_instr_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
, desc_1
, desc_2
, desc_3
, desc_4
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDAO.select_column_name">
a.user_id AS userId,
a.tngr_instr_yn AS tngrInstrYn,
a.adult_instr_yn AS adultInstrYn,
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
, desc_1 AS desc1
, desc_2 AS desc2
, desc_3 AS desc3
, desc_4 AS desc4
</sql>
<!-- 강사 등록 C -->
<insert id="VEInstrDAO.insert" parameterClass="VEInstrDetailVO">
INSERT INTO <include refid="VEInstrDAO.table_name"/> (
<include refid="VEInstrDAO.column_name"/>
)VALUES(
#userId#,
#tngrInstrYn#,
#adultInstrYn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
, #desc1#
, #desc2#
, #desc3#
, #desc4#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEInstrDAO.selectDetail" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
WHERE
a.user_id = #userId#
</select>
<!-- 강사 정보 U -->
<update id="VEInstrDAO.update" parameterClass="VEInstrDetailVO">
UPDATE
<include refid="VEInstrDAO.table_name"/>
SET
<!-- 운영자가 등록한 임시 temp ID를 실제 사용자 ID로 수정 -->
<isNotEmpty property="rqstId">
user_id = #rqstId#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="tngrInstrYn">
, tngr_instr_yn = #tngrInstrYn#
</isNotEmpty>
<isNotEmpty property="adultInstrYn">
, adult_instr_yn = #adultInstrYn#
</isNotEmpty>
<isNotEmpty property="desc1">
, desc_1 = #desc1#
, desc_2 = #desc2#
, desc_3 = #desc3#
, desc_4 = #desc4#
</isNotEmpty>
WHERE
user_id = #userId#
</update>
<!-- 강사 정보 D -->
<delete id="VEInstrDAO.delete" parameterClass="VEInstrDetailVO">
DELETE FROM
<include refid="VEInstrDAO.table_name"/>
WHERE
user_id = #userId#
</delete>
<!-- 강사 정보 L -->
<select id="VEInstrDAO.selectList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEInstrDAO.selectPagingList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
, ve_instr_detail b
WHERE
1=1
AND a.user_id=b.user_id
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND b.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND b.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, b.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -70,7 +70,7 @@
<select id="VERsdncMIXDAO.selectRsdncStep2List" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 2 VERsdncMIXDAO.selectRsdncStep2List */
SELECT aa.*
, NVL(bb.area_cd, 0) cnt
, COALESCE(bb.area_cd, '0') cnt
FROM (
SELECT one_depth_nm AS oneDepthNm
/*
@ -138,7 +138,7 @@
<select id="VERsdncMIXDAO.selectRsdncStep2ListNew" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 2 VERsdncMIXDAO.selectRsdncStep2ListNew */
SELECT aa.*
, NVL(bb.area_cd, 0) cnt
, COALESCE(bb.area_cd, 0) cnt
FROM (
SELECT one_depth_nm AS oneDepthNm
/*

View File

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- 찾교 교육 결과 테이블 -->
<sqlMap namespace="VEAInstrHstryMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAInstrHstryMngDAO.table_name">
vea_instr_hstry_mng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAInstrHstryMngDAO.column_name">
instr_hstry_ord,
user_id,
sbjct,
cn,
strt_dt,
ddln_dt,
frst_regist_pnttm,
frst_register_id,
atch_file_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAInstrHstryMngDAO.select_column_name">
a.instr_hstry_ord AS instrHstryOrd,
a.user_id AS userId,
a.sbjct AS sbjct,
a.cn AS cn,
a.strt_dt AS strtDt,
a.ddln_dt AS ddlnDt,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId ,
a.atch_file_id AS atchFileId
</sql>
<!-- 강사 등록 C -->
<insert id="VEAInstrHstryMngDAO.insert" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.insert */
MERGE INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
USING DUAL
ON(instr_hstry_ord=#instrHstryOrd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrHstryMngDAO.column_name"/>
)
VALUES(
#instrHstryOrd#,
#userId#,
#sbjct#,
#cn#,
#strtDt#,
#ddlnDt#,
SYSDATE,
#frstRegisterId#,
#atchFileId#
)
WHEN MATCHED THEN
UPDATE
SET user_id = #userId#
, sbjct = #sbjct#
, cn = #cn#
, strt_dt = #strtDt#
, ddln_dt = #ddlnDt#
, frst_regist_pnttm = SYSDATE
, frst_register_id = #frstRegisterId#
, atch_file_id = #atchFileId#
</insert>
<!-- 강사 정보 R -->
<select id="VEAInstrHstryMngDAO.selectDetail" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
a.asgnm_cd = #asgnmCd#
</select>
<!-- 강사 정보 U -->
<update id="VEAInstrHstryMngDAO.update" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.update */
MERGE INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
USING DUAL
ON(instr_hstry_ord=#instrHstryOrd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrHstryMngDAO.column_name"/>
)
VALUES(
#instrHstryOrd#,
#userId#,
#sbjct#,
#cn#,
#strtDt#,
#ddlnDt#,
SYSDATE,
#frstRegisterId#,
#atchFileId#
)
WHEN MATCHED THEN
UPDATE
SET user_id = #userId#
, sbjct = #sbjct#
, cn = #cn#
, strtDt = #strtDt#
, ddlnDt = #ddlnDt#
, frst_regist_pnttm = SYSDATE
, frst_register_id = #frstRegisterId#
, atch_file_id = #atchFileId#
</update>
<!-- 강사 정보 U -->
<!--
<update id="VEAInstrHstryMngDAO.updateBulk" parameterClass="VEAStngVO">
INSERT INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, SYSDATE,#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=SYSDATE,
last_updusr_id=#lastUpdusrId#
</update>
-->
<!-- 강사 정보 D -->
<delete id="VEAInstrHstryMngDAO.delete" parameterClass="VEAStngVO">
DELETE FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
a.instr_hstry_ord=#instrHstryOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEAInstrHstryMngDAO.selectList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAInstrHstryMngDAO.selectList */
SELECT
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
, b.user_nm AS userNm
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
, LETTNEMPLYRINFO b
WHERE
1=1
AND a.frst_register_id=b.ESNTL_ID
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEAInstrHstryMngDAO.selectPagingList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, a.instr_hstry_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
</sqlMap>