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.
122 lines
3.4 KiB
Java
122 lines
3.4 KiB
Java
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;
|
|
|
|
/**부서관리 서비스 웹 컨트롤러.<br />
|
|
* {웹 컨텍스트}/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<DataObject> allSggList = sggDeptService.getSigunguList(new SigunguQuery());
|
|
|
|
mav.addObject("sggList", allSggList);
|
|
|
|
return mav;
|
|
}
|
|
|
|
/**부서 목록을 조회한다.<br />
|
|
* {@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
|
|
* <pre>{
|
|
* "deptInfo": 부서 정보
|
|
* }</pre>
|
|
*/
|
|
@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
|
|
* <pre><code> {
|
|
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
|
* }</code></pre>
|
|
*/
|
|
@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;
|
|
}
|
|
}
|