|
|
|
|
@ -222,7 +222,7 @@
|
|
|
|
|
<input type="hidden" id="sbtrRt" value=""/><!-- 감산율(% 표기) -->
|
|
|
|
|
<input type="hidden" id="sbtrRtRate" value=""/><!-- 감산비율(실제계산에 필요한 값 : 감산율 / 100 ) -->
|
|
|
|
|
|
|
|
|
|
<input type="hidden" class="input" id="adsbmtnEnfcRt" value="" readonly/><!-- 가감산 시행령률 -->
|
|
|
|
|
<input type="hidden" class="input" id="adsbmtnEnfcRt" value="100" readonly/><!-- 가감산 시행령률 -->
|
|
|
|
|
</td>
|
|
|
|
|
<td rowspan="2" class="op-cell b-right-0 b-bottom-0">X</td>
|
|
|
|
|
<td rowspan="2" class="b-right-0 b-bottom-0">
|
|
|
|
|
@ -244,7 +244,7 @@
|
|
|
|
|
<input type="hidden" id="cmpttnRt2Rate" class="input text-right" value="" readonly/><!-- 산정률2(값) -->
|
|
|
|
|
</td>
|
|
|
|
|
<td rowspan="2" class="op-cell b-right-0 b-bottom-0">=</td>
|
|
|
|
|
<td rowspan="2" class="b-bottom-0"><input type="text" class="input" value=""/><!-- 산정액 --></td>
|
|
|
|
|
<td rowspan="2" class="b-bottom-0"><input type="text" class="input numericMask" id="cmpttnAmt" value="" readonly/><!-- 산정액 --></td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
@ -257,7 +257,10 @@
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="12" class="b-top-0"><strong>부과총액 = 결과값 계산로직 진행 중</strong></td>
|
|
|
|
|
<td colspan="12" class="b-top-0">
|
|
|
|
|
<h2><strong>부과총액 = <span id="levyWholAmtDisplay">0 원</span></strong></h2>
|
|
|
|
|
<input type="hidden" class="input numericMask" id="levyWholAmt" value="">
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
@ -456,7 +459,7 @@
|
|
|
|
|
if (!rowData) return;
|
|
|
|
|
|
|
|
|
|
var vltnArea = rowData.calcArea; // 면적 - 조치면적 : 위반면적
|
|
|
|
|
$('#vltnArea').val(vltnArea); // 위반면적
|
|
|
|
|
$('#vltnArea').val(vltnArea).trigger('change'); // 위반면적, change 이벤트 트리거
|
|
|
|
|
|
|
|
|
|
// 행위유형에 따른 산정률1 설정
|
|
|
|
|
$('#cmpttnRtDisplay').val(rowData.actCmpttnRt+ ' %');
|
|
|
|
|
@ -482,6 +485,9 @@
|
|
|
|
|
$('#elpsYrRdvlrt').val(rowData.elpsYrRdvlrt); // 경과년수별잔가율(하단)
|
|
|
|
|
|
|
|
|
|
$('#bscsCstrnSeCd').trigger('change'); // 기초공사구분 변경 이벤트 트리거
|
|
|
|
|
|
|
|
|
|
// 산정액 계산 함수 호출
|
|
|
|
|
calculateLevyAmount();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
this.instance.on('focusChange', function(ev) {
|
|
|
|
|
@ -571,6 +577,13 @@
|
|
|
|
|
$('#cmpttnRt2').val(rateValue || '');
|
|
|
|
|
$('#cmpttnRt2Rate').val(rateValue2 || '');
|
|
|
|
|
$('#cmpttnRt2Display').val((rateValue || '') + ' %').trigger('focus');
|
|
|
|
|
// 산정액 계산 함수 호출
|
|
|
|
|
calculateLevyAmount();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 위반면적 변경 시 산정액 계산 함수 호출
|
|
|
|
|
$('#vltnArea').on('change keyup', function() {
|
|
|
|
|
calculateLevyAmount();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 계산에 사용되는 입력 필드 변경 시 자동 계산 호출
|
|
|
|
|
@ -701,6 +714,48 @@
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 중요로직: 이행강제금 산정액 및 부과총액 자동 계산
|
|
|
|
|
* @description 시가표준액, 위반면적, 가감산시행령률, 산정률, 산정률2가 모두 입력되었을 때 산정액과 부과총액을 자동으로 계산합니다.
|
|
|
|
|
* - 산정액 = 시가표준액 * 위반면적 * (가감산시행령률 / 100) * 산정률(비율) * 산정률2(비율)
|
|
|
|
|
* - 부과총액 = 산정액의 1의 자리 절사 (10원 단위 버림)
|
|
|
|
|
*/
|
|
|
|
|
function calculateLevyAmount() {
|
|
|
|
|
var standardMarketPrice = parseFloat($('#standardMarketPrice_top').inputmask('unmaskedvalue')) || 0;
|
|
|
|
|
var vltnArea = parseFloat($('#vltnArea').inputmask('unmaskedvalue')) || 0;
|
|
|
|
|
var adsbmtnEnfcRt = parseFloat($('#adsbmtnEnfcRt').val()) || 0;
|
|
|
|
|
var cmpttnRtRate = parseFloat($('#cmpttnRtRate').val()) || 0;
|
|
|
|
|
var cmpttnRt2Rate = parseFloat($('#cmpttnRt2Rate').val()) || 0;
|
|
|
|
|
|
|
|
|
|
var cmpttnAmt = 0; // 산정액
|
|
|
|
|
var levyWholAmt = 0; // 부과총액
|
|
|
|
|
|
|
|
|
|
// 모든 값이 0보다 큰지 확인 (필수 입력값 체크)
|
|
|
|
|
if (standardMarketPrice > 0 && vltnArea > 0 && adsbmtnEnfcRt > 0 && cmpttnRtRate > 0 && cmpttnRt2Rate > 0) {
|
|
|
|
|
// 산정액 계산 (소수점 버림)
|
|
|
|
|
cmpttnAmt = Math.floor(standardMarketPrice * vltnArea * (adsbmtnEnfcRt / 100) * cmpttnRtRate * cmpttnRt2Rate);
|
|
|
|
|
|
|
|
|
|
// 부과총액 계산: 산정액에서 1의 자리 절사 (10원 단위로 버림)
|
|
|
|
|
levyWholAmt = Math.floor(cmpttnAmt / 10) * 10;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// '산정액' 필드에 값 설정
|
|
|
|
|
if (cmpttnAmt > 0) {
|
|
|
|
|
$('#cmpttnAmt').val(cmpttnAmt).trigger('focus');
|
|
|
|
|
} else {
|
|
|
|
|
$('#cmpttnAmt').val('').trigger('focus');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// '부과총액' 필드 및 표시에 값 설정
|
|
|
|
|
if (levyWholAmt > 0) {
|
|
|
|
|
$('#levyWholAmt').val(levyWholAmt);
|
|
|
|
|
$('#levyWholAmtDisplay').text(levyWholAmt.toLocaleString() + ' 원');
|
|
|
|
|
} else {
|
|
|
|
|
$('#levyWholAmt').val('');
|
|
|
|
|
$('#levyWholAmtDisplay').text('');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 자동 계산 (서버 API 호출)
|
|
|
|
|
* @description 각 항목의 값을 서버로 보내 건축물과세시가를 계산하고, 그 결과를 받아 시가표준액을 계산합니다.
|
|
|
|
|
@ -720,6 +775,7 @@
|
|
|
|
|
$('#taxableMarketPrice').val('').trigger('focus'); // 건축물과세시가
|
|
|
|
|
$('#standardMarketPrice').val('').trigger('focus'); // 시가표준액
|
|
|
|
|
$('#standardMarketPrice_top').val('').trigger('focus'); // 시가표준액(상단)
|
|
|
|
|
calculateLevyAmount(); // 산정액 계산
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -753,12 +809,15 @@
|
|
|
|
|
$('#standardMarketPrice').val('').trigger('focus'); // 시가표준액
|
|
|
|
|
$('#standardMarketPrice_top').val('').trigger('focus'); // 시가표준액(상단)
|
|
|
|
|
}
|
|
|
|
|
// 산정액 계산 함수 호출
|
|
|
|
|
calculateLevyAmount();
|
|
|
|
|
},
|
|
|
|
|
error: function() {
|
|
|
|
|
alert('서버와 통신 중 오류가 발생했습니다.');
|
|
|
|
|
$('#taxableMarketPrice').val('').trigger('focus'); // 건축물과세시가
|
|
|
|
|
$('#standardMarketPrice').val('').trigger('focus'); // 시가표준액
|
|
|
|
|
$('#standardMarketPrice_top').val('').trigger('focus'); // 시가표준액(상단)
|
|
|
|
|
calculateLevyAmount(); // 산정액 계산
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -831,6 +890,8 @@
|
|
|
|
|
$("#adsbmtnEnfcRt").val( totalRateCalc );
|
|
|
|
|
$("#adsbmtnEnfcRtDisplay").val( totalRateCalc+" %" );
|
|
|
|
|
|
|
|
|
|
// 산정액 계산 함수 호출
|
|
|
|
|
calculateLevyAmount();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
})(window, jQuery);
|
|
|
|
|
|