kcscDev/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java

132 lines
5.2 KiB
Java

package com.dbnt.kcscbackend.standardCode;
import com.dbnt.kcscbackend.config.common.BaseController;
import com.dbnt.kcscbackend.config.common.LoginVO;
import com.dbnt.kcscbackend.config.common.ResponseCode;
import com.dbnt.kcscbackend.config.common.ResultVO;
import com.dbnt.kcscbackend.standardCode.entity.TnDocumentInfo;
import com.dbnt.kcscbackend.standardCode.service.StandardCodeService;
import com.dbnt.kcscbackend.standardCode.service.StandardCodeVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.egovframe.rte.fdl.property.EgovPropertyService;
import org.egovframe.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import org.springframework.http.MediaType;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
* 건설기준코드 관리를 위한 컨트롤러 클래스
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2023.10.11 최강석 최초 생성
*
* </pre>
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/standardCode")
@Tag(name="StandardCodeController",description = "건설기준코드 관리 컨트롤러")
public class StandardCodeController extends BaseController {
@Resource(name = "propertiesService")
protected EgovPropertyService propertyService;
private final StandardCodeService standardCodeService;
@Operation(
summary = "건설기준코드 트리 조회",
description = "건설기준코드 트리 조회",
tags = {"StandardCodeController"}
)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@PostMapping(value = "/getCodeTree.do", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResultVO getCodeTree(@RequestBody StandardCodeVO param, @AuthenticationPrincipal LoginVO user)
throws Exception {
ResultVO resultVO = new ResultVO();
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("codeTree", standardCodeService.selectStandardCodeTree());
resultVO.setResult(resultMap);
return resultVO;
}
@Operation(
summary = "건설기준코드 내용 조회",
description = "건설기준코드 내용 조회",
tags = {"StandardCodeController"}
)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@PostMapping(value = "/getCodeDetailInfo.do", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResultVO getCodeDetailInfo(@RequestBody StandardCodeVO param, @AuthenticationPrincipal LoginVO user)
throws Exception {
ResultVO resultVO = new ResultVO();
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("document", standardCodeService.selectStandardCodeDocument(param));
resultVO.setResult(resultMap);
return resultVO;
}
@Operation(
summary = "건설기준코드 리스트 조회",
description = "건설기준코드 리스트 조회",
tags = {"StandardCodeController"}
)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@PostMapping(value = "/selectStandardCodeList.do", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResultVO selectStandardCodeList(@RequestBody TnDocumentInfo tnDocumentInfo, @AuthenticationPrincipal LoginVO user)
throws Exception {
ResultVO resultVO = new ResultVO();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(tnDocumentInfo.getPageIndex());
paginationInfo.setRecordCountPerPage(propertyService.getInt("Globals.pageUnit"));
paginationInfo.setPageSize(propertyService.getInt("Globals.pageSize"));
System.out.println("@@@ pageIndex : " + tnDocumentInfo.getPageIndex());
tnDocumentInfo.setFirstIndex(paginationInfo.getFirstRecordIndex());
tnDocumentInfo.setLastIndex(paginationInfo.getLastRecordIndex());
tnDocumentInfo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("resultList", standardCodeService.selectStandardCodeList(tnDocumentInfo));
resultMap.put("resultCnt", standardCodeService.selectStandardCodeListCnt(tnDocumentInfo));
Integer totCnt = (Integer) resultMap.get("resultCnt");
paginationInfo.setTotalRecordCount(totCnt);
resultMap.put("paginationInfo", paginationInfo);
resultMap.put("user", user);
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage());
resultVO.setResult(resultMap);
return resultVO;
}
}