단속 자료 삭제 수정.

main
jjh 1 year ago
parent 8f2c90065e
commit 14f2377c99

@ -56,6 +56,10 @@ public interface CrdnUpdtMapper extends AbstractMapper {
*/ */
int deleteCrdn(Map<String, Object> map); int deleteCrdn(Map<String, Object> map);
/** .
* @param map
* @return
*/
int deleteCrdnAdi(Map<String, Object> map);
} }

@ -49,4 +49,10 @@ public interface CrdnService {
*/ */
boolean updateTagInfo(Crdn crdn); boolean updateTagInfo(Crdn crdn);
/** .
* @param crdn
* @return
*/
public String removeCrackdown(Crdn crdn);
} }

@ -18,12 +18,14 @@ import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
import cokr.xit.fims.crdn.dao.CrdnInstMapper; import cokr.xit.fims.crdn.dao.CrdnInstMapper;
import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; import cokr.xit.fims.crdn.dao.CrdnUpdtMapper;
import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.service.bean.Excl01Bean; import cokr.xit.fims.excl.service.bean.Excl01Bean;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.UserInfo;
import cokr.xit.foundation.data.DataObject;
/** Bean /** Bean
* @author leebj * @author leebj
@ -46,13 +48,15 @@ public class CrdnBean extends AbstractComponent {
@Resource(name = "fileBean") @Resource(name = "fileBean")
private FileBean fileBean; private FileBean fileBean;
@Resource(name = "crdnInfoMapper")
private CrdnInfoMapper crdnInfoMapper;
@Resource(name = "crdnInstMapper") @Resource(name = "crdnInstMapper")
private CrdnInstMapper crdnInstMapper; private CrdnInstMapper crdnInstMapper;
@Resource(name = "crdnUpdtMapper") @Resource(name = "crdnUpdtMapper")
private CrdnUpdtMapper crdnUpdtMapper; private CrdnUpdtMapper crdnUpdtMapper;
public boolean create(Map<String, Object> nonQueryRequest, Crdn crdn, List<FileInfo> fileInfoList) { public boolean create(Map<String, Object> nonQueryRequest, Crdn crdn, List<FileInfo> fileInfoList) {
if(fileInfoList != null && !fileInfoList.isEmpty()) { if(fileInfoList != null && !fileInfoList.isEmpty()) {
crdn.setAtchFileCnt(fileInfoList.size()); crdn.setAtchFileCnt(fileInfoList.size());
@ -212,5 +216,59 @@ public class CrdnBean extends AbstractComponent {
return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false; return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false;
} }
/** .
* @param crdnIDs
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeCrackdown(Crdn crdn) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = ""; // 처리 결과 메시지
int effected = 0;
// 단속 ID로 단속, 부과제외 정보 조회
DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd("99");
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다.");
}
Map<String, Object> paramMap = new HashMap<String, Object>();
List<String> crdnIdList = Arrays.asList(crdn.getCrdnId());
paramMap.put("crdnIDs", crdnIdList);
paramMap.put("removedBy", UserInfo.current().getId());
// 단속(TB_CRDN) 대장을 삭제 한다.
effected = crdnUpdtMapper.deleteCrdn(paramMap);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 대장 삭제에 실패하였습니다.");
}
// 단속(TB_CRDN) 대장을 삭제 한다.
effected = crdnUpdtMapper.deleteCrdnAdi(paramMap);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
} }

@ -212,4 +212,9 @@ public class CrdnServiceBean extends AbstractServiceBean implements CrdnService
return crdnUpdtMapper.updateTagInfo(crdn) == 1 ? true : false; return crdnUpdtMapper.updateTagInfo(crdn) == 1 ? true : false;
} }
@Override
public String removeCrackdown(Crdn crdn) {
return crdnBean.removeCrackdown(crdn);
}
} }

@ -5,10 +5,12 @@ import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.service.CrdnService; import cokr.xit.fims.crdn.service.CrdnService;
import cokr.xit.fims.crdn.service.CrdnStngService; import cokr.xit.fims.crdn.service.CrdnStngService;
@ -62,4 +64,28 @@ public class Crdn06Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query),""); return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query),"");
} }
/** ID .
* @param crdnID ID
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "단속 대장 제거", value = "/010/remove.do")
public ModelAndView removeCrackdown(Crdn crdn) {
boolean saved = false;
String retMessage = crdnService.removeCrackdown(crdn);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
} }

@ -1,7 +1,6 @@
package cokr.xit.fims.sprt.service.bean; package cokr.xit.fims.sprt.service.bean;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;

@ -1,7 +1,6 @@
package cokr.xit.fims.sprt.service.bean; package cokr.xit.fims.sprt.service.bean;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;

@ -1,13 +1,9 @@
package cokr.xit.fims.sprt.web; package cokr.xit.fims.sprt.web;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;

@ -25,9 +25,9 @@
, CRDN_STDG_NM = #{crdnStdgNm} <!-- 단속 법정동 명 --> , CRDN_STDG_NM = #{crdnStdgNm} <!-- 단속 법정동 명 -->
, CRDN_ROAD_NM = #{crdnRoadNm} <!-- 단속 도로 명 --> , CRDN_ROAD_NM = #{crdnRoadNm} <!-- 단속 도로 명 -->
, CRDN_PLC = #{crdnPlc} <!-- 단속 장소 --> , CRDN_PLC = #{crdnPlc} <!-- 단속 장소 -->
, VLTN_ID = (SELECT A.VLTN_ID , VLTN_ID = (SELECT A.VLTN_ID
FROM TB_VLTN_INFO A FROM TB_VLTN_INFO A
WHERE A.SGG_CD = #{sggCd} WHERE A.SGG_CD = #{sggCd}
AND A.TASK_SE_CD = #{taskSeCd} AND A.TASK_SE_CD = #{taskSeCd}
AND A.VLTN_CD = #{vltnCd}) <!-- 위반 ID --> AND A.VLTN_CD = #{vltnCd}) <!-- 위반 ID -->
, GPS_X = #{gpsX} <!-- GPS X --> , GPS_X = #{gpsX} <!-- GPS X -->
@ -112,15 +112,26 @@
WHERE CRDN_ID = #{crdnId} /* 단속 ID */ WHERE CRDN_ID = #{crdnId} /* 단속 ID */
</update> </update>
<update id="deleteCrdn" parameterType="map"> <update id="deleteCrdn" parameterType="map">/* 단속 자료 삭제(crdnUpdtMapper.deleteCrdn) */
/* 단속자료 삭제(crdnUpdtMapper.deleteCrdn) */ UPDATE TB_CRDN
UPDATE TB_CRDN SET DEL_YN = 'Y'
SET DEL_YN = 'Y' , DEL_DT = <include refid="utility.now" /> /* 삭제일시 */
, DEL_DT = <include refid="utility.now" /> /* 삭제일시 */ , DLTR = #{removedBy} /* 삭제자 */
, DLTR = #{removedBy} /* 삭제자 */ , DEL_RSN = #{delRsn} /* 삭제 사유 */
WHERE CRDN_ID IN ( WHERE CRDN_ID IN (
<foreach collection="crdnIDs" item="crdnId" separator=",">#{crdnId}</foreach> <foreach collection="crdnIDs" item="crdnId" separator=",">#{crdnId}</foreach>
) )
</update> </update>
<update id="deleteCrdnAdi" parameterType="map">/* 단속 부가 자료 삭제(crdnUpdtMapper.deleteCrdn) */
UPDATE TB_CRDN_ADI
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> /* 삭제일시 */
, DLTR = #{removedBy} /* 삭제자 */
, DEL_RSN = #{delRsn} /* 삭제 사유 */
WHERE CRDN_ID IN (
<foreach collection="crdnIDs" item="crdnId" separator=",">#{crdnId}</foreach>
)
</update>
</mapper> </mapper>

@ -63,28 +63,31 @@
<select id="selectCrdnReRegList" parameterType="map" resultType="dataobject">/* 단속 재등록 목록 조회(excl03Mapper.selectCrdnReRegList) */ <select id="selectCrdnReRegList" parameterType="map" resultType="dataobject">/* 단속 재등록 목록 조회(excl03Mapper.selectCrdnReRegList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
<include refid="select" /> <include refid="select" />
WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */ <where>
AND CRR.CRDN_REG_SE_CD = '03' /* 단속 등록 구분 코드 - FIM026 */ <if test="schReRegYmdFrom != null">
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<if test="delYn != null">
AND CRR.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
<if test="schReRegYmdFrom != null">
AND CRR.RE_REG_YMD <![CDATA[ >= ]]> #{schReRegYmdFrom} /* 재등록 일자 시작 */ AND CRR.RE_REG_YMD <![CDATA[ >= ]]> #{schReRegYmdFrom} /* 재등록 일자 시작 */
</if> </if>
<if test="schReRegYmdTo != null"> <if test="schReRegYmdTo != null">
AND CRR.RE_REG_YMD <![CDATA[ <= ]]> #{schReRegYmdTo} /* 재등록 일자 종료 */ AND CRR.RE_REG_YMD <![CDATA[ <= ]]> #{schReRegYmdTo} /* 재등록 일자 종료 */
</if> </if>
<if test="schCrdnYmdFrom != null"> <if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */ AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
</if> </if>
<if test="schCrdnYmdTo != null"> <if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */ AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if> </if>
<if test = "schVhrno != null"> <if test = "schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */ AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if>
<if test="delYn != null">
AND CRR.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.DEL_YN = 'N' /* 삭제 여부 */
AND CRR.CRDN_REG_SE_CD = '03' /* 단속 등록 구분 코드 - FIM026 */
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if> </if>
<if test="by != null and by != '' and term != null"> <if test="by != null and by != '' and term != null">
<choose> <choose>

@ -102,68 +102,71 @@
<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="select" />
WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */ <where>
<if test="taskSeCd != null"> <if test="schLevyExclYmdFrom != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<if test="delYn != null">
AND LE.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
<if test="schLevyExclYmdFrom != null">
AND LE.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */ AND LE.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */
</if> </if>
<if test="schLevyExclYmdTo != null"> <if test="schLevyExclYmdTo != null">
AND LE.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schLevyExclYmdTo} /* 부과제외 일자 종료 */ AND LE.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schLevyExclYmdTo} /* 부과제외 일자 종료 */
</if> </if>
<if test="schLevyExclSeCd != null"> <if test="schLevyExclSeCd != null">
AND LE.LEVY_EXCL_SE_CD = #{schLevyExclSeCd} /* 부과 제외 구분 코드 */ AND LE.LEVY_EXCL_SE_CD = #{schLevyExclSeCd} /* 부과 제외 구분 코드 */
</if> </if>
<if test="schCrdnYmdFrom != null"> <if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */ AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
</if> </if>
<if test="schCrdnYmdTo != null"> <if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */ AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if> </if>
<if test="schVhrno != null"> <if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */ AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if> </if>
<if test="schRtpyrNm != null"> <if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */ AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
</if> </if>
<choose> <choose>
<when test="schRegDateOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */ AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */ AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schRegDateOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */ AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */ AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <choose>
<when test="schDetailUserOpt == 'rgtr'"> <when test="schDetailUserOpt == 'rgtr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND LE.RGTR = #{schDetailUserCd} /* 등록자 코드 */ AND LE.RGTR = #{schDetailUserCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailUserOpt == 'mdfr'"> <when test="schDetailUserOpt == 'mdfr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND LE.MDFR = #{schDetailUserCd} /* 수정자 코드 */ AND LE.MDFR = #{schDetailUserCd} /* 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<if test="delYn != null">
AND LE.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.DEL_YN = #{delYn} /* 삭제 여부 */
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<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'">

@ -133,74 +133,77 @@
<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="select" />
WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */ <where>
<if test="taskSeCd != null"> <if test="schRcptYmdFrom != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<if test="delYn != null">
AND OS.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
<if test="schRcptYmdFrom != null">
AND OS.RCPT_YMD <![CDATA[ >= ]]> #{schRcptYmdFrom} /* 접수 일자 시작 */ AND OS.RCPT_YMD <![CDATA[ >= ]]> #{schRcptYmdFrom} /* 접수 일자 시작 */
</if> </if>
<if test="schRcptYmdTo != null"> <if test="schRcptYmdTo != null">
AND OS.RCPT_YMD <![CDATA[ <= ]]> #{schRcptYmdTo} /* 접수 일자 종료 */ AND OS.RCPT_YMD <![CDATA[ <= ]]> #{schRcptYmdTo} /* 접수 일자 종료 */
</if> </if>
<if test="schAnsYmdFrom != null"> <if test="schAnsYmdFrom != null">
AND OS.ANS_YMD <![CDATA[ >= ]]> #{schAnsYmdFrom} /* 답변 일자 시작 */ AND OS.ANS_YMD <![CDATA[ >= ]]> #{schAnsYmdFrom} /* 답변 일자 시작 */
</if> </if>
<if test="schAnsYmdTo != null"> <if test="schAnsYmdTo != null">
AND OS.ANS_YMD <![CDATA[ <= ]]> #{schAnsYmdTo} /* 답변 일자 종료 */ AND OS.ANS_YMD <![CDATA[ <= ]]> #{schAnsYmdTo} /* 답변 일자 종료 */
</if> </if>
<if test="schSttrNm != null"> <if test="schSttrNm != null">
AND OS.STTR_NM = #{schSttrNm} /* 진술자 명 */ AND OS.STTR_NM = #{schSttrNm} /* 진술자 명 */
</if> </if>
<if test="schOpnnSbmsnSttsCd != null"> <if test="schOpnnSbmsnSttsCd != null">
AND OS.OPNN_SBMSN_STTS_CD = #{schOpnnSbmsnSttsCd} /* 의견 제출 상태 코드 */ AND OS.OPNN_SBMSN_STTS_CD = #{schOpnnSbmsnSttsCd} /* 의견 제출 상태 코드 */
</if> </if>
<if test="schVhrno != null"> <if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */ AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if> </if>
<if test="schCrdnYmdFrom != null"> <if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */ AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
</if> </if>
<if test="schCrdnYmdTo != null"> <if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */ AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if> </if>
<choose> <choose>
<when test="schRegDateOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(OS.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */ AND SUBSTR(OS.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(OS.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */ AND SUBSTR(OS.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schRegDateOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */ AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */ AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <choose>
<when test="schDetailUserOpt == 'rgtr'"> <when test="schDetailUserOpt == 'rgtr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND OS.RGTR = #{schDetailUserCd} /* 등록자 코드 */ AND OS.RGTR = #{schDetailUserCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailUserOpt == 'mdfr'"> <when test="schDetailUserOpt == 'mdfr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND OS.MDFR = #{schDetailUserCd} /* 수정자 코드 */ AND OS.MDFR = #{schDetailUserCd} /* 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<if test="delYn != null">
AND OS.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.DEL_YN = #{delYn} /* 삭제 여부 */
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<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'">

@ -26,12 +26,12 @@
<button type="button" class="btn btn-primary" id="btnUpdateCrdn--${pageName}" title="단속정보 수정" onclick="fnUpdateCrdn${pageName}();"> <button type="button" class="btn btn-primary" id="btnUpdateCrdn--${pageName}" title="단속정보 수정" onclick="fnUpdateCrdn${pageName}();">
단속 정보 수정 단속 정보 수정
</button> </button>
<button type="button" class="btn btn-primary" id="btnRemoveCrdn--${pageName}" title="단속 정보 삭제" onclick="fnRemoveCrdn${pageName}();">
단속 정보 삭제
</button>
<button type="button" class="btn btn-primary" id="btnCreateCrdnReReg--${pageName}" title="단속 재등록" onclick="fnCreateCrdnReReg${pageName}();"> <button type="button" class="btn btn-primary" id="btnCreateCrdnReReg--${pageName}" title="단속 재등록" onclick="fnCreateCrdnReReg${pageName}();">
단속 재등록 단속 재등록
</button> </button>
<button type="button" class="btn btn-primary" id="btnRemoveCrdn--${pageName}" title="단속 정보 삭제" onclick="fnRemoveCrdn${pageName}();">
자료 삭제
</button>
<button type="button" class="btn btn-primary" id="btnPrintNotice--${pageName}" title="고지서 출력" onclick="fnPrintNotice${pageName}();"> <button type="button" class="btn btn-primary" id="btnPrintNotice--${pageName}" title="고지서 출력" onclick="fnPrintNotice${pageName}();">
고지서 출력 고지서 출력
</button> </button>
@ -306,7 +306,7 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/sprt/sprt02"; var ${pageName}PrefixUrl = "/crdn/crdn06";
// FormFields // FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}"); var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
// 단속 사진 // 단속 사진
@ -338,10 +338,63 @@
} }
}); });
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => { ${pageName}Control.onCurrentChange = item => {
${pageName}Fields.set(item); // Dataset 셋팅 ${pageName}Fields.set(item); // Dataset 셋팅
} }
// 단속 Dialog
${pageName}Control.getInfo = (params) => {
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
return;
}
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
}
});
}
// 삭제 callback
${pageName}Control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveCrdn--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
if (resp.saved) {
dialog.close(${pageNameMain}Control.prefix + "Dialog");
}
}
// 삭제
${pageName}Control.remove = (params) => {
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do")
, data : params || {}
, success : resp => ${pageName}Control.onRemove(resp) // 삭제 callback
});
}
/************************************************************************** /**************************************************************************
* function 이미지 관련 * function 이미지 관련
**************************************************************************/ **************************************************************************/
@ -562,22 +615,6 @@
}); });
} }
// 단속 수정
updateCrdn${pageName} = (params) => {
if (!params) return;
// ajax.post({
// url : wctx.url("/" + params.taskSeCd + "/excl/excl03/010/create.do")
// , data : params || {}
// , success : resp => {
// if (resp.saved) {
// dialog.alert("저장됐습니다.");
// dialog.close(${pageName}Control.prefix + "Dialog");
// }
// }
// });
}
// 단속 재등록 // 단속 재등록
createCrdnReReg${pageName} = (params) => { createCrdnReReg${pageName} = (params) => {
if (!params) return; if (!params) return;
@ -594,6 +631,11 @@
}); });
} }
// 자료 재조회
refreshDataInfo${pageName} = () => {
}
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
@ -745,7 +787,33 @@
, taskSeCd : taskSeCd , taskSeCd : taskSeCd
}; };
updateCrdn${pageName}(params); ${pageName}Control.getInfo(params);
}
// 자료 삭제
fnRemoveCrdn${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
let sggCd = ${pageName}Control.dataset.getValue("SGG_CD");
let taskSeCd = ${pageName}Control.dataset.getValue("TASK_SE_CD");
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
let params = {
callPurpose : "remove"
, crdnId : crdnId
, sggCd : sggCd
, taskSeCd : taskSeCd
};
dialog.alert({
content : "선택한 " + ${pageName}Control.prefixName + " 을(를) 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove(params);
}
});
} }
// 단속 재등록 // 단속 재등록
@ -775,11 +843,6 @@
}); });
} }
// 자료 삭제
fnRemoveCrdn${pageName} = () => {
console.log("자료 삭제");
}
// 고지서 출력 // 고지서 출력
fnPrintNotice${pageName} = () => { fnPrintNotice${pageName} = () => {
console.log("고지서 출력"); console.log("고지서 출력");

Loading…
Cancel
Save