행위정보 코드 테이블 변경 적용 및 면적 컬럼 추가

dev
박성영 3 months ago
parent 0d41aa39d3
commit cc10373e32

@ -24,7 +24,10 @@ create table tb_act_info
DEL_YN char not null comment '삭제 여부',
DEL_DT datetime null comment '삭제 일시',
DLTR varchar(11) null comment '삭제자',
ACT_NO varchar(1) null comment '행위 번호'
ACT_NO varchar(1) null comment '행위 번호',
ACTN_YMD varchar(8) null,
ACTN_AREA decimal(10, 2) null,
ACTN_RMRK varchar(1000) null
)
comment '행위 정보';

@ -131,6 +131,22 @@ public class CrdnActInfoController {
return mav;
}
/**
* (AJAX)
* @return
*/
@Operation(summary = "전체 위반행위코드 조회", description = "전체 위반행위코드 목록을 조회합니다.")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "500", description = "서버 오류")
})
@PostMapping("/getAllActType.ajax")
public ResponseEntity<?> getAllActType( @ModelAttribute CrdnActTypeVO vo ) {
log.debug("전체 위반행위코드 조회 요청");
List<CrdnActTypeVO> list = service.getAllActType(vo);
return ApiResponseUtil.success(list);
}
/**
* (AJAX)
* @return

@ -54,6 +54,12 @@ public interface CrdnActInfoMapper {
*/
int deleteActInfo(CrdnActInfoVO vo);
/**
*
* @return
*/
List<CrdnActTypeVO> getAllActType(CrdnActTypeVO vo);
/**
*
* @return

@ -37,6 +37,9 @@ public class CrdnActInfoVO extends PagingVO {
private BigDecimal vrtc; // 세로
private BigDecimal area; // 면적
private String rmrk; // 비고
private String actnYmd; // 조치 일자
private BigDecimal actnArea; // 조치 면적
private String actnRmrk; // 조치 비고
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")

@ -66,6 +66,12 @@ public interface CrdnActInfoService {
*/
int deleteActInfos(List<String> actInfoIds);
/**
*
* @return
*/
List<CrdnActTypeVO> getAllActType(CrdnActTypeVO vo);
/**
*
* @return

@ -140,6 +140,12 @@ public class CrdnActInfoServiceImpl extends EgovAbstractServiceImpl implements C
return mapper.deleteActInfo(vo);
}
@Override
public List<CrdnActTypeVO> getAllActType(CrdnActTypeVO vo) {
log.debug("전체 위반행위코드 조회");
return mapper.getAllActType(vo);
}
@Override
public List<CrdnStrctIdxVO> getAllStrctIdx(CrdnStrctIdxVO vo) {
log.debug("전체 구조지수 조회");

@ -16,7 +16,7 @@
a.PSTN_INFO_ID,
a.ACT_BGNG_YMD,
a.ACT_TYPE_CD,
act.CD_NM AS ACT_TYPE_CD_NM,
act.VLTN_BDST AS ACT_TYPE_CD_NM,
a.ACT_NO,
a.VLTN_LWRG_CD_1,
vltn1.VLTN_LAW AS VLTN_LAW_1,
@ -31,6 +31,9 @@
a.VRTC,
a.AREA,
a.RMRK,
a.ACTN_YMD,
a.ACTN_AREA,
a.ACTN_RMRK,
a.REG_DT,
a.RGTR,
regUser.USER_ACNT AS RGTR_ACNT,
@ -44,7 +47,7 @@
a.DLTR
FROM tb_act_info a
LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = a.SGG_CD
LEFT JOIN tb_cd_detail act ON act.CD_GROUP_ID = 'ACT_TYPE_CD' AND act.CD_ID = a.ACT_TYPE_CD
LEFT JOIN TB_ACT_TYPE act ON act.ACT_TYPE_CD = a.ACT_TYPE_CD
LEFT JOIN tb_vltn_lwrg vltn1 ON vltn1.VLTN_LWRG_CD = a.VLTN_LWRG_CD_1 AND vltn1.DEL_YN = 'N'
LEFT JOIN tb_vltn_lwrg vltn2 ON vltn2.VLTN_LWRG_CD = a.VLTN_LWRG_CD_2 AND vltn2.DEL_YN = 'N'
LEFT JOIN tb_strct_idx strct ON strct.STRCT_IDX_CD = a.STRCT_IDX_CD AND strct.DEL_YN = 'N'
@ -96,6 +99,9 @@
VRTC,
AREA,
RMRK,
ACTN_YMD,
ACTN_AREA,
ACTN_RMRK,
REG_DT,
RGTR,
MDFCN_DT,
@ -123,11 +129,14 @@
#{vrtc},
#{area},
#{rmrk},
replace(#{actnYmd},'-',''),
#{actnArea},
#{actnRmrk},
NOW(),
#{rgtr},
NOW(),
#{mdfr},
'N'
NOW(),
#{mdfr},
'N'
)
</insert>
@ -143,7 +152,7 @@
a.PSTN_INFO_ID,
a.ACT_BGNG_YMD,
a.ACT_TYPE_CD,
act.CD_NM AS ACT_TYPE_CD_NM,
act.VLTN_BDST AS ACT_TYPE_CD_NM,
a.ACT_NO,
a.VLTN_LWRG_CD_1,
vltn1.VLTN_LAW AS VLTN_LAW_1,
@ -158,6 +167,9 @@
a.VRTC,
a.AREA,
a.RMRK,
a.ACTN_YMD,
a.ACTN_AREA,
a.ACTN_RMRK,
a.REG_DT,
a.RGTR,
regUser.USER_ACNT AS RGTR_ACNT,
@ -171,7 +183,7 @@
a.DLTR
FROM tb_act_info a
LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = a.SGG_CD
LEFT JOIN tb_cd_detail act ON act.CD_GROUP_ID = 'ACT_TYPE_CD' AND act.CD_ID = a.ACT_TYPE_CD
LEFT JOIN TB_ACT_TYPE act ON act.ACT_TYPE_CD = a.ACT_TYPE_CD
LEFT JOIN tb_vltn_lwrg vltn1 ON vltn1.VLTN_LWRG_CD = a.VLTN_LWRG_CD_1 AND vltn1.DEL_YN = 'N'
LEFT JOIN tb_vltn_lwrg vltn2 ON vltn2.VLTN_LWRG_CD = a.VLTN_LWRG_CD_2 AND vltn2.DEL_YN = 'N'
LEFT JOIN tb_strct_idx strct ON strct.STRCT_IDX_CD = a.STRCT_IDX_CD AND strct.DEL_YN = 'N'
@ -197,6 +209,9 @@
VRTC = #{vrtc},
AREA = #{area},
RMRK = #{rmrk},
ACTN_YMD = #{actnYmd},
ACTN_AREA = #{actnArea},
ACTN_RMRK = #{actnRmrk},
MDFCN_DT = NOW(),
MDFR = #{mdfr}
WHERE ACT_INFO_ID = #{actInfoId}
@ -214,6 +229,24 @@
AND DEL_YN = 'N'
</update>
<!-- 전체 위반행위코드 목록 조회 -->
<select id="getAllActType" parameterType="CrdnActTypeVO" resultType="CrdnActTypeVO">
/* ActInfoMapper.getAllActType : 전체 위반행위코드 목록 조회 */
SELECT
ACT_TYPE_CD,
VLTN_BDST,
LAWLPRVS,
CMPTTN_RT,
VLTN_BDST_DTL,
USE_YN,
REG_DT,
RGTR,
MDFCN_DT,
MDFR
FROM TB_ACT_TYPE
WHERE USE_YN = 'Y'
ORDER BY ACT_TYPE_CD
</select>
<!-- 전체 구조지수 목록 조회 -->
<select id="getAllStrctIdx" parameterType="CrdnStrctIdxVO" resultType="CrdnStrctIdxVO">

@ -213,12 +213,12 @@
) > 0 THEN true ELSE false END as selected,
aio.ACT_NO,
aio.ACT_TYPE_CD,
act.CD_NM AS ACT_TYPE_CD_NM
act.VLTN_BDST AS ACT_TYPE_CD_NM
FROM tb_act_info aio
inner JOIN tb_ownr_info oi ON aio.CRDN_YR = oi.CRDN_YR AND aio.CRDN_NO = oi.CRDN_NO AND oi.DEL_YN = 'N'
INNER JOIN tb_ownr o ON o.OWNR_ID = oi.OWNR_ID AND o.DEL_YN = 'N'
LEFT JOIN tb_cd_detail impltTrprSe ON impltTrprSe.CD_GROUP_ID = 'IMPLT_TRPR_SE_CD' AND impltTrprSe.CD_ID = '1'
LEFT JOIN tb_cd_detail act ON act.CD_GROUP_ID = 'ACT_TYPE_CD' AND act.CD_ID = aio.ACT_TYPE_CD
LEFT JOIN TB_ACT_TYPE act ON act.ACT_TYPE_CD = aio.ACT_TYPE_CD
WHERE aio.CRDN_YR = #{crdnYr}
AND aio.CRDN_NO = #{crdnNo}
AND aio.DEL_YN = 'N'
@ -245,12 +245,12 @@
) > 0 THEN true ELSE false END as selected,
aio.ACT_NO,
aio.ACT_TYPE_CD,
act.CD_NM AS ACT_TYPE_CD_NM
act.VLTN_BDST AS ACT_TYPE_CD_NM
FROM tb_act_info aio
INNER JOIN tb_actr_info ai ON ai.ACT_INFO_ID = aio.ACT_INFO_ID AND ai.DEL_YN = 'N'
INNER JOIN tb_ownr o ON o.OWNR_ID = ai.OWNR_ID AND o.DEL_YN = 'N'
LEFT JOIN tb_cd_detail impltTrprSe ON impltTrprSe.CD_GROUP_ID = 'IMPLT_TRPR_SE_CD' AND impltTrprSe.CD_ID = '2'
LEFT JOIN tb_cd_detail act ON act.CD_GROUP_ID = 'ACT_TYPE_CD' AND act.CD_ID = aio.ACT_TYPE_CD
LEFT JOIN TB_ACT_TYPE act ON act.ACT_TYPE_CD = aio.ACT_TYPE_CD
WHERE aio.CRDN_YR = #{crdnYr}
AND aio.CRDN_NO = #{crdnNo}
AND aio.DEL_YN = 'N'

@ -15,7 +15,7 @@
t3.ACT_INFO_ID,
t3.ACT_BGNG_YMD,
t3.ACT_TYPE_CD,
act.CD_NM AS ACT_TYPE_CD_NM,
act.VLTN_BDST AS ACT_TYPE_CD_NM,
t3.VLTN_LWRG_CD_1,
vltn1.VLTN_LAW as VLTN_LAW_1,
vltn1.IMPLT_LAW as IMPLT_LAW_1,
@ -46,7 +46,7 @@
LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = t2.SGG_CD
LEFT JOIN tb_cd_detail emd ON emd.CD_GROUP_ID = 'STDG_EMD_CD' AND emd.CD_ID = t2.STDG_EMD_CD
LEFT JOIN tb_cd_detail ld ON ld.CD_GROUP_ID = 'LDCG_CD' AND ld.CD_ID = t2.LDCG_CD
LEFT JOIN tb_cd_detail act ON act.CD_GROUP_ID = 'ACT_TYPE_CD' AND act.CD_ID = t3.ACT_TYPE_CD
LEFT JOIN TB_ACT_TYPE act ON act.ACT_TYPE_CD = t3.ACT_TYPE_CD
LEFT JOIN tb_vltn_lwrg vltn1 ON vltn1.VLTN_LWRG_CD = t3.VLTN_LWRG_CD_1 AND vltn1.DEL_YN = 'N'
LEFT JOIN tb_vltn_lwrg vltn2 ON vltn2.VLTN_LWRG_CD = t3.VLTN_LWRG_CD_2 AND vltn2.DEL_YN = 'N'
LEFT JOIN tb_strct_idx strct ON strct.STRCT_IDX_CD = t3.STRCT_IDX_CD AND strct.DEL_YN = 'N'

@ -43,12 +43,8 @@
</td>
<th class="th"><span class="required">*</span> 행위유형</th>
<td>
<select id="actTypeCd" name="actTypeCd" class="input" style="width: 180px;" validation-check="required">
<option value="">선택하세요</option>
<c:forEach var="code" items="${actTypeCdList}">
<option value="${code.cdId}" <c:if test="${data.actTypeCd eq code.cdId}">selected</c:if>>${code.cdNm}</option>
</c:forEach>
</select>
<input type="text" id="actTypeCdNm" name="actTypeCdNm" class="input" style="width: 250px;" placeholder="행위유형을 입력하거나 선택하세요" autocomplete="off" value="${data.actTypeCdNm}" validation-check="required"/>
<input type="hidden" id="actTypeCd" name="actTypeCd" value="${data.actTypeCd}"/>
</td>
</tr>
<tr>
@ -179,6 +175,7 @@
});
// 각 드롭다운 초기화 (XIT 공통 컴포넌트 사용)
initActTypeCdDropdown();
initStrctIdxDropdown();
initVltnLwrgDropdowns();
initUsgIdxDropdown();
@ -190,11 +187,55 @@
});
// 드롭다운 인스턴스들
var actTypeCdDropdown;
var strctIdxDropdown;
var vltnLwrg1Dropdown;
var vltnLwrg2Dropdown;
var usgIdxDropdown;
/**
* 위반행위 드롭다운 초기화
* 중요한 로직 주석: XIT 공통 드롭다운 컴포넌트를 사용하여 구조지수 선택 기능을 구현한다.
*/
function initActTypeCdDropdown() {
actTypeCdDropdown = new XitDropdown({
inputSelector: '#actTypeCdNm',
hiddenSelector: '#actTypeCd',
dataUrl: '<c:url value="/crdn/crndRegistAndView/crdnActInfo/getAllActType.ajax"/>',
width: '400px',
maxHeight: '300px',
valueField: 'actTypeCd',
textField: 'vltnBdst',
searchField: 'vltnBdst',
placeholder: '위반행위를 입력하거나 선택하세요',
noResultsText: '검색 결과가 없습니다',
cssClass: 'strct-idx-dropdown',
displayFields: [
{
name: 'vltnBdst',
label: '위반 건축물',
formatter: function(value) {
return value;
}
},
{
name: 'lawlprvs',
label: '법조문',
formatter: function(value) {
return value ? value : '-';
}
},
{
name: 'cmpttnRt',
label: '산정률',
formatter: function(value) {
return value ? parseFloat(value).toFixed(2) : '-';
}
}
]
});
}
/**
* 구조지수 드롭다운 초기화
* 중요한 로직 주석: XIT 공통 드롭다운 컴포넌트를 사용하여 구조지수 선택 기능을 구현한다.

@ -66,12 +66,6 @@
align: 'center',
width: 120
},
{
header: '행위유형',
name: 'actTypeCdNm',
align: 'center',
width: 120
},
{
header: '행위번호',
name: 'actNo',

Loading…
Cancel
Save