You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

185 lines
5.2 KiB
Java

package cokr.xit.fims.levy.dao;
import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** 부과 대장 정보 DAO
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-08-30 JoJH 최초 작성
* ================================
* </pre>
*/
@Mapper("levyMapper")
public interface LevyMapper extends AbstractMapper {
/**지정한 조건에 따라 감경부과 대상 목록을 조회하여 반환한다.<br />
* @param req 부과 대장 조회 조건
* @return 부과 대장 목록
*/
List<DataObject> selectRdctLevyTrgtList(LevyQuery req);
/**지정한 조건에 따라 감경부과 대상 단속ID 목록을 조회하여 반환한다.<br />
* @param req 부과 대장 조회 조건
* @return 단속 ID 목록
*/
List<DataObject> selectRdctLevyTrgtIds(LevyQuery req);
/**지정한 조건에 따라 부과 대장 목록을 조회하여 반환한다.<br />
* @param req 부과 대장 조회 조건
* @return 부과 대장 목록
*/
List<DataObject> selectLevyList(LevyQuery req);
/**지정한 조건에 따라 부과 대장 객체들을 반환한다.
* @param req 부과 대장 조회 조건
* @return 부과 대장 객체 목록
*/
List<Levy> selectLevys(LevyQuery req);
default Levy selectLevy(LevyQuery req) {
List<Levy> levys = selectLevys(req);
return !levys.isEmpty() ? levys.get(0) : null;
}
/**지정한 부과 ID에 따라 부과 대장 객체를 반환한다.
* @param levyId 부과 ID
* @return 부과 대장 객체
*/
default DataObject selectLevyInfo(LevyQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("L.LEVY_ID DESC");
}
List<DataObject> levys = selectLevyList(req);
return !levys.isEmpty() ? levys.get(0) : null;
}
/**지정한 단속 ID에 따라 단속 대장 객체를 반환한다.
* @param crdnId 단속 ID
* @return 고지 번호
*/
String selectMaxLevyNo(LevyQuery req);
/**최근 2년내 지정한 조건의 부과 목록을 조회한다.
* @param req 조회 조건
* <ul><li>vhrno - 차량번호</li>
* <li>vltnId - 위반ID</li>
* <li>rtpyrId - 납부자 ID</li>
* <li>date - 지정일자</li>
* </ul>
* @return 최근 2년내 지정한 조건의 부과 목록
*/
List<DataObject> selectPrevLevyList(LevyQuery req);
/**부과 대장 정보를 등록한다.
* @param params 파라미터
* <ul><li>"levy" - 부과 대장</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int insertLevy(Levy levy);
/**부과 대장 정보를 수정한다.
* @param params 파라미터
* <ul><li>"levy" - 부과 대장</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateLevy(Levy levy);
default int updateLevies(Iterable<Levy> levies) {
int affected = 0;
for (Levy levy: levies)
affected += levy != null ? updateLevy(levy) : 0;
return affected;
}
/**부과 대장에 부과일자, 최초납기일자, 납기일자 정보를 수정한다.
* @param levy 부과 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
int updateRdctLevyYmd(Levy levy);
/**부과 대장에 전자납부번호, 가상계좌번호 정보를 수정한다.
* @param levy 부과 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
int updateEpaynoVrActnoLevy(Levy levy);
/**부과 대장에 부과 금액 정보를 감경 금액으로 수정한다.
* @param levy 부과 대장
* @return 저장된 정보수
*/
int updateLevyRdct(Levy levy);
/**부과 대장에 수납 금액 정보를 수정한다.
* @param levy 부과 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
int updateLevyRcvmt(Levy levy);
/**부과 대장에 감액 금액 정보를 수정한다.
* @param levy 부과 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
int updateLevyRdamt(Levy levy);
/**지정한 부과 대장을 삭제한다.
* @param params 파라미터
* <ul><li>"levy" - 부과 대장</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int deleteLevy(Levy levy);
/**지정한 단속 ID로 단속 대장 객체를 반환한다.
* @param crdnId 단속 ID
* @return 단속 대장 객체
*/
DataObject selectCrdn(String crdnId);
/**지정한 조건에 따라 부과 대장 객체들을 반환한다.
* @param req 부과 대장 조회 조건
* @return 부과 대장 객체 목록
*/
DataObject selectLevyAmt(LevyQuery req);
/**지정한 조건에 따라 고지 대상 목록을 조회하여 반환한다.<br />
* @param req 부과 대장 조회 조건
* @return 고지 대상 목록
*/
List<Levy> selectLevyForGoji(LevyQuery req);
}