package cokr.xit.fims.sprt.dao;

import java.util.Map;

import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;

/** 업무지원 - 개별 총정보 DAO
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-08-18	JoJH 최초 작성
* ================================
* </pre>
*/
@Mapper("totalInfoMapper")
public interface TotalInfoMapper extends AbstractMapper {

	/**단속 ID의 개별총정보를 반환한다.
	 * @param crdnId 단속 ID
	 * @return 개별총정보
	 */
	DataObject selectCrdnInfo(SprtQuery req);

	/**단속 ID의 단속, 납부자, 부과 정보를 반환한다.
	 * @param crdnId 단속 아이디
	 * @return 단속, 납부자, 부과 정보
	 */
	DataObject selectCrdnPayerInfo(SprtQuery req);

	/**단속 대장 첨부 파일수 정보를 수정한다.
	 * @param params 파라미터
	 * <ul><li>"crdn" - 단속 대장</li>
	 *     <li>"currentUser" - 현재 접속한 사용자</li>
	 * </ul>
	 * @return 저장된 정보수
	 */
	int updateCrdnAtchFileCnt(Map<String, Object> params);

	/**단속 대장 첨부 파일수 정보를 수정한다.
	 * @param crdn 단속 대장
	 * @return 저장 여부
	 * <ul><li>저장됐으면 true</li>
	 *     <li>그렇지 않으면 false</li>
	 * </ul>
	 */
	default boolean updateCrdnAtchFileCnt(Crdn crdn) {
		return crdn != null && updateCrdnAtchFileCnt(params().set("crdn", crdn)) == 1;
	}

}
