|
|
|
@ -1,7 +1,5 @@
|
|
|
|
|
package cokr.xit.base.code.web;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
@ -13,7 +11,6 @@ import cokr.xit.base.code.CodeGroup;
|
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
|
import cokr.xit.base.code.service.CodeQuery;
|
|
|
|
|
import cokr.xit.base.code.service.CodeService;
|
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
import cokr.xit.foundation.web.AbstractController;
|
|
|
|
|
|
|
|
|
|
/**공통코드 서비스 웹 컨트롤러.<br />
|
|
|
|
@ -25,15 +22,8 @@ public class CodeController extends AbstractController {
|
|
|
|
|
@Resource(name="codeService")
|
|
|
|
|
private CodeService codeService;
|
|
|
|
|
|
|
|
|
|
/**공통코드 서비스를 반환한다.
|
|
|
|
|
* @return 공통코드 서비스
|
|
|
|
|
*/
|
|
|
|
|
protected CodeService codeService() {
|
|
|
|
|
return codeService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공통코드 관리 메인화면(code/code-main)을 연다.
|
|
|
|
|
* @return ModelAndView
|
|
|
|
|
/**공통코드 관리 메인화면을 연다.
|
|
|
|
|
* @return base/code/code-main
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(name="공통코드 메인", value="/main.do")
|
|
|
|
|
public ModelAndView main() {
|
|
|
|
@ -42,12 +32,15 @@ public class CodeController extends AbstractController {
|
|
|
|
|
return mav.addObject("groupList", toJson(mav.getModel().remove("groupList")));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**코드 분류 목록을 조회한다.
|
|
|
|
|
* @param pageNum 페이지 번호
|
|
|
|
|
* @param fetchSize 한 번에 가져올 코드 분류의 갯수
|
|
|
|
|
* @return 코드 분류 목록
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "categoryList": [...]
|
|
|
|
|
/**코드 분류 목록을 조회한다.<br />
|
|
|
|
|
* {@link CodeService#getCategoryList(CodeQuery)} 참고
|
|
|
|
|
* @param req 코드 분류 목록 조회 조건
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "categoryList": [코드 분류 목록]
|
|
|
|
|
* "categoryStart": 코드 분류 목록 시작 인덱스
|
|
|
|
|
* "categoryFetch": 한 번에 가져오는 코드 분류 목록 수
|
|
|
|
|
* "categoryTotal": 조회 결과 찾은 전체 코드 분류 수
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(name="코드 분류 목록", value="/category/list.do")
|
|
|
|
@ -62,8 +55,8 @@ public class CodeController extends AbstractController {
|
|
|
|
|
|
|
|
|
|
/**코드 분류 정보를 조회한다.
|
|
|
|
|
* @param categoryID 카테고리 아이디
|
|
|
|
|
* @return 코드 분류 정보
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* @return base/code/category-info
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "categoryInfo": [...]
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
@ -71,18 +64,16 @@ public class CodeController extends AbstractController {
|
|
|
|
|
public ModelAndView getCategoryInfo(String categoryID) {
|
|
|
|
|
ModelAndView mav = new ModelAndView("base/code/category-info");
|
|
|
|
|
if (!isEmpty(categoryID)) {
|
|
|
|
|
List<DataObject> list = codeService.getCategoryList(new CodeQuery().setCategoryIDs(categoryID));
|
|
|
|
|
if (!list.isEmpty())
|
|
|
|
|
mav.addObject("categoryInfo", list.get(0));
|
|
|
|
|
mav.addObject("categoryInfo", codeService.getCategoryInfo(categoryID));
|
|
|
|
|
}
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**코드 분류를 등록한다.
|
|
|
|
|
* @param category 코드 분류
|
|
|
|
|
* @return 등록 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 분류 등록", value="/category/create.do")
|
|
|
|
@ -93,9 +84,9 @@ public class CodeController extends AbstractController {
|
|
|
|
|
|
|
|
|
|
/**코드 분류를 수정한다.
|
|
|
|
|
* @param category 코드 분류
|
|
|
|
|
* @return 수정 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 분류 수정", value="/category/update.do")
|
|
|
|
@ -107,10 +98,10 @@ public class CodeController extends AbstractController {
|
|
|
|
|
/**지정하는 아이디의 코드 분류들을 제거한다.<br />
|
|
|
|
|
* 제거되는 코드 분류에 속하는 코드 그룹, 공통코드도 같이 제거한다.
|
|
|
|
|
* @param categoryIDs 코드 분류 아이디
|
|
|
|
|
* @return 저장된 정보수
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "affected": 1,
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "affected": 저장된 정보수,
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 분류 삭제", value="/category/remove.do")
|
|
|
|
@ -121,12 +112,15 @@ public class CodeController extends AbstractController {
|
|
|
|
|
.addObject("saved", affected > 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**코드 그룹 목록을 조회한다.
|
|
|
|
|
* @param pageNum 반환할 코드 그룹 목록의 페이지 번호
|
|
|
|
|
* @param fetchSize 한 번에 반환할 코드 그룹의 갯수
|
|
|
|
|
* @return 코드 그룹 목록
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "groupList": [...]
|
|
|
|
|
/**코드 그룹 목록을 조회한다.<br />
|
|
|
|
|
* {@link CodeService#getGroupList(CodeQuery)} 참고
|
|
|
|
|
* @param req 코드 그룹 목록 조회 조건
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "groupList": [코드 그룹 목록],
|
|
|
|
|
* "groupStart": 코드 그룹 시작 인덱스,
|
|
|
|
|
* "groupFetchTotal": 한 번에 가져오는 코드 그룹 목록 수,
|
|
|
|
|
* "groupTotal": 조회 결과 찾은 전체 코드 그룹 수
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(name="코드 그룹 목록", value="/group/list.do")
|
|
|
|
@ -141,27 +135,25 @@ public class CodeController extends AbstractController {
|
|
|
|
|
|
|
|
|
|
/**코드 그룹 정보를 조회한다.
|
|
|
|
|
* @param groupID 그룹 아이디
|
|
|
|
|
* @return 코드 그룹 정보
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* @return base/code/group-info
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "groupInfo": {...}
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(name="코드 그룹 목록", value="/group/info.do")
|
|
|
|
|
@RequestMapping(name="코드 그룹 정보", value="/group/info.do")
|
|
|
|
|
public ModelAndView getGroupInfo(String groupID) {
|
|
|
|
|
ModelAndView mav = new ModelAndView("base/code/group-info");
|
|
|
|
|
if (!isEmpty(groupID)) {
|
|
|
|
|
List<DataObject> list = codeService.getCodeList(new CodeQuery().setGroupIDs(groupID));
|
|
|
|
|
if (!list.isEmpty())
|
|
|
|
|
mav.addObject("groupInfo", list.get(0));
|
|
|
|
|
mav.addObject("groupInfo", codeService.getGroupInfo(null, groupID));
|
|
|
|
|
}
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**코드 그룹을 등록한다.
|
|
|
|
|
* @param group 코드 그룹
|
|
|
|
|
* @return 등록 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 그룹 등록", value="/group/create.do")
|
|
|
|
@ -172,9 +164,9 @@ public class CodeController extends AbstractController {
|
|
|
|
|
|
|
|
|
|
/**코드 그룹을 수정한다.
|
|
|
|
|
* @param group 코드 그룹
|
|
|
|
|
* @return 수정 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 그룹 수정", value="/group/update.do")
|
|
|
|
@ -186,10 +178,10 @@ public class CodeController extends AbstractController {
|
|
|
|
|
/**지정하는 아이디의 코드 그룹들을 제거한다.<br />
|
|
|
|
|
* 제거되는 코드 그룹에 속하는 공통코드도 같이 제거한다.
|
|
|
|
|
* @param groupIDs 코드 그룹 아이디
|
|
|
|
|
* @return 저장된 정보수
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "affected": 1,
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "affected": 저장된 정보수,
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 그룹 제거", value="/group/remove.do")
|
|
|
|
@ -203,10 +195,10 @@ public class CodeController extends AbstractController {
|
|
|
|
|
/**지정하는 코드 그룹 아이디의 공통코드들을 가져와 그룹 아이디별로 분류하여 반환한다.<br />
|
|
|
|
|
* 코드 그룹 아이디를 지정하지 않으면 모든 공통코드를 반환한다.
|
|
|
|
|
* @param groupIDs 코드 그룹 아이디
|
|
|
|
|
* @return 그룹별 공통코드
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "코드그룹0": [...], // 그룹0의 공통코드 목록
|
|
|
|
|
* "코드그룹1": [...], // 그룹1의 공통코드 목록
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "코드그룹0": [그룹0의 공통코드 목록],
|
|
|
|
|
* "코드그룹1": [그룹1의 공통코드 목록],
|
|
|
|
|
* ...
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
@ -216,17 +208,16 @@ public class CodeController extends AbstractController {
|
|
|
|
|
.addAllObjects(codeService.getCodesOf(groupIDs));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정하는 그룹의 공통코드 목록을 반환한다.
|
|
|
|
|
* @param groupID 코드 그룹 아이디
|
|
|
|
|
* @param pageNum 반환할 공통코드 목록의 페이지 번호
|
|
|
|
|
* @param fetchSize 한 번에 반환할 공통코드의 갯수
|
|
|
|
|
* @return 공통코드 목록
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
/**지정하는 그룹의 공통코드 목록을 반환한다.<br />
|
|
|
|
|
* {@link CodeService#getCodeList(CodeQuery)} 참고
|
|
|
|
|
* @param req 공통코드 조회 조건
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "groupID": "코드그룹0",
|
|
|
|
|
* "codeList": [...], // 그룹0의 공통코드 목록
|
|
|
|
|
* "codeStart": 0, // 공통코드 시작 위치
|
|
|
|
|
* "codeFetch": 10, // 한 번에 반환하는 공통코드 갯수
|
|
|
|
|
* "codeTotal": 50, // 조회 결과 공통코드 전체 갯수
|
|
|
|
|
* "codeList": [그룹0의 공통코드 목록],
|
|
|
|
|
* "codeStart": 공통코드 시작 인덱스,
|
|
|
|
|
* "codeFetch": 한 번에 반환하는 공통코드 갯수,
|
|
|
|
|
* "codeTotal": 조회 결과 공통코드 전체 갯수
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(name="그룹별 코드 목록", value="/list.do")
|
|
|
|
@ -242,8 +233,8 @@ public class CodeController extends AbstractController {
|
|
|
|
|
/**지정하는 그룹의 공통코드 정보를 반환한다.
|
|
|
|
|
* @param groupID 코드 그룹 아이디
|
|
|
|
|
* @param code 코드
|
|
|
|
|
* @return 공통코드 정보
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* @return base/code/code-info
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "codeInfo": {...}
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
@ -251,18 +242,16 @@ public class CodeController extends AbstractController {
|
|
|
|
|
public ModelAndView getCodeInfo(String groupID, String code) {
|
|
|
|
|
ModelAndView mav = new ModelAndView("base/code/code-info");
|
|
|
|
|
if (!isEmpty(groupID) && !isEmpty(code)) {
|
|
|
|
|
List<DataObject> list = codeService.getCodeList(new CodeQuery().setGroupIDs(groupID).setCodes(code));
|
|
|
|
|
if (!list.isEmpty())
|
|
|
|
|
mav.addObject("codeInfo", list.get(0));
|
|
|
|
|
mav.addObject("codeInfo", codeService.getCodeInfo(groupID, code));
|
|
|
|
|
}
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공통코드를 등록한다.
|
|
|
|
|
* @param commonCode 공통코드
|
|
|
|
|
* @return 등록 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 등록", value="/create.do")
|
|
|
|
@ -273,9 +262,9 @@ public class CodeController extends AbstractController {
|
|
|
|
|
|
|
|
|
|
/**공통코드를 수정한다.
|
|
|
|
|
* @param commonCode 공통코드
|
|
|
|
|
* @return 수정 여부
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 수정", value="/update.do")
|
|
|
|
@ -287,10 +276,10 @@ public class CodeController extends AbstractController {
|
|
|
|
|
/**지정하는 코드 그룹의 공통코드들의 정렬 순서를 전달받은 순서대로 저장한다.
|
|
|
|
|
* @param groupID 코드 그룹 아이디
|
|
|
|
|
* @param codes 공통코드
|
|
|
|
|
* @return 저장된 정보수
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "affected": 저장된 정보수,
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "affected": 저장된 정보 수,
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 순서", value="/reorder.do")
|
|
|
|
@ -305,10 +294,10 @@ public class CodeController extends AbstractController {
|
|
|
|
|
* 코드를 지정하지 않으면 해당 그룹의 모든 공통코드들을 제거한다.
|
|
|
|
|
* @param groupID 코드 그룹 아이디
|
|
|
|
|
* @param codes 코드
|
|
|
|
|
* @return 저장된 정보수
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
* "affected": 저장된 정보수,
|
|
|
|
|
* "saved": true || false
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "affected": 저장된 정보 수,
|
|
|
|
|
* "saved": 저장됐으면 true, 그렇지 않으면 false
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(name="코드 제거", value="/remove.do")
|
|
|
|
|