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.

117 lines
3.5 KiB
Java

package cokr.xit.fims.payer.dao;
import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** 납부자 대장 정보 DAO
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-08-18 mjkhan 최초 작성
* ================================
* </pre>
*/
@Mapper("payerMapper")
public interface PayerMapper extends AbstractMapper {
/**지정한 조건에 따라 납부자 대장 목록을 조회하여 반환한다.<br />
* @param req 납부자 대장 조회 조건
* @return 납부자 대장 목록
*/
List<DataObject> selectPayerList(PayerQuery req);
/**지정한 조건에 따라 납부자 대장 객체들을 반환한다.
* @param req 납부자 대장 조회 조건
* @return 납부자 대장 객체 목록
*/
List<Payer> selectPayers(PayerQuery req);
/**납부자 대장 정보를 등록한다.
* @param payer 납부자 대장
* @return 저장된 정보수
*/
int insertPayer(Map<String, Object> params);
/**납부자 대장 정보를 등록한다.
* @param payer 납부자 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
default boolean insert(Payer payer) {
return payer != null && insertPayer(params().set("payer", payer)) == 1;
}
/**납부자 대장 정보를 수정한다.
* @param params 파라미터
* <ul><li>"payer" - 납부자 대장</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updatePayer(Map<String, Object> params);
/**납부자 대장 정보를 수정한다.
* @param payer 납부자 대장
* @return 저장 여부
* <ul><li>저장됐으면 true</li>
* <li>그렇지 않으면 false</li>
* </ul>
*/
default boolean update(Payer payer) {
return payer != null && updatePayer(params().set("payer", payer)) == 1;
}
/**납부자 도로명 주소의 우편번호, 건물관리번호를 조회한다. 도로망 주소 연계 구현 시 이동
* @param params 파라미터
* <ul><li>roadNmCd - 도로명 코드</li>
* <li>udgdSeCd - 지하 구분코드</li>
* <li>bmno - 건물본번</li>
* <li>bsno - 건물부번</li>
* </ul>
* @return 납부자 도로명 주소의 우편번호, 건물관리번호
*/
DataObject selectAddrInfo(Map<String, Object> params);
/**지정한 조건에 따라 납부자 대장 객체의 마지막 1개를 반환한다.
* @param levyExclId 부과제외 ID
* @return 부과제외 대장 객체
*/
List<DataObject> selectCrdnPayers(PayerQuery req);
default DataObject selectPayerInfo(PayerQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("P.RTPYR_ID DESC");
}
List<DataObject> crdnPayers = selectCrdnPayers(req);
return !crdnPayers.isEmpty() ? crdnPayers.get(0) : null;
}
/**지정한 조건에 따라 단속 정보를 반환한다.
* @param crdnId 단속 ID
* @return 단속, 부과제외 정보
*/
DataObject selectCrdn(PayerQuery req);
default DataObject selectCrdnInfo(String crdnId) {
return selectCrdn(new PayerQuery().setCrdnId(crdnId));
}
/**지정한 조건에 따라 납부자 변경 이력 객체들을 반환한다.
* @param req 납부자 대장 조회 조건
* @return 납부자 대장 객체 목록
*/
List<DataObject> selectPayerHstrys(PayerQuery req);
}