주소록 그룹삭제 기능 수정 -> grp 테이블에 delete y 처리 후 select에서 where delete='N' 만

가져오게 수정
This commit is contained in:
hehih 2024-09-19 19:09:27 +09:00
parent 6c43799f2b
commit 259f27d6cc
9 changed files with 7196 additions and 7165 deletions

View File

@ -1,138 +1,140 @@
package itn.let.mjo.addr.service;
import java.util.List;
import itn.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class AddrVO extends ComDefaultVO{
private static final long serialVersionUID = 1L;
private int totcnt = 0;
private String addrId; // 주소록ID
private String addrGrpId; // 주소록그룹ID
private String[] addrGrpIds; // 주소록그룹IDs
private String mberId; // 일반회원ID
private String addrNm; // 주소록 이름
private String addrPhoneNo; // 휴대폰번호
private String addrInfo1; // 치환1
private String addrInfo2; // 치환2
private String addrInfo3; // 치환3
private String addrInfo4; // 치환4
private String addrComment; // 메모
private String deleteYn; // 삭제여부
private String addrGrpNm; // 주소록 그룹명
private String grpDelete; // 그룹삭제여부
private String type; // 구분
private String bookmark; // 자주보내는번호
private String recvStatus; // 수신여부(S:직접등록, Y:수신승인, W:수신대기, N:수신거부)
private String[] mergeGrps; // 합칠 그룹들 id
private String[] sendGrps; // 내보낼 그룹들 id
private String[] copyAddrs; // 내보낼 주소록들 id
private String[] addrIds;
private String[] addrPhones;
private String[] addrNms;
private String[] addrInfo1s;
private String[] addrInfo2s;
private String[] addrInfo3s;
private String[] addrInfo4s;
private String searchAddrGrpId;
private String startKeyword;
private String searchStartDate;
private String searchEndDate;
private String[] excelDownTitles;
@SuppressWarnings("rawtypes")
private List addrIdList;
String[] phoneList;
String[] nameList;
String[] info1List;
String[] info2List;
String[] info3List;
String[] info4List;
String[] memoList;
private int dupliCnt;
public String getFieldValue(String field) {
if("addrPhoneNo".equals(field)) {
return this.addrPhoneNo;
} else if("addrNm".equals(field)) {
return this.addrNm;
} else if("addrGrpNm".equals(field)) {
return this.addrGrpNm;
} else if("addrComment".equals(field)) {
return this.addrComment;
} else if("addrInfo1".equals(field)) {
return this.addrInfo1;
} else if("addrInfo2".equals(field)) {
return this.addrInfo2;
} else if("addrInfo3".equals(field)) {
return this.addrInfo3;
} else if("addrInfo4".equals(field)) {
return this.addrInfo4;
}
return "";
}
public String getHeaderName(String field) {
if("addrPhoneNo".equals(field)) {
return "휴대폰번호";
} else if("addrNm".equals(field)) {
return "이름";
} else if("addrGrpNm".equals(field)) {
return "주소록그룹명";
} else if("addrComment".equals(field)) {
return "메모";
} else if("addrInfo1".equals(field)) {
return "[*1*]";
} else if("addrInfo2".equals(field)) {
return "[*2*]";
} else if("addrInfo3".equals(field)) {
return "[*3*]";
} else if("addrInfo4".equals(field)) {
return "[*4*]";
}
return "";
}
private String addrGroupNm;
private String addrPhone;
private String addrName;
private String addrRep1;
private String addrRep2;
private String addrRep3;
private String addrRep4;
private int page = 1; // 기본 설정
private int size = 10; // 기본 설정
private int offset; // 기본 설정
private String name;
private String phone;
private String rep1;
private String rep2;
private String rep3;
private String rep4;
private int batchSize;
private int lastProcessedId;
}
package itn.let.mjo.addr.service;
import java.util.List;
import itn.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class AddrVO extends ComDefaultVO{
private static final long serialVersionUID = 1L;
private int totcnt = 0;
private String addrId; // 주소록ID
private String addrGrpId; // 주소록그룹ID
private String[] addrGrpIds; // 주소록그룹IDs
private String mberId; // 일반회원ID
private String addrNm; // 주소록 이름
private String addrPhoneNo; // 휴대폰번호
private String addrInfo1; // 치환1
private String addrInfo2; // 치환2
private String addrInfo3; // 치환3
private String addrInfo4; // 치환4
private String addrComment; // 메모
private String deleteYn; // 삭제여부
private String addrGrpNm; // 주소록 그룹명
private String grpDelete; // 그룹삭제여부
private String type; // 구분
private String bookmark; // 자주보내는번호
private String recvStatus; // 수신여부(S:직접등록, Y:수신승인, W:수신대기, N:수신거부)
private String[] mergeGrps; // 합칠 그룹들 id
private String[] sendGrps; // 내보낼 그룹들 id
private String[] copyAddrs; // 내보낼 주소록들 id
private String[] addrIds;
private String[] addrPhones;
private String[] addrNms;
private String[] addrInfo1s;
private String[] addrInfo2s;
private String[] addrInfo3s;
private String[] addrInfo4s;
private String searchAddrGrpId;
private String startKeyword;
private String searchStartDate;
private String searchEndDate;
private String[] excelDownTitles;
@SuppressWarnings("rawtypes")
private List addrIdList;
String[] phoneList;
String[] nameList;
String[] info1List;
String[] info2List;
String[] info3List;
String[] info4List;
String[] memoList;
private int dupliCnt;
public String getFieldValue(String field) {
if("addrPhoneNo".equals(field)) {
return this.addrPhoneNo;
} else if("addrNm".equals(field)) {
return this.addrNm;
} else if("addrGrpNm".equals(field)) {
return this.addrGrpNm;
} else if("addrComment".equals(field)) {
return this.addrComment;
} else if("addrInfo1".equals(field)) {
return this.addrInfo1;
} else if("addrInfo2".equals(field)) {
return this.addrInfo2;
} else if("addrInfo3".equals(field)) {
return this.addrInfo3;
} else if("addrInfo4".equals(field)) {
return this.addrInfo4;
}
return "";
}
public String getHeaderName(String field) {
if("addrPhoneNo".equals(field)) {
return "휴대폰번호";
} else if("addrNm".equals(field)) {
return "이름";
} else if("addrGrpNm".equals(field)) {
return "주소록그룹명";
} else if("addrComment".equals(field)) {
return "메모";
} else if("addrInfo1".equals(field)) {
return "[*1*]";
} else if("addrInfo2".equals(field)) {
return "[*2*]";
} else if("addrInfo3".equals(field)) {
return "[*3*]";
} else if("addrInfo4".equals(field)) {
return "[*4*]";
}
return "";
}
private String addrGroupNm;
private String addrPhone;
private String addrName;
private String addrRep1;
private String addrRep2;
private String addrRep3;
private String addrRep4;
private int page = 1; // 기본 설정
private int size = 10; // 기본 설정
private int offset; // 기본 설정
private String name;
private String phone;
private String rep1;
private String rep2;
private String rep3;
private String rep4;
private int batchSize;
private int lastProcessedId;
private int startIndex;
private int endIndex;
}

View File

@ -1,296 +1,296 @@
package itn.let.mjo.addr.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.addr.service.AddrVO;
/**
* 주소록 관리를 위한 데이터 접근 클래스
* @author ITN
* @since 2021.04.08
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.04.08 ITN 최초 생성
* </pre>
*/
@Repository("AddrDAO")
public class AddrDAO extends EgovAbstractDAO {
/**
* 주소록 목록
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrList(AddrVO addrVO) throws Exception {
return (List<AddrVO>) list("AddrDAO.selectAddrList", addrVO);
}
public int selectAddrListCount(AddrVO addrVO) throws Exception{
return (int)select("AddrDAO.selectAddrListCount", addrVO);
}
/**
* 주소록 목록(속도개선)
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrNewList(AddrVO addrVO) throws Exception {
return (List<AddrVO>) list("AddrDAO.selectAddrNewList", addrVO);
}
/**
* 주소록 상세보기
* @param addrVO
* @return
* @throws Exception
*/
public AddrVO selectAddrDetail(AddrVO addrVO) throws Exception {
return (AddrVO) select("AddrDAO.selectAddrDetail", addrVO);
}
/**
* 주소록 등록
* @param addrVO
* @throws Exception
*/
public void insertAddr(AddrVO addrVO) throws Exception {
insert("AddrDAO.insertAddr", addrVO);
}
/**
* 주소록 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddr", addrVO);
}
/**
* 주소록 그룹 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddrGrp(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddrGrp", addrVO);
}
/**
* 주소록 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateMemoAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateMemoAddr", addrVO);
}
/**
* 주소록 수정 By Admin
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddrByAdmin(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddrByAdmin", addrVO);
}
/**
* 주소록 삭제
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddr(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddr", addrVO);
}
/**
* 주소록 삭제 By Admin
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddrByAdmin(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrByAdmin", addrVO);
}
/**
* 주소록 삭제 By Admin By Grpid
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddrByAdminByGrpid(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrByAdminByGrpid", addrVO);
}
/**
* 자주찾는번호 주소록 리스트 불러오기
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrBasicGrpList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrBasicGrpList", addrVO);
}
/**
* 주소록 전체 개수 조회
* @param addrVO
* @return
* @throws Exception
*/
public int selectAddrTotalCount(AddrVO addrVO) throws Exception{
return (int)select("AddrDAO.selectAddrTotalCount", addrVO);
}
/**
* 주소록 복사하기 (select insert)
* @param addrVO
* @throws Exception
*/
public void insertCopyAddr(AddrVO addrVO) throws Exception{
update("AddrDAO.insertCopyAddr", addrVO);
}
/**
* 그룹 합치기 - 주소록 데이터 그룹id 변경
* @param addrVO
* @throws Exception
*/
public void updateAddrsGrp(AddrVO addrVO) throws Exception{
update("AddrDAO.updateAddrsGrp", addrVO);
}
/**
* 주소록 등록 건수 정보 불러오기
* @param addrVO
* @throws Exception
*/
public List<?> selectAddrTotCntInfByUserId(AddrVO addrVO) throws Exception{
return (List<?>) list("AddrDAO.selectAddrTotCntInfByUserId", addrVO);
}
public int insertAddrList(List<AddrVO> addrList) throws Exception{
return update("AddrDAO.insertAddrList", addrList);
}
public int selectDuplAddrCnt(AddrVO addrVO) throws Exception{
return (Integer)select("AddrDAO.selectDuplAddrCnt", addrVO);
}
/**
* 주소록 그룹에 속한 주소록의 전화번호 조회(중복체크용도)
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectPhoneNumInAddrGroup(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectPhoneNumInAddrGroup", addrVO);
}
public void insertCopyAddrs(AddrVO addrVO) throws Exception{
insert("AddrDAO.insertCopyAddrs", addrVO);
}
/**
* 선택한 주소록 문자전송 화면으로 보내기
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDataList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDataList", addrVO);
}
// 주소록 그룹별 중복 연락처 삭제
public int deleteAddrDupliList(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliList", addrVO);
}
// 주소록 그룹별 중복 연락처 삭제
public int deleteAddrDupliListByGrpnm(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliListByGrpnm", addrVO);
}
// 주소록 전체 중복 연락처 한개만 남기고 삭제
public int deleteAddrDupliListByAll(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliListByAll", addrVO);
}
// 주소록 그룹별 중복 연락처 리스트 불러오기
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliList", addrVO);
}
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliListByGrpnm(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliListByGrpnm", addrVO);
}
// 주소록 전체 중복 연락처
public int selectAddrDupliListByAllCnt(AddrVO addrVO) throws Exception{
return (Integer)select("AddrDAO.selectAddrDupliListByAllCnt", addrVO);
}
// 주소록 전체 중복 연락처 목록
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliListByAll(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliListByAll", addrVO);
}
// TEMP 주소록 중복 연락처 목록
@SuppressWarnings("unchecked")
public List<AddrVO> selectTempAddrDupliList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectTempAddrDupliList", addrVO);
}
// TEMP 주소록 삭제
public int deleteTempAddr(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteTempAddr", addrVO);
}
// TEMP 주소록 대량등록
public int insertTempAddrList(List<AddrVO> addrList) throws Exception{
return update("AddrDAO.insertTempAddrList", addrList);
}
// 주소록 대량등록 By Temp 주소록
public int insertAddrByTempAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.insertAddrByTempAddr", addrVO);
}
public int getAddrCount(AddrVO addrVO) {
return (Integer)select("AddrDAO.getAddrCount", addrVO);
}
}
package itn.let.mjo.addr.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.addr.service.AddrVO;
/**
* 주소록 관리를 위한 데이터 접근 클래스
* @author ITN
* @since 2021.04.08
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.04.08 ITN 최초 생성
* </pre>
*/
@Repository("AddrDAO")
public class AddrDAO extends EgovAbstractDAO {
/**
* 주소록 목록
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrList(AddrVO addrVO) throws Exception {
return (List<AddrVO>) list("AddrDAO.selectAddrList", addrVO);
}
public int selectAddrListCount(AddrVO addrVO) throws Exception{
return (int)select("AddrDAO.selectAddrListCount", addrVO);
}
/**
* 주소록 목록(속도개선)
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrNewList(AddrVO addrVO) throws Exception {
return (List<AddrVO>) list("AddrDAO.selectAddrNewList", addrVO);
}
/**
* 주소록 상세보기
* @param addrVO
* @return
* @throws Exception
*/
public AddrVO selectAddrDetail(AddrVO addrVO) throws Exception {
return (AddrVO) select("AddrDAO.selectAddrDetail", addrVO);
}
/**
* 주소록 등록
* @param addrVO
* @throws Exception
*/
public void insertAddr(AddrVO addrVO) throws Exception {
insert("AddrDAO.insertAddr", addrVO);
}
/**
* 주소록 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddr", addrVO);
}
/**
* 주소록 그룹 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddrGrp(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddrGrp", addrVO);
}
/**
* 주소록 수정
* @param addrVO
* @return
* @throws Exception
*/
public int updateMemoAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateMemoAddr", addrVO);
}
/**
* 주소록 수정 By Admin
* @param addrVO
* @return
* @throws Exception
*/
public int updateAddrByAdmin(AddrVO addrVO) throws Exception {
return update("AddrDAO.updateAddrByAdmin", addrVO);
}
/**
* 주소록 삭제
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddr(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddr", addrVO);
}
/**
* 주소록 삭제 By Admin
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddrByAdmin(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrByAdmin", addrVO);
}
/**
* 주소록 삭제 By Admin By Grpid
* @param addrVO
* @return
* @throws Exception
*/
public int deleteAddrByAdminByGrpid(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrByAdminByGrpid", addrVO);
}
/**
* 자주찾는번호 주소록 리스트 불러오기
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrBasicGrpList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrBasicGrpList", addrVO);
}
/**
* 주소록 전체 개수 조회
* @param addrVO
* @return
* @throws Exception
*/
public int selectAddrTotalCount(AddrVO addrVO) throws Exception{
return (int)select("AddrDAO.selectAddrTotalCount", addrVO);
}
/**
* 주소록 복사하기 (select insert)
* @param addrVO
* @throws Exception
*/
public void insertCopyAddr(AddrVO addrVO) throws Exception{
update("AddrDAO.insertCopyAddr", addrVO);
}
/**
* 그룹 합치기 - 주소록 데이터 그룹id 변경
* @param addrVO
* @throws Exception
*/
public void updateAddrsGrp(AddrVO addrVO) throws Exception{
update("AddrDAO.updateAddrsGrp", addrVO);
}
/**
* 주소록 등록 건수 정보 불러오기
* @param addrVO
* @throws Exception
*/
public List<?> selectAddrTotCntInfByUserId(AddrVO addrVO) throws Exception{
return (List<?>) list("AddrDAO.selectAddrTotCntInfByUserId", addrVO);
}
public int insertAddrList(List<AddrVO> addrList) throws Exception{
return update("AddrDAO.insertAddrList", addrList);
}
public int selectDuplAddrCnt(AddrVO addrVO) throws Exception{
return (Integer)select("AddrDAO.selectDuplAddrCnt", addrVO);
}
/**
* 주소록 그룹에 속한 주소록의 전화번호 조회(중복체크용도)
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectPhoneNumInAddrGroup(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectPhoneNumInAddrGroup", addrVO);
}
public void insertCopyAddrs(AddrVO addrVO) throws Exception{
insert("AddrDAO.insertCopyAddrs", addrVO);
}
/**
* 선택한 주소록 문자전송 화면으로 보내기
* @param addrVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDataList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDataList", addrVO);
}
// 주소록 그룹별 중복 연락처 삭제
public int deleteAddrDupliList(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliList", addrVO);
}
// 주소록 그룹별 중복 연락처 삭제
public int deleteAddrDupliListByGrpnm(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliListByGrpnm", addrVO);
}
// 주소록 전체 중복 연락처 한개만 남기고 삭제
public int deleteAddrDupliListByAll(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteAddrDupliListByAll", addrVO);
}
// 주소록 그룹별 중복 연락처 리스트 불러오기
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliList", addrVO);
}
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliListByGrpnm(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliListByGrpnm", addrVO);
}
// 주소록 전체 중복 연락처
public int selectAddrDupliListByAllCnt(AddrVO addrVO) throws Exception{
return (Integer)select("AddrDAO.selectAddrDupliListByAllCnt", addrVO);
}
// 주소록 전체 중복 연락처 목록
@SuppressWarnings("unchecked")
public List<AddrVO> selectAddrDupliListByAll(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectAddrDupliListByAll", addrVO);
}
// TEMP 주소록 중복 연락처 목록
@SuppressWarnings("unchecked")
public List<AddrVO> selectTempAddrDupliList(AddrVO addrVO) throws Exception{
return (List<AddrVO>) list("AddrDAO.selectTempAddrDupliList", addrVO);
}
// TEMP 주소록 삭제
public int deleteTempAddr(AddrVO addrVO) throws Exception {
return delete("AddrDAO.deleteTempAddr", addrVO);
}
// TEMP 주소록 대량등록
public int insertTempAddrList(List<AddrVO> addrList) throws Exception{
return update("AddrDAO.insertTempAddrList", addrList);
}
// 주소록 대량등록 By Temp 주소록
public int insertAddrByTempAddr(AddrVO addrVO) throws Exception {
return update("AddrDAO.insertAddrByTempAddr", addrVO);
}
public int getAddrCount(AddrVO addrVO) {
return (Integer)select("AddrDAO.getAddrCount", addrVO);
}
}

View File

@ -1,120 +1,124 @@
package itn.let.mjo.addr.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.addr.service.AddrGroupVO;
/**
* 주소록 관리를 위한 데이터 접근 클래스
* @author ITN
* @since 2021.04.08
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.04.08 ITN 최초 생성
* </pre>
*/
@Repository("AddrGroupDAO")
public class AddrGroupDAO extends EgovAbstractDAO {
/**
* 주소록 그룹 목록
* @param addrGroupVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrGroupVO> selectAddrGroupList(AddrGroupVO addrGroupVO) throws Exception {
return (List<AddrGroupVO>) list("AddrGroupDAO.selectAddrGroupList", addrGroupVO);
}
/**
* 주소록 그룹 상세보기
* @param addrGroupVO
* @return
* @throws Exception
*/
public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupDetail", addrGroupVO);
}
// 주소록 그룹 카운트 조회(전체)
public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupTotCnt", addrGroupVO);
}
// 주소록 그룹 카운트 조회(그룹미지정)
public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupNogrpCnt", addrGroupVO);
}
// 주소록 그룹 카운트 조회(자주보내는 번호)
public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupBookmarkCnt", addrGroupVO);
}
/**
* 주소록 그룹 등록
* @param addrGroupVO
* @throws Exception
*/
public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return (String) insert("AddrGroupDAO.insertAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 수정
* @param addrGroupVO
* @return
* @throws Exception
*/
public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return update("AddrGroupDAO.updateAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 삭제
* @param addrGroupVO
* @return
* @throws Exception
*/
public int deleteAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return delete("AddrGroupDAO.deleteAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 삭제
* @param addrGroupVO
* @return
* @throws Exception
*/
public int deleteAddrGroupByAdmin(AddrGroupVO addrGroupVO) throws Exception {
return delete("AddrGroupDAO.deleteAddrGroupByAdmin", addrGroupVO);
}
/**
* 주소록그룹명 중복체크
* @param addrGroupVO
* @return
*/
public int selectDuplAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception{
return (Integer)select("AddrGroupDAO.selectDuplAddrGroupCnt", addrGroupVO);
}
/**
* 주소록 그룹 다음 순서번호 확인
* @param addrGroupVO
* @return
*/
public int selectMaxOrderNumber(AddrGroupVO addrGroupVO) throws Exception{
return (Integer)select("AddrGroupDAO.selectMaxOrderNumber", addrGroupVO);
}
}
package itn.let.mjo.addr.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.addr.service.AddrGroupVO;
/**
* 주소록 관리를 위한 데이터 접근 클래스
* @author ITN
* @since 2021.04.08
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.04.08 ITN 최초 생성
* </pre>
*/
@Repository("AddrGroupDAO")
public class AddrGroupDAO extends EgovAbstractDAO {
/**
* 주소록 그룹 목록
* @param addrGroupVO
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<AddrGroupVO> selectAddrGroupList(AddrGroupVO addrGroupVO) throws Exception {
return (List<AddrGroupVO>) list("AddrGroupDAO.selectAddrGroupList", addrGroupVO);
}
/**
* 주소록 그룹 상세보기
* @param addrGroupVO
* @return
* @throws Exception
*/
public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupDetail", addrGroupVO);
}
// 주소록 그룹 카운트 조회(전체)
public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupTotCnt", addrGroupVO);
}
// 주소록 그룹 카운트 조회(그룹미지정)
public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupNogrpCnt", addrGroupVO);
}
// 주소록 그룹 카운트 조회(자주보내는 번호)
public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception {
return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupBookmarkCnt", addrGroupVO);
}
/**
* 주소록 그룹 등록
* @param addrGroupVO
* @throws Exception
*/
public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return (String) insert("AddrGroupDAO.insertAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 수정
* @param addrGroupVO
* @return
* @throws Exception
*/
public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return update("AddrGroupDAO.updateAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 삭제
* @param addrGroupVO
* @return
* @throws Exception
*/
public int deleteAddrGroup(AddrGroupVO addrGroupVO) throws Exception {
return delete("AddrGroupDAO.deleteAddrGroup", addrGroupVO);
}
/**
* 주소록 그룹 삭제
* @param addrGroupVO
* @return
* @throws Exception
*/
public int deleteAddrGroupByAdmin(AddrGroupVO addrGroupVO) throws Exception {
return delete("AddrGroupDAO.deleteAddrGroupByAdmin", addrGroupVO);
}
/**
* 주소록그룹명 중복체크
* @param addrGroupVO
* @return
*/
public int selectDuplAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception{
return (Integer)select("AddrGroupDAO.selectDuplAddrGroupCnt", addrGroupVO);
}
/**
* 주소록 그룹 다음 순서번호 확인
* @param addrGroupVO
* @return
*/
public int selectMaxOrderNumber(AddrGroupVO addrGroupVO) throws Exception{
return (Integer)select("AddrGroupDAO.selectMaxOrderNumber", addrGroupVO);
}
public void deleteAddrGroup_advc(AddrGroupVO addrGroupVO) {
update("AddrGroupDAO.deleteAddrGroup_advc", addrGroupVO);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,183 +1,204 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMap namespace="AddrGroup">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="addrGroupVO" type="itn.let.mjo.addr.service.AddrGroupVO"/>
<!-- 주소록 그룹 목록 조회 -->
<select id="AddrGroupDAO.selectAddrGroupList" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
COUNT(1) OVER() AS totCnt
,A.ADDR_GRP_ID AS addrGrpId
,A.MBER_ID AS mberId
,A.ADDR_GRP_NM AS addrGrpNm
,A.FRST_REGIST_PNTTM AS frstRegistPnttm
,A.DELETE_YN AS deleteYn
,IFNULL(a.GRP_ORDER, '0') AS grpOrder
,(SELECT COUNT(1) FROM MJ_ADDR WHERE ADDR_GRP_ID = A.ADDR_GRP_ID) AS grpCount
FROM
MJ_ADDR_GRP A
LEFT OUTER JOIN
MJ_ADDR_TRANS_HIST B
ON
A.ADDR_GRP_ID = B.ADDR_GRP_ID
WHERE
(B.RECV_STATUS = 'Y' OR B.RECV_STATUS IS NULL)
<isNotEmpty property="mberId">
AND A.MBER_ID = #mberId#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( A.MBER_ID LIKE CONCAT ('%', #searchKeyword#,'%')
OR A.ADDR_GRP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND A.MBER_ID LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND A.ADDR_GRP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
GROUP BY A.ADDR_GRP_ID
<isNotEqual property="siteId" compareValue="admin">
ORDER BY A.GRP_ORDER
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
</isNotEqual>
<isEqual property="siteId" compareValue="admin">
ORDER BY A.ADDR_GRP_ID DESC
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
</isEqual>
<isEqual property="siteId" compareValue="admin">
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</isEqual>
</select>
<!-- 주소록 그룹 상세 조회 -->
<select id="AddrGroupDAO.selectAddrGroupDetail" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
a.ADDR_GRP_ID AS addrGrpId
,a.MBER_ID AS mberId
,a.ADDR_GRP_NM AS addrGrpNm
FROM
MJ_ADDR_GRP a
WHERE 1=1
AND a.ADDR_GRP_ID = #addrGrpId#
</select>
<select id="AddrGroupDAO.selectAddrGroupTotCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
/* AddrGroupDAO.selectAddrGroupTotCnt */
SELECT
COUNT(0) AS addrTotCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL)
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 카운트 조회(그룹미지정) -->
<select id="AddrGroupDAO.selectAddrGroupNogrpCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
COUNT(0) AS nogrpCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND A.ADDR_GRP_ID = '0'
AND A.BOOKMARK = 'N'
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 카운트 조회(그룹미지정) -->
<select id="AddrGroupDAO.selectAddrGroupBookmarkCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
COUNT(0) AS bookmarkCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND A.BOOKMARK = 'Y'
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 등록 -->
<insert id="AddrGroupDAO.insertAddrGroup" parameterClass="addrGroupVO">
INSERT INTO MJ_ADDR_GRP (
MBER_ID
,ADDR_GRP_NM
,GRP_ORDER
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
)VALUES(
#mberId#
,#addrGrpNm#
,#grpOrder#
,NOW()
,#frstRegisterId#
)
<selectKey keyProperty="addrGrpId" resultClass="String">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
<!-- 주소록 그룹수정 -->
<update id="AddrGroupDAO.updateAddrGroup" parameterClass="addrGroupVO">
UPDATE
MJ_ADDR_GRP
SET
ADDR_GRP_NM = #addrGrpNm#
,GRP_ORDER = #grpOrder#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
MBER_ID = #mberId#
AND
ADDR_GRP_ID = #addrGrpId#
</update>
<!-- 주소록 그룹삭제 -->
<delete id="AddrGroupDAO.deleteAddrGroup" parameterClass="addrGroupVO">
DELETE FROM
MJ_ADDR_GRP
WHERE
MBER_ID = #mberId#
<isEmpty property="mergeGrps">
AND
ADDR_GRP_ID = #addrGrpId#
</isEmpty>
<isNotEmpty property="mergeGrps">
AND
ADDR_GRP_ID in (#mergeGrps#)
</isNotEmpty>
</delete>
<!-- 주소록 그룹삭제 By Admin -->
<delete id="AddrGroupDAO.deleteAddrGroupByAdmin" parameterClass="addrGroupVO">
DELETE FROM
MJ_ADDR_GRP
WHERE ADDR_GRP_ID = #addrGrpId#
</delete>
<!-- 주소록 그룹명 중복확인 -->
<select id="AddrGroupDAO.selectDuplAddrGroupCnt" parameterClass="addrGroupVO" resultClass="int">
SELECT
COUNT(1) usedCnt
FROM
MJ_ADDR_GRP
WHERE
ADDR_GRP_NM = #addrGrpNm#
AND
MBER_ID = #mberId#
</select>
<!-- 주소록 그룹 다음 순서번호 확인 -->
<select id="AddrGroupDAO.selectMaxOrderNumber" parameterClass="addrGroupVO" resultClass="int">
SELECT
IFNULL(MAX(GRP_ORDER),0)+1 nextOrderNumber
FROM
MJ_ADDR_GRP
WHERE
MBER_ID = #mberId#
</select>
</sqlMap>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMap namespace="AddrGroup">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="addrGroupVO" type="itn.let.mjo.addr.service.AddrGroupVO"/>
<!-- 주소록 그룹 목록 조회 -->
<select id="AddrGroupDAO.selectAddrGroupList" parameterClass="addrGroupVO" resultClass="addrGroupVO">
/* AddrGroupDAO.selectAddrGroupList */
SELECT
COUNT(1) OVER() AS totCnt
,A.ADDR_GRP_ID AS addrGrpId
,A.MBER_ID AS mberId
,A.ADDR_GRP_NM AS addrGrpNm
,A.FRST_REGIST_PNTTM AS frstRegistPnttm
,A.DELETE_YN AS deleteYn
,IFNULL(a.GRP_ORDER, '0') AS grpOrder
,(SELECT COUNT(1) FROM MJ_ADDR WHERE ADDR_GRP_ID = A.ADDR_GRP_ID) AS grpCount
FROM
MJ_ADDR_GRP A
LEFT OUTER JOIN
MJ_ADDR_TRANS_HIST B
ON
A.ADDR_GRP_ID = B.ADDR_GRP_ID
WHERE
(B.RECV_STATUS = 'Y' OR B.RECV_STATUS IS NULL)
<isNotEmpty property="mberId">
AND A.MBER_ID = #mberId#
</isNotEmpty>
AND A.DELETE_YN = 'N'
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( A.MBER_ID LIKE CONCAT ('%', #searchKeyword#,'%')
OR A.ADDR_GRP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND A.MBER_ID LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND A.ADDR_GRP_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
GROUP BY A.ADDR_GRP_ID
<isNotEqual property="siteId" compareValue="admin">
ORDER BY A.GRP_ORDER
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
</isNotEqual>
<isEqual property="siteId" compareValue="admin">
ORDER BY A.ADDR_GRP_ID DESC
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
</isEqual>
<isEqual property="siteId" compareValue="admin">
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</isEqual>
</select>
<!-- 주소록 그룹 상세 조회 -->
<select id="AddrGroupDAO.selectAddrGroupDetail" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
a.ADDR_GRP_ID AS addrGrpId
,a.MBER_ID AS mberId
,a.ADDR_GRP_NM AS addrGrpNm
FROM
MJ_ADDR_GRP a
WHERE 1=1
AND a.ADDR_GRP_ID = #addrGrpId#
</select>
<select id="AddrGroupDAO.selectAddrGroupTotCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
/* AddrGroupDAO.selectAddrGroupTotCnt */
SELECT
COUNT(0) AS addrTotCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL)
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 카운트 조회(그룹미지정) -->
<select id="AddrGroupDAO.selectAddrGroupNogrpCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
/* AddrGroupDAO.selectAddrGroupNogrpCnt */
SELECT
COUNT(0) AS nogrpCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND A.ADDR_GRP_ID = '0'
AND A.BOOKMARK = 'N'
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 카운트 조회(그룹미지정) -->
<select id="AddrGroupDAO.selectAddrGroupBookmarkCnt" parameterClass="addrGroupVO" resultClass="addrGroupVO">
SELECT
COUNT(0) AS bookmarkCnt
FROM MJ_ADDR A
WHERE A.MBER_ID = #mberId#
AND A.BOOKMARK = 'Y'
AND A.DELETE_YN = 'N'
</select>
<!-- 주소록 그룹 등록 -->
<insert id="AddrGroupDAO.insertAddrGroup" parameterClass="addrGroupVO">
INSERT INTO MJ_ADDR_GRP (
MBER_ID
,ADDR_GRP_NM
,GRP_ORDER
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
)VALUES(
#mberId#
,#addrGrpNm#
,#grpOrder#
,NOW()
,#frstRegisterId#
)
<selectKey keyProperty="addrGrpId" resultClass="String">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
<!-- 주소록 그룹수정 -->
<update id="AddrGroupDAO.updateAddrGroup" parameterClass="addrGroupVO">
UPDATE
MJ_ADDR_GRP
SET
ADDR_GRP_NM = #addrGrpNm#
,GRP_ORDER = #grpOrder#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
MBER_ID = #mberId#
AND
ADDR_GRP_ID = #addrGrpId#
</update>
<!-- 주소록 그룹삭제 -->
<delete id="AddrGroupDAO.deleteAddrGroup" parameterClass="addrGroupVO">
DELETE FROM
MJ_ADDR_GRP
WHERE
MBER_ID = #mberId#
<isEmpty property="mergeGrps">
AND
ADDR_GRP_ID = #addrGrpId#
</isEmpty>
<isNotEmpty property="mergeGrps">
AND
ADDR_GRP_ID in (#mergeGrps#)
</isNotEmpty>
</delete>
<!-- 주소록 그룹삭제 -->
<delete id="AddrGroupDAO.deleteAddrGroup_advc" parameterClass="addrGroupVO">
/* AddrGroupDAO.deleteAddrGroup_advc*/
UPDATE
MJ_ADDR_GRP
SET
DELETE_YN = 'Y'
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
MBER_ID = #mberId#
AND
ADDR_GRP_ID = #addrGrpId#
</delete>
<!-- 주소록 그룹삭제 By Admin -->
<delete id="AddrGroupDAO.deleteAddrGroupByAdmin" parameterClass="addrGroupVO">
DELETE FROM
MJ_ADDR_GRP
WHERE ADDR_GRP_ID = #addrGrpId#
</delete>
<!-- 주소록 그룹명 중복확인 -->
<select id="AddrGroupDAO.selectDuplAddrGroupCnt" parameterClass="addrGroupVO" resultClass="int">
SELECT
COUNT(1) usedCnt
FROM
MJ_ADDR_GRP
WHERE
ADDR_GRP_NM = #addrGrpNm#
AND
MBER_ID = #mberId#
</select>
<!-- 주소록 그룹 다음 순서번호 확인 -->
<select id="AddrGroupDAO.selectMaxOrderNumber" parameterClass="addrGroupVO" resultClass="int">
SELECT
IFNULL(MAX(GRP_ORDER),0)+1 nextOrderNumber
FROM
MJ_ADDR_GRP
WHERE
MBER_ID = #mberId#
</select>
</sqlMap>

File diff suppressed because it is too large Load Diff