단속자료검사 화면 수정

main
이범준 1 year ago
parent d51c196684
commit a75ac23ec3

@ -17,7 +17,9 @@ public class CrdnQuery extends QueryRequest {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String grid; private String grid;
private String inquireDataType;
private String crdnId; private String crdnId;
private String[] crdnIDs;
private String taskSeCd; private String taskSeCd;
private String schDateOpt; private String schDateOpt;
private String schDateFrom; private String schDateFrom;
@ -38,6 +40,15 @@ public class CrdnQuery extends QueryRequest {
return self(); return self();
} }
public String getInquireDataType() {
return ifEmpty(inquireDataType, () -> null);
}
public <T extends CrdnQuery> T setInquireDataType(String inquireDataType) {
this.inquireDataType = inquireDataType;
return self();
}
public String getCrdnId() { public String getCrdnId() {
return ifEmpty(crdnId, () -> null); return ifEmpty(crdnId, () -> null);
} }
@ -47,6 +58,15 @@ public class CrdnQuery extends QueryRequest {
return self(); return self();
} }
public String[] getCrdnIDs() {
return ifEmpty(crdnIDs, () -> null);
}
public <T extends CrdnQuery> T setCrdnIDs(String... crdnIDs) {
this.crdnIDs = crdnIDs;
return self();
}
public String getTaskSeCd() { public String getTaskSeCd() {
return ifEmpty(taskSeCd, () -> null); return ifEmpty(taskSeCd, () -> null);
} }

@ -24,21 +24,33 @@ public interface Crdn06Mapper extends AbstractMapper {
*/ */
List<DataObject> selectCrackdownList(CrdnQuery req); List<DataObject> selectCrackdownList(CrdnQuery req);
/** .<br /> /** .<br />
* {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)} * {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req * @param req
* @return * @return
*/ */
List<DataObject> selectTagInformationUndefinedDataList(CrdnQuery req); List<DataObject> selectPhotoInquireDataList(CrdnQuery setOrderBy);
/** .<br /> /** .<br />
* {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)} * {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req * @param req
* @return * @return
*/ */
List<DataObject> selectFineReductionDataList(QueryRequest setOrderBy); List<DataObject> selectSameVehicleMainList(CrdnQuery setOrderBy);
List<DataObject> selectCrackdowns(CrdnQuery req); /** .<br />
* {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return
*/
List<DataObject> selectSameVehicleSubList(CrdnQuery setOrderBy);
/** .<br />
* {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return
*/
List<DataObject> selectTagInformationUndefinedDataList(CrdnQuery req);
/** . /** .
* @param params * @param params
@ -60,4 +72,14 @@ public interface Crdn06Mapper extends AbstractMapper {
return crdn != null && updateTagInformation(params().set("crdn", crdn)) == 1; return crdn != null && updateTagInformation(params().set("crdn", crdn)) == 1;
} }
/** .<br />
* {@link cokr.xit.fims.crdn.service.Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return
*/
List<DataObject> selectFineReductionDataList(QueryRequest setOrderBy);
List<DataObject> selectCrackdowns(CrdnQuery req);
} }

@ -40,10 +40,16 @@ public class Crdn06Bean extends AbstractComponent {
//} //}
switch (ifEmpty(req.getGrid(), () -> "")) { switch (ifEmpty(req.getGrid(), () -> "")) {
case "TagInformationUndefinedData": case "tagInformationUndefinedData":
return crdn06Mapper.selectTagInformationUndefinedDataList(req.setOrderBy("CRDN_ID")); return crdn06Mapper.selectTagInformationUndefinedDataList(req.setOrderBy("CRDN_ID"));
case "FineReductionData": case "fineReductionData":
return crdn06Mapper.selectFineReductionDataList(req.setOrderBy("CRDN_ID")); return crdn06Mapper.selectFineReductionDataList(req.setOrderBy("CRDN_ID"));
case "photo":
return crdn06Mapper.selectPhotoInquireDataList(req.setOrderBy("CRDN_ID"));
case "sameVehicleMain":
return crdn06Mapper.selectSameVehicleMainList(req.setOrderBy("VHRNO"));
case "sameVehicleSub":
return crdn06Mapper.selectSameVehicleSubList(req.setOrderBy("CRDN_ID"));
default: default:
return crdn06Mapper.selectCrackdownList(req.setOrderBy("CRDN_ID")); return crdn06Mapper.selectCrackdownList(req.setOrderBy("CRDN_ID"));
} }
@ -58,7 +64,7 @@ public class Crdn06Bean extends AbstractComponent {
*/ */
public boolean update(Crdn crdn) { public boolean update(Crdn crdn) {
switch (ifEmpty(crdn.getUpdateInfomation(), () -> "")) { switch (ifEmpty(crdn.getUpdateInfomation(), () -> "")) {
case "TagInformationUndefinedData": case "tagInformationUndefinedData":
return crdn06Mapper.updateTagInformation(crdn); return crdn06Mapper.updateTagInformation(crdn);
default: default:
return false; //crdn06Mapper.update(crdn); return false; //crdn06Mapper.update(crdn);

@ -47,6 +47,7 @@ public class Crdn06Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM002", "FIM003", "FIM010", "FIM026","FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM002", "FIM003", "FIM010", "FIM026","FIM054");
mav.addObject("FIM002List", commonCodes.get("FIM002")); mav.addObject("FIM002List", commonCodes.get("FIM002"));
mav.addObject("FIM003List", commonCodes.get("FIM003"));
mav.addObject("FIM010List", commonCodes.get("FIM010")); mav.addObject("FIM010List", commonCodes.get("FIM010"));
mav.addObject("FIM054List", commonCodes.get("FIM054")); mav.addObject("FIM054List", commonCodes.get("FIM054"));
addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026"); addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026");
@ -103,5 +104,49 @@ public class Crdn06Controller extends ApplicationController {
); );
} }
/** .<br />
* {@link Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "crdnList": [ ],
* "crdnStart": ,
* "crdnFetchTotal": ,
* "crdnTotal":
* }</code></pre>
*/
public ModelAndView getInquireDataList(CrdnQuery req) {
switch(req.getInquireDataType()) {
case "photo" -> req.setGrid("photo");
case "sameVehicleMain" -> req.setGrid("sameVehicleMain");
case "sameVehicleSub" -> req.setGrid("sameVehicleSub");
}
setFetchSize(req);
return setCollectionInfo(
new ModelAndView("jsonView"),
crdn06Service.getCrackdownList(req),
"crdn"
);
}
/** .<br />
* {@link Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "crdnList": [ ],
* "crdnStart": ,
* "crdnFetchTotal": ,
* "crdnTotal":
* }</code></pre>
*/
public ModelAndView getFineReductionDataList(CrdnQuery req) {
req.setGrid("fineReductionData");
setFetchSize(req);
return setCollectionInfo(
new ModelAndView("jsonView"),
crdn06Service.getCrackdownList(req),
"crdn"
);
}
} }

@ -38,9 +38,43 @@ public class TaskCrdn06Controller extends Crdn06Controller {
return getCrackdownList(req); return getCrackdownList(req);
} }
@RequestMapping(name="주정차과태료업무 검사자료 목록", value="/020/PVS/list.do")
public ModelAndView getPvsInquireDataList(CrdnQuery req) {
return getInquireDataList(req);
}
@RequestMapping(name="전용차로과태료업무 검사자료 목록", value="/020/BPV/list.do")
public ModelAndView getBpvInquireDataList(CrdnQuery req) {
return getInquireDataList(req);
}
@RequestMapping(name="장애인과태료업무 검사자료 목록", value="/020/DPV/list.do")
public ModelAndView getDpvInquireDataList(CrdnQuery req) {
return getInquireDataList(req);
}
@RequestMapping(name="전기차과태료업무 검사자료 목록", value="/020/ECA/list.do")
public ModelAndView getEcaInquireDataList(CrdnQuery req) {
return getInquireDataList(req);
}
/** .<br />
* {@link Crdn06Service#getCrackdownList(CrdnQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "crdnList": [ ],
* "crdnStart": ,
* "crdnFetchTotal": ,
* "crdnTotal":
* }</code></pre>
*/
@RequestMapping(name="장애인과태료업무 표지정보미확인자료 목록", value="/030/DPV/list.do") @RequestMapping(name="장애인과태료업무 표지정보미확인자료 목록", value="/030/DPV/list.do")
public ModelAndView getTagInformationUndefinedDataList(CrdnQuery req) { public ModelAndView getTagInformationUndefinedDataList(CrdnQuery req) {
return getCrackdownList(req.setGrid("TagInformationUndefinedData")); req.setGrid("tagInformationUndefinedData");
setFetchSize(req);
return setCollectionInfo(
new ModelAndView("jsonView"),
crdn06Service.getCrackdownList(req),
"crdn"
);
} }
/** . /** .
@ -52,7 +86,7 @@ public class TaskCrdn06Controller extends Crdn06Controller {
*/ */
@PostMapping(name = "단속 대장 수정", value = "/030/DPV/update.do") @PostMapping(name = "단속 대장 수정", value = "/030/DPV/update.do")
public ModelAndView update(Crdn crdn) { public ModelAndView update(Crdn crdn) {
crdn.setUpdateInfomation("TagInformationUndefinedData"); crdn.setUpdateInfomation("tagInformationUndefinedData");
boolean saved = crdn06Service.update(crdn); boolean saved = crdn06Service.update(crdn);
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved);
@ -60,18 +94,18 @@ public class TaskCrdn06Controller extends Crdn06Controller {
@RequestMapping(name="주정차과태료업무 과태료 감경 자료 목록", value="/040/PVS/list.do") @RequestMapping(name="주정차과태료업무 과태료 감경 자료 목록", value="/040/PVS/list.do")
public ModelAndView getPvsFineReductionDataList(CrdnQuery req) { public ModelAndView getPvsFineReductionDataList(CrdnQuery req) {
return getCrackdownList(req.setGrid("FineReductionData")); return getFineReductionDataList(req);
} }
@RequestMapping(name="전용차로과태료업무 과태료 감경 자료 목록", value="/040/BPV/list.do") @RequestMapping(name="전용차로과태료업무 과태료 감경 자료 목록", value="/040/BPV/list.do")
public ModelAndView getBpvFineReductionDataList(CrdnQuery req) { public ModelAndView getBpvFineReductionDataList(CrdnQuery req) {
return getCrackdownList(req.setGrid("FineReductionData")); return getFineReductionDataList(req);
} }
@RequestMapping(name="장애인과태료업무 과태료 감경 자료 목록", value="/040/DPV/list.do") @RequestMapping(name="장애인과태료업무 과태료 감경 자료 목록", value="/040/DPV/list.do")
public ModelAndView getDpvFineReductionDataList(CrdnQuery req) { public ModelAndView getDpvFineReductionDataList(CrdnQuery req) {
return getCrackdownList(req.setGrid("FineReductionData")); return getFineReductionDataList(req);
} }
@RequestMapping(name="전기차과태료업무 과태료 감경 자료 목록", value="/040/ECA/list.do") @RequestMapping(name="전기차과태료업무 과태료 감경 자료 목록", value="/040/ECA/list.do")
public ModelAndView getEcaFineReductionDataList(CrdnQuery req) { public ModelAndView getEcaFineReductionDataList(CrdnQuery req) {
return getCrackdownList(req.setGrid("FineReductionData")); return getFineReductionDataList(req);
} }
} }

@ -232,6 +232,82 @@ AND C.${by} LIKE CONCAT('%', #{term}, '%')
<include refid="selectCrackdown"/> <include refid="selectCrackdown"/>
</select> </select>
<select id="selectPhotoInquireDataList" parameterType="map" resultType="dataobject">
/* 단속사진 검사 자료 목록 조회(crdn06Mapper.selectPhotoInquireDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
<!-- 검사결과 -->
<!-- 처리방법 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC
, C.ATCH_FILE_CNT <!-- 사진건수 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
<!-- 원금액 -->
<!-- 감경금액 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
<if test="by != null and by != '' and term != null">
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleMainList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 그룹 목록 조회(crdn06Mapper.selectSameVehicleMainList) */
<include refid="utility.paging-prefix"/>
SELECT GROUP_CONCAT(C.CRDN_ID) AS CRDN_ID_LIST <!-- 단속 ID -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, COUNT(*) AS CRDN_CNT <!-- 단속건수 -->
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.VHRNO != ''
AND C.CRDN_STDG_NM != ''
<if test="by != null and by != '' and term != null">
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
GROUP BY C.VHRNO, C.CRDN_STDG_NM HAVING COUNT(*) <![CDATA[ >= ]]> 2
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleSubList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 자료 목록 조회(crdn06Mapper.selectSameVehicleSubList) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속일시 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
, TI.TEAM_NM <!-- 단속조 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC <!-- 단속장소 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
<!-- 금액 -->
<!-- 성명 -->
<!-- 주민번호 -->
FROM TB_CRDN C
LEFT OUTER JOIN TB_TEAM_INFO TI ON (C.TEAM_ID = TI.TEAM_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_ID IN (<foreach collection="crdnIDs" item="CRDN_ID" separator=",">#{CRDN_ID}</foreach>)
<include refid="utility.orderBy" />
</select>
<select id="selectTagInformationUndefinedDataList" parameterType="map" resultType="dataobject"> <select id="selectTagInformationUndefinedDataList" parameterType="map" resultType="dataobject">
/* 표지정보 미확인 자료 목록 조회(crdn06Mapper.selectTagInformationUndefinedDataList) */ /* 표지정보 미확인 자료 목록 조회(crdn06Mapper.selectTagInformationUndefinedDataList) */
<include refid="utility.paging-prefix"/> <include refid="utility.paging-prefix"/>
@ -250,11 +326,12 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
, C.ATCH_FILE_CNT <!-- 사진건수 --> , C.ATCH_FILE_CNT <!-- 사진건수 -->
, C.CRDN_SN <!-- 단속 일련번호 --> , C.CRDN_SN <!-- 단속 일련번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 --> , C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
FROM TB_CRDN C FROM TB_CRDN C
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CRDN_ID = CC.CRDN_ID) LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CRDN_ID = CC.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (C.TEAM_ID = TI.TEAM_ID) LEFT OUTER JOIN TB_TEAM_INFO TI ON (C.TEAM_ID = TI.TEAM_ID)
WHERE C.DEL_YN = 'N' WHERE C.DEL_YN = 'N'
AND PARKNG_PSBLTY_RSLT_CD = '0' AND C.TASK_SE_CD = 'DPV'
AND C.PARKNG_PSBLTY_RSLT_CD = '0'
<if test="by != null and by != '' and term != null"> <if test="by != null and by != '' and term != null">
<choose> <choose>
<when test="by == 'crdnInptSeCd'"> <when test="by == 'crdnInptSeCd'">
@ -296,7 +373,6 @@ AND FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) LIKE CONCAT('%', #{term}, '%')
</choose> </choose>
</if> </if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if> <if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null"> <if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if> <if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if> <if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
@ -305,6 +381,15 @@ AND FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) LIKE CONCAT('%', #{term}, '%')
<include refid="utility.paging-suffix"/> <include refid="utility.paging-suffix"/>
</select> </select>
<update id="updateTagInformation" parameterType="map">
/* 표지정보확인 수정(crdn06Mapper.updateTagInformation) */
UPDATE TB_CRDN
SET PARKNG_PSBLTY_RSLT_CD = '2'
, MDFCN_DT = <include refid="utility.now" /> /* 수정일시 */
, MDFR = #{currentUser.id} /* 수정자 */
WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */
</update>
<select id="selectFineReductionDataList" parameterType="map" resultType="dataobject"> <select id="selectFineReductionDataList" parameterType="map" resultType="dataobject">
/* 과태료 감경 자료 목록 조회(crdn06Mapper.selectFineReductionDataList) */ /* 과태료 감경 자료 목록 조회(crdn06Mapper.selectFineReductionDataList) */
<include refid="utility.paging-prefix"/> <include refid="utility.paging-prefix"/>
@ -317,10 +402,11 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
, L.SUM_AMT <!-- 잔액 --> , L.SUM_AMT <!-- 잔액 -->
, RD.ETC_CN AS RDUCT_ETC_CN <!-- 감액특기사항 --> , RD.ETC_CN AS RDUCT_ETC_CN <!-- 감액특기사항 -->
, C.CRDN_STTS_CD <!-- 처리상태 --> , C.CRDN_STTS_CD <!-- 처리상태 -->
FROM TB_CRDN C FROM TB_CRDN C
LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID) LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID)
INNER JOIN TB_RDUCT RD ON (C.CRDN_ID = RD.CRDN_ID) INNER JOIN TB_RDUCT RD ON (C.CRDN_ID = RD.CRDN_ID)
WHERE C.DEL_YN = 'N' WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
<if test="by != null and by != '' and term != null"> <if test="by != null and by != '' and term != null">
<choose> <choose>
<when test="by == 'rductYmd'"> <when test="by == 'rductYmd'">
@ -352,7 +438,6 @@ AND FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) LIKE CONCAT('%', #{term}, '%')
</choose> </choose>
</if> </if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if> <if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="schRductYmdFrom != null or schRductYmdTo != null"> <if test="schRductYmdFrom != null or schRductYmdTo != null">
<if test="schRductYmdFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if> <if test="schRductYmdFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if>
<if test="schRductYmdTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if> <if test="schRductYmdTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if>
@ -366,13 +451,6 @@ AND FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) LIKE CONCAT('%', #{term}, '%')
<include refid="selectCrackdown"/> <include refid="selectCrackdown"/>
</select> </select>
<update id="updateTagInformation" parameterType="map">
/* 표지정보확인 수정(crdn06Mapper.updateTagInformation) */
UPDATE TB_CRDN
SET PARKNG_PSBLTY_RSLT_CD = '2'
, MDFCN_DT = <include refid="utility.now" /> /* 수정일시 */
, MDFR = #{currentUser.id} /* 수정자 */
WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */
</update>
</mapper> </mapper>

@ -104,14 +104,14 @@
</form> </form>
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<a href="#" class="btn btn-blue" id="" title="업무처리1">업무 처리1</a> <div class="d-flex flex-row justify-content-between">
<a href="#" class="btn btn-blue" id="" title="업무처리2">업무 처리2</a> <label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<div class="d-flex flex-row justify-content-between"> <a href="#" class="btn btn-blue" id="" title="업무처리1">업무 처리1</a>
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label> <a href="#" class="btn btn-blue" id="" title="업무처리2">업무 처리2</a>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
</span> </span>
</span> </span>
</div> </div>
@ -146,21 +146,21 @@
<tbody id="crdnTbody--${pageName}"></tbody> <tbody id="crdnTbody--${pageName}"></tbody>
<template id="crdnRow--${pageName}"> <template id="crdnRow--${pageName}">
<tr data-key="{CRDN_ID}"> <tr data-key="{CRDN_ID}">
<td {onclick} {ondblclick} class="text-end">{ROW_NUM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ROW_NUM}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_INPT_SE_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_INPT_SE_CD}</td>
<td {onclick} {ondblclick} class="text-center">{VHRNO}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_YMD_TM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td {onclick} {ondblclick} class="text-center">{APLCNT_CRDN_NM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{APLCNT_CRDN_NM}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_PLC}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_PLC}</td>
<td {onclick} {ondblclick} class="text-center">{체납액}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{체납액}</td>
<td {onclick} {ondblclick} class="text-center">{영상매체}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{영상매체}</td>
<td {onclick} {ondblclick} class="text-center">{ATCH_FILE_CNT}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{ATCH_FILE_CNT}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_SN}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_SN}</td>
<td {onclick} {ondblclick} class="text-center">{차량확인}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{차량확인}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_STTS_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STTS_CD}</td>
<td {onclick} {ondblclick} class="text-center">{제외사유}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{제외사유}</td>
<td {onclick} {ondblclick} class="text-center">{제외처리일자}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{제외처리일자}</td>
<td {onclick} {ondblclick} class="text-center">{제외내역}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{제외내역}</td>
</tr> </tr>
</template> </template>
<template id="crdnNotFound--${pageName}"> <template id="crdnNotFound--${pageName}">
@ -229,9 +229,9 @@ $(document).ready(function(){
$P.crdnControl.onDatasetChange = obj => { $P.crdnControl.onDatasetChange = obj => {
var prefix = obj.infoPrefix; $P.renderCrdnList();
$P.renderCrdnList(obj);
var prefix = obj.infoPrefix;
$("#crdnPaging--${pageName}").setPagingInfo({ $("#crdnPaging--${pageName}").setPagingInfo({
list: $P.crdnControl.dataset, list: $P.crdnControl.dataset,
prefix: "crdnPaging--${pageName}", prefix: "crdnPaging--${pageName}",
@ -271,20 +271,25 @@ $(document).ready(function(){
$P.crdnControl.load($P.crdnControl.query.pageNum + 1); $P.crdnControl.load($P.crdnControl.query.pageNum + 1);
} }
$P.renderCrdnList = data => { $P.clickCrdnList = (dataKey) => {
$P.crdnControl.setCurrent(dataKey);
$("#crdnTbody--${pageName}").setCurrentRow(dataKey);
}
var crdnList = $P.crdnControl.dataset; $P.dblclickCrdnList = (dataKey) => {
$P.crdnControl.getInfo(dataKey);
}
var empty = crdnList.empty; $P.renderCrdnList = () => {
var trs = empty ? var crdnList = $P.crdnControl.dataset;
[document.getElementById("crdnNotFound--${pageName}").innerHTML] : var empty = crdnList.empty;
crdnList.inStrings( var notFound = [document.getElementById("crdnNotFound--${pageName}").innerHTML];
document.getElementById("crdnRow--${pageName}").innerHTML, var found = document.getElementById("crdnRow--${pageName}").innerHTML;
(str, dataItem) => str var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, 'onclick="pageObject[\'${pageName}\'].crdnControl.setCurrent(\'' + dataItem.getValue("CRDN_ID") + '\');$(\'#crdnTbody--${pageName}\').setCurrentRow(\'' + dataItem.getValue("CRDN_ID") + '\');"') .replace(/{onclick}/gi, "pageObject['${pageName}'].clickCrdnList('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, 'ondblclick="pageObject[\'${pageName}\'].crdnControl.getInfo(\'' + dataItem.getValue("CRDN_ID") + '\')"') .replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblclickCrdnList('" + dataItem.getValue("CRDN_ID") + "');");
); var trs = empty ? notFound : crdnList.inStrings(found, replacer);
$("#crdnTbody--${pageName}").html(trs.join()); $("#crdnTbody--${pageName}").html(trs.join());
//보안모드 //보안모드

@ -1,3 +1,561 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">단속 자료 검사</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">단속 자료 검사</c:set>
<div class="card">
<div class="wrapper-list">
<div>
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark" id="btnReset--${pageName}" title="초기화">초기화</button>
<a href="#" class="btn btn-blue" id="btnPhotoInquire--${pageName}" title="단속사진 비교">단속사진 비교</a>
<a href="#" class="btn btn-blue" id="btnSameVehicleInquire--${pageName}" title="동일단속차량 검사">동일단속차량 검사</a>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색">검색</button>
</span>
</div>
<form id="frmSearch--${pageName}" name="frmSearch">
<div class="container-search">
<div class="row g-1">
<div class="col-6">
<label class="form-label fw-bold form-search-title">시스템구분</label>
<span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item">
<label>
<input name="taskSeCd" type="radio" value="${item.code}"
class="form-check-input" alt="업무구분"
onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<div class="col-6">
<label class="form-label fw-bold form-search-title">단속일자</label>
<span class="form-search-linebox">
<input type="text" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<div class="col-6">
<label class="form-label fw-bold form-search-title">단속구분</label>
<select id="crdnInptSeCd--${pageName}" name="crdnInptSeCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM003List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<div class="col-6">
<label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" />
</div>
<div class="col-12">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" id="byOutput--${pageName}" class="form-control" readonly value="동적 검색" />
<input type="text" id="term--${pageName}" name="term" class="form-control" />
<span class="flr">
<button type="button" class="btn btn-open-detail"
data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div>
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row">
<div class="col-6">
<label class="form-label fw-bold form-search-title">자료상태</label>
<select id="crdnSttsCd--${pageName}" name="crdnSttsCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM010List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<div class="col-6">
<select id="schDateOpt--${pageName}" name="schDateOpt" class="form-select">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
</div>
</div>
</form>
<div class="photoInquireArea">
<span class="container-page-btn">
<div class="d-flex flex-row justify-content-between">
<label id="photoInquirePaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="photoInquirePaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
<span class="container-window-btn-right">
</span>
</span>
</div>
<div class="card-datatable text-nowrap photoInquireArea">
<div id="photoInquire_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="photoInquire-responsive--${pageName}" class="table-responsive"
style="overflow-x: scroll;height:200px;overflow-y: scroll;">
<table id="photoInquire_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer">
<thead>
<tr>
<th width="80px">단속일시</th>
<th width="80px">차량번호</th>
<th width="80px">단속건수?</th>
<th width="80px">검사결과</th>
<th width="80px">처리방법</th>
<th width="80px">위반동</th>
<th width="80px">위반장소</th>
<th width="80px">사진매수</th>
<th width="80px">처리상태</th>
<th width="80px">원금액</th>
<th width="80px">감경금액</th>
<th width="80px">자료출처</th>
</tr>
</thead>
<tbody id="photoInquireTbody--${pageName}"></tbody>
<template id="photoInquireRow--${pageName}">
<tr data-key="{CRDN_ID}">
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_CNT}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{unknown}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{unknown}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STDG_NM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-start">{CRDN_PLC}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{ATCH_FILE_CNT}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STTS_CD}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{unknown}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{unknown}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_INPT_SE_CD}</td>
</tr>
</template>
<template id="photoInquireNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="12" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<div style="height:200px" class="photoInquireArea">
선택자료
<table style="width: 100%;height: 150px;">
<colgroup>
<col width="25%" />
<col width="25%" />
<col width="25%" />
<col width="25%" />
</colgroup>
<tbody>
<tr>
<td style="background-color: red"></td>
<td style="background-color: orange"></td>
<td style="background-color: green"></td>
<td style="background-color: blue"></td>
</tr>
</tbody>
</table>
</div>
<div style="height:200px" class="photoInquireArea">
비교자료(선택자료의 다음 자료가 보여집니다.)
<table style="width: 100%;height: 150px;">
<colgroup>
<col width="25%" />
<col width="25%" />
<col width="25%" />
<col width="25%" />
</colgroup>
<tbody>
<tr>
<td style="background-color: red"></td>
<td style="background-color: orange"></td>
<td style="background-color: green"></td>
<td style="background-color: blue"></td>
</tr>
</tbody>
</table>
</div>
<div class="sameVehicleInquireArea">
<span class="container-page-btn">
<div class="d-flex flex-row justify-content-between">
<label id="sameVehicleInquireMainPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="sameVehicleInquireMainPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
<span class="container-window-btn-right">
</span>
</span>
</div>
<div class="sameVehicleInquireArea">
<div class="card-datatable text-nowrap" style="display: inline-flex;">
<div id="sameVehicleInquireMain_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="sameVehicleInquireMain-responsive--${pageName}" class="table-responsive"
style="overflow-x: scroll;height:400px;width:310px;overflow-y: scroll;">
<table id="sameVehicleInquireMain_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer">
<thead>
<tr>
<th>차량번호</th>
<th>단속동</th>
<th>단속건수</th>
</tr>
</thead>
<tbody id="sameVehicleInquireMainTbody--${pageName}"></tbody>
<template id="sameVehicleInquireMainRow--${pageName}">
<tr data-key="{CRDN_ID_LIST}">
<td onclick="{onclick}" class="text-center">{VHRNO}</td>
<td onclick="{onclick}" class="text-center">{CRDN_STDG_NM}</td>
<td onclick="{onclick}" class="text-center">{CRDN_CNT}</td>
</tr>
</template>
<template id="sameVehicleInquireMainNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="3" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<div class="card-datatable text-nowrap" style="display: inline-flex;margin-left:10px;">
<div id="sameVehicleInquireSub_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="sameVehicleInquireSub-responsive--${pageName}" class="table-responsive"
style="overflow-x: scroll;height:400px;width:1000px;overflow-y: scroll;">
<table id="sameVehicleInquireSub_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer">
<thead>
<tr>
<th>단속일시</th>
<th>자료출처</th>
<th>단속조</th>
<th>차량번호</th>
<th>단속동</th>
<th>단속장소</th>
<th>처리상태</th>
<th>금액</th>
<th>성명</th>
<th>주민번호(전체)</th>
<th>주민번호(마스크)</th>
</tr>
</thead>
<tbody id="sameVehicleInquireSubTbody--${pageName}"></tbody>
<template id="sameVehicleInquireSubRow--${pageName}">
<tr data-key="{CRDN_ID}">
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_INPT_SE_CD}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{TEAM_NM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STDG_NM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-start">{CRDN_PLC}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STTS_CD}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{unknown}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-start">{성명}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center privacy">{주민번호}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center privacy-mask">{주민번호마스크}</td>
</tr>
</template>
<template id="sameVehicleInquireSubNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="11" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="/WEB-INF/jsp/include/bottom.jsp" />
<div class="content-backdrop fade"></div>
</div>
<script type="module" src="<c:url value='/resources/js/fims/crdn/inquire.js?${ver}'/>"></script>
<script type="module">
import InquireControl from "<c:url value='/resources/js/fims/crdn/inquire.js?${ver}'/>";
/**************************************************************************
* Global Variable
**************************************************************************/
var FIM002 = new CommonCodes(${FIM002});
var FIM003 = new CommonCodes(${FIM003});
var FIM010 = new CommonCodes(${FIM010});
var FIM026 = new CommonCodes(${FIM026});
pageObject["${pageName}"] = {};
$(document).ready(function(){
var $P = pageObject["${pageName}"];
//달력 초기화
initDatepicker("frmSearch--${pageName}");
$P.getParams = () => {
var formFields = new FimsFormFields("#frmSearch--${pageName}");
var data = formFields.get();
data.fetchSize = 30;
return data;
}
//단속사진검사 datasetControl 인스턴스
$P.photoInquireControl = new DatasetControl({
prefix:"photoInquire", prefixName:"종합", infoSize:"xl", urls : { load : "", getInfo : "" },
keymapper:info => info ? info.CRDN_ID : "", dataGetter:obj => obj.crdnList, appendData:true,
formats: {
CRDN_YMD_TM : datetimeFormat,
CRDN_INPT_SE_CD : FIM003,
CRDN_STTS_CD : FIM010
//금액,금액
//검사결과,처리방법
}
});
$P.photoInquireControl.onDatasetChange = obj => {
$P.renderInquireDataList("photoInquire");
var prefix = obj.infoPrefix;
$("#photoInquirePaging--${pageName}").setPagingInfo({
list: $P.photoInquireControl.dataset,
prefix: "photoInquirePaging--${pageName}",
start: obj[prefix+"Start"], totalSize: obj[prefix+"Total"], fetchSize: obj[prefix+"Fetch"],
func: "pageObject['${pageName}'].photoInquireControl.load({index})"
});
};
//동일차량검사 datasetControl 인스턴스
$P.sameVehicleControl = new InquireControl({
prefix:"sameVehicleInquireMain", prefixName:"종합", infoSize:"xl", urls : { load : "", getInfo : "" },
keymapper:info => info ? info.CRDN_ID_LIST : "", dataGetter:obj => obj.crdnList,
formats: { CRDN_CNT : numberFormat }
},
{
prefix:"sameVehicleInquireSub", prefixName:"종합", infoSize:"xl", urls : { load : "", getInfo : "" },
keymapper:info => info ? info.CRDN_ID : "", dataGetter:obj => obj.crdnList,
formats: {
CRDN_YMD_TM : datetimeFormat,
CRDN_INPT_SE_CD : FIM003,
CRDN_STTS_CD : FIM010
}
}
);
$P.sameVehicleControl.main.onDatasetChange = obj => {
$P.renderInquireDataList("sameVehicleInquireMain");
var prefix = obj.infoPrefix;
$("#sameVehicleInquireMainPaging--${pageName}").setPagingInfo({
list: $P.sameVehicleControl.main.dataset,
prefix: "sameVehicleInquireMainPaging--${pageName}",
start: obj[prefix+"Start"], totalSize: obj[prefix+"Total"], fetchSize: obj[prefix+"Fetch"],
func: "pageObject['${pageName}'].sameVehicleControl.main.load({index})"
});
};
$P.sameVehicleControl.sub.onDatasetChange = obj => {
$P.renderInquireDataList("sameVehicleInquireSub");
//총 건수만 표시
};
$P.fnReset = () => {
$('#schCrdnYmdFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-5475).date);
$('#schCrdnYmdTo--${pageName}').datepicker('setDate', new Date());
$P.photoInquireControl.setData([]);
$P.sameVehicleControl.main.setData([]);
$P.sameVehicleControl.sub.setData([]);
};
$P.fnResetAndChangeBiz = taskSeCd => {
$P.fnReset();
$P.photoInquireControl.urls.load = wctx.url("/crdn/crdn06/020/"+ taskSeCd +"/list.do?inquireDataType=photo");
$P.photoInquireControl.urls.getInfo = wctx.url("/sprt/sprt01/020/"+ taskSeCd +"/info.do");
$P.sameVehicleControl.main.urls.load = wctx.url("/crdn/crdn06/020/"+ taskSeCd +"/list.do?inquireDataType=sameVehicleMain");
$P.sameVehicleControl.main.urls.getInfo = "";
$P.sameVehicleControl.sub.urls.load = wctx.url("/crdn/crdn06/020/"+ taskSeCd +"/list.do?inquireDataType=sameVehicleSub");
$P.sameVehicleControl.sub.urls.getInfo = wctx.url("/sprt/sprt01/020/"+ taskSeCd +"/info.do");
}
$P.searchInquireList = () => {
switch ($P.currentDisplay) {
case "photoInquire":
$P.photoInquireControl.query = $P.getParams();
$P.photoInquireControl.load(1);
break;
case "sameVehicleInquire":
$P.sameVehicleControl.main.query = $P.getParams();
$P.sameVehicleControl.main.load(1);
break;
default: break;
}
}
$P.searchDetailInquireDataList = () => {
$P.sameVehicleControl.sub.query = { "crdnIDs" : $P.sameVehicleControl.main.getCurrent()["CRDN_ID_LIST"].split(",") };
$P.sameVehicleControl.sub.query.taskSeCd = $P.sameVehicleControl.main.query.taskSeCd;
$P.sameVehicleControl.sub.load(0);
}
$P.scrollInquireDataList = () => {
switch ($P.currentDisplay) {
case "photoInquire":
$P.photoInquireControl.load($P.photoInquireControl.query.pageNum + 1);
break;
case "sameVehicleInquire":
$P.sameVehicleControl.main.load($P.sameVehicleControl.main.query.pageNum + 1);
break;
default: break;
}
}
$P.clickInquireDataList = (dataKey, gridType) => {
switch (gridType) {
case "photoInquire":
$P.photoInquireControl.setCurrent(dataKey);
$("#photoInquireTbody--${pageName}").setCurrentRow(dataKey);
break;
case "sameVehicleInquireMain":
$P.sameVehicleControl.main.setCurrent(dataKey);
$("#sameVehicleInquireMainTbody--${pageName}").setCurrentRow(dataKey);
$P.searchDetailInquireDataList();
break;
case "sameVehicleInquireSub":
$P.sameVehicleControl.sub.setCurrent(dataKey);
$("#sameVehicleInquireSubTbody--${pageName}").setCurrentRow(dataKey);
break;
}
}
$P.dblclickInquireDataList = (dataKey, gridType) => {
switch (gridType) {
case "photoInquire":
$P.photoInquireControl.getInfo(dataKey);
break;
case "sameVehicleInquireSub":
$P.sameVehicleControl.sub.getInfo(dataKey);
break;
}
}
$P.renderInquireDataList = (renderDataType) => {
switch (renderDataType) {
case "photoInquire":
var dataList = $P.photoInquireControl.dataset;
var empty = dataList.empty;
var notFound = [document.getElementById("photoInquireNotFound--${pageName}").innerHTML]
var found = document.getElementById("photoInquireRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickInquireDataList('" + dataItem.getValue("CRDN_ID") + "','photoInquire');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblclickInquireDataList('" + dataItem.getValue("CRDN_ID") + "','photoInquire');");
var trs = empty ? notFound : dataList.inStrings(found, replacer);
$("#photoInquireTbody--${pageName}").html(trs.join());
break;
case "sameVehicleInquireMain":
var dataList = $P.sameVehicleControl.main.dataset;
var empty = dataList.empty;
var notFound = [document.getElementById("sameVehicleInquireMainNotFound--${pageName}").innerHTML];
var found = document.getElementById("sameVehicleInquireMainRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickInquireDataList('" + dataItem.getValue("CRDN_ID_LIST") + "','sameVehicleInquireMain');");
var trs = empty ? notFound : dataList.inStrings(found, replacer);
$("#sameVehicleInquireMainTbody--${pageName}").html(trs.join());
break;
case "sameVehicleInquireSub":
var dataList = $P.sameVehicleControl.sub.dataset;
var empty = dataList.empty;
var notFound = [document.getElementById("sameVehicleInquireSubNotFound--${pageName}").innerHTML]
var found = document.getElementById("sameVehicleInquireSubRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickInquireDataList('" + dataItem.getValue("CRDN_ID") + "','sameVehicleInquireSub');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblclickInquireDataList('" + dataItem.getValue("CRDN_ID") + "','sameVehicleInquireSub');");
var trs = empty ? notFound : dataList.inStrings(found, replacer);
$("#sameVehicleInquireSubTbody--${pageName}").html(trs.join());
break;
default: break;
}
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
var defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true);
$P.fnResetAndChangeBiz(defaultBizValue);
//스크롤 이벤트 추가(사진검사)
$("#photoInquire-responsive--${pageName}").scroll(function(){
var el = $(this);
if(el.scrollTop() == 0){ return; }
if((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) == el.outerHeight()){
$P.scrollInquireDataList();
}
});
//스크롤 이벤트 추가(동일차량검사)
$("#sameVehicleInquireMain-responsive--${pageName}").scroll(function(){
var el = $(this);
if(el.scrollTop() == 0){ return; }
if((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) == el.outerHeight()){
$P.scrollInquireDataList();
}
});
$('#btnReset--${pageName}').on('click', () => $P.fnReset()); //초기화버튼
$('#btnPhotoInquire--${pageName}').on('click', () => {
$(".photoInquireArea").show();
$(".sameVehicleInquireArea").hide();
$P.currentDisplay = "photoInquire";
});
$('#btnSameVehicleInquire--${pageName}').on('click', () => {
$(".sameVehicleInquireArea").show();
$(".photoInquireArea").hide();
$P.currentDisplay = "sameVehicleInquire";
});
$('#btnSearch--${pageName}').on('click', () => $P.searchInquireList()); //검색버튼
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
$(".photoInquireArea").show();
$(".sameVehicleInquireArea").hide();
$P.currentDisplay = "photoInquire";
});
</script>

@ -39,14 +39,13 @@
</form> </form>
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<a href="#" class="btn btn-blue" id="btnUpdateToConfirmData--${pageName}" title="개별 확인 자료로 수정">개별 확인 자료로 수정</a> <div class="d-flex flex-row justify-content-between">
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<div class="d-flex flex-row justify-content-between"> <a href="#" class="btn btn-blue" id="btnUpdateToConfirmData--${pageName}" title="개별 확인 자료로 수정">개별 확인 자료로 수정</a>
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
</span> </span>
</span> </span>
</div> </div>
@ -77,18 +76,18 @@
</tbody> </tbody>
<template id="crdnRow--${pageName}"> <template id="crdnRow--${pageName}">
<tr data-key="{CRDN_ID}"> <tr data-key="{CRDN_ID}">
<td {onclick} {ondblclick} class="text-end">{ROW_NUM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ROW_NUM}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_INPT_SE_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_INPT_SE_CD}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_YMD_TM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td {onclick} {ondblclick} class="text-center">{VHRNO}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_STDG_NM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STDG_NM}</td>
<td {onclick} {ondblclick} class="text-center">{APLCNT_CRDN_NM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{APLCNT_CRDN_NM}</td>
<td {onclick} {ondblclick} class="text-end">{FFNLG_AMT}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{FFNLG_AMT}</td>
<td {onclick} {ondblclick} class="text-center">{매체}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{매체}</td>
<td {onclick} {ondblclick} class="text-end">{ATCH_FILE_CNT}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ATCH_FILE_CNT}</td>
<td {onclick} {ondblclick} class="text-end">{CRDN_SN}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{CRDN_SN}</td>
<td {onclick} {ondblclick} class="text-center"><input type="checkbox" disabled="disabled" /></td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center"><input type="checkbox" disabled="disabled" /></td>
<td {onclick} {ondblclick} class="text-center">{CRDN_STTS_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STTS_CD}</td>
</tr> </tr>
</template> </template>
<template id="crdnNotFound--${pageName}"> <template id="crdnNotFound--${pageName}">
@ -172,20 +171,27 @@ $(document).ready(function(){
$P.crdnControl.load($P.crdnControl.query.pageNum + 1); $P.crdnControl.load($P.crdnControl.query.pageNum + 1);
} }
$P.clickCrdnList = (dataKey) => {
$P.crdnControl.setCurrent(dataKey);
$("#crdnTbody--${pageName}").setCurrentRow(dataKey);
}
$P.dblclickCrdnList = (dataKey) => {
$P.crdnControl.getInfo(dataKey);
}
$P.renderCrdnList = () => { $P.renderCrdnList = () => {
var crdnList = $P.crdnControl.dataset; var crdnList = $P.crdnControl.dataset;
var empty = crdnList.empty; var empty = crdnList.empty;
var notFound = [document.getElementById("crdnNotFound--${pageName}").innerHTML];
var found = document.getElementById("crdnRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickCrdnList('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblclickCrdnList('" + dataItem.getValue("CRDN_ID") + "');");
var trs = empty ? var trs = empty ? notFound : crdnList.inStrings(found,replacer);
[document.getElementById("crdnNotFound--${pageName}").innerHTML] :
crdnList.inStrings(
document.getElementById("crdnRow--${pageName}").innerHTML,
(str, dataItem) => str
.replace(/{onclick}/gi, 'onclick="pageObject[\'${pageName}\'].crdnControl.setCurrent(\'' + dataItem.getValue("CRDN_ID") + '\');$(\'#crdnTbody--${pageName}\').setCurrentRow(\'' + dataItem.getValue("CRDN_ID") + '\');"')
.replace(/{ondblclick}/gi, 'ondblclick="pageObject[\'${pageName}\'].crdnControl.getInfo(\'' + dataItem.getValue("CRDN_ID") + '\')"')
);
$("#crdnTbody--${pageName}").html(trs.join()); $("#crdnTbody--${pageName}").html(trs.join());
//보안모드 //보안모드

@ -53,12 +53,13 @@
</form> </form>
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<div class="d-flex flex-row justify-content-between">
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<div class="d-flex flex-row justify-content-between">
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
</span> </span>
</span> </span>
</div> </div>
@ -84,15 +85,15 @@
<tbody id="crdnTbody--${pageName}"></tbody> <tbody id="crdnTbody--${pageName}"></tbody>
<template id="crdnRow--${pageName}"> <template id="crdnRow--${pageName}">
<tr data-key="{CRDN_ID}"> <tr data-key="{CRDN_ID}">
<td {onclick} {ondblclick} class="text-end">{ROW_NUM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ROW_NUM}</td>
<td {onclick} {ondblclick} class="text-center">{RDUCT_YMD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{RDUCT_YMD}</td>
<td {onclick} {ondblclick} class="text-start">{RDUCT_RSN_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-start">{RDUCT_RSN_CD}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_YMD_TM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td {onclick} {ondblclick} class="text-center">{VHRNO}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td {onclick} {ondblclick} class="text-end">{RDCAMT_PCPTAX}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{RDCAMT_PCPTAX}</td>
<td {onclick} {ondblclick} class="text-end">{SUM_AMT}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{SUM_AMT}</td>
<td {onclick} {ondblclick} class="text-start">{RDUCT_ETC_CN}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-start">{RDUCT_ETC_CN}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_STTS_CD}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_STTS_CD}</td>
</tr> </tr>
</template> </template>
<template id="crdnNotFound--${pageName}"> <template id="crdnNotFound--${pageName}">
@ -185,20 +186,26 @@ $(document).ready(function(){
$P.crdnControl.load($P.crdnControl.query.pageNum + 1); $P.crdnControl.load($P.crdnControl.query.pageNum + 1);
} }
$P.clickCrdnList = (dataKey) => {
$P.crdnControl.setCurrent(dataKey);
$("#crdnTbody--${pageName}").setCurrentRow(dataKey);
}
$P.dblclickCrdnList = (dataKey) => {
$P.crdnControl.getInfo(dataKey);
}
$P.renderCrdnList = () => { $P.renderCrdnList = () => {
var crdnList = $P.crdnControl.dataset; var crdnList = $P.crdnControl.dataset;
var empty = crdnList.empty; var empty = crdnList.empty;
var notFound = [document.getElementById("crdnNotFound--${pageName}").innerHTML];
var found = document.getElementById("crdnRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickCrdnList('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblclickCrdnList('" + dataItem.getValue("CRDN_ID") + "');");
var trs = empty ? var trs = empty ? notFound : crdnList.inStrings(found,replacer);
[document.getElementById("crdnNotFound--${pageName}").innerHTML] :
crdnList.inStrings(
document.getElementById("crdnRow--${pageName}").innerHTML,
(str, dataItem) => str
.replace(/{onclick}/gi, 'onclick="pageObject[\'${pageName}\'].crdnControl.setCurrent(\'' + dataItem.getValue("CRDN_ID") + '\');$(\'#crdnTbody--${pageName}\').setCurrentRow(\'' + dataItem.getValue("CRDN_ID") + '\');"')
.replace(/{ondblclick}/gi, 'ondblclick="pageObject[\'${pageName}\'].crdnControl.getInfo(\'' + dataItem.getValue("CRDN_ID") + '\')"')
);
$("#crdnTbody--${pageName}").html(trs.join()); $("#crdnTbody--${pageName}").html(trs.join());

@ -0,0 +1,6 @@
export default class InquireControl {
constructor(mainConf, subConf) {
this.main = new DatasetControl(mainConf);
this.sub = new DatasetControl(subConf);
}
}
Loading…
Cancel
Save