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.

151 lines
4.6 KiB
Java

package cokr.xit.fims.crdn.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode;
import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.user.dao.UserMapper;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.Team;
import cokr.xit.fims.crdn.dao.GlobalStngMapper;
import cokr.xit.fims.crdn.service.CrdnStngService;
/**단속팀 관리 서비스 웹 컨트롤러.<br />
* {웹 컨텍스트}/crdn/crdn07 로 접근할 수 있다.
* @author leebj
*/
public class Crdn07Controller extends ApplicationController {
public static final String CLASS_URL = "/crdn/crdn07";
public class METHOD_URL {
public static final String
crackdownTeamManagementMain = "/010/main.do"
, getTeamList = "/010/list.do"
, getRemovedTeamList = "/010/removedTeamList.do"
, removeTeamInfo = "/010/remove.do"
, saveTeamInfo = "/010/save.do"
, getTeamInfo = "/010/info.do"
;
}
@Resource(name="crdnStngService")
private CrdnStngService crdnStngService;
@Resource(name="globalStngMapper")
protected GlobalStngMapper globalStngMapper;
@Resource(name="userMapper")
protected UserMapper userMapper;
/** 단속팀 관리 메인화면을 연다.
* @return fims/crdn/crdn07010-main
*/
public ModelAndView crackdownTeamManagementMain() {
ModelAndView mav = new ModelAndView();
mav.setViewName("fims/crdn/crdn07010-main");
mav.addObject("pageName", "crdn07010-main");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054","FIM071","FIM002");
mav.addObject("FIM054List", commonCodes.get("FIM054"));
mav.addObject("FIM071List", commonCodes.get("FIM071"));
mav.addObject("FIM002List", commonCodes.get("FIM002"));
addCodes(commonCodes, mav, "FIM054");
addCodes(commonCodes, mav, "FIM071");
addCodes(commonCodes, mav, "FIM002");
return mav;
}
/**단속팀 목록을 조회한다.<br />
* {@link CrdnStngService#getTeamList(query)} 참고
* @param crdn 단속
* @return jsonView
*/
public ModelAndView getTeamList(CrdnQuery query) {
ModelAndView mav = new ModelAndView("jsonView");
ManagedUser currentUser = userMapper.getUser(currentUser().getAccount(), currentUser().getInstitute());
String curDeptCode = currentUser.getDeptCode();
String sggCd = globalStngMapper.selectSggCd(curDeptCode);
query.setSggCd(sggCd);
return setCollectionInfo(new ModelAndView("jsonView"), crdnStngService.getTeamList(query),"");
}
/**비사용 단속팀 목록을 조회한다.<br />
* {@link CrdnStngService#getRemovedTeamList(query)} 참고
* @param crdn 단속
* @return jsonView
*/
public ModelAndView getRemovedTeamList(CrdnQuery query) {
ModelAndView mav = new ModelAndView("jsonView");
ManagedUser currentUser = userMapper.getUser(currentUser().getAccount(), currentUser().getInstitute());
String curDeptCode = currentUser.getDeptCode();
String sggCd = globalStngMapper.selectSggCd(curDeptCode);
query.setSggCd(sggCd);
return setCollectionInfo(new ModelAndView("jsonView"), crdnStngService.getRemovedTeamList(query),"");
}
/** 단속팀 정보를 삭제한다.
* {@link CrdnStngService#removeTeamInfo(exmptnVhclId)} 참고
* @param teamId 단속팀 ID
* @return jsonView
* <pre><code> {
* "saved": 저장되었으면 true, 그렇지 않으면 false
* }</code></pre>
*/
public ModelAndView removeTeamInfo(String teamId) {
boolean saved = false;
saved = crdnStngService.removeTeamInfo(teamId);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** 단속팀 정보를 저장한다.
* {@link CrdnStngService#saveTeamInfo(team)} 참고
* @param team 단속팀 정보
* @return jsonView
* <pre><code> {
* "saved": 저장되었으면 true, 그렇지 않으면 false
* }</code></pre>
*/
public ModelAndView saveTeamInfo(Team team) {
boolean saved = false;
ManagedUser currentUser = userMapper.getUser(currentUser().getAccount(), currentUser().getInstitute());
String curDeptCode = currentUser.getDeptCode();
String sggCd = globalStngMapper.selectSggCd(curDeptCode);
team.setSggCd(sggCd);
saved = crdnStngService.saveTeamInfo(team);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/**단속팀 정보를 조회한다.<br />
* {@link CrdnStngService#getTeamInfo(String)} 참고
* @param crdn 단속
* @return jsonView
*/
public ModelAndView getTeamInfo(String teamId) {
ModelAndView mav = new ModelAndView("jsonView");
mav.addObject("teamInfo", crdnStngService.getTeamInfo(teamId));
return mav;
}
}