package cokr.xit.fims.mngt.web; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.user.SigunguQuery; import cokr.xit.base.user.service.SigunguDepartmentService; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.base.OgdpQuery; import cokr.xit.fims.base.service.bean.OgdpBean; import cokr.xit.fims.cmmn.CmmnQuery; import cokr.xit.fims.mngt.FimsDepartment; import cokr.xit.foundation.data.DataObject; /**부서관리 서비스 웹 컨트롤러.
* {웹 컨텍스트}/mngt/mngt04 로 접근할 수 있다. * @author leebj */ @Controller @RequestMapping(name="부서 정보 관리", value=Mngt04Controller.CLASS_URL) public class Mngt04Controller extends ApplicationController { public static final String CLASS_URL = "/mngt/mngt04"; public class METHOD_URL { public static final String deptMngtMain = "/010/main.do" , getDeptList = "/010/list.do" , getDeptInfo = "/020/info.do" , updateDept = "/020/update.do" ; } @Resource(name="sigunguDepartmentService") private SigunguDepartmentService sggDeptService; /** 소속 정보 서비스 */ @Resource(name = "ogdpBean") private OgdpBean ogdpBean; /** 부서관리 메인화면을 연다. * @return fims/mngt/mngt04010-main */ @RequestMapping(name="부서 정보 관리 메인", value=METHOD_URL.deptMngtMain) public ModelAndView deptMngtMain() { ModelAndView mav = new ModelAndView(); mav.setViewName("fims/mngt/mngt04010-main"); mav.addObject("pageName", "mngt04010"); List allSggList = sggDeptService.getSigunguList(new SigunguQuery()); mav.addObject("sggList", allSggList); return mav; } /**부서 목록을 조회한다.
* {@link OgdpService#getDeptList(CmmnQuery)} 참고 * @param query 부서 목록 조회 조건 * @return jsonView */ @RequestMapping(name="부서 목록 조회", value=METHOD_URL.getDeptList) public ModelAndView getDeptList(OgdpQuery query) { setFetchSize(query); return setCollectionInfo(new ModelAndView("jsonView"), ogdpBean.getDeptList(query),"",""); } /**지정한 ID의 부서 정보(info)를 반환한다. * @param query 부서 조회 조건 * @return fims/mngt/mngt04020-info 또는 jsonView *
{
	 *     "deptInfo": 부서 정보
	 * }
*/ @RequestMapping(name="부서 상세 조회", value=METHOD_URL.getDeptInfo) public ModelAndView getDeptInfo(OgdpQuery query) { DataObject deptInfo = new DataObject(); if(!ifEmpty(query.getDeptCd(), ()->"").equals("")) { deptInfo = ogdpBean.getDeptInfo(query); } else { deptInfo = null; } boolean json = jsonResponse(); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/mngt/mngt04020-info"); mav.addObject("pageName", "mngt04020"); mav.addObject("deptInfo", json ? deptInfo : toJson(deptInfo)); return mav; } /**부서 정보를 수정한다. * @param dept 부서 정보 * @return jsonView *
 {
	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
	 * }
*/ @RequestMapping(name="부서 수정", value=METHOD_URL.updateDept) public ModelAndView updateDept(FimsDepartment dept) { ModelAndView mav = new ModelAndView("jsonView"); boolean saved = ogdpBean.updateDept(dept); mav.addObject("saved", saved); return mav; } }