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.
194 lines
7.3 KiB
Java
194 lines
7.3 KiB
Java
package cokr.xit.fims.excl.web;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
import cokr.xit.base.web.ApplicationController;
|
|
import cokr.xit.fims.excl.Excl01;
|
|
import cokr.xit.fims.excl.Excl01Query;
|
|
import cokr.xit.fims.excl.service.Excl01Service;
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
/**부과제외 대장 서비스의 웹 컨트롤러
|
|
*
|
|
* <p>상세 설명:
|
|
*
|
|
* <pre>
|
|
* ============ 변경 이력 ============
|
|
* 2023-06-23 JoJH 최초 작성
|
|
* ================================
|
|
* </pre>
|
|
*/
|
|
@Controller
|
|
@RequestMapping(name = "부과제외 대장", value = "/excl/excl01")
|
|
public class Excl01Controller extends ApplicationController {
|
|
|
|
/**부과제외 대장 서비스*/
|
|
@Resource(name = "excl01Service")
|
|
protected Excl01Service excl01Service;
|
|
|
|
/**부과제외 대장 관리 메인화면(excl/excl01/010-main)을 연다.
|
|
* 조건없는 {@link #getLevyExclList(Excl01Query) 부과제외 대장 조회 결과}를 포함시킨다.
|
|
* @return /excl/excl01/010-main
|
|
*/
|
|
@RequestMapping(name = "부과제외 관리 메인", value = "/010/main.do")
|
|
public ModelAndView levyExclusionMain() {
|
|
ModelAndView mav = new ModelAndView("fims/excl/excl01010-main");
|
|
|
|
// View(jsp)에서 사용할 공통코드를 조회
|
|
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054");
|
|
|
|
addCodes(commonCodes, mav, "FIM021", "FIM022");
|
|
|
|
return mav.addObject("pageName", "excl01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
|
.addObject("urlPrefix", "/excl/excl01") // URL로 사용할 prefix
|
|
.addObject("infoPrefix", "levyExcl") // prefix
|
|
.addObject("FIM021List", commonCodes.get("FIM021")) // 업무 구분 코드(TASK_SE_CD)
|
|
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
|
;
|
|
}
|
|
|
|
/**부과제외 대장 목록을 조회하여 반환한다.<br />
|
|
* {@link LevyExclService#getLevyExclList(Excl01Query)} 참고
|
|
* @param req 부과제외 대장 조회 조건
|
|
* @return jsonView
|
|
* <pre><code> {
|
|
* "levyExclList": [부과제외 대장 목록]
|
|
* "levyExclStart": 부과제외 대장 목록 시작 인덱스
|
|
* "levyExclFetch": 한 번에 가져오는 부과제외 대장 목록 수
|
|
* "levyExclTotal": 조회 결과 찾은 전체 부과제외 대장 수
|
|
* }</code></pre>
|
|
*/
|
|
@RequestMapping(name = "부과제외 대장 조회", value = "/010/list.do")
|
|
public ModelAndView getLevyExclusionList(Excl01Query req) {
|
|
List<?> result = excl01Service.getLevyExclusionList(setFetchSize(req));
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl");
|
|
}
|
|
|
|
/**지정한 ID의 부과제외 정보를 반환한다.
|
|
* @param levyExclId 부과 제외 ID
|
|
* @return fims/excl/excl01020-info 또는 jsonView
|
|
* <pre>{
|
|
* "levyExclusionInfo": 부과제외 정보
|
|
* }</pre>
|
|
*/
|
|
@RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do")
|
|
public ModelAndView getLevyExclusionInfo(Excl01Query req) {
|
|
// View(jsp)에서 사용할 공통코드를 조회
|
|
DataObject levyExclusionInfo = excl01Service.getLevyExclusionInfo(req);
|
|
|
|
boolean json = jsonResponse();
|
|
|
|
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info")
|
|
.addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
|
;
|
|
|
|
// 조회 결과가 없다면.. 0
|
|
if (levyExclusionInfo == null) {
|
|
return mav
|
|
.addObject("pageMode", "create") //
|
|
.addObject("levyExclSeCd", req.getLevyExclSeCd())
|
|
;
|
|
} else {
|
|
return mav
|
|
.addObject("pageMode", "update") //
|
|
.addObject("levyExclSeCd", levyExclusionInfo.string("LEVY_EXCL_SE_CD"))
|
|
.addObject("levyExclInfo", json ? levyExclusionInfo : toJson(levyExclusionInfo))
|
|
;
|
|
}
|
|
}
|
|
|
|
/**부과제외 대장를 등록한다.
|
|
* @param levyExcl 부과제외 대장 정보
|
|
* @return jsonView
|
|
* <pre><code> {
|
|
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
|
* }</code></pre>
|
|
*/
|
|
@PostMapping(name = "부과제외 대장 등록", value = "/020/create.do")
|
|
public ModelAndView createLevyExclusion(Excl01 excl01) {
|
|
boolean saved = excl01Service.createLevyExclusion(excl01);
|
|
|
|
return new ModelAndView("jsonView")
|
|
.addObject("saved", saved);
|
|
}
|
|
|
|
/**부과제외 대장 정보를 수정한다.
|
|
* @param levyExcl 부과제외 대장 정보
|
|
* @return jsonView
|
|
* <pre><code> {
|
|
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
|
* }</code></pre>
|
|
*/
|
|
@PostMapping(name = "부과제외 대장 수정", value = "/020/update.do")
|
|
public ModelAndView updateLevyExclusion(Excl01 excl01) {
|
|
boolean saved = excl01Service.updateLevyExclusion(excl01);
|
|
|
|
return new ModelAndView("jsonView")
|
|
.addObject("saved", saved);
|
|
}
|
|
|
|
/**지정한 부과제외 대장를 제거한다.
|
|
* @param levyExclIDs 부과제외 대장 아이디
|
|
* @return jsonView
|
|
* <pre><code> {
|
|
* "affected": 저장된 정보수
|
|
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
|
* }</code></pre>
|
|
*/
|
|
@PostMapping(name = "부과제외 대장 제거", value = "/010/remove.do")
|
|
public ModelAndView removeLevyExclusion(Excl01 excl01) {
|
|
boolean saved = excl01Service.removeLevyExclusion(excl01);
|
|
|
|
return new ModelAndView("jsonView")
|
|
.addObject("saved", saved);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
///**지정한 ID의 부과제외 정보를 반환한다.
|
|
// * @param levyExclId 부과 제외 ID
|
|
// * @return fims/excl/excl01020-info 또는 jsonView
|
|
// * <pre>{
|
|
// * "levyExclusionInfo": 부과제외 정보
|
|
// * }</pre>
|
|
// */
|
|
//@RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do")
|
|
//public ModelAndView getLevyExclusionInfo(String levyExclId) {
|
|
// // View(jsp)에서 사용할 공통코드를 조회
|
|
// Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054");
|
|
//
|
|
// if (!isEmpty(levyExclId)) {
|
|
// Excl01 levyExclusionInfo = excl01Service.getLevyExclusionInfo(levyExclId);
|
|
//
|
|
// boolean json = jsonResponse();
|
|
//
|
|
// return new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info")
|
|
// .addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
|
// .addObject("pageMode", "update") //
|
|
// .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
|
|
// .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
|
|
// .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
|
// .addObject("levyExclInfo", json ? levyExclusionInfo : toJson(levyExclusionInfo))
|
|
// ;
|
|
// } else {
|
|
// return new ModelAndView("fims/excl/excl01020-info")
|
|
// .addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
|
// .addObject("pageMode", "create") //
|
|
// .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
|
|
// .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
|
|
// .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
|
// ;
|
|
// }
|
|
//}
|