강석 최 2023-11-06 09:03:17 +09:00
commit 80f36c5569
9 changed files with 125 additions and 81 deletions

View File

@ -7,6 +7,7 @@ import './css/layout.css';
import './css/component.css';
import './css/page.css';
import './css/response.css';
import './css/Custom/customMain.css'
function App() {

View File

@ -76,10 +76,13 @@ const URL = {
ADMIN_MANAGER : "/admin/manager/", // 사이트관리/사이트관리자 암호변경 기능 추가 2023.04.15(토) 김일국
//기준코드
STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트
STANDARD_CODE_LIST : "/standardCode/list/:listCode", //건설기준코드/리스트
STANDARD_CODE_DETAIL : "/standardCode/detail", //건설기준코드/리스트
STANDARD_CODE_VIEWER : "/standardCode/viewer", //건설기준코드/뷰어
STANDARD_CODE_VIEWER_LINK : "/standardCode/viewer/:linkedDocCode", //건설기준코드/뷰어/새 창 링크
}
export default URL;

View File

@ -0,0 +1,13 @@
.mainbnt {
height: 35px;
line-height: 35px;
display: block;
background-color: #909090;
text-align: center;
border-radius: 13px;
color: white;
margin: 5px;
}
.mainbnt:hover{
background-color: #212121;
}

View File

@ -107,45 +107,25 @@ function EgovMain(props) {
<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"><a href="/standardCode/list" title="공통코드">공통코드</a></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>
<Col xs={3}><a href="/standardCode/list/1010" title="공통코드" className={"mainbnt"}>공통코드</a></Col>
<Col xs={3}><a href="/standardCode/list/101011" title="공통코드" className={"mainbnt"}>지반코드</a></Col>
<Col xs={3}><a href="/standardCode/list/101014" title="공통코드" className={"mainbnt"}>구조코드</a></Col>
<Col xs={3}><a href="/standardCode/list/101017" title="공통코드" className={"mainbnt"}>내진코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102021" title="공통코드" className={"mainbnt"}>가설코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102024" title="공통코드" className={"mainbnt"}>교량코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102027" title="공통코드" className={"mainbnt"}>터널코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102029" title="공통코드" className={"mainbnt"}>공동구코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102031" title="공통코드" className={"mainbnt"}>설비코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102034" title="공통코드" className={"mainbnt"}>조경코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102041" title="공통코드" className={"mainbnt"}>건축코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102044" title="공통코드" className={"mainbnt"}>도로코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102047" title="공통코드" className={"mainbnt"}>철도코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102051" title="공통코드" className={"mainbnt"}>하천코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102054" title="공통코드" className={"mainbnt"}>댐코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102057" title="공통코드" className={"mainbnt"}>상수도코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102061" title="공통코드" className={"mainbnt"}>하수도코드</a></Col>
<Col xs={3}><a href="/standardCode/list/102067" title="공통코드" className={"mainbnt"}>농업기반코드</a></Col>
</Row>
</div>

View File

@ -1,5 +1,5 @@
import React, { useState, useEffect, useCallback, useRef } from 'react';
import { Link, useLocation } from 'react-router-dom';
import {Link, useLocation, useParams} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
@ -7,13 +7,26 @@ import { NOTICE_BBS_ID } from 'config';
import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavInform';
import EgovPaging from 'components/EgovPaging';
import { itemIdxByPage } from 'utils/calc';
import StandardCodeListModal from './StandardCodeListModal'
function StandardCodeList(props) {
const {listCode} = useParams();
const [show, setshow] = useState(false);
const [groupseq,setgroupseq] = useState();
function showhandling(e){
const param = e.currentTarget.dataset;
setshow(true);
setgroupseq(param.groupseq);
}
function close () {
setshow(false);
}
console.group("StandardCodeList");
console.log("[Start] StandardCodeList ------------------------------");
console.log("StandardCodeList [props] : ", props);
console.log("listcode----------------------------"+listCode);
const location = useLocation();
console.log("StandardCodeList [location] : ", location);
@ -24,7 +37,7 @@ function StandardCodeList(props) {
const bbsId = location.state?.bbsId || NOTICE_BBS_ID;
// eslint-disable-next-line no-unused-vars
const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { bbsId: bbsId, pageIndex: 1, searchCnd: '0', searchWrd: '' });// ||
const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { listCode: listCode, pageIndex: 1, searchCnd: '0', searchWrd: '' });// ||
const [masterBoard, setMasterBoard] = useState({});
const [paginationInfo, setPaginationInfo] = useState({});
@ -62,7 +75,7 @@ function StandardCodeList(props) {
mutListTag.push(
<Link
to={{pathname: URL.STANDARD_CODE_DETAIL}}
to={"#"}
state={{
docInfoSeq: item.docInfoSeq,
docNm: item.docNm,
@ -82,10 +95,11 @@ function StandardCodeList(props) {
<div className="al">
{item.docNm}
</div>}
<div><button onClick={showhandling} data-groupseq = {item.groupSeq}>개정이력</button></div>
<div></div>
<div></div>
<div></div>
<div></div>
</Link>
);
});
@ -106,7 +120,7 @@ function StandardCodeList(props) {
console.log("------------------------------StandardCodeList [End]");
console.groupEnd("StandardCodeList");
return (
<div className="container">
<div className="StandardCodeList container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
@ -192,6 +206,7 @@ function StandardCodeList(props) {
retrieveList({ ...searchCondition, pageIndex: passedPage, searchCnd: cndRef.current.value, searchWrd: wrdRef.current.value })
}} />
{/* <!--/ Paging --> */}
<StandardCodeListModal show ={show} groupseq ={groupseq} onClose = {close}/>
</div>
{/* <!--// 본문 --> */}

View File

@ -0,0 +1,17 @@
import {Button, Modal, ModalBody, ModalFooter, ModalHeader, ModalTitle} from "react-bootstrap";
function StandardCodeListModal({show,groupseq,onClose}){
//todo 로직추가구현필요
return(
<Modal show={show}>
<ModalHeader>
<ModalTitle>개정이력</ModalTitle>
</ModalHeader>
<ModalBody>
{groupseq}
</ModalBody>
<ModalFooter><Button onClick={onClose}>닫기</Button></ModalFooter>
</Modal>)
}
export default StandardCodeListModal;

View File

@ -110,6 +110,7 @@ public class StandardCodeController extends BaseController {
paginationInfo.setPageSize(propertyService.getInt("Globals.pageSize"));
System.out.println("@@@ pageIndex : " + tnDocumentInfo.getPageIndex());
System.out.println("@@@ listCode : " + tnDocumentInfo.getListCode());
tnDocumentInfo.setFirstIndex(paginationInfo.getFirstRecordIndex());
tnDocumentInfo.setLastIndex(paginationInfo.getLastRecordIndex());

View File

@ -101,4 +101,6 @@ public class TnDocumentInfo {
private int recordCountPerPage = 10;
@Schema(description = "레코드 번호")
private int rowNo = 0;
@Schema(description = "")
private String listCode;
}

View File

@ -5,48 +5,60 @@
<select id="selectStandardCodeList" parameterType="TnDocumentInfo" resultType="TnDocumentInfo">
SELECT
doc_info_seq,
use_yn,
rvsn_ymd,
rvsn_file_grp_id,
old_seq,
old_kcsc_cd,
last_yn,
last_chg_id,
last_chg_dt,
kcsc_cd,
group_seq,
frst_crt_id,
frst_crt_dt,
estb_ymd,
doc_yr,
doc_rvsn_remark,
doc_rev_hist_seq,
doc_relation,
doc_publish,
doc_order,
doc_nm,
doc_file_grp_id,
doc_er,
doc_dept,
doc_cycl,
doc_consider,
doc_brief,
doc_advice,
aplcn_end_ymd,
aplcn_bgng_ymd
tdi.doc_info_seq,
tdi.use_yn,
tdi.rvsn_ymd,
tdi.rvsn_file_grp_id,
tdi.old_seq,
tdi.old_kcsc_cd,
tdi.last_yn,
tdi.last_chg_id,
tdi.last_chg_dt,
tdi.kcsc_cd,
tdi.group_seq,
tdi.frst_crt_id,
tdi.frst_crt_dt,
tdi.estb_ymd,
tdi.doc_yr,
tdi.doc_rvsn_remark,
tdi.doc_rev_hist_seq,
tdi.doc_relation,
tdi.doc_publish,
tdi.doc_order,
tdi.doc_nm,
tdi.doc_file_grp_id,
tdi.doc_er,
tdi.doc_dept,
tdi.doc_cycl,
tdi.doc_consider,
tdi.doc_brief,
tdi.doc_advice,
tdi.aplcn_end_ymd,
tdi.aplcn_bgng_ymd
FROM
tn_document_info
WHERE 1 = 1
ORDER BY doc_info_seq desc
tn_document_info tdi, tn_document_group tdg
<include refid="selectStandardCodeListWhere"></include>
ORDER BY tdi.kcsc_cd
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectStandardCodeListCnt" parameterType="TnDocumentInfo" resultType="int">
SELECT count(*)
FROM
tn_document_info
WHERE 1 = 1
tn_document_info tdi, tn_document_group tdg
<include refid="selectStandardCodeListWhere"></include>
</select>
<sql id="selectStandardCodeListWhere">
<where>
and tdi.group_seq = tdg.group_seq
and tdi.kcsc_cd like 'KDS%'
and tdi.last_yn = 'Y'
and tdi.use_yn = 'Y'
<if test="listCode != null and listCode != ''">
and tdg.group_full_cd like #{listCode} || '%'
</if>
</where>
</sql>
</mapper>