개별총정보 수정.

main
jjh 1 year ago
parent 89a98dea31
commit de9a28407d

@ -20,12 +20,10 @@ public class Excl01Query extends QueryRequest {
private String sggCd; // 시군구 코드
private String taskSeCd; // 업무 구분 코드
private String delYn; // 삭제 여부
// ID
private String[] levyExclIDs; // 부과 제외 ID
private String levyExclId; // 부과 제외 ID
private String crdnId; // 단속 ID
// 공통 조건
private String schDateOpt; // 검색 일자 구분
private String schDateFrom; // 검색 일자 시작
@ -39,7 +37,6 @@ public class Excl01Query extends QueryRequest {
private String schDetailUserOpt; // 상세 검색 사용자 구분
private String schDetailUserNm; // 상세 검색 사용자 명
private String schDetailUserCd; // 상세 검색 사용자 코드
// 검색 조건
private String schLevyExclYmdFrom; // 부과 제외 일자 시작
private String schLevyExclYmdTo; // 부과 제외 일자 종료
@ -48,7 +45,6 @@ public class Excl01Query extends QueryRequest {
private String schRtpyrNm; // 납부자(TB_PAYER) - 납부자 명
private String schCrdnYmdFrom; // 단속 일자 시작
private String schCrdnYmdTo; // 단속 일자 종료
// 동적 검색 조건
private String mainOption;
private String subOption;
@ -57,11 +53,11 @@ public class Excl01Query extends QueryRequest {
private String levyExclSeNm; // 부과 제외 구분 코드
private String vhrno; // 단속(TB_CRDN) - 차량번호
private String rtpyrNm; // 납부자(TB_PAYER) - 납부자 명
// ETC
private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드
private String delRsn; // 삭제 사유
private String sndngRcvmtCd; // 발송 수납 코드
private String callPurpose; // 호출용도
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -416,5 +412,15 @@ public class Excl01Query extends QueryRequest {
return self();
}
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends Excl01Query> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -20,12 +20,10 @@ public class Excl02Query extends QueryRequest {
private String sggCd; // 시군구 코드
private String taskSeCd; // 업무 구분 코드
private String delYn; // 삭제 여부
// ID
private String[] opnnIDs; // 의견 제출 ID
private String opnnId; // 의견 제출 ID
private String crdnId; // 단속 ID
// 공통 조건
private String schDateOpt; // 검색 일자 구분
private String schDateFrom; // 검색 일자 시작
@ -39,7 +37,6 @@ public class Excl02Query extends QueryRequest {
private String schDetailUserOpt; // 상세 검색 사용자 구분
private String schDetailUserNm; // 상세 검색 사용자 명
private String schDetailUserCd; // 상세 검색 사용자 코드
// 검색 조건
private String schRcptYmdFrom; // 의견제출 접수 일자 시작
private String schRcptYmdTo; // 의견제출 접수 일자 종료
@ -51,13 +48,12 @@ public class Excl02Query extends QueryRequest {
private String schRtpyrNm; // 납부자 명 - 납부자(TB_PAYER)
private String schCrdnYmdFrom; // 단속 일자 시작 - 단속(TB_CRDN)
private String schCrdnYmdTo; // 단속 일자 종료 - 단속(TB_CRDN)
// 동적 검색 조건
private String mainOption;
private String subOption;
// ETC
private String delRsn; // 삭제 사유
private String callPurpose; // 호출용도
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -371,6 +367,16 @@ public class Excl02Query extends QueryRequest {
return self();
}
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends Excl02Query> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -20,12 +20,10 @@ public class Excl03Query extends QueryRequest {
private String sggCd; // 시군구 코드
private String taskSeCd; // 업무 구분 코드
private String delYn; // 삭제 여부
// ID
private String[] reRegIDs; // 재등록 ID
private String reRegId; // 재등록 ID
private String crdnId; // 단속 ID
// 공통 조건
private String schDateOpt; // 검색 일자 구분
private String schDateFrom; // 검색 일자 시작
@ -33,20 +31,18 @@ public class Excl03Query extends QueryRequest {
private String schDetailUserOpt; // 상세 검색 사용자 구분
private String schDetailUserNm; // 상세 검색 사용자 명
private String schDetailUserCd; // 상세 검색 사용자 코드
// 검색 조건
private String schReRegYmdFrom; // 재등록 일자 시작
private String schReRegYmdTo; // 재등록 일자 종료
private String schVhrno; // 차량번호 - 단속(TB_CRDN)
private String schCrdnYmdFrom; // 단속 일자 시작 - 단속(TB_CRDN)
private String schCrdnYmdTo; // 단속 일자 종료 - 단속(TB_CRDN)
// 동적 검색 조건
private String mainOption;
private String subOption;
// ETC
private String delRsn; // 삭제 사유
private String callPurpose; // 호출용도
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -250,6 +246,16 @@ public class Excl03Query extends QueryRequest {
return self();
}
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends Excl03Query> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -53,9 +53,15 @@ public class Excl02Bean extends AbstractComponent {
*/
public DataObject getOpnnSbmsnInfo(Excl02Query req) {
if (req.getOpnnId() != null) {
return excl02Mapper.selectOpnnSbmsnInfo(req.getOpnnId()); // 수정(의견제출 조회)
return excl02Mapper.selectOpnnSbmsnInfo(req.getOpnnId()); // 의견ID로 의견제출 조회
} else {
DataObject dataCrdn = excl02Mapper.selectCrdn(req); // 등록(단속 조회)
DataObject dataCrdn = excl02Mapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회
// 등록 호출시..
if (req.getCallPurpose() != null && req.getCallPurpose().equals("create")) { // 의견제출 등록시 기본값 셋팅
dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY"));
dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO"));
}
return dataCrdn;
}

@ -1,4 +1,4 @@
package cokr.xit.fims.sprt.service;
package cokr.xit.fims.sprt;
import cokr.xit.foundation.component.QueryRequest;
@ -6,8 +6,13 @@ public class SprtQuery extends QueryRequest {
private static final long serialVersionUID = 1L;
// ID
private String crdnId;
private String opnnId;
//
private String delYn;
// ETC
private String delRsn; // 삭제 사유
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
@ -19,6 +24,16 @@ public class SprtQuery extends QueryRequest {
return self();
}
public String getOpnnId() {
return ifEmpty(opnnId, () -> null);
}
public <T extends SprtQuery> T setOpnnId(String opnnId) {
this.opnnId = opnnId;
return self();
}
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
@ -29,4 +44,16 @@ public class SprtQuery extends QueryRequest {
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
public String getDelRsn() {
return ifEmpty(delRsn, () -> null);
}
public <T extends SprtQuery> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -4,7 +4,7 @@ import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.sprt.service.SprtQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;

@ -4,7 +4,7 @@ import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.sprt.service.SprtQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;

@ -36,7 +36,8 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
@Override
public DataObject getOpnnSbmsnInfo(String crdnId) {
return excl02Bean.getOpnnSbmsnInfo(new Excl02Query().setCrdnId(crdnId));
return excl02Bean.getOpnnSbmsnInfo(new Excl02Query().setCallPurpose("select")
.setCrdnId(crdnId));
}
}

@ -24,7 +24,6 @@ public class Sprt02Controller extends ApplicationController {
private Sprt02Service sprt02Service;
/** (sprt/sprt02/010-main) .
* {@link #getOpnnSbmsnList(ExclQuery01) } .
* @return /sprt/sprt02/010-main
*/
public ModelAndView indivTotalInfoMain(String crdnId) {

@ -172,9 +172,6 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnCreate--${pageName}" title="등록" onclick="fnBtnCreate${pageName}();">
등록
</button>
<button type="button" class="btn btn-primary" id="btnUpdate--${pageName}" title="수정" onclick="fnBtnUpdate${pageName}();">
수정
</button>
@ -518,16 +515,6 @@
}
// 등록 - 테스트
function fnBtnCreate${pageName}() {
let params = {
crdnId : "00004148020220007304"
// crdnId : "20234148020230000071"
};
${pageName}Control.getInfo(params);
}
// 수정
function fnBtnUpdate${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
@ -538,7 +525,8 @@
}
let params = {
opnnId : opnnId
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getInfo(params);

@ -4,10 +4,16 @@
<!-- Page Body -->
<div class="content-wrapper">
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
<div class="col-xl-9 mx-1">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- <div class="card"> -->
<div class="card" style="max-width:1100px;" title="단속 정보">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<!-- 단속 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">단속 정보</label>
@ -89,31 +95,34 @@
<label for="cvlcptAplcntNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 신청인</label>
<input type="text" class="form-control w-40" id="cvlcptAplcntNm--${pageName}" name="cvlcptAplcntNm" data-map="CVLCPT_APLCNT_NM" readonly />
</div>
<!-- -->
<!-- 민원 접수 일자 -->
<div class="col-md-4">
<label for="cvlcptRcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 접수일</label>
<input type="text" class="form-control w-45" id="cvlcptRcptYmd--${pageName}" name="cvlcptRcptYmd" data-map="CVLCPT_RCPT_YMD" readonly />
</div>
<!-- 담당자 -->
<div class="col-md-4">
<label for="cvlcptPrcsPicNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">담당자</label>
<input type="text" class="form-control w-40" id="cvlcptPrcsPicNm--${pageName}" name="cvlcptPrcsPicNm" data-map="CVLCPT_PRCS_PIC_NM" readonly />
</div>
<!-- 민원 신청 내용 -->
<!-- <div class="col-md-12"> -->
<%-- <label for="cvlcptAplyCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end align-top">민원 신청 내용</label> --%>
<%-- <textarea type="text" class="form-control w-87" id="cvlcptAplyCn--${pageName}" name="cvlcptAplyCn" data-map="CVLCPT_APLY_CN" cols="100%" rows="3" readonly> --%>
<!-- </textarea> -->
<!-- </div> -->
<!-- 접수번호 -->
<div class="col-md-4">
<label for="cvlcptRcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 접수번호</label>
<input type="text" class="form-control w-45" id="cvlcptRcptNo--${pageName}" name="cvlcptRcptNo" data-map="CVLCPT_RCPT_NO" readonly />
<label for="cvlcptAplyCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end align-top">민원 신청 내용</label>
<div class="btn-group">
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
민원신청 내용보기
</button>
<div class="dropdown-menu p-4 text-muted" style="max-width: 1000px;">
<textarea type="text" class="form-control" id="cvlcptAplyCn--${pageName}" name="cvlcptAplyCn" data-map="CVLCPT_APLY_CN" cols="100%" rows="7" readonly>
</textarea>
</div>
</div>
<!-- 접수일 -->
</div>
<!-- 민원 접수 번호 -->
<div class="col-md-4">
<label for="cvlcptRcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 접수일</label>
<input type="text" class="form-control w-45" id="cvlcptRcptYmd--${pageName}" name="cvlcptRcptYmd" data-map="CVLCPT_RCPT_YMD" readonly />
<label for="cvlcptRcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 접수번호</label>
<input type="text" class="form-control w-45" id="cvlcptRcptNo--${pageName}" name="cvlcptRcptNo" data-map="CVLCPT_RCPT_NO" readonly />
</div>
<!-- 목록번호 -->
<!-- 민원 목록 번호 -->
<div class="col-md-4">
<label for="cvlcptListNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">민원 목록번호</label>
<input type="text" class="form-control w-40" id="cvlcptListNo--${pageName}" name="cvlcptListNo" data-map="CVLCPT_LIST_NO" readonly />
@ -181,11 +190,9 @@
</div>
</div>
</div> <!-- <div class="card"> -->
</p>
<!-- <div class="card"> -->
<div class="card" style="max-width:1100px;" title="납부자 정보">
<!-- 단속 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">납부자 정보</label>
@ -245,9 +252,11 @@
</div>
</div> <!-- <div class="card"> -->
</form> <!-- /입력 영역 -->
</div>
<!-- 이미지 -->
<div class="card" style="width:400px;">
<!-- 단속 이미지 -->
<div class="col-xl-3 mx-1">
<div class="card">
<form id="frmFile--${pageName}" method="post" enctype="multipart/form-data">
<input type="file" id="newFileList--${pageName}" name="newFileList" multiple accept="image/*" hidden />
</form>
@ -269,6 +278,7 @@
<div id="display--${pageName}" style="overflow-y: scroll;height: 600px;border-style: solid;">
</div>
</div>
</div> <!-- 이미지 <div class="card"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-wrapper"> -->

@ -10,9 +10,10 @@
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<div class="d-flex flex-row justify-content-evenly">
<div class="col-xl-9 mx-0">
<!-- 화면 왼쪽 -->
<div class="col-xl-9 mx-1">
<!-- 의견제출 정보 -->
<div class="card" style="max-width:1100px;" title="의견제출 정보">
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">의견제출 정보</label>
@ -117,12 +118,13 @@
</table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card" style="max-width:1100px;" title="의견제출 정보"> -->
</div> <!-- <div class="col-xl-9 mx-0"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-3 mx-0">
<!-- 의견제출 심의 정보 -->
<div class="card" title="심의 정보">
<!-- 심의 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">심의 정보</label>
@ -155,7 +157,7 @@
<label for="ansCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 내용</label>
</div>
<div class="col-md-12">
<textarea type="text" class="form-control w-100" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="10" data-maxlengthb="4000">
<textarea type="text" class="form-control w-100" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="14" data-maxlengthb="4000">
</textarea>
</div>
</div>
@ -204,11 +206,12 @@
*
**************************************************************************/
// 의견제출 dialog
${pageName}Control.getOpnnSbmsnInfo = (callMode, params) => {
if (callMode == "create") {
calltitle = "의견제출 등록";
} else if (callMode == "update") {
calltitle = "의견제출 수정";
${pageName}Control.getOpnnSbmsnInfo = (params) => {
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = "의견제출 등록";
} else if (params.callPurpose == "update") {
dialogTitle = "의견제출 수정";
} else {
return;
}
@ -221,10 +224,10 @@
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : "opnnInfoDialog"
, title : calltitle
, title : dialogTitle
, content : resp
, size : "xl"
, onClose : () => { fnRefreshInfo(); } // callback
, onClose : () => { fnDataRefreshInfo(); } // callback
});
}
});
@ -233,7 +236,7 @@
// 삭제 후 재조회
${pageName}Control.onRemoveOpnnSbmsn = (resp) => {
if (resp.saved) {
fnRefreshInfo();
fnDataRefreshInfo();
}
}
// 삭제
@ -246,10 +249,10 @@
}
// 심의 dialog
${pageName}Control.getOpnnSbmsnDlbrtInfo = (opnnId) => {
${pageName}Control.getOpnnSbmsnDlbrtInfo = (params) => {
ajax.get({
url : wctx.url("/excl/excl02/030/info.do")
, data : { opnnId : opnnId }
, data : params
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
@ -264,7 +267,7 @@
}
// 재조회
function fnRefreshInfo() {
function fnDataRefreshInfo() {
let crdnId = $("#crdnId--${pageName}").val();
ajax.get({
@ -296,28 +299,44 @@
**************************************************************************/
// 의견제출 등록
function fnBtnOpnnSbmsnCreate${pageName}() {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (crdnId == undefined || crdnId == "") {
return;
}
let params = {
crdnId : ${pageName}Control.dataset.getValue("CRDN_ID")
callPurpose : "create"
, crdnId : crdnId
};
${pageName}Control.getOpnnSbmsnInfo("create", params);
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 수정
function fnBtnOpnnSbmsnUpdate${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID")
// 의견 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
return;
}
let params = {
opnnId : ${pageName}Control.dataset.getValue("OPNN_ID")
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnInfo("update", params);
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 삭제
function fnBtnOpnnSbmsnRemove${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
// 의견 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
return;
}
@ -339,7 +358,12 @@
return;
}
${pageName}Control.getOpnnSbmsnDlbrtInfo(opnnId);
let params = {
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnDlbrtInfo(params);
}
// 심의의결서 출력

Loading…
Cancel
Save