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.

233 lines
7.0 KiB
Java

package cokr.xit.fims.sndb.dao;
import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** 발송 상세 정보 DAO
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-12-27 JoJH 최초 작성
* ================================
* </pre>
*/
@Mapper("sndngDtlMapper")
public interface SndngDtlMapper extends AbstractMapper {
/**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.<br />
* @param req 발송 상세 조회 조건
* @return 발송 상세 목록
*/
List<DataObject> selectSndngDtlList(SndbQuery req);
/**지정한 조건에 따라 발송 상세 객체들을 반환한다.
* @param req 발송 상세 조회 조건
* @return 발송 상세 객체 목록
*/
List<DataObject> selectSndngDtls(SndbQuery req);
/**지정한 조건에 따라 부과제외 대장 정보를 조회하여 반환한다.
* @param req 부과제외 대장 조회 조건
* @return 부과제외 대장 정보
*/
default DataObject selectSndngDtlInfo(SndbQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("SD.SNDNG_DTL_ID DESC");
}
List<DataObject> sndngDtls = selectSndngDtls(req);
return !sndngDtls.isEmpty() ? sndngDtls.get(0) : null;
}
/**발송 ID에 따라 발송 상세 ID를 반환한다.
* @param req 발송 상세 조회 조건
* @return 발송 상세 객체 목록
*/
List<DataObject> selectSndngTrgtDtlIds(SndbQuery req);
List<SndngDtl> selectSndngDetails(SndbQuery req);
/**서울 세외수입 조회 후 연계할 대상 발송상세 객체를 반환한다.
* @return 서울 세외수입 조회 후 연계할 대상 발송상세 객체 목록
*/
List<SndngDtl> selectSndngDtlsToSync();
/**발송 상세 정보를 등록한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int insertSndngDtl(SndngDtl sndngDtl);
/**발송 상세 정보를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtl(SndngDtl sndngDtl);
default int updateSndngDtls(Iterable<SndngDtl> sndngDtls) {
int affected = 0;
for (SndngDtl dtl: sndngDtls)
affected += dtl != null ? updateSndngDtl(dtl) : 0;
return affected;
}
/**지정한 발송 상세을 삭제한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int deleteSndngDtl(SndngDtl sndngDtl);
/**발송 상세 정보의 발송 상세 상태 코드를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtlSttsCd(SndngDtl sndngDtl);
/**차세대 세외수입 연계(A03)를 통해 발송 상세 정보를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtlNxrpA03(SndngDtl sndngDtl);
/**발송 상세 정보의 발송 수납 코드를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtlRcvmtCd(SndngDtl sndngDtl);
/**전자우편 발송상세 내역을 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtlEPost(SndngDtl sndngDtl);
/**지정한 단속 ID로 단속, 부과 대장 객체를 반환한다.
* @param crdnId 단속 ID
* @return 단속, 부과 대장 객체
*/
DataObject selectCrdnLevy(String crdnId);
/**발송 상세 정보의 발송 수납 코드를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateCrdnNxrpAcbKey(Crdn crdn);
/**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.
* @param req 발송 조회 조건
* @return 발송 상세 반송 정보
*/
List<DataObject> selectSndbkList(SndbQuery req);
/**지정한 조건에 따라 발송 상세 객체들을 반환한다.
* @param req 발송 조회 조건
* @return 발송 상세 반송 정보
*/
List<DataObject> selectSndbks(SndbQuery req);
/**지정한 조건에 따라 공시송달 대상 발송 상세 객체들을 반환한다.
* @param req 발송 조회 조건
* @return 발송 상세 반송 정보
*/
List<DataObject> selectSvbtcsTrgtSndngDtlIds(SndbQuery req);
/**지정한 조건에 따라 발송 상세 객체의 마지막 1개를 반환한다.
* @param req 발송 조회 조건
* @return 발송 상세 반송 정보
*/
default DataObject selectSndbkInfo(SndbQuery req) {
// 삭제여부
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("SD.SNDNG_DTL_ID DESC");
}
List<DataObject> sndbks = selectSndbks(req);
return !sndbks.isEmpty() ? sndbks.get(0) : null;
}
/**발송 상세의 반송 정보를 등록한다.
* @param sndngDtl 발송 상세
* @return 저장된 정보수
*/
int createSndbk(SndngDtl sndngDtl);
/**발송 상세의 반송 정보를 수정한다.
* @param sndngDtl 발송 상세
* @return 저장된 정보수
*/
int updateSndbk(SndngDtl sndngDtl);
/**발송 상세의 반송 정보를 삭제한다.
* @param sndngDtl 발송 상세
* @return 저장된 정보수
*/
int deleteSndbk(SndngDtl sndngDtl);
/**발송상세 대장에 공시송달ID에 해당하는 총건수 가져오기
* @param svbtcId 공시송달 ID
* @return 총건수
*/
int selectTnocsSndngDtlSvbtc(String svbtcId);
/**발송 상세 정보의 반송 정보를 수정한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int updateSndngDtlSvbtc(SndngDtl sndngDtl);
/**지정한 발송 상세을 삭제한다.
* @param params 파라미터
* <ul><li>"sndngDtl" - 발송 상세</li>
* <li>"currentUser" - 현재 접속한 사용자</li>
* </ul>
* @return 저장된 정보수
*/
int deleteSndngDtlSvbtc(SndngDtl sndngDtl);
List<DataObject> selectDetailList(List<String> sndngIDs);
}