소유자·행위자 관리: 위반행위자 삭제 로직 추가, 버튼 활성화/비활성화 처리 및 관련 UI/매퍼/서비스 수정

dev
박성영 4 months ago
parent 46ea3893ad
commit 586eef40f4

@ -9,6 +9,7 @@ import go.kr.project.crdn.crndRegistAndView.crdnActInfo.model.CrdnVltnLwrgVO;
import go.kr.project.crdn.crndRegistAndView.crdnActInfo.model.CrdnUsgIdxVO;
import go.kr.project.crdn.crndRegistAndView.crdnActInfo.model.CrdnPstnIdxVO;
import go.kr.project.crdn.crndRegistAndView.crdnActInfo.service.CrdnActInfoService;
import go.kr.project.crdn.crndRegistAndView.crdnActrInfo.mapper.CrdnActrInfoMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
@ -38,6 +39,7 @@ import java.util.List;
public class CrdnActInfoServiceImpl extends EgovAbstractServiceImpl implements CrdnActInfoService {
private final CrdnActInfoMapper mapper;
private final CrdnActrInfoMapper actrInfoMapper;
@Override
public List<CrdnActInfoVO> selectActInfoList(CrdnActInfoVO vo) {
@ -124,7 +126,12 @@ public class CrdnActInfoServiceImpl extends EgovAbstractServiceImpl implements C
log.error("삭제자 정보를 가져올 수 없습니다.");
throw new MessageException("사용자 정보를 확인할 수 없습니다.");
}
int checkCount = actrInfoMapper.selectActrInfoByActCount(actInfoIds);
if( checkCount > 0 ) {
throw new MessageException("삭제할 행위정보에 해당하는 행위자정보가 존재합니다.");
}
// 중요한 로직 주석: 각 행위정보 ID에 대해 유효성 검증 후 논리 삭제 수행
int deletedCount = 0;
for (String actInfoId : actInfoIds) {

@ -46,4 +46,18 @@ public interface CrdnActrInfoMapper {
* @return
*/
int deleteActrInfo(CrdnActrInfoVO vo);
/**
* () :: count
* @param vo
* @return
*/
int selectActrInfoByActCount(List<String> actInfoIds);
/**
* () ::
* @param vo (delYn, delDt, dltr )
* @return
*/
int deleteActrInfoByAct(List<String> actInfoIds);
}

@ -126,4 +126,30 @@
AND DEL_YN = 'N'
</update>
<!-- 위반행위자정보 삭제 (논리삭제) :: 불법행위정보 삭제로 인한 전체 삭제 전 count 체크 -->
<select id="selectActrInfoByActCount" parameterType="List" resultType="int">
/* ActrInfoMapper.selectActrInfoByActCount 위반행위자정보 삭제 (논리삭제) :: 불법행위정보 삭제로 인한 전체 삭제 전 count 체크 */
SELECT count(*)
FROM tb_actr_info
WHERE ACT_INFO_ID IN
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item}
</foreach>
AND DEL_YN = 'N'
</select>
<!-- 위반행위자정보 삭제 (논리삭제) :: 불법행위정보 삭제로 인한 전체 삭제 -->
<update id="deleteActrInfoByAct" parameterType="List">
/* ActrInfoMapper.deleteActrInfoByAct 위반행위자정보 삭제 (논리삭제) :: 불법행위정보 삭제로 인한 전체 삭제 */
UPDATE tb_actr_info SET
DEL_YN = 'Y',
DEL_DT = NOW(),
DLTR = #{dltr}
WHERE ACT_INFO_ID IN
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item}
</foreach>
AND DEL_YN = 'N'
</update>
</mapper>

@ -74,7 +74,7 @@
<th class="th">조사원</th>
<td colspan="3">
<input type="text" id="exmnr" name="exmnr" class="input"
value="${data.exmnr}" maxlength="100" style="width: 80%;" />
value="${data.exmnr}" maxlength="100" style="width: 80%;" validation-check="maxlength" />
<button id="btnExmnrSelect" class="newbtn bg1 smallb-2" type="button">조사원 선택</button>
</td>
</tr>

@ -204,8 +204,21 @@
}
if (totalCount >= 1) {
window.CrdnDetailView.actInfoId = responseObj.data.contents[0].actInfoId;
// 불법행위 정보가 있을때 행위자정보 버튼 활성화
$('#actrSelectBtn').prop('disabled', false);
$('#actrRemoveBtn').prop('disabled', false);
$('#actrSelectBtn').removeClass('disabled');
$('#actrRemoveBtn').removeClass('disabled');
} else {
window.CrdnDetailView.actInfoId = null;
// 불법행위 정보가 있을때 행위자정보 버튼 비활성화
$('#actrSelectBtn').prop('disabled', true);
$('#actrRemoveBtn').prop('disabled', true);
$('#actrSelectBtn').addClass('disabled');
$('#actrRemoveBtn').addClass('disabled');
}
// 중요로직: 불법행위 정보 로딩 완료 후 행위자 그리드 순차적 로딩 실행

@ -482,6 +482,11 @@
$('#actInfoDeleteBtn').prop('disabled', false);
$('#actInfoRegistBtn').removeClass('disabled');
$('#actInfoDeleteBtn').removeClass('disabled');
//$('#actrSelectBtn').prop('disabled', false);
//$('#actrRemoveBtn').prop('disabled', false);
//$('#actrSelectBtn').removeClass('disabled');
//$('#actrRemoveBtn').removeClass('disabled');
} else {
// 위치정보가 없을 때 버튼 비활성화
$('#ownrSelectBtn').prop('disabled', true);
@ -494,6 +499,11 @@
$('#actInfoRegistBtn').addClass('disabled');
$('#actInfoDeleteBtn').addClass('disabled');
$('#actrSelectBtn').prop('disabled', true);
$('#actrRemoveBtn').prop('disabled', true);
$('#actrSelectBtn').addClass('disabled');
$('#actrRemoveBtn').addClass('disabled');
}
},

Loading…
Cancel
Save