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.
110 lines
3.8 KiB
Java
110 lines
3.8 KiB
Java
package cokr.xit.interfaces.smg.dao;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
|
|
|
import cokr.xit.foundation.component.AbstractMapper;
|
|
import cokr.xit.interfaces.smg.Petition;
|
|
|
|
/**국민 신문고 수신 민원 파일의 연계를 위한 DAO
|
|
* @author mjkhan
|
|
*/
|
|
@Mapper("smgMapper")
|
|
public interface SmgMapper extends AbstractMapper {
|
|
/**지정하는 인터페이스 키의 수신 민원 목록을 반환한다.
|
|
* @param interfaceSequences 인터페이스 키
|
|
* @return 수신 민원 목록
|
|
*/
|
|
List<Petition> selectPetitions(List<String> interfaceSequences);
|
|
|
|
/**지정하는 인터페이스 키의 수신 민원 목록을 반환한다.
|
|
* @param interfaceSequences 인터페이스 키
|
|
* @return 수신 민원 목록
|
|
*/
|
|
default List<Petition> selectPetitions(String... interfaceSequences) {
|
|
return selectPetitions(!isEmpty(interfaceSequences) ? Arrays.asList(interfaceSequences) : null);
|
|
}
|
|
|
|
/**민원 정보를 등록한다.
|
|
* @param petition 민원 정보
|
|
* @return 저장된 정보 수
|
|
*/
|
|
int insertPetition(Petition petition);
|
|
|
|
/**민원의 첨부파일 정보를 등록한다.
|
|
* @param petition 민원 정보
|
|
* @return 저장된 정보 수
|
|
*/
|
|
int insertFile(Petition petition);
|
|
|
|
/**수신 민원 정보와 민원의 첨부 파일 정보를 등록한다.
|
|
* @param petition 수신 민원 정보
|
|
* @return 저장된 정보 수
|
|
*/
|
|
default int create(Petition petition) {
|
|
int affected = insertPetition(petition);
|
|
insertFile(petition);
|
|
return affected;
|
|
}
|
|
|
|
/**민원의 답변/반송 목록을 반환한다.
|
|
* 인터페이스 키를 지정하면 해당하는 민원의 답변/반송 목록을 반환한다.
|
|
* 인터페이스 키를 지정하지 않으면 전송 대상이 되는 답변/반송 목록을 반환한다.
|
|
* @param interfaceSequences 민원의 인터페이스 키
|
|
* @return 민원의 답변/반송 목록
|
|
*/
|
|
List<Petition> selectReplies(List<String> interfaceSequences);
|
|
|
|
/**인터페이스 키를 지정하면 해당하는 민원의 답변/반송 목록을 반환한다.<br />
|
|
* 인터페이스 키를 지정하지 않으면 전송 대상이 되는 답변/반송 목록을 반환한다.
|
|
* @param interfaceSequences 민원의 인터페이스 키
|
|
* @return 민원의 답변/반송 목록
|
|
*/
|
|
default List<Petition> selectReplies(String... interfaceSequences) {
|
|
return selectReplies(!isEmpty(interfaceSequences) ? Arrays.asList(interfaceSequences) : null);
|
|
}
|
|
|
|
/**민원의 답변/반송 정보를 등록한다.
|
|
* @param params 파라미터
|
|
* <ul><li>reply - 답변/반송 정보</li>
|
|
* <li>currentUser - 현재 사용자 정보</li>
|
|
* </ul>
|
|
* @return 저장된 정보수
|
|
*/
|
|
int insertReply(Map<String, Object> params);
|
|
|
|
/**민원의 답변/반송 정보를 등록한다.
|
|
* @param reply 답변/반송 정보
|
|
* @return 저장된 정보수
|
|
*/
|
|
default int createReply(Petition reply) {
|
|
return insertReply(
|
|
params().set("reply", reply)
|
|
);
|
|
}
|
|
|
|
/**민원 답변/반송 파일 생성 후 완료/전송 상태를 업데이트 한다.
|
|
* @param params 파라미터
|
|
* <ul><li>replies - 답변/반송 정보 목록</li>
|
|
* <li>now - 생성 일시(yyyyMMddhhmmss)</li>
|
|
* </ul>
|
|
* @return 저장된 정보 수
|
|
*/
|
|
int updateSendStatus(Map<String, Object> params);
|
|
|
|
/**민원 답변/반송 파일 생성 후 완료/전송 상태를 업데이트 한다.
|
|
* @param replies 답변/반송 정보 목록
|
|
* @param now 생성 일시(yyyyMMddhhmmss)
|
|
* @return 저장된 정보 수
|
|
*/
|
|
default int updateSendStatus(List<Petition> replies, String now) {
|
|
if (isEmpty(replies)) return 0;
|
|
return updateSendStatus(params()
|
|
.set("replies", replies)
|
|
.set("now", now)
|
|
);
|
|
}
|
|
} |