중간저장

cks
강석 최 2023-10-12 17:05:49 +09:00
parent ca7226d0e4
commit e5f1ff17e9
7 changed files with 390 additions and 1 deletions

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="AdditionalModuleElements">
<content url="file://$MODULE_DIR$" dumb="true">
<excludeFolder url="file://$MODULE_DIR$/log" />
</content>
</component>
<component name="FacetManager">
<facet type="jpa" name="JPA">
<configuration>
<setting name="validation-enabled" value="true" />
<setting name="provider-name" value="Hibernate" />
<datasource-mapping />
<naming-strategy-map />
</configuration>
</facet>
</component>
</module>

View File

@ -1,8 +1,22 @@
package egovframework.dbnt.kcsc.standardCode; package egovframework.dbnt.kcsc.standardCode;
import egovframework.com.cmm.ResponseCode;
import egovframework.com.cmm.service.ResultVO;
import egovframework.com.cmm.LoginVO;
import org.egovframe.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import egovframework.dbnt.kcsc.standardCode.service.StandardCodeVO;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
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 io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Map;
/** /**
* *
* *
@ -16,6 +30,8 @@ import org.springframework.web.bind.annotation.*;
* </pre> * </pre>
*/ */
@RestController @RestController
@RequiredArgsConstructor
@RequestMapping("/standardCode")
@Tag(name="StandardCodeController",description = "건설기준코드 관리 컨트롤러") @Tag(name="StandardCodeController",description = "건설기준코드 관리 컨트롤러")
public class StandardCodeController { public class StandardCodeController {
/* /*
@ -119,7 +135,6 @@ public class StandardCodeController {
/** /**
* . * .
* *
* @param boardVO
* @return resultVO * @return resultVO
* @throws Exception * @throws Exception
*/ */
@ -191,5 +206,49 @@ public class StandardCodeController {
resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage()); resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage());
return resultVO; return resultVO;
}*/ }*/
@Operation(
summary = "건설기준코드 내용 조회",
description = "건설기준코드 내용 조회",
tags = {"StandardCodeController"}
)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@PostMapping(value = "/viewer.do", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResultVO selectStandardCode(@RequestBody StandardCodeVO codeVO, @AuthenticationPrincipal LoginVO user)
throws Exception {
ResultVO resultVO = new ResultVO();
/*BoardMasterVO vo = new BoardMasterVO();
vo.setBbsId(boardVO.getBbsId());
vo.setUniqId(user.getUniqId());
BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(vo);
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(boardVO.getPageIndex());
paginationInfo.setRecordCountPerPage(propertyService.getInt("Globals.pageUnit"));
paginationInfo.setPageSize(propertyService.getInt("Globals.pageSize"));
boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
boardVO.setLastIndex(paginationInfo.getLastRecordIndex());
boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
Map<String, Object> resultMap = bbsMngService.selectBoardArticles(boardVO, vo.getBbsAttrbCode());
int totCnt = Integer.parseInt((String)resultMap.get("resultCnt"));
paginationInfo.setTotalRecordCount(totCnt);
resultMap.put("boardVO", boardVO);
resultMap.put("brdMstrVO", master);
resultMap.put("paginationInfo", paginationInfo);
resultMap.put("user", user);
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage());
resultVO.setResult(resultMap);
*/
return resultVO;
}
} }

View File

@ -0,0 +1,61 @@
package egovframework.dbnt.kcsc.standardCode.entity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.time.LocalDateTime;
@Getter
@Setter
@Entity
@NoArgsConstructor
@DynamicInsert
@DynamicUpdate
@Table(name = "tn_document_group")
public class TnDocumentGroup {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "group_seq")
private Integer groupSeq;
@Column(name = "group_full_cd")
private String groupFullCd;
@Column(name = "kcsc_cd")
private String kcscCd;
@Column(name = "group_cur_cd")
private String groupCurCd;
@Column(name = "group_nm")
private String groupNm;
@Column(name = "group_type")
private String groupType;
@Column(name = "item_cd")
private String itemCd;
@Column(name = "doc_type")
private Integer docType;
@Column(name = "doc_level")
private Integer docLevel;
@Column(name = "doc_order")
private Integer docOrder;
@Column(name = "parent_group_seq")
private Integer parentGroupSeq;
@Column(name = "rvsn_remark")
private String rvsnRemark;
@Column(name = "frst_crt_id")
private String frstCrtId;
@Column(name = "frst_crt_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime frstCrtDt;
@Column(name = "last_chg_id")
private String lastChgId;
@Column(name = "last_chg_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime lastChgDt;
@Column(name = "use_yn")
private String useYn;
@Column(name = "old_seq")
private Integer oldSeq;
}

View File

@ -0,0 +1,9 @@
package egovframework.dbnt.kcsc.standardCode.service;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class StandardCodeVO {
}

View File

@ -75,6 +75,7 @@ const URL = {
ADMIN_MANAGER : "/admin/manager/", // 사이트관리/사이트관리자 암호변경 기능 추가 2023.04.15(토) 김일국 ADMIN_MANAGER : "/admin/manager/", // 사이트관리/사이트관리자 암호변경 기능 추가 2023.04.15(토) 김일국
//기준코드
STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트 STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트
STANDARD_CODE_VIEWER : "/standardCode/viewer", //건설기준코드/뷰어 STANDARD_CODE_VIEWER : "/standardCode/viewer", //건설기준코드/뷰어
} }

View File

@ -0,0 +1,233 @@
import React, { useState, useEffect, useCallback } from 'react';
import { Link, useLocation } from 'react-router-dom';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
function CodeViewer(props) {
console.group("viewer");
console.log("[Start] viewer ------------------------------");
console.log("viewer [props] : ", props);
const location = useLocation();
console.log("viewer [location] : ", location);
// eslint-disable-next-line no-unused-vars
const [noticeBoard, setNoticeBoard] = useState();
// eslint-disable-next-line no-unused-vars
const [gallaryBoard, setGallaryBoard] = useState();
const [noticeListTag, setNoticeListTag] = useState();
const [gallaryListTag, setGallaryListTag] = useState();
const retrieveList = useCallback(() => {
console.groupCollapsed("EgovMain.retrieveList()");
const retrieveListURL = '/standardCode/viewer.do';
const requestOptions = {
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify()
}
EgovNet.requestFetch(retrieveListURL,
requestOptions,
(resp) => {
setNoticeBoard(resp.result.notiList);
setGallaryBoard(resp.result.galList);
let mutNotiListTag = [];
mutNotiListTag.push(<li key="0">검색된 결과가 없습니다.</li>); // 게시판 목록 초기값
// 리스트 항목 구성
resp.result.notiList.forEach(function (item, index) {
if (index === 0) mutNotiListTag = []; // 목록 초기화
mutNotiListTag.push(
<li key={item.nttId}>
<Link
to={{pathname: URL.INFORM_NOTICE_DETAIL}}
state={{
nttId: item.nttId,
bbsId: item.bbsId
}}
>
{item.nttSj}
<span>{item.frstRegisterPnttm}</span>
</Link>
</li>
);
});
setNoticeListTag(mutNotiListTag);
let mutGallaryListTag = [];
mutGallaryListTag.push(<li key="0">검색된 결과가 없습니다.</li>); // 게시판 목록 초기값
// 리스트 항목 구성
resp.result.galList.forEach(function (item, index) {
if (index === 0) mutGallaryListTag = []; // 목록 초기화
mutGallaryListTag.push(
<li key={index}>
<Link
to={{pathname: URL.INFORM_GALLERY_DETAIL}}
state={{
nttId: item.nttId,
bbsId: item.bbsId
}}
>
{item.nttSj}
<span>{item.frstRegisterPnttm}</span>
</Link>
</li>
);
});
setGallaryListTag(mutGallaryListTag);
},
function (resp) {
console.log("err response : ", resp);
}
);
console.groupEnd("EgovMain.retrieveList()");
},[]);
useEffect(() => {
retrieveList();
}, [retrieveList]);
console.log("------------------------------viewer [End]");
console.groupEnd("viewer");
return (
<div className="container P_MAIN">
<div className="c_wrap">
<div className="colbox">
<div className="left_col">
{/*<img src="/assets/images/img_simple_main.png" alt="단순 홈페이지 전자정부 표준프레임워크의 경량환경 내부업무에 대한 최신 정보와 기술을 제공하고 있습니다." />*/}
<h3>건설기준코드 검색</h3>
<Row className="justify-content-md-center">
<Col xs={3}><Button variant="secondary">공통코드</Button></Col>
<Col xs={3}><Button variant="secondary">지반코드</Button></Col>
<Col xs={3}><Button variant="secondary">구조코드</Button></Col>
<Col xs={3}><Button variant="secondary">내진코드</Button></Col>
<Col xs={3}><Button variant="secondary">가설코드</Button></Col>
<Col xs={3}><Button variant="secondary">교량코드</Button></Col>
<Col xs={3}><Button variant="secondary">터널코드</Button></Col>
<Col xs={3}><Button variant="secondary">공동구코드</Button></Col>
<Col xs={3}><Button variant="secondary">설비코드</Button></Col>
<Col xs={3}><Button variant="secondary">조경코드</Button></Col>
<Col xs={3}><Button variant="secondary">건축코드</Button></Col>
<Col xs={3}><Button variant="secondary">도로코드</Button></Col>
<Col xs={3}><Button variant="secondary">철도코드</Button></Col>
<Col xs={3}><Button variant="secondary">하천코드</Button></Col>
<Col xs={3}><Button variant="secondary">댐코드</Button></Col>
<Col xs={3}><Button variant="secondary">상수도코드</Button></Col>
<Col xs={3}><Button variant="secondary">하수도코드</Button></Col>
<Col xs={3}><Button variant="secondary">농업기반코드</Button></Col>
{/*
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/1010" title="공통코드">공통코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/101011" title="지반코드">지반코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/101014" title="구조코드">구조코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/101017" title="내진코드">내진코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102021" title="가설코드">가설코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102024" title="교량코드">교량코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102027" title="터널코드">터널코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102029" title="공동구코드">공동구코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102031" title="설비코드">설비코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102034" title="조경코드">조경코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102041" title="건축코드">건축코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102044" title="도로코드">도로코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102047" title="철도코드">철도코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102051" title="하천코드">하천코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102054" title="댐코드">댐코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102057" title="상수도코드">상수도코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102061" title="하수도코드">하수도코드</a></Button></Col>
<Col xs={3}><Button variant="secondary"><a href="/Search/ListCodes/102067" title="농업기반코드">농업기반코드</a></Button></Col>
*/}
</Row>
</div>
<div className="right_col">
<div className="mini_board">
<ul className="tab">
<li><a href="#공지사항" className="on">공지사항</a></li>
<li><a href="#갤러리">갤러리</a></li>
</ul>
<div className="list">
<div className="notice">
<h2 className="blind">공지사항</h2>
<ul>
{noticeListTag}
</ul>
<Link to={URL.INFORM_NOTICE} className="more">더보기</Link>
</div>
<div className="gallary">
<h2 className="blind">갤러리</h2>
<ul>
{gallaryListTag}
</ul>
<Link to={URL.INFORM_GALLERY} className="more">더보기</Link>
</div>
</div>
</div>
<div className="banner">
<Link to={URL.SUPPORT_DOWNLOAD} className="bn1">
<strong>자료실</strong>
<span>다양한 자료를<br />다운로드 받으실 있습니다.</span>
</Link>
<Link to={URL.ABOUT} className="bn2">
<strong>표준프레임워크센터</strong>
<span>표준프레임워크센터의<br />약도 등의 정보를 제공합니다.</span>
</Link>
</div>
</div>
</div>
<div className="banner_bot">
<div className="b1">
<div>
<h2>주요사업 소개</h2>
<p>표준프레임워크가 제공하는<br />
주요 사업을 소개합니다.</p>
</div>
<Link to={URL.INTRO_WORKS}>자세히 보기</Link>
</div>
<div className="b2">
<div>
<h2>대표서비스 소개</h2>
<p>표준프레임워크 실행환경의<br />
서비스 그룹에서 제공하는<br />
대표서비스입니다.</p>
</div>
<Link to={URL.INTRO_SERVICE}>자세히 보기</Link>
</div>
<div className="b3">
<div>
<h2>서비스 신청</h2>
<p>표준프레임워크 경량환경<br />
홈페이지의 다양한 서비스를<br />
신청 하실 있습니다.</p>
</div>
<Link to={URL.SUPPORT_APPLY}>자세히 보기</Link>
</div>
<div className="b4">
<div>
<h2>일정 현황</h2>
<p>표준프레임워크 경량환경<br />
홈페이지의 전체적인 일정<br />
현황을 조회하실 있습니다.</p>
</div>
<Link to={URL.INFORM}>자세히 보기</Link>
</div>
</div>
</div>
</div>
);
}
export default CodeViewer;

View File

@ -64,6 +64,10 @@ import EgovAdminGalleryDetail from 'pages/admin/gallery/EgovAdminGalleryDetail';
import EgovAdminGalleryEdit from 'pages/admin/gallery/EgovAdminGalleryEdit'; import EgovAdminGalleryEdit from 'pages/admin/gallery/EgovAdminGalleryEdit';
// 2023.04.15() // 2023.04.15()
import EgovAdminPasswordUpdate from 'pages/admin/manager/EgovAdminPasswordUpdate'; import EgovAdminPasswordUpdate from 'pages/admin/manager/EgovAdminPasswordUpdate';
//
import CodeViewer from 'pages/standardCode/viewer';
import * as EgovNet from 'api/egovFetch'; // jwt import * as EgovNet from 'api/egovFetch'; // jwt
import initPage from 'js/ui'; import initPage from 'js/ui';
@ -220,6 +224,10 @@ const SecondRoutes = () => {
<Route path={URL.ADMIN_GALLERY_REPLY} element={<EgovAdminGalleryEdit mode={CODE.MODE_REPLY} />} /> <Route path={URL.ADMIN_GALLERY_REPLY} element={<EgovAdminGalleryEdit mode={CODE.MODE_REPLY} />} />
{/* 사이트관리자 암호 바꾸기 기능 추가 2023.04.15(토) 김일국 */} {/* 사이트관리자 암호 바꾸기 기능 추가 2023.04.15(토) 김일국 */}
<Route path={URL.ADMIN_MANAGER} element={<EgovAdminPasswordUpdate />} /> <Route path={URL.ADMIN_MANAGER} element={<EgovAdminPasswordUpdate />} />
{/*기준코드*/}
<Route path={URL.STANDARD_CODE_VIEWER} element={<CodeViewer />} />
</Routes> </Routes>
<EgovFooter /> <EgovFooter />
<EgovInfoPopup /> <EgovInfoPopup />