의견진술 수정.

main
jjh 1 year ago
parent a003e49ac1
commit 7d50667528

@ -51,18 +51,6 @@ public interface OpnnSbmsnMapper extends AbstractMapper {
return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null; return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null;
} }
/** ID , .
* @param crdnId ID
* @return ,
*/
DataObject selectCrdn(LevyExclQuery req);
default DataObject selectCrdnInfo(String crdnId) {
DataObject crdnInfo = selectCrdn(new LevyExclQuery().setCrdnId(crdnId));
return crdnInfo;
}
/** . /** .
* @param params * @param params
* <ul><li>"opnnSbmsn" - </li> * <ul><li>"opnnSbmsn" - </li>

@ -77,21 +77,6 @@ public class OpnnSbmsnBean extends AbstractComponent {
return opnnSbmsnMapper.selectOpnnSbmsnInfo(req); return opnnSbmsnMapper.selectOpnnSbmsnInfo(req);
} }
/** ID .<br />
* @param crndId ID
* @return
*/
public DataObject getCrdnInfo(LevyExclQuery req) {
DataObject dataCrdn = opnnSbmsnMapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회
if (req.getCallPurpose().equals("create")) {
dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY")); // 접수 일자
dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO")); // 접수 번호
}
return dataCrdn;
}
/** . /** .
* @param opnnSbmsn * @param opnnSbmsn
* @return * @return
@ -105,7 +90,8 @@ public class OpnnSbmsnBean extends AbstractComponent {
String retMessage = "[F] "; // 처리 결과 메시지 String retMessage = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속, 의견제출 정보 조회 // 단속 ID로 단속, 의견제출 정보 조회
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId()); DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setCrdnId(opnnSbmsn.getCrdnId())
.setCrdnDelYn("N"));
// 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. // 의견제출ID가 있다면 이미 자료가 존재하므로 종료..
if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) { if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) {

@ -46,12 +46,8 @@ public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbm
req.setCallPurpose("view"); req.setCallPurpose("view");
} }
if (req.getCallPurpose().equals("create")) {
return opnnSbmsnBean.getCrdnInfo(req);
} else {
return opnnSbmsnBean.getOpnnSbmsnInfo(req); return opnnSbmsnBean.getOpnnSbmsnInfo(req);
} }
}
@Override @Override
public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) { public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {

@ -29,10 +29,8 @@
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 --> <result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap> </resultMap>
<sql id="select"> <sql id="selectList">
SELECT LE.LEVY_EXCL_ID <!-- 부과제외 ID --> SELECT LE.LEVY_EXCL_ID <!-- 부과제외 ID -->
, LE.SGG_CD <!-- 시군구 코드 -->
, LE.TASK_SE_CD <!-- 업무 구분 코드 -->
, LE.LEVY_EXCL_YMD <!-- 부과제외 일자 --> , LE.LEVY_EXCL_YMD <!-- 부과제외 일자 -->
, LE.LEVY_EXCL_SE_CD <!-- 부과제외 구분 코드 --> , LE.LEVY_EXCL_SE_CD <!-- 부과제외 구분 코드 -->
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM <!-- 부과 제외 구분 명 --> , (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM <!-- 부과 제외 구분 명 -->
@ -51,6 +49,8 @@
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM <!-- 삭제자 명 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, LE.DEL_RSN <!-- 삭제 사유 --> , LE.DEL_RSN <!-- 삭제 사유 -->
, C.CRDN_ID <!-- 단속 ID --> , C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 --> , C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, (SELECT GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 --> , (SELECT GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 --> , C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
@ -89,9 +89,8 @@
, CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 --> , CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 -->
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 --> , CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 --> , CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM <!-- 민원 처리 명 -->
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 --> , CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
FROM TB_LEVY_EXCL LE FROM TB_LEVY_EXCL LE
INNER JOIN TB_CRDN C ON (LE.CRDN_ID = C.CRDN_ID) INNER JOIN TB_CRDN C ON (LE.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
@ -102,7 +101,7 @@
<select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(levyExclMapper.selectLevyExclList) */ <select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(levyExclMapper.selectLevyExclList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
<include refid="select" /> <include refid="selectList" />
WHERE C.SGG_CD = #{sggCd} <!-- 시군구 코드 --> WHERE C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
<if test="taskSeCd != null"> <if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 --> AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
@ -196,22 +195,12 @@
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <if test="delYn != null">
<when test="delYn != null">
AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 --> AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when> </if>
<otherwise> <if test="crdnDelYn != null">
AND LE.DEL_YN = 'N' <!-- 삭제 여부 --> AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</otherwise> </if>
</choose>
<choose>
<when test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
<if test="by != null and by != '' and term != null"> <if test="by != null and by != '' and term != null">
<choose> <choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'"> <when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
@ -245,27 +234,69 @@
<include refid="utility.paging-suffix" /> <include refid="utility.paging-suffix" />
</select> </select>
<sql id="select">
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, LE.LEVY_EXCL_ID <!-- 부과제외 ID -->
, LE.LEVY_EXCL_YMD <!-- 부과제외 일자 -->
, LE.LEVY_EXCL_SE_CD <!-- 부과제외 구분 코드 -->
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM <!-- 부과 제외 구분 명 -->
, LE.LEVY_EXCL_RSN_CD <!-- 부과제외 사유 코드 -->
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM <!-- 부과 제외 사유 명 -->
, LE.ETC_CN <!-- 기타 내용 -->
, LE.DEL_YN <!-- 삭제 여부 -->
, LE.REG_DT <!-- 등록 일시 -->
, LE.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, LE.MDFCN_DT <!-- 수정 일시 -->
, LE.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, LE.DEL_DT <!-- 삭제 일시 -->
, LE.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, LE.DEL_RSN <!-- 삭제 사유 -->
FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
</sql>
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(levyExclMapper.selectLevyExcl) */ <select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(levyExclMapper.selectLevyExcl) */
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</if>
<if test="levyExclIDs != null"> <if test="levyExclIDs != null">
AND LE.LEVY_EXCL_ID IN ( AND LE.LEVY_EXCL_ID IN ( <!-- 부과 제외 IDs -->
<foreach collection="levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach> <foreach collection="levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach>
) )
</if> </if>
<if test="levyExclId != null"> <if test="levyExclId != null">
AND LE.LEVY_EXCL_ID = #{levyExclId} <!-- 부과 제외 ID --> AND LE.LEVY_EXCL_ID = #{levyExclId} <!-- 부과 제외 ID -->
</if> </if>
<choose> <if test="delYn != null">
<when test="delYn != null">
AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 --> AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND LE.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if> </if>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />

@ -50,9 +50,8 @@
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 --> <result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap> </resultMap>
<sql id="select"> <sql id="selectList">
SELECT OS.OPNN_ID <!-- 의견 ID --> SELECT OS.OPNN_ID <!-- 의견 ID -->
, OS.CRDN_ID <!-- 단속 ID -->
, OS.RCPT_NO <!-- 접수 번호 --> , OS.RCPT_NO <!-- 접수 번호 -->
, OS.RCPT_YMD <!-- 접수 일자 --> , OS.RCPT_YMD <!-- 접수 일자 -->
, OS.RCPT_SE_CD <!-- 접수 구분 코드 --> , OS.RCPT_SE_CD <!-- 접수 구분 코드 -->
@ -94,6 +93,7 @@
, OS.DLTR <!-- 삭제자 --> , OS.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.DLTR) AS DLTR_NM <!-- 삭제자 명 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, OS.DEL_RSN <!-- 삭제 사유 --> , OS.DEL_RSN <!-- 삭제 사유 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 --> , C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 --> , C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 --> , C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
@ -132,7 +132,7 @@
<select id="selectOpnnSbmsnList" parameterType="map" resultType="dataobject">/* 의견제출 대장 목록 조회(opnnSbmsnMapper.selectOpnnSbmsnList) */ <select id="selectOpnnSbmsnList" parameterType="map" resultType="dataobject">/* 의견제출 대장 목록 조회(opnnSbmsnMapper.selectOpnnSbmsnList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
<include refid="select" /> <include refid="selectList" />
WHERE C.SGG_CD = #{sggCd} <!-- 시군구 코드 --> WHERE C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
<if test="taskSeCd != null"> <if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 --> AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
@ -198,16 +198,11 @@
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <if test="delYn != null">
<when test="delYn != null">
AND OS.DEL_YN = #{delYn} <!-- 삭제 여부 --> AND OS.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when> </if>
<otherwise>
AND OS.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
<if test="crdnDelYn != null"> <if test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 삭제 여부 --> AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</if> </if>
<if test="by != null and by != '' and term != null"> <if test="by != null and by != '' and term != null">
<choose> <choose>
@ -246,9 +241,73 @@
<include refid="utility.paging-suffix" /> <include refid="utility.paging-suffix" />
</select> </select>
<sql id="select">
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_TELNO <!-- 납부자 전화번호 -->
, P.RTPYR_MBL_TELNO <!-- 납부자 휴대 전화번호 -->
, P.RTPYR_EML <!-- 납부자 이메일 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, OS.OPNN_ID <!-- 의견 ID -->
, OS.RCPT_NO <!-- 접수 번호 -->
, OS.RCPT_YMD <!-- 접수 일자 -->
, OS.RCPT_SE_CD <!-- 접수 구분 코드 -->
, (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL) AS RCPT_SE_NM <!-- 접수 구분 코드 -->
, OS.OWNR_REL_CD <!-- 소유주 관계 코드 -->
, (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM <!-- 소유주 관계 코드 -->
, OS.STTR_NM <!-- 진술자 명 -->
, OS.STTR_BRDT <!-- 진술자 생년월일 -->
, (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '-') FROM DUAL) AS STTR_BRDT_FORMAT <!-- 납부자 생년월일 -->
, OS.STTR_RRNO <!-- 진술자 주민등록번호 -->
, OS.STTR_ADDR <!-- 진술자 주소 -->
, OS.STTR_DADDR <!-- 진술자 상세주소 -->
, OS.STTR_ZIP <!-- 진술자 우편번호 -->
, OS.STTR_CTTPC <!-- 진술자 연락처 -->
, OS.STTR_EML <!-- 진술자 이메일 -->
, OS.OPNN_SBMSN_CN <!-- 의견 제출 내용 -->
, OS.OPNN_SBMSN_SE_CD <!-- 의견 제출 구분 코드 -->
, (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM <!-- 의견 제출 구분 명 -->
, OS.OPNN_SBMSN_GIST <!-- 의견 제출 요지 -->
, OS.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, OS.DOC_NO <!-- 문서 번호 -->
, OS.NTFCTN_SE_CD <!-- 통보 구분 코드 -->
, (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM <!-- 통보 구분 코드 -->
, OS.PIC_RVW_OPNN <!-- 담당자 검토 의견 -->
, OS.OPNN_SBMSN_STTS_CD <!-- 의견 제출 상태 코드 -->
, (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM <!-- 의견 제출 상태 명 -->
, OS.ANS_YMD <!-- 답변 일자 -->
, OS.ANS_TM <!-- 답변 시각 -->
, (CONCAT(OS.ANS_YMD, OS.ANS_TM)) AS ANS_YMD_TM <!-- 답변 일시 -->
, OS.ANS_CN <!-- 답변 내용 -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
</sql>
<select id="selectOpnnSbmsns" parameterType="map" resultType="dataobject">/* 의견제출 대장 객체 가져오기(opnnSbmsnMapper.selectOpnnSbmsns) */ <select id="selectOpnnSbmsns" parameterType="map" resultType="dataobject">/* 의견제출 대장 객체 가져오기(opnnSbmsnMapper.selectOpnnSbmsns) */
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</if>
<if test="opnnIDs != null"> <if test="opnnIDs != null">
AND OS.OPNN_ID IN ( AND OS.OPNN_ID IN (
<foreach collection="opnnIDs" item="opnnId" separator=","> #{opnnId} </foreach> <foreach collection="opnnIDs" item="opnnId" separator=","> #{opnnId} </foreach>
@ -257,24 +316,14 @@
<if test="opnnId != null"> <if test="opnnId != null">
AND OS.OPNN_ID = #{opnnId} <!-- 의견제출 ID --> AND OS.OPNN_ID = #{opnnId} <!-- 의견제출 ID -->
</if> </if>
<choose>
<when test="delYn != null">
AND OS.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND OS.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<insert id="insertOpnnSbmsn" parameterType="map">/* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */ <insert id="insertOpnnSbmsn" parameterType="map">/* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */
<selectKey resultType="string" keyProperty="opnnSbmsn.opnnId" keyColumn="NEW_ID" order="BEFORE"> <selectKey resultType="hashmap" keyProperty="opnnSbmsn.opnnId,opnnSbmsn.rcptNo" keyColumn="NEW_ID,NEW_RCPT_NO" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
, CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCPT_NO, 5)) + 1, 1) AS INT), 6, '0')) AS NEW_RCPT_NO
FROM TB_OPNN_SBMSN FROM TB_OPNN_SBMSN
WHERE OPNN_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') WHERE OPNN_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey> </selectKey>
@ -396,75 +445,6 @@
AND DEL_YN = 'N' AND DEL_YN = 'N'
</update> </update>
<select id="selectCrdn" parameterType="map" resultType="dataobject">/* 단속 대장 객체 가져오기(opnnSbmsnMapper.selectCrdn) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_TELNO <!-- 납부자 전화번호 -->
, P.RTPYR_MBL_TELNO <!-- 납부자 휴대 전화번호 -->
, P.RTPYR_EML <!-- 납부자 이메일 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, OS.OPNN_ID <!-- 의견 ID -->
, OS.RCPT_NO <!-- 접수 번호 -->
, OS.RCPT_YMD <!-- 접수 일자 -->
, OS.RCPT_SE_CD <!-- 접수 구분 코드 -->
, (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL) AS RCPT_SE_NM <!-- 접수 구분 코드 -->
, OS.OWNR_REL_CD <!-- 소유주 관계 코드 -->
, (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM <!-- 소유주 관계 코드 -->
, OS.STTR_NM <!-- 진술자 명 -->
, OS.STTR_BRDT <!-- 진술자 생년월일 -->
, (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '-') FROM DUAL) AS STTR_BRDT_FORMAT <!-- 납부자 생년월일 -->
, OS.STTR_RRNO <!-- 진술자 주민등록번호 -->
, OS.STTR_ADDR <!-- 진술자 주소 -->
, OS.STTR_DADDR <!-- 진술자 상세주소 -->
, OS.STTR_ZIP <!-- 진술자 우편번호 -->
, OS.STTR_CTTPC <!-- 진술자 연락처 -->
, OS.STTR_EML <!-- 진술자 이메일 -->
, OS.OPNN_SBMSN_CN <!-- 의견 제출 내용 -->
, OS.OPNN_SBMSN_SE_CD <!-- 의견 제출 구분 코드 -->
, (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM <!-- 의견 제출 구분 명 -->
, OS.OPNN_SBMSN_GIST <!-- 의견 제출 요지 -->
, OS.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, OS.DOC_NO <!-- 문서 번호 -->
, OS.NTFCTN_SE_CD <!-- 통보 구분 코드 -->
, (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM <!-- 통보 구분 코드 -->
, OS.PIC_RVW_OPNN <!-- 담당자 검토 의견 -->
, OS.OPNN_SBMSN_STTS_CD <!-- 의견 제출 상태 코드 -->
, (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM <!-- 의견 제출 상태 명 -->
, OS.ANS_YMD <!-- 답변 일자 -->
, OS.ANS_TM <!-- 답변 시각 -->
, (CONCAT(OS.ANS_YMD, OS.ANS_TM)) AS ANS_YMD_TM <!-- 답변 일시 -->
, OS.ANS_CN <!-- 답변 내용 -->
, (SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCPT_NO, 5)) + 1, 1) AS INT), 6, '0'))
FROM TB_OPNN_SBMSN
WHERE RCPT_NO LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') ) AS NEW_RCPT_NO <!-- 신규 접수 번호 -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
<choose>
<when test="delYn != null">
AND C.DEL_YN = #{delYn}
</when>
<otherwise>
AND C.DEL_YN = 'N'
</otherwise>
</choose>
</select>
<update id="updateCrdnOpnnSbmsnYn" parameterType="map">/* 단속 대장 의견제출여부 수정(opnnSbmsnMapper.updateCrdnOpnnSbmsnYn) */ <update id="updateCrdnOpnnSbmsnYn" parameterType="map">/* 단속 대장 의견제출여부 수정(opnnSbmsnMapper.updateCrdnOpnnSbmsnYn) */
UPDATE TB_CRDN UPDATE TB_CRDN
SET OPNN_SBMSN_YN = #{crdn.opnnSbmsnYn} <!-- 의견 제출 여부 --> SET OPNN_SBMSN_YN = #{crdn.opnnSbmsnYn} <!-- 의견 제출 여부 -->

@ -21,7 +21,7 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-30" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly /> <input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
</div> </div>
<!-- 단속일시 --> <!-- 단속일시 -->
<div class="col-md-4"> <div class="col-md-4">
@ -31,12 +31,12 @@
<!-- 납부자 명 --> <!-- 납부자 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자</label> <label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자</label>
<input type="text" class="form-control w-60" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly /> <input type="text" class="form-control w-55" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly />
</div> </div>
<!-- 접수 번호 --> <!-- 접수 번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수 번호</label> <label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 번호</label>
<input type="text" class="form-control w-30" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" required /> <input type="text" class="form-control w-35" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" />
</div> </div>
<!-- 접수 일자 --> <!-- 접수 일자 -->
<div class="col-md-4"> <div class="col-md-4">
@ -179,6 +179,8 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/excl/excl02"; var ${pageName}PrefixUrl = "/excl/excl02";
// 호출 용도
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields // FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}"); var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
// 파일 리스트 // 파일 리스트
@ -192,10 +194,6 @@
, prefixName : "의견제출" , prefixName : "의견제출"
, keymapper : info => info ? info.OPNN_ID : "" , keymapper : info => info ? info.OPNN_ID : ""
, dataGetter : obj => obj.opnnSbmsnInfo , dataGetter : obj => obj.opnnSbmsnInfo
, urls : {
create : wctx.url(${pageName}PrefixUrl + "/020/create.do") // 등록
, update : wctx.url(${pageName}PrefixUrl + "/020/update.do") // 수정
}
, formats : { , formats : {
CRDN_YMD : dateFormat CRDN_YMD : dateFormat
, RCPT_YMD : dateFormat , RCPT_YMD : dateFormat
@ -210,8 +208,13 @@
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do");
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
// 첨부파일 조회 if (${pageName}CallPurpose == "create") {
fnSearchFileList${pageName}(item.data.OPNN_ID); $("#rcptNo--${pageName}").prop("readonly", true);
setForm${pageName}(); // 화면 초기화
} else {
fnSearchFileList${pageName}(item.data.OPNN_ID); // 첨부파일 조회
}
} }
/************************************************************************** /**************************************************************************
@ -262,13 +265,6 @@
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
// 검색조건 초기값 셋팅
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
}
// 이벤트 설정 // 이벤트 설정
setEvent${pageName} = () => { setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
@ -287,6 +283,13 @@
$("#btnAddFile--${pageName}").on('click', () => { $("#uploadFiles--${pageName}").trigger("click"); }); $("#btnAddFile--${pageName}").on('click', () => { $("#uploadFiles--${pageName}").trigger("click"); });
} }
// 화면 초기값 셋팅
setForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
}
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
@ -314,7 +317,26 @@
// 우편번호 검색 // 우편번호 검색
fnZip${pageName} = () => { fnZip${pageName} = () => {
let callbackFuncName = "fnZipReturn${pageName}";
let popupWidth = 900;
let popupHeight = 700;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/searchAddr.html"+"?callbackFuncName="+callbackFuncName)
,"searchAddr"
,'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
// 우편번호 검색 결과
fnZipReturn${pageName} = (obj) => {
$("#sttrAddr--${pageName}").val(obj.ADDR); // 주소
$("#sttrZip--${pageName}").val(obj.ZIP); // 우편번호
$("#sttrDaddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소
} }
// 저장 // 저장
@ -456,11 +478,7 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기 설정 ${pageName}Control.setData([${opnnSbmsnInfo}]); // Dataset 셋팅 - 단건일 경우 setData
initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData
${pageName}Control.setData([${opnnSbmsnInfo}]);
}); });
</script> </script>

Loading…
Cancel
Save