중간저장.
parent
3657c16a15
commit
c308ec3691
|
|
@ -46,14 +46,14 @@
|
||||||
.code_list .result .List_Codes >div:nth-child(7){
|
.code_list .result .List_Codes >div:nth-child(7){
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.codelistcontent{
|
.codeListContent{
|
||||||
padding: 0 0;
|
padding: 10px 0;
|
||||||
width: 80%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.StandardCodeList{
|
.StandardCodeList{
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
.listtablediv{
|
.listTableDiv{
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
.vieweratag{
|
.vieweratag{
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ body {min-width: 1400px;}
|
||||||
.c_wrap .layout {display: table; width: 100%; table-layout: fixed; padding-bottom: 20px;} /* added by lim padding-bottom: 20px; */
|
.c_wrap .layout {display: table; width: 100%; table-layout: fixed; padding-bottom: 20px;} /* added by lim padding-bottom: 20px; */
|
||||||
|
|
||||||
/* sub navigation */
|
/* sub navigation */
|
||||||
.c_wrap .layout .nav {display: table-cell; width: 220px; vertical-align: top;} /* changed by lim width: 260px; */
|
/*.c_wrap .layout .nav {display: table-cell; width: 220px; vertical-align: top;}*/ /* changed by lim width: 260px; */
|
||||||
.c_wrap .layout .nav .inner {border: 1px solid #dde2e5; border-radius: 10px;}
|
.c_wrap .layout .nav .inner {border: 1px solid #dde2e5; border-radius: 10px;}
|
||||||
.nav_title{padding: 35px 30px 26px 30px;} /* changed by lim border-bottom: 4px solid #dde2e5; */
|
.nav_title{padding: 35px 30px 26px 30px;} /* changed by lim border-bottom: 4px solid #dde2e5; */
|
||||||
.c_wrap .layout .nav h2 {color: #222; font-size: 24px;}
|
.c_wrap .layout .nav h2 {color: #222; font-size: 24px;}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ function StandardCodeList({}) {
|
||||||
const [listData, setListData] = useState([])
|
const [listData, setListData] = useState([])
|
||||||
const [filterData, setFilterData] = useState('');
|
const [filterData, setFilterData] = useState('');
|
||||||
const [resultCnt, setResultCnt] = useState(0);
|
const [resultCnt, setResultCnt] = useState(0);
|
||||||
|
const [remarkCnt, setRemarkCnt] = useState(0);
|
||||||
const [groupSeq, setGroupSeq] = useState();
|
const [groupSeq, setGroupSeq] = useState();
|
||||||
|
|
||||||
const [show, setShow] = useState(false);
|
const [show, setShow] = useState(false);
|
||||||
|
|
@ -75,7 +76,8 @@ function StandardCodeList({}) {
|
||||||
},
|
},
|
||||||
(resp) => {
|
(resp) => {
|
||||||
setListData(resp.result.resultList);
|
setListData(resp.result.resultList);
|
||||||
setResultCnt(resp.result.resultCnt);
|
setResultCnt(resp.result.resultCnt.allCnt);
|
||||||
|
setRemarkCnt(resp.result.resultCnt.remarkCnt);
|
||||||
},
|
},
|
||||||
function (resp) {
|
function (resp) {
|
||||||
console.log("err response : ", resp);
|
console.log("err response : ", resp);
|
||||||
|
|
@ -87,22 +89,10 @@ function StandardCodeList({}) {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="StandardCodeList container">
|
<div className="StandardCodeList container">
|
||||||
<div className="c_wrap codelistcontent">
|
<div className="c_wrap codeListContent">
|
||||||
<div className="location">
|
|
||||||
<ul>
|
|
||||||
<li><Link to={URL.MAIN} className="home">Home</Link></li>
|
|
||||||
<li><Link to='#'>건설기준코드</Link></li>
|
|
||||||
<li><Link to={URL.STANDARD_CODE_LIST}>건설기준코드 검색</Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div className="layout">
|
<div className="layout">
|
||||||
<div className="contents NOTICE_LIST listtablediv">
|
<div className="contents NOTICE_LIST listTableDiv">
|
||||||
<div className="top_tit">
|
<StandardCodeSearchForm param={listCode} reloadFunction={retrieveList} resultCnt={resultCnt} remarkCnt={remarkCnt}/>
|
||||||
<h2 className="tit_1">건설기준코드 검색</h2>
|
|
||||||
</div>
|
|
||||||
<StandardCodeSearchForm param={listCode} reloadFunction={retrieveList}/>
|
|
||||||
<div><span>전체 {resultCnt} 건</span></div>
|
|
||||||
{/* <!-- 게시판목록 --> */}
|
|
||||||
<div className="board_list code_list">
|
<div className="board_list code_list">
|
||||||
<div className="head">
|
<div className="head">
|
||||||
<span>대분류</span>
|
<span>대분류</span>
|
||||||
|
|
@ -125,9 +115,9 @@ function StandardCodeList({}) {
|
||||||
<div className="mainCategory">{item.mainCategory}</div>
|
<div className="mainCategory">{item.mainCategory}</div>
|
||||||
<div className="middleCategory">{item.middleCategory}</div>
|
<div className="middleCategory">{item.middleCategory}</div>
|
||||||
<div className="kcscCd">{item.kcscCd}</div>
|
<div className="kcscCd">{item.kcscCd}</div>
|
||||||
<div className="groupNm">{item.groupNm}</div>
|
<div className="groupNm">{item.groupNm}<br/><span className={"text-danger"}>{item.rvsnRemark}</span></div>
|
||||||
<div className="Revisionhistory"><a className="vieweratag" onClick={showHandling} data-groupSeq={item.groupSeq}>개정이력</a></div>
|
<div className="Revisionhistory"><a className="vieweratag" onClick={showHandling} data-groupSeq={item.groupSeq}>개정이력</a></div>
|
||||||
<div className="fille">{item.contentcount > 0 ? <a className="vieweratag" href={"/standardCode/viewer/" + item.kcscCd}>내용보기</a> : null}</div>
|
<div className="fille"><a className="vieweratag" href={"/standardCode/viewer/" + item.kcscCd}>내용보기</a></div>
|
||||||
<div className="star"><AiFillStar/></div>
|
<div className="star"><AiFillStar/></div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
import React, {useEffect, useState} from "react";
|
import React, {useEffect, useState} from "react";
|
||||||
|
import {Nav} from "react-bootstrap";
|
||||||
|
import Row from "react-bootstrap/Row";
|
||||||
|
import Col from "react-bootstrap/Col";
|
||||||
|
import {Link} from "react-router-dom";
|
||||||
|
import Button from "react-bootstrap/Button";
|
||||||
|
|
||||||
function StandardCodeSearchForm({param, reloadFunction}){
|
function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt}){
|
||||||
|
|
||||||
const [searchCondition, setSearchCondition] = useState({
|
const [searchCondition, setSearchCondition] = useState({
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
|
|
@ -60,25 +65,36 @@ function StandardCodeSearchForm({param, reloadFunction}){
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
<li className="third_1 L">
|
||||||
|
{remarkCnt?(
|
||||||
|
<span>전체 {resultCnt} / <span className={"text-danger"}>{remarkCnt}</span> 건</span>
|
||||||
|
):(
|
||||||
|
<span>전체 {resultCnt} 건</span>
|
||||||
|
)}
|
||||||
|
|
||||||
|
</li>
|
||||||
<li className="third_1 L">
|
<li className="third_1 L">
|
||||||
<div className={`tab`}>통합 다운로드</div>
|
<div className={`tab`}>통합 다운로드</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<Row className={"justify-content-between"}>
|
||||||
|
<Col>
|
||||||
{subTabsVisible && (
|
{subTabsVisible && (
|
||||||
<div className="right_col">
|
<Nav variant={"tabs"} >
|
||||||
<div className="mini_board">
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 40 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 40})}}>서울특별시</Nav.Link></Nav.Item>
|
||||||
<ul>
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 50 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 50})}}>고속도로공사</Nav.Link></Nav.Item>
|
||||||
<div className={`tab ${searchCondition.tab === 40 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 40})}}>서울특별시</div>
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 60 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 60})}}>한국농어촌공사</Nav.Link></Nav.Item>
|
||||||
<div className={`tab ${searchCondition.tab === 50 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 50})}}>고속도로공사</div>
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 70 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 70})}}>철도건설공사</Nav.Link></Nav.Item>
|
||||||
<div className={`tab ${searchCondition.tab === 60 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 60})}}>한국농어촌공사</div>
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 80 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 80})}}>LH한국토지주택공사</Nav.Link></Nav.Item>
|
||||||
<div className={`tab ${searchCondition.tab === 70 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 70})}}>철도건설공사</div>
|
<Nav.Item><Nav.Link className={`${searchCondition.tab === 90 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 90})}}>K-Water</Nav.Link></Nav.Item>
|
||||||
<div className={`tab ${searchCondition.tab === 80 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 80})}}>LH한국토지주택공사</div>
|
</Nav>
|
||||||
<div className={`tab ${searchCondition.tab === 90 ? 'active' : ''}`} onClick={() => {setSearchCondition({...searchCondition, tab: 90})}}>K-Water</div>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
)}
|
||||||
|
</Col>
|
||||||
|
<Col xs={"auto"}>
|
||||||
|
<Button href={"/standardCode/info"} size={"sm"} variant={"secondary"}>건설기준코드 안내</Button>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -164,11 +164,8 @@ public class StandardCodeController extends BaseController {
|
||||||
resultMap.put("category3List", standardCodeService.selectStandardCodeCategoryList(categorySeq3));
|
resultMap.put("category3List", standardCodeService.selectStandardCodeCategoryList(categorySeq3));
|
||||||
|
|
||||||
tnDocumentInfo.setListCode(tab + category1 + category2 + category3);
|
tnDocumentInfo.setListCode(tab + category1 + category2 + category3);
|
||||||
List<TnDocumentCodeList> tnDocumentCodeList = standardCodeService.selectStandardCodeList(tnDocumentInfo);
|
resultMap.put("resultList", standardCodeService.selectStandardCodeList(tnDocumentInfo));
|
||||||
resultMap.put("resultList", tnDocumentCodeList);
|
resultMap.put("resultCnt", standardCodeService.selectStandardCodeListCnt(tnDocumentInfo));
|
||||||
Integer totCnt = tnDocumentCodeList.get(0).getContentcount();
|
|
||||||
|
|
||||||
resultMap.put("resultCnt", totCnt);
|
|
||||||
resultMap.put("user", user);
|
resultMap.put("user", user);
|
||||||
|
|
||||||
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
|
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
|
||||||
|
|
|
||||||
|
|
@ -28,15 +28,20 @@ public class TnDocumentCodeList {
|
||||||
private String middleCategory;
|
private String middleCategory;
|
||||||
@Column(name = "group_nm")
|
@Column(name = "group_nm")
|
||||||
private String groupNm;
|
private String groupNm;
|
||||||
|
@Column(name = "rvsn_remark")
|
||||||
|
private String rvsnRemark;
|
||||||
@Column(name = "kcsc_cd")
|
@Column(name = "kcsc_cd")
|
||||||
private String kcscCd;
|
private String kcscCd;
|
||||||
@Column(name = "doc_file_grp_id")
|
@Column(name = "doc_file_grp_id")
|
||||||
private String docFileGrpId;
|
private String docFileGrpId;
|
||||||
@Column(name = "contentcount")
|
|
||||||
private Integer contentcount;
|
|
||||||
@Column(name = "parent_group_seq")
|
@Column(name = "parent_group_seq")
|
||||||
private String parentGroupSeq;
|
private String parentGroupSeq;
|
||||||
@Column(name = "group_full_cd")
|
@Column(name = "group_full_cd")
|
||||||
private String groupFullCd;
|
private String groupFullCd;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer allCnt;
|
||||||
|
@Transient
|
||||||
|
private Integer remarkCnt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,9 @@ public interface StandardCodeMapper {
|
||||||
|
|
||||||
List<TnDocumentCodeList> selectStandardCodeList(TnDocumentInfo tnDocumentInfo);
|
List<TnDocumentCodeList> selectStandardCodeList(TnDocumentInfo tnDocumentInfo);
|
||||||
|
|
||||||
Integer selectStandardCodeListCnt(TnDocumentInfo tnDocumentInfo);
|
TnDocumentCodeList selectStandardCodeListCnt(TnDocumentInfo tnDocumentInfo);
|
||||||
|
|
||||||
|
List<TnDocumentInfo> selectStandardCodeHistoryList(TnDocumentInfo tnDocumentInfo);
|
||||||
|
|
||||||
List<TnDocumentInfo> selectStandardCodeRevisionhistoryList(Integer groupseq);
|
List<TnDocumentInfo> selectStandardCodeRevisionhistoryList(Integer groupseq);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,17 @@ public class StandardCodeService extends EgovAbstractServiceImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<TnDocumentCodeList> selectStandardCodeList(TnDocumentInfo tnDocumentInfo){
|
public List<TnDocumentCodeList> selectStandardCodeList(TnDocumentInfo tnDocumentInfo){
|
||||||
return standardCodeMapper.selectStandardCodeList(tnDocumentInfo);
|
List<TnDocumentCodeList> codeList = standardCodeMapper.selectStandardCodeList(tnDocumentInfo);
|
||||||
|
List<TnDocumentInfo> historyList = standardCodeMapper.selectStandardCodeHistoryList(tnDocumentInfo);
|
||||||
|
for(TnDocumentCodeList code: codeList){
|
||||||
|
for(TnDocumentInfo history: historyList){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return codeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer selectStandardCodeListCnt(TnDocumentInfo tnDocumentInfo) {
|
public TnDocumentCodeList selectStandardCodeListCnt(TnDocumentInfo tnDocumentInfo) {
|
||||||
return standardCodeMapper.selectStandardCodeListCnt(tnDocumentInfo);
|
return standardCodeMapper.selectStandardCodeListCnt(tnDocumentInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,50 +5,69 @@
|
||||||
|
|
||||||
<sql id="selectStandardCodeListWhere">
|
<sql id="selectStandardCodeListWhere">
|
||||||
<where>
|
<where>
|
||||||
a.parent_group_seq = a2.seq
|
|
||||||
and a2.parent_seq = a3.seq
|
|
||||||
<if test="listCode != 102041 and listCode != null and listCode != ''">
|
<if test="listCode != 102041 and listCode != null and listCode != ''">
|
||||||
and a.group_full_cd like #{listCode} || '%'
|
and c.group_full_cd like #{listCode} || '%'
|
||||||
</if>
|
</if>
|
||||||
<if test="listCode == 102041">
|
<if test="listCode == 102041">
|
||||||
and (a.group_full_cd like 102041 || '%'
|
and (c.group_full_cd like 102041 || '%'
|
||||||
or a.group_full_cd like 102042 || '%'
|
or c.group_full_cd like 102042 || '%'
|
||||||
or a.group_full_cd like 102043 || '%')
|
or c.group_full_cd like 102043 || '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="searchWrd != null and searchWrd != ''">
|
<if test="searchWrd != null and searchWrd != ''">
|
||||||
and a.group_nm like '%' || #{searchWrd} || '%'
|
and c.group_nm like '%' || #{searchWrd} || '%'
|
||||||
</if>
|
</if>
|
||||||
and a.group_type = 'D'
|
and c.group_type = 'D'
|
||||||
and tdi.last_yn = 'Y'
|
and tdi.last_yn = 'Y'
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectStandardCodeList" parameterType="TnDocumentInfo" resultType="TnDocumentCodeList">
|
<select id="selectStandardCodeList" parameterType="TnDocumentInfo" resultType="TnDocumentCodeList">
|
||||||
select
|
select
|
||||||
count(*) over() as contentcount,
|
|
||||||
case
|
case
|
||||||
when a3.doc_level > 1 then a3.doc_code_name
|
when a.doc_level < 3 then b.group_nm
|
||||||
else a2.doc_code_name
|
else a.group_nm
|
||||||
end as main_category,
|
end as main_category,
|
||||||
case
|
case
|
||||||
when a3.doc_level > 1 then a2.doc_code_name
|
when a.doc_level < 3 then c.group_nm
|
||||||
else a.group_nm
|
else b.group_nm
|
||||||
end as middle_category,
|
end as middle_category,
|
||||||
a.group_nm,
|
c.group_nm,
|
||||||
a.kcsc_cd,
|
c.rvsn_remark ,
|
||||||
|
c.kcsc_cd,
|
||||||
tdi.doc_file_grp_id,
|
tdi.doc_file_grp_id,
|
||||||
a.group_seq
|
c.group_seq
|
||||||
from
|
from tn_document_group a
|
||||||
tn_document_group a
|
inner join tn_document_group b on a.group_seq = b.parent_group_seq
|
||||||
left join tn_document_info tdi on
|
inner join tn_document_group c on b.group_seq = c.parent_group_seq
|
||||||
a.group_seq = tdi.group_seq
|
left join tn_document_info tdi on c.group_seq = tdi.group_seq
|
||||||
left join tn_document_content tdc on
|
|
||||||
tdi.doc_info_seq = tdc.doc_info_seq,
|
|
||||||
sp_get_tn_document_code_by_tree() a2,
|
|
||||||
sp_get_tn_document_code_by_tree() a3
|
|
||||||
<include refid="selectStandardCodeListWhere"></include>
|
<include refid="selectStandardCodeListWhere"></include>
|
||||||
group by main_category, middle_category, a.group_nm, a.kcsc_cd, tdi.doc_file_grp_id, a.group_seq
|
order by c.kcsc_cd
|
||||||
order by a.kcsc_cd
|
</select>
|
||||||
|
|
||||||
|
<select id="selectStandardCodeListCnt" parameterType="TnDocumentInfo" resultType="TnDocumentCodeList">
|
||||||
|
select count(*) as allCnt,
|
||||||
|
sum(case when c.rvsn_remark is not null then 1 end) as remarkCnt
|
||||||
|
from tn_document_group a
|
||||||
|
inner join tn_document_group b on a.group_seq = b.parent_group_seq
|
||||||
|
inner join tn_document_group c on b.group_seq = c.parent_group_seq
|
||||||
|
left join tn_document_info tdi on c.group_seq = tdi.group_seq
|
||||||
|
<include refid="selectStandardCodeListWhere"></include>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectStandardCodeHistoryList" parameterType="TnDocumentInfo" resultType="TnDocumentInfo">
|
||||||
|
select a.*
|
||||||
|
from tn_document_info a
|
||||||
|
inner join tn_document_group b on a.kcsc_cd = b.kcsc_cd
|
||||||
|
where
|
||||||
|
<if test="listCode != 102041 and listCode != null and listCode != ''">
|
||||||
|
and b.group_full_cd like #{listCode} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="listCode == 102041">
|
||||||
|
and (b.group_full_cd like 102041 || '%'
|
||||||
|
or b.group_full_cd like 102042 || '%'
|
||||||
|
or b.group_full_cd like 102043 || '%')
|
||||||
|
</if>
|
||||||
|
and b.group_type = 'D'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectStandardCodeGroupSeq" parameterType="String" resultType="Integer">
|
<select id="selectStandardCodeGroupSeq" parameterType="String" resultType="Integer">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue