diff --git a/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css b/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css index 02ca0df..2df0b34 100644 --- a/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css +++ b/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css @@ -46,6 +46,14 @@ .code_list .result .List_Codes >div:nth-child(7){ font-size: 14px; } +.standard_code_result{ + max-height: 520px; + overflow-y: auto; +} +.download_list{ + max-height: 550px; + overflow-y: auto; +} .codeListContent{ padding: 10px 0; width: 100%; diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx new file mode 100644 index 0000000..eeef8ab --- /dev/null +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx @@ -0,0 +1,88 @@ +import React, {useEffect, useState} from "react"; +import {Button, Modal, Nav} from "react-bootstrap"; +import Col from "react-bootstrap/Col"; +import Row from "react-bootstrap/Row"; +import * as EgovNet from "api/egovFetch"; + + +function DownloadModal({size, show, onHide,}){ + const [tab, setTab] = useState(10); + const [subTabsVisible, setSubTabsVisible] = useState(false); + const [listData, setListData] = useState([]); + + useEffect(() => { + EgovNet.requestFetch('/standardCode/standard-code-download-list?listCode='+tab, + { + method: "GET", + headers: { + 'Content-type': 'application/json', + } + }, + (resp) => { + setListData(resp.result.resultList); + }, + function (resp) { + console.log("err response : ", resp); + } + ); + }, [tab]); + + return( + + + 통합다운로드 + + + + +
{setTab(10); setSubTabsVisible(false)}}>설계기준
+ + +
{setTab(20); setSubTabsVisible(false)}}>표준시방서
+ + +
{setTab(40); setSubTabsVisible(true)}}>전문시방서
+ +
+ {subTabsVisible && ( + + )} +
+
+ 구분 + 코드 + 다운로드 +
+
+ {listData.filter(item => { + return item; + }).map(item => { + return ( +
+
{item.groupNm}
+
{item.groupCurCd}
+
+ +
+
+ ) + })} +
+
+
+ +
+ ) +} + +export default DownloadModal; \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx index 7e1c1cf..e6902b3 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx @@ -2,11 +2,12 @@ import React from 'react'; import Col from "react-bootstrap/Col"; import Row from "react-bootstrap/Row"; import FavoriteIcon from "./FavoriteIcon"; +import Button from "react-bootstrap/Button"; function StandardCodeList({listData, filterData}) { return ( -
+
{listData.filter(item => { if (item.groupNm.includes(filterData)) { return item @@ -20,32 +21,7 @@ function StandardCodeList({listData, filterData}) {
{item.kcscCd}
{item.groupNm}
{item.rvsnRemark}
- - {item.historyList.filter(history => { - return history; - }).map(history => { - let buttonClass = "btn btn-sm docInfoBtn docInfoActive " - let pClass = "yearInfo yearInfoActive"; - if(history.docEr === 'E'){ - buttonClass += "btn-success " - }else{ - buttonClass += "btn-primary " - } - return ( - - { - /*window.open("/standardCode/viewer/"+history.kcscCd+":"+history.rvsnYmd.split('T')[0]);*/ - }} - /> -
-

{history.docYr}

- - ) - })} -
+
diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeListModal.js b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeListModal.js deleted file mode 100644 index ef87d39..0000000 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeListModal.js +++ /dev/null @@ -1,30 +0,0 @@ -import {Button, Modal, ModalBody, ModalFooter, ModalHeader, ModalTitle} from "react-bootstrap"; - - -function StandardCodeListModal({show,content,onClose,title,size}){ - return( - - - {title} - - - {content} - - - ) -} - -function StandardCodeListModalTable({head,content}){ - return( - - - {head} - - - {content} - -
- ) -} - -export {StandardCodeListModal,StandardCodeListModalTable}; \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx index 13e9661..23990d4 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx @@ -2,12 +2,11 @@ import React, {useState, useCallback} from 'react'; import {Link, useParams} from 'react-router-dom'; import * as EgovNet from 'api/egovFetch'; -import {StandardCodeListModal, StandardCodeListModalTable} from './StandardCodeListModal' -import {AiFillFileMarkdown} from "react-icons/ai"; +import DownloadModal from './DownloadModal' import StandardCodeSearchForm from "./StandardCodeSearchForm"; -import Loading from "../../../components/Loading"; +import Loading from "components/Loading"; import StandardCodeList from "./StandardCodeList"; -import URL from "../../../constants/url"; +import URL from "constants/url"; function StandardCodePage({}) { const {listCode} = useParams(); @@ -16,56 +15,11 @@ function StandardCodePage({}) { const [filterData, setFilterData] = useState(''); const [resultCnt, setResultCnt] = useState(0); const [remarkCnt, setRemarkCnt] = useState(0); - const [groupSeq, setGroupSeq] = useState(); const [show, setShow] = useState(false); function close() { setShow(false); } - - function showHandling(e) { - const param = e.currentTarget.dataset; - const groupSeq = param.groupSeq; - console.log(groupSeq); - EgovNet.requestFetch( - '/standardCode/codeListModal.do', - { - method: "POST", - headers: { - 'Content-type': 'application/json' - }, - body: JSON.stringify( - groupSeq - ) - }, (resp) => { - console.log(resp + "------------------------resp") - const body = []; - const head = []; - if (resp.length > 0) { - resp.forEach(function (item, index) { - const formattedDate = item.aplcnBgngYmd.match(/\d{4}-\d{2}-\d{2}/)[0]; - const url = "https://www.kcsc.re.kr/file/DownloadGrp/" + item.docFileGrpId; - body.push( - - {formattedDate} - - - ) - }) - head.push( - - 년도 - 기준코드 - 신구건설기준비교 - - ) - } - - setGroupSeq(); - } - ) - setShow(true); - } const retrieveList = useCallback((searchCondition) => { setListLoading(true) @@ -89,40 +43,38 @@ function StandardCodePage({}) { }, []); + function downloadModal(){ + setShow(true); + } + return (
- {/* */} -
+ {/*
  • Home
  • 건설기준코드
  • 건설기준코드 검색
-
- {/* */} - +
*/}
-
- {/* */} - -
+ {/*

건설기준코드 검색

-
+
*/}
- +
대분류 중분류 코드번호 코드명 - 개정이력 + 개정이력 보기 즐겨찾기
@@ -132,7 +84,7 @@ function StandardCodePage({}) { ) }
- +
diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx index 872f30a..624bb9a 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx @@ -6,7 +6,7 @@ import {Link} from "react-router-dom"; import Button from "react-bootstrap/Button"; import * as EgovNet from "../../../api/egovFetch"; -function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt}){ +function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, downloadModal}){ const [searchCondition, setSearchCondition] = useState({ tab: Number(param?.substring(0, 2)), @@ -136,7 +136,7 @@ function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt}){
  • -
    통합 다운로드
    +
    통합 다운로드
  • diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java index e1bf2bb..1f22d8b 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java @@ -163,6 +163,34 @@ public class StandardCodeController extends BaseController { return resultVO; } + @Operation( + summary = "건설기준코드 다운로드 리스트 조회", + description = "건설기준코드 다운로드 리스트 조회", + tags = {"StandardCodeController"} + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "조회 성공"), + @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") + }) + @GetMapping(value = "/standard-code-download-list") + public ResultVO selectStandardCodeDownloadList(TnDocumentInfo tnDocumentInfo, @AuthenticationPrincipal LoginVO user) + throws Exception { + ResultVO resultVO = new ResultVO(); + Map resultMap = new HashMap<>(); + String listCode = tnDocumentInfo.getListCode(); + if(listCode.equals("60")){ + listCode += "______"; + }else{ + listCode += "____"; + } + resultMap.put("resultList", standardCodeService.selectTnDocumentGroupToGroupFullCdLike(listCode)); + + resultVO.setResultCode(ResponseCode.SUCCESS.getCode()); + resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage()); + resultVO.setResult(resultMap); + return resultVO; + } + @Operation( summary = "건설기준코드 검색조건 옵션 조회", description = "건설기준코드 검색조건 옵션 조회", @@ -177,7 +205,7 @@ public class StandardCodeController extends BaseController { ResultVO resultVO = new ResultVO(); Map resultMap = new HashMap<>(); - resultMap.put("groupList", standardCodeService.selectTnDocumentGroupToGroupFullCdLike(tnDocumentInfo.getListCode())); + resultMap.put("groupList", standardCodeService.selectTnDocumentGroupToGroupFullCdLike(tnDocumentInfo.getListCode()+"__")); resultVO.setResultCode(ResponseCode.SUCCESS.getCode()); resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage()); diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/service/StandardCodeService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/service/StandardCodeService.java index a0fc817..10bc88e 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/service/StandardCodeService.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/service/StandardCodeService.java @@ -71,7 +71,7 @@ public class StandardCodeService extends EgovAbstractServiceImpl { public List selectTnDocumentGroupToGroupFullCdLike(String groupFullCd) { - return tnDocumentGroupRepository.findByGroupFullCdLike(groupFullCd+"__"); + return tnDocumentGroupRepository.findByGroupFullCdLike(groupFullCd); } public void saveFavorites(Integer userSeq, Integer groupSeq){