package cokr.xit.fims.sprt.service;

import java.util.List;
import java.util.Map;

import cokr.xit.base.file.FileInfo;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.foundation.data.DataObject;

/**개별 총정보 서비스 인터페이스.
 *
 * <p>상세 설명:
 *
 * <pre>
 * ============ 변경 이력 ============
 * 2023-08-18	JoJH 최초 작성
 * ================================
 * </pre>
 */
public interface Sprt02Service {

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

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

	/**단속 ID의 단속, 납부자, 부과 정보를 반환한다.
	 * @param crdnId 단속 ID
	 * @return 단속, 납부자, 부과 정보
	 */
	List<DataObject> getCrdnFileList(SprtQuery req);

	/** 단속 사진에 대한 정보를 수정한다.
	 * @param crdn 단속 대장, newFileInfoList 업로드 파일 목록
	 * @return 저장 메시지
	 */
	String updateCrdnImageFile(Crdn crdn, List<FileInfo> newFileInfoList);

	/** 단속 사진에 대한 정보를 삭제한다.
	 * @param crdnId 단속 Id, atchFileCnt 첨부 파일 갯수, fileIDs 파일 IDs
	 * @return 저장 메시지
	 */
	String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs);

}
