시군구, 부서 관리 관련 소스 파일명 변경
parent
c3eb6cfeaf
commit
3c3b5efa1a
@ -0,0 +1,58 @@
|
||||
package cokr.xit.applib.ogdp;
|
||||
|
||||
import cokr.xit.foundation.component.QueryRequest;
|
||||
|
||||
public class OgdpQuery extends QueryRequest {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String sggCd; // 시군구 코드
|
||||
private String deptCd; // 부서 코드
|
||||
private String instCd; // 기관 코드
|
||||
private String useYn; // 사용 여부
|
||||
private String delYn; // 삭제 여부
|
||||
|
||||
public String getSggCd() {
|
||||
return ifEmpty(sggCd, () -> null);
|
||||
}
|
||||
|
||||
public <T extends OgdpQuery> T setSggCd(String sggCd) {
|
||||
this.sggCd = sggCd;
|
||||
return self();
|
||||
}
|
||||
|
||||
public String getDeptCd() {
|
||||
return ifEmpty(deptCd, () -> null);
|
||||
}
|
||||
|
||||
public <T extends OgdpQuery> T setDeptCd(String deptCd) {
|
||||
this.deptCd = deptCd;
|
||||
return self();
|
||||
}
|
||||
|
||||
public String getInstCd() {
|
||||
return ifEmpty(instCd, () -> null);
|
||||
}
|
||||
|
||||
public <T extends OgdpQuery> T setInstCd(String instCd) {
|
||||
this.instCd = instCd;
|
||||
return self();
|
||||
}
|
||||
|
||||
public String getUseYn() {
|
||||
return ifEmpty(useYn, () -> null);
|
||||
}
|
||||
|
||||
public <T extends OgdpQuery> T setUseYn(String useYn) {
|
||||
this.useYn = useYn;
|
||||
return self();
|
||||
}
|
||||
|
||||
public String getDelYn() {
|
||||
return ifEmpty(delYn, () -> null);
|
||||
}
|
||||
|
||||
public <T extends OgdpQuery> T setDelYn(String delYn) {
|
||||
this.delYn = delYn;
|
||||
return self();
|
||||
}
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package cokr.xit.applib.ogdp.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.base.user.Department;
|
||||
import cokr.xit.foundation.component.AbstractMapper;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
/** 소속 정보 DAO
|
||||
*
|
||||
* <p>상세 설명:
|
||||
*
|
||||
* <pre>
|
||||
* ============ 변경 이력 ============
|
||||
* 2023-09-15 leebj 최초 작성
|
||||
* ================================
|
||||
* </pre>
|
||||
*/
|
||||
@Mapper("defaultOgdpMapper")
|
||||
public interface DefaultOgdpMapper extends AbstractMapper {
|
||||
|
||||
/**지정한 조건에 따라 부서 목록을 조회하여 반환한다.<br />
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 목록
|
||||
*/
|
||||
List<DataObject> selectDeptList(OgdpQuery req);
|
||||
|
||||
/**지정한 조건에 따라 부서 객체들을 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체 목록
|
||||
*/
|
||||
List<DataObject> selectDepts(OgdpQuery req);
|
||||
|
||||
/**지정한 조건에 따라 부서 객체를 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체
|
||||
*/
|
||||
default DataObject selectDeptInfo(OgdpQuery req) {
|
||||
|
||||
// 기본 정렬
|
||||
if (req.getOrderBy() == null) {
|
||||
req.setOrderBy("D.DEPT_CD DESC");
|
||||
}
|
||||
|
||||
List<DataObject> depts = selectDepts(req);
|
||||
|
||||
return !depts.isEmpty() ? depts.get(0) : null;
|
||||
}
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param params 파라미터
|
||||
* <ul><li>"dept" - 부서 정보</li>
|
||||
* <li>"currentUser" - 현재 접속한 사용자</li>
|
||||
* </ul>
|
||||
* @return 저장된 정보수
|
||||
*/
|
||||
int insertDept(Map<String, Object> params);
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
default boolean insert(Department dept) {
|
||||
return dept != null && insertDept(params().set("dept", dept)) == 1;
|
||||
}
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param params 파라미터
|
||||
* <ul><li>"dept" - 부서 정보</li>
|
||||
* <li>"currentUser" - 현재 접속한 사용자</li>
|
||||
* </ul>
|
||||
* @return 저장된 정보수
|
||||
*/
|
||||
int updateDept(Map<String, Object> params);
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
default boolean update(Department dept) {
|
||||
return dept != null && updateDept(params().set("dept", dept)) == 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cokr.xit.applib.ogdp.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.base.user.Department;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
public interface OgdpService {
|
||||
|
||||
/**지정한 조건에 따라 부서 목록을 조회하여 반환한다.
|
||||
* @param req 부서 정보 조회 조건
|
||||
* @return 부서 목록
|
||||
*/
|
||||
List<DataObject> getDeptList(OgdpQuery req);
|
||||
|
||||
/**지정한 조건에 따라 부서 객체를 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체
|
||||
*/
|
||||
DataObject getDeptInfo(OgdpQuery req);
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
String create(Department dept);
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
String update(Department dept);
|
||||
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package cokr.xit.applib.ogdp.service.bean;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.applib.ogdp.OgdpSigungu;
|
||||
import cokr.xit.applib.ogdp.dao.CmmnOgdpMapper;
|
||||
import cokr.xit.foundation.UserInfo;
|
||||
import cokr.xit.foundation.component.AbstractBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Component("cmmnOgdpBean")
|
||||
public class CmmnOgdpBean extends AbstractBean {
|
||||
|
||||
@Resource(name="cmmnOgdpMapper")
|
||||
private CmmnOgdpMapper cmmnOgdpMapper;
|
||||
|
||||
|
||||
/**userInfo 객체에 해당 사용자가 소속된 시군구,기관,부서 정보를 저장한다.
|
||||
* @param userInfo 사용자 정보
|
||||
* @return
|
||||
*/
|
||||
public void initUserInfo(UserInfo userInfo) {
|
||||
|
||||
DataObject ogdpInfo = cmmnOgdpMapper.selectOgdpInfoOfUser(userInfo.getId());
|
||||
|
||||
Map<String, Object> infoMap = userInfo.getInfo();
|
||||
if(ogdpInfo == null) {
|
||||
infoMap.put("sggCd", "");
|
||||
infoMap.put("sggNm", "");
|
||||
infoMap.put("instCd", "");
|
||||
infoMap.put("instNm", "");
|
||||
infoMap.put("deptCd", "");
|
||||
infoMap.put("deptNm", "");
|
||||
} else {
|
||||
infoMap.put("sggCd", ogdpInfo.string("SGG_CD"));
|
||||
infoMap.put("sggNm", ogdpInfo.string("SGG_NM"));
|
||||
infoMap.put("instCd", ogdpInfo.string("INST_CD"));
|
||||
infoMap.put("instNm", ogdpInfo.string("INST_NM"));
|
||||
infoMap.put("deptCd", ogdpInfo.string("DEPT_CD"));
|
||||
infoMap.put("deptNm", ogdpInfo.string("DEPT_NM"));
|
||||
}
|
||||
|
||||
userInfo.setInfo(infoMap);
|
||||
}
|
||||
|
||||
/**시군구 정보를 수정한다.
|
||||
* @param sgg 시군구
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean updateSgg(OgdpSigungu sgg) {
|
||||
return cmmnOgdpMapper.updateSgg(sgg);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 시군구 객체를 반환한다.
|
||||
* @param req 시군구 조회 조건
|
||||
* @return 시군구 객체
|
||||
*/
|
||||
public DataObject getSggInfo(OgdpQuery req) {
|
||||
return cmmnOgdpMapper.selectSggInfo(req);
|
||||
}
|
||||
|
||||
/**부서 정보를 삭제한다.
|
||||
* @param deptCds 부서 코드 목록
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean remove(String... deptCds) {
|
||||
return cmmnOgdpMapper.setStatus("N", deptCds) > 0 ? true : false;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package cokr.xit.applib.ogdp.service.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.applib.ogdp.dao.CmmnOgdpMapper;
|
||||
import cokr.xit.applib.ogdp.dao.DefaultOgdpMapper;
|
||||
import cokr.xit.base.user.Department;
|
||||
import cokr.xit.base.user.dao.UserMapper;
|
||||
import cokr.xit.foundation.component.AbstractBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Component("defaultOgdpBean")
|
||||
public class DefaultOgdpBean extends AbstractBean {
|
||||
|
||||
@Resource(name="cmmnOgdpMapper")
|
||||
CmmnOgdpMapper cmmnOgdpMapper;
|
||||
|
||||
@Resource(name = "defaultOgdpMapper")
|
||||
private DefaultOgdpMapper defaultOgdpMapper;
|
||||
|
||||
@Resource(name = "userMapper")
|
||||
private UserMapper userMapper;
|
||||
|
||||
|
||||
/**지정한 조건에 따라 부서 목록을 조회하여 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 목록
|
||||
*/
|
||||
public List<DataObject> getDeptList(OgdpQuery req) {
|
||||
return defaultOgdpMapper.selectDeptList(req);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 부서 객체들을 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체 목록
|
||||
*/
|
||||
public List<DataObject> getDepts(OgdpQuery req) {
|
||||
return defaultOgdpMapper.selectDepts(req);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 부서 객체를 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체
|
||||
*/
|
||||
public DataObject getDeptInfo(OgdpQuery req) {
|
||||
return defaultOgdpMapper.selectDeptInfo(req);
|
||||
}
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean create(Department dept) {
|
||||
|
||||
return defaultOgdpMapper.insert(dept);
|
||||
}
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean update(Department dept) {
|
||||
return defaultOgdpMapper.update(dept);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cokr.xit.applib.ogdp.service.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.applib.ogdp.service.OgdpService;
|
||||
import cokr.xit.base.user.Department;
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Service("defaultOgdpService")
|
||||
public class DefaultOgdpServiceBean extends AbstractServiceBean implements OgdpService {
|
||||
|
||||
@Resource(name = "defaultOgdpBean")
|
||||
private DefaultOgdpBean defaultOgdpBean;
|
||||
|
||||
@Override
|
||||
public List<DataObject> getDeptList(OgdpQuery req) {
|
||||
return defaultOgdpBean.getDeptList(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataObject getDeptInfo(OgdpQuery req) {
|
||||
return defaultOgdpBean.getDeptInfo(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String create(Department dept) {
|
||||
return defaultOgdpBean.create(dept) ? "[S]" : "[F]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String update(Department dept) {
|
||||
return defaultOgdpBean.update(dept) ? "[S]" : "[F]";
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package cokr.xit.fims.mngt.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.foundation.component.AbstractMapper;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Mapper("fimsOgdpMapper")
|
||||
public interface FimsOgdpMapper extends AbstractMapper {
|
||||
|
||||
default DataObject selectDeptInfo(OgdpQuery req) {
|
||||
// 기본 정렬
|
||||
if (req.getOrderBy() == null) {
|
||||
req.setOrderBy("D.DEPT_CD DESC");
|
||||
}
|
||||
|
||||
List<DataObject> depts = selectDepts(req);
|
||||
|
||||
return !depts.isEmpty() ? depts.get(0) : null;
|
||||
};
|
||||
|
||||
/**지정한 조건에 따라 부서 객체들을 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체 목록
|
||||
*/
|
||||
List<DataObject> selectDepts(OgdpQuery req);
|
||||
|
||||
List<DataObject> selectDeptList(OgdpQuery query);
|
||||
|
||||
default boolean insertDept(FimsDepartment dept) {
|
||||
return dept != null && insertDept(params().set("dept", dept)) == 1;
|
||||
};
|
||||
|
||||
int insertDept(Map<String, Object> params);
|
||||
|
||||
default boolean updateDept(FimsDepartment dept) {
|
||||
return dept != null && updateDept(params().set("dept", dept)) == 1;
|
||||
}
|
||||
|
||||
int updateDept(Map<String, Object> params);
|
||||
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
package cokr.xit.fims.mngt.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cokr.xit.fims.cmmn.CmmnQuery;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.fims.mngt.FimsSigungu;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
public interface OgdpService {
|
||||
|
||||
String updateSgg(FimsSigungu sgg);
|
||||
|
||||
DataObject getSggInfo(CmmnQuery req);
|
||||
|
||||
|
||||
/**지정한 조건에 따라 부서 목록을 조회하여 반환한다.
|
||||
* @param req 부서 정보 조회 조건
|
||||
* @return 부서 목록
|
||||
*/
|
||||
List<DataObject> getDeptList(CmmnQuery req);
|
||||
|
||||
/**지정한 조건에 따라 부서 객체들을 반환한다.
|
||||
* @param req 부서 정보 조회 조건
|
||||
* @return 부서 객체 목록
|
||||
*/
|
||||
List<DataObject> getDepts(CmmnQuery req);
|
||||
|
||||
/**지정한 조건에 따라 부서 객체를 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체
|
||||
*/
|
||||
DataObject getDeptInfo(CmmnQuery req);
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
String create(FimsDepartment dept);
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
String update(FimsDepartment dept);
|
||||
|
||||
/**부서 정보를 삭제한다.
|
||||
* @param deptCds 부서 코드 목록
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
String remove(String... deptCds);
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package cokr.xit.fims.mngt.service.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.applib.ogdp.service.bean.CmmnOgdpBean;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.fims.mngt.dao.FimsOgdpMapper;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Component("fimsOgdpBean")
|
||||
public class FimsOgdpBean extends CmmnOgdpBean {
|
||||
|
||||
@Resource(name = "fimsOgdpMapper")
|
||||
private FimsOgdpMapper fimsOgdpMapper;
|
||||
|
||||
public DataObject getDeptInfo(OgdpQuery query) {
|
||||
return fimsOgdpMapper.selectDeptInfo(query);
|
||||
}
|
||||
|
||||
public List<DataObject> getDeptList(OgdpQuery query) {
|
||||
return fimsOgdpMapper.selectDeptList(query);
|
||||
}
|
||||
|
||||
|
||||
public boolean createFimsDept(FimsDepartment dept) {
|
||||
return fimsOgdpMapper.insertDept(dept);
|
||||
}
|
||||
|
||||
public boolean updateFimsDept(FimsDepartment dept) {
|
||||
return fimsOgdpMapper.updateDept(dept);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package cokr.xit.fims.mngt.service.bean;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import cokr.xit.applib.ogdp.OgdpQuery;
|
||||
import cokr.xit.applib.ogdp.service.OgdpService;
|
||||
import cokr.xit.base.user.Department;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
|
||||
@Service("fimsOgdpService")
|
||||
public class FimsOgdpServiceBean extends AbstractServiceBean implements OgdpService {
|
||||
|
||||
@Resource(name="fimsOgdpBean")
|
||||
private FimsOgdpBean fimsOgdpBean;
|
||||
|
||||
@Override
|
||||
public List<DataObject> getDeptList(OgdpQuery query) {
|
||||
return fimsOgdpBean.getDeptList(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataObject getDeptInfo(OgdpQuery query) {
|
||||
return fimsOgdpBean.getDeptInfo(query);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String create(Department dept) {
|
||||
if(dept instanceof FimsDepartment) {
|
||||
FimsDepartment fdept = (FimsDepartment) dept;
|
||||
return fimsOgdpBean.createFimsDept(fdept) ? "[S]" : "[F]";
|
||||
}
|
||||
return "[F]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String update(Department dept) {
|
||||
if(dept instanceof FimsDepartment) {
|
||||
FimsDepartment fdept = (FimsDepartment) dept;
|
||||
return fimsOgdpBean.updateFimsDept(fdept) ? "[S]" : "[F]";
|
||||
}
|
||||
return "[F]";
|
||||
}
|
||||
|
||||
}
|
@ -1,133 +0,0 @@
|
||||
package cokr.xit.fims.mngt.service.bean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cokr.xit.base.user.dao.UserMapper;
|
||||
import cokr.xit.fims.cmmn.CmmnQuery;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.fims.mngt.FimsSigungu;
|
||||
import cokr.xit.fims.mngt.dao.OgdpMapper;
|
||||
import cokr.xit.foundation.UserInfo;
|
||||
import cokr.xit.foundation.component.AbstractBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Component("ogdpBean")
|
||||
public class OgdpBean extends AbstractBean {
|
||||
|
||||
@Resource(name = "ogdpMapper")
|
||||
private OgdpMapper ogdpMapper;
|
||||
|
||||
@Resource(name = "userMapper")
|
||||
private UserMapper userMapper;
|
||||
|
||||
/**userInfo 객체에 해당 사용자가 소속된 시군구,기관,부서 정보를 저장한다.
|
||||
* @param userInfo 사용자 정보
|
||||
* @return
|
||||
*/
|
||||
public void initUserInfo(UserInfo userInfo) {
|
||||
|
||||
DataObject ogdpInfo = ogdpMapper.selectOgdpInfoOfUser(userInfo.getId());
|
||||
|
||||
Map<String, Object> infoMap = userInfo.getInfo();
|
||||
if(ogdpInfo == null) {
|
||||
infoMap.put("sggCd", "");
|
||||
infoMap.put("sggNm", "");
|
||||
infoMap.put("instCd", "");
|
||||
infoMap.put("instNm", "");
|
||||
infoMap.put("deptCd", "");
|
||||
infoMap.put("deptNm", "");
|
||||
} else {
|
||||
infoMap.put("sggCd", ogdpInfo.string("SGG_CD"));
|
||||
infoMap.put("sggNm", ogdpInfo.string("SGG_NM"));
|
||||
infoMap.put("instCd", ogdpInfo.string("INST_CD"));
|
||||
infoMap.put("instNm", ogdpInfo.string("INST_NM"));
|
||||
infoMap.put("deptCd", ogdpInfo.string("DEPT_CD"));
|
||||
infoMap.put("deptNm", ogdpInfo.string("DEPT_NM"));
|
||||
}
|
||||
|
||||
userInfo.setInfo(infoMap);
|
||||
}
|
||||
|
||||
/**시군구 정보를 수정한다.
|
||||
* @param sgg 시군구
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean updateSgg(FimsSigungu sgg) {
|
||||
return ogdpMapper.updateSgg(sgg);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 시군구 객체를 반환한다.
|
||||
* @param req 시군구 조회 조건
|
||||
* @return 시군구 객체
|
||||
*/
|
||||
public DataObject getSggInfo(CmmnQuery req) {
|
||||
return ogdpMapper.selectSggInfo(req);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**지정한 조건에 따라 부서 목록을 조회하여 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 목록
|
||||
*/
|
||||
public List<DataObject> getDeptList(CmmnQuery req) {
|
||||
return ogdpMapper.selectDeptList(req);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 부서 객체들을 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체 목록
|
||||
*/
|
||||
public List<DataObject> getDepts(CmmnQuery req) {
|
||||
return ogdpMapper.selectDepts(req);
|
||||
}
|
||||
|
||||
/**지정한 조건에 따라 부서 객체를 반환한다.
|
||||
* @param req 부서 조회 조건
|
||||
* @return 부서 객체
|
||||
*/
|
||||
public DataObject getDeptInfo(CmmnQuery req) {
|
||||
return ogdpMapper.selectDeptInfo(req);
|
||||
}
|
||||
|
||||
/**부서 정보를 등록한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean create(FimsDepartment dept) {
|
||||
return ogdpMapper.insert(dept);
|
||||
}
|
||||
|
||||
/**부서 정보를 수정한다.
|
||||
* @param dept 부서
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean update(FimsDepartment dept) {
|
||||
return ogdpMapper.update(dept);
|
||||
}
|
||||
|
||||
/**부서 정보를 삭제한다.
|
||||
* @param deptCds 부서 코드 목록
|
||||
* @return 저장 여부
|
||||
* <ul><li>저장됐으면 true</li>
|
||||
* <li>그렇지 않으면 false</li>
|
||||
* </ul>
|
||||
*/
|
||||
public boolean remove(String... deptCds) {
|
||||
return ogdpMapper.setStatus("N", deptCds) > 0 ? true : false;
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
package cokr.xit.fims.mngt.service.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import cokr.xit.fims.cmmn.CmmnQuery;
|
||||
import cokr.xit.fims.mngt.FimsDepartment;
|
||||
import cokr.xit.fims.mngt.FimsSigungu;
|
||||
import cokr.xit.fims.mngt.service.OgdpService;
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Service("ogdpService")
|
||||
public class OgdpServiceBean extends AbstractServiceBean implements OgdpService {
|
||||
|
||||
@Resource(name = "ogdpBean")
|
||||
private OgdpBean ogdpBean;
|
||||
|
||||
@Override
|
||||
public String updateSgg(FimsSigungu sgg) {
|
||||
return ogdpBean.updateSgg(sgg) ? "[S]" : "[F]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataObject getSggInfo(CmmnQuery req) {
|
||||
return ogdpBean.getSggInfo(req);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<DataObject> getDeptList(CmmnQuery req) {
|
||||
return ogdpBean.getDeptList(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataObject> getDepts(CmmnQuery req) {
|
||||
return ogdpBean.getDepts(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataObject getDeptInfo(CmmnQuery req) {
|
||||
return ogdpBean.getDeptInfo(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String create(FimsDepartment dept) {
|
||||
return ogdpBean.create(dept) ? "[S]" : "[F]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String update(FimsDepartment dept) {
|
||||
return ogdpBean.update(dept) ? "[S]" : "[F]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String remove(String... deptCds) {
|
||||
boolean result = ogdpBean.remove(deptCds);
|
||||
if(result) {
|
||||
return "[S]";
|
||||
} else {
|
||||
return "[F]";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,174 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cokr.xit.applib.ogdp.dao.CmmnOgdpMapper">
|
||||
|
||||
<select id="selectAllOgdpList" resultType="dataobject">
|
||||
/* 전체 기관,부서 목록 조회(cmmnOgdpMapper.selectAllOgdpList) */
|
||||
SELECT CONCAT(A.INST_CD,'/',B.DEPT_CD) AS OGDP_CD
|
||||
, CONCAT(A.INST_NM,' / ',B.DEPT_NM) AS OGDP_NM
|
||||
, A.INST_CD
|
||||
, A.INST_NM
|
||||
, B.DEPT_CD
|
||||
, B.DEPT_NM
|
||||
, A.SGG_CD
|
||||
, A.SGG_NM
|
||||
FROM TB_SGG A
|
||||
LEFT OUTER JOIN TB_DEPT B ON (A.INST_CD = B.INST_CD)
|
||||
UNION
|
||||
SELECT ('default/default') AS OGDP_CD
|
||||
, CONCAT('기본 기관',' / ','기본 부서') AS OGDP_NM
|
||||
, 'default' AS INST_CD
|
||||
, '기본 기관' AS INST_NM
|
||||
, 'default' AS DEPT_CD
|
||||
, '기본 부서' AS DEPT_NM
|
||||
, 'default' AS SGG_CD
|
||||
, '기본 시군구' AS SGG_NM
|
||||
FROM DUAL
|
||||
</select>
|
||||
|
||||
<select id="selectAbleOgdpList" parameterType="map" resultType="dataobject">
|
||||
/* 사용가능한 기관,부서 목록 조회(cmmnOgdpMapper.selectAbleOgdpList) */
|
||||
SELECT CONCAT(A.INST_CD,'/',B.DEPT_CD) AS OGDP_CD
|
||||
, CONCAT(A.INST_NM,' / ',B.DEPT_NM) AS OGDP_NM
|
||||
, A.INST_CD
|
||||
, A.INST_NM
|
||||
, B.DEPT_CD
|
||||
, B.DEPT_NM
|
||||
, A.SGG_CD
|
||||
, A.SGG_NM
|
||||
FROM TB_SGG A
|
||||
LEFT OUTER JOIN TB_DEPT B ON (A.INST_CD = B.INST_CD)
|
||||
<choose>
|
||||
<when test='anonymous == "Y" '>
|
||||
WHERE A.INST_CD = #{institute}
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="currentUser.institute != 'default'">
|
||||
WHERE A.SGG_CD = #{currentUser.user.orgID}
|
||||
</if>
|
||||
<if test="currentUser.institute == 'default'">
|
||||
UNION
|
||||
SELECT 'default/default' AS OGDP_CD
|
||||
, CONCAT('기본 기관',' / ','기본 부서') AS OGDP_NM
|
||||
, 'default' AS INST_CD
|
||||
, '기본 기관' AS INST_NM
|
||||
, 'default' AS DEPT_CD
|
||||
, '기본 부서' AS DEPT_NM
|
||||
, 'default' AS SGG_CD
|
||||
, '기본 시군구' AS SGG_NM
|
||||
FROM DUAL
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectOgdpInfoOfUser" parameterType="string" resultType="dataobject">
|
||||
/* 사용자의 시군구,기관,부서 조회(cmmnOgdpMapper.selectOgdpInfoOfUser) */
|
||||
SELECT S.SGG_CD
|
||||
, S.SGG_NM
|
||||
, U.NSTT_CD AS INST_CD
|
||||
, S.INST_NM
|
||||
, U.DEPT_CD
|
||||
, D.DEPT_NM
|
||||
FROM TB_USER U
|
||||
LEFT OUTER JOIN TB_SGG S ON (U.ORG_ID = S.SGG_CD)
|
||||
LEFT OUTER JOIN TB_DEPT D ON (U.DEPT_CD = D.DEPT_CD)
|
||||
WHERE U.USER_ID = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectAllSggList" parameterType="string" resultType="dataobject">
|
||||
/* 모든 시군구 조회(cmmnOgdpMapper.selectAllSggList) */
|
||||
SELECT SGG_CD
|
||||
, SGG_NM
|
||||
FROM TB_SGG
|
||||
WHERE USE_YN = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="selectAllInstList" parameterType="string" resultType="dataobject">
|
||||
/* 모든 기관 조회(cmmnOgdpMapper.selectAllInstList) */
|
||||
SELECT INST_CD
|
||||
, INST_NM
|
||||
FROM TB_SGG
|
||||
WHERE USE_YN = 'Y'
|
||||
</select>
|
||||
|
||||
|
||||
<sql id="selectSgg">
|
||||
SELECT S.SGG_CD <!-- 시군구 코드 -->
|
||||
, S.SGG_NM <!-- 시군구 명 -->
|
||||
, S.INST_SE_CD <!-- 기관 구분 코드 -->
|
||||
, S.INST_CD <!-- 기관 코드 -->
|
||||
, S.INST_NM <!-- 기관 명 -->
|
||||
, (CASE
|
||||
WHEN S.INST_DADDR IS NULL OR S.INST_DADDR = ''
|
||||
THEN S.INST_ADDR
|
||||
ELSE CONCAT(S.INST_ADDR,' ',S.INST_DADDR)
|
||||
END) AS INST_FULL_ADDR <!-- 기관 전체 주소 -->
|
||||
, S.INST_ADDR <!-- 기관 기본 주소 -->
|
||||
, S.INST_DADDR <!-- 기관 상세 주소 -->
|
||||
, S.INST_ZIP <!-- 기관 우편번호 -->
|
||||
, S.SYMBOL_FILE_PATH <!-- 상징 파일 경로 -->
|
||||
, S.SYMBOL_FILE_NM <!-- 상징 파일 명 -->
|
||||
, S.LOGO_FILE_PATH <!-- 로고 파일 경로 -->
|
||||
, S.LOGO_FILE_NM <!-- 로고 파일 명 -->
|
||||
, S.OFFCS_FILE_PATH <!-- 직인 파일 경로 -->
|
||||
, S.OFFCS_FILE_NM <!-- 직인 파일 명 -->
|
||||
FROM TB_SGG S
|
||||
</sql>
|
||||
|
||||
<select id="selectSggs" parameterType="map" resultType="dataobject">
|
||||
/* 시군구 객체 가져오기(cmmnOgdpMapper.selectSggs) */
|
||||
<include refid="selectSgg" />
|
||||
<where>
|
||||
<if test="sggCd != null">
|
||||
AND S.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
|
||||
</if>
|
||||
<if test="useYn != null">
|
||||
AND S.USE_YN = #{useYn} <!-- 사용 여부 -->
|
||||
</if>
|
||||
</where>
|
||||
<include refid="utility.orderBy" />
|
||||
</select>
|
||||
|
||||
<select id="selectSggCdByDeptCd" parameterType="string" resultType="string">
|
||||
/* 부서에 따른 시군구코드 조회(cmmnOgdpMapper.selectSggCdByDeptCd) */
|
||||
SELECT SGG_CD
|
||||
FROM TB_DEPT
|
||||
WHERE DEPT_CD = #{deptCd}
|
||||
</select>
|
||||
|
||||
<update id="updateSgg" parameterType="map">
|
||||
/* 시군구 설정정보 수정 (cmmnOgdpMapper.updateSgg) */
|
||||
UPDATE TB_SGG
|
||||
SET MDFCN_DT = <include refid="utility.now" />
|
||||
, MDFR = #{sgg.modifiedBy}
|
||||
, INST_ZIP = #{sgg.instituteZipCode} <!-- 기관 우편번호 -->
|
||||
, INST_ADDR = #{sgg.instAddress} <!-- 기관 기본 주소 -->
|
||||
, INST_DADDR = #{sgg.instDetailAddress} <!-- 기관 상세 주소 -->
|
||||
<if test="sgg.symbolFilepath != null">
|
||||
, SYMBOL_FILE_PATH = #{sgg.symbolFilepath} <!-- 상징 파일 경로 -->
|
||||
, SYMBOL_FILE_NM = #{sgg.symbolFilename} <!-- 상징 파일 명 -->
|
||||
</if>
|
||||
<if test="sgg.logoFilepath != null">
|
||||
, LOGO_FILE_PATH = #{sgg.logoFilepath} <!-- 로고 파일 경로 -->
|
||||
, LOGO_FILE_NM = #{sgg.logoFilename} <!-- 로고 파일 명 -->
|
||||
</if>
|
||||
<if test="sgg.officialSealFilepath != null">
|
||||
, OFFCS_FILE_PATH = #{sgg.officialSealFilepath} <!-- 직인 파일 경로 -->
|
||||
, OFFCS_FILE_NM = #{sgg.officialSealFilename} <!-- 직인 파일 명 -->
|
||||
</if>
|
||||
WHERE SGG_CD = #{sgg.sggID}
|
||||
</update>
|
||||
|
||||
<update id="setStatus" parameterType="map">
|
||||
/* 부서 사용 여부 변경(cmmnOgdpMapper.setStatus) */
|
||||
UPDATE TB_DEPT
|
||||
SET USE_YN = #{useYn} <!-- 사용 여부 -->
|
||||
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
|
||||
, MDFR = #{currentUser.id} <!-- 수정자 -->
|
||||
WHERE DEPT_CD IN ( <foreach collection="deptCds" item="deptCd" separator=","> #{deptCd} </foreach> )<!-- 부서 코드 -->
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cokr.xit.applib.ogdp.dao.DefaultOgdpMapper">
|
||||
|
||||
|
||||
<sql id="selectDept">
|
||||
SELECT D.DEPT_CD <!-- 부서 코드 -->
|
||||
, D.SGG_CD <!-- 시군구 코드 -->
|
||||
, (SELECT SGG_NM FROM TB_SGG WHERE SGG_CD = D.SGG_CD) AS SGG_NM <!-- 시군구 명 -->
|
||||
, D.INST_CD <!-- 기관 코드 -->
|
||||
, (SELECT INST_NM FROM TB_SGG WHERE INST_CD = D.INST_CD) AS INST_NM <!-- 기관 명 -->
|
||||
, D.DEPT_NM <!-- 부서 명 -->
|
||||
, D.DEPT_TELNO <!-- 부서 전화번호 -->
|
||||
, D.DEPT_FXNO <!-- 부서 팩스번호 -->
|
||||
, D.USE_YN <!-- 사용 여부 -->
|
||||
, GET_CODE_NM('CMN003', D.USE_YN) AS USE_YN_NM <!-- 사용 여부 명 -->
|
||||
, D.REG_DT <!-- 등록 일시 -->
|
||||
, D.RGTR <!-- 등록자 -->
|
||||
, D.MDFCN_DT <!-- 수정 일시 -->
|
||||
, D.MDFR <!-- 수정자 -->
|
||||
FROM TB_DEPT D
|
||||
</sql>
|
||||
|
||||
<select id="selectDeptList" parameterType="map" resultType="dataobject">
|
||||
/* 부서 목록 조회(defaultOgdpMapper.selectDeptList) */
|
||||
<include refid="utility.paging-prefix" />
|
||||
<include refid="selectDept" />
|
||||
WHERE D.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
|
||||
<if test="deptCd != null">
|
||||
AND D.DEPT_CD = #{deptCd} <!-- 부서 코드 -->
|
||||
</if>
|
||||
<if test="instCd != null">
|
||||
AND D.INST_CD = #{instCd} <!-- 기관 코드 -->
|
||||
</if>
|
||||
<if test="useYn != null">
|
||||
AND D.USE_YN = #{useYn} <!-- 사용 여부 -->
|
||||
</if>
|
||||
<include refid="utility.orderBy" />
|
||||
<include refid="utility.paging-suffix" />
|
||||
</select>
|
||||
|
||||
<select id="selectDepts" parameterType="map" resultType="dataobject">
|
||||
/* 부서 객체 가져오기(defaultOgdpMapper.selectDepts) */
|
||||
<include refid="selectDept" />
|
||||
<where>
|
||||
<if test="sggCd != null">
|
||||
AND D.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
|
||||
</if>
|
||||
<if test="deptCd != null">
|
||||
AND D.DEPT_CD = #{deptCd} <!-- 부서 코드 -->
|
||||
</if>
|
||||
<if test="instCd != null">
|
||||
AND D.INST_CD = #{instCd} <!-- 기관 코드 -->
|
||||
</if>
|
||||
<if test="useYn != null">
|
||||
AND D.USE_YN = #{useYn} <!-- 사용 여부 -->
|
||||
</if>
|
||||
</where>
|
||||
<include refid="utility.orderBy" />
|
||||
</select>
|
||||
|
||||
<insert id="insertDept" parameterType="map">
|
||||
/* 부서 등록(defaultOgdpMapper.insertDept) */
|
||||
INSERT
|
||||
INTO TB_DEPT (
|
||||
DEPT_CD <!-- 부서 코드 -->
|
||||
, SGG_CD <!-- 시군구 코드 -->
|
||||
, INST_CD <!-- 기관 코드 -->
|
||||
, DEPT_NM <!-- 부서 명 -->
|
||||
, DEPT_TELNO <!-- 부서 전화번호 -->
|
||||
, DEPT_FXNO <!-- 부서 팩스번호 -->
|
||||
, USE_YN <!-- 사용 여부 -->
|
||||
, REG_DT <!-- 등록 일시 -->
|
||||
, RGTR <!-- 등록자 -->
|
||||
, MDFCN_DT <!-- 수정 일시 -->
|
||||
, MDFR <!-- 수정자 -->
|
||||
) VALUES (
|
||||
#{dept.deptID} <!-- 부서 코드 -->
|
||||
, #{dept.sggID} <!-- 시군구 코드 -->
|
||||
, #{dept.instCode} <!-- 기관 코드 -->
|
||||
, #{dept.name} <!-- 부서 명 -->
|
||||
, #{dept.telno} <!-- 부서 전화번호 -->
|
||||
, #{dept.faxno} <!-- 부서 팩스번호 -->
|
||||
, 'Y' <!-- 사용 여부 -->
|
||||
, <include refid="utility.now" /> <!-- 등록 일시 -->
|
||||
, #{dept.createdBy} <!-- 등록자 -->
|
||||
, <include refid="utility.now" /> <!-- 수정 일시 -->
|
||||
, #{dept.modifiedBy} <!-- 수정자 -->
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateDept" parameterType="map">
|
||||
/* 부서 수정(defaultOgdpMapper.updateDept) */
|
||||
UPDATE TB_DEPT
|
||||
SET SGG_CD = #{dept.sggID} <!-- 시군구 코드 -->
|
||||
, INST_CD = #{dept.instCode} <!-- 기관 코드 -->
|
||||
, DEPT_NM = #{dept.name} <!-- 부서 명 -->
|
||||
, DEPT_TELNO = #{dept.telno} <!-- 부서 전화번호 -->
|
||||
, DEPT_FXNO = #{dept.faxno} <!-- 부서 팩스번호 -->
|
||||
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
|
||||
, MDFR = #{dept.modifiedBy} <!-- 수정자 -->
|
||||
WHERE DEPT_CD = #{dept.deptID}
|
||||
AND USE_YN = 'Y'
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue