From b12ed67f908bdfef82201c8c7fd4519ae046c2f8 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Thu, 20 Nov 2025 16:16:35 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=9E=A5=EB=B9=84=EA=B2=AC=EC=A0=81?= =?UTF-8?q?=EC=84=9C=20=EC=96=91=EC=8B=9D=20=EC=BB=AC=EB=9F=BC=EB=84=88?= =?UTF-8?q?=EB=B9=84=20=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/contractMgmt/estimateTemplate2.jsp | 121 +++++++++--------- 1 file changed, 64 insertions(+), 57 deletions(-) diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateTemplate2.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateTemplate2.jsp index 0464287..d1b5f0e 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateTemplate2.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateTemplate2.jsp @@ -132,28 +132,35 @@ body { width: 100%; border-collapse: collapse; margin-bottom: 0; + table-layout: fixed; /* 고정 레이아웃으로 컬럼 너비 강제 */ } .items-table th, .items-table td { border: 1px solid #000; - padding: 8px; + padding: 4px 2px; /* 패딩 축소 */ font-size: 9pt; + overflow: hidden; /* 내용이 넘칠 경우 숨김 */ + word-wrap: break-word; /* 긴 단어 줄바꿈 */ } .items-table th { background-color: #E8E8E8; font-weight: bold; text-align: center; + font-size: 8pt; /* 헤더 글자 크기 축소 */ + padding: 3px 2px; /* 헤더 패딩 더 축소 */ + line-height: 1.2; /* 줄 간격 축소 */ } -.items-table .col-no { width: 5%; text-align: center; } -.items-table .col-desc { width: 25%; } -.items-table .col-spec { width: 30%; } -.items-table .col-qty { width: 7%; text-align: center; } -.items-table .col-price { width: 12%; text-align: right; } -.items-table .col-amount { width: 12%; text-align: right; } -.items-table .col-remark { width: 9%; text-align: center; } +/* colgroup으로 너비 제어하므로 클래스 기반 너비는 제거하거나 주석 처리 */ +.items-table .col-no { text-align: center; } +.items-table .col-desc { } +.items-table .col-spec { } +.items-table .col-qty { text-align: center; } +.items-table .col-price { text-align: right; } +.items-table .col-amount { text-align: right; } +.items-table .col-remark { text-align: center; } .category-row { background-color: #f0f0f0; @@ -541,10 +548,10 @@ function fn_addCategory() { '' + '' + '' + - '' + - '' + - '' + - '' + + '' + + '' + + '' + + '' + '' + '' + '' + @@ -605,11 +612,11 @@ function fn_createCategoryFromData(category) { '
' + '' + '' + - '' + - '' + - '' + + '' + + '' + + '' + + '' + '' + - '' + '' + '' + '' + @@ -1239,13 +1246,13 @@ function fn_generateAndUploadPdf(callback) {
- - - - - - - + + + + + + + @@ -1269,12 +1276,12 @@ function fn_generateAndUploadPdf(callback) { - + - +
최종 견적가최종 견적가 VAT 별도VAT 별도
@@ -1284,10 +1291,10 @@ function fn_generateAndUploadPdf(callback) { - - - - + + + + @@ -1348,10 +1355,10 @@ Z: SRG25 P급, C0
- - - - + + + + @@ -1389,10 +1396,10 @@ Z: SRG25 P급, C0
- - - - + + + + @@ -1433,10 +1440,10 @@ SIEMENS CONTROL PANEL 828D
- - - - + + + + @@ -1484,10 +1491,10 @@ LUBRICATION
- - - - + + + + @@ -1503,10 +1510,10 @@ LUBRICATION
- - - - + + + + @@ -1552,10 +1559,10 @@ NV4Blue(Renishaw)
- - - - + + + + @@ -1597,10 +1604,10 @@ NV4Blue(Renishaw)
- - - - + + + + From a058d2c2c785da5bfce17ab55ebb89bebf450e66 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 21 Nov 2025 09:41:46 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EB=B4=84=20=EC=83=81=ED=83=9C=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EA=B6=8C=ED=95=9C=20admin=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/view/partMng/structureList.jsp | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/WebContent/WEB-INF/view/partMng/structureList.jsp b/WebContent/WEB-INF/view/partMng/structureList.jsp index 1f136a1..cc54f73 100644 --- a/WebContent/WEB-INF/view/partMng/structureList.jsp +++ b/WebContent/WEB-INF/view/partMng/structureList.jsp @@ -4,18 +4,23 @@ <%@ page import="java.util.*" %> <%@include file= "/init.jsp" %> <% -// 권한 체크: AUTHORITY_MASTER의 OBJID가 41000668인 그룹에 속한 사용자인지 확인 +// 권한 체크: AUTHORITY_MASTER의 OBJID가 41000668인 그룹에 속한 사용자 또는 관리자인지 확인 boolean hasStatusChangeAuth = false; try { - org.apache.ibatis.session.SqlSession sqlSession = com.pms.common.SqlMapConfig.getInstance().getSqlSession(); - java.util.Map authParam = new java.util.HashMap(); - authParam.put("userId", connectUserId); - authParam.put("masterObjid", "41000668"); - - Integer authCount = (Integer)sqlSession.selectOne("common.checkUserAuthority", authParam); - hasStatusChangeAuth = (authCount != null && authCount > 0); - - sqlSession.close(); + // 관리자는 자동으로 권한 부여 + if(isAdmin) { + hasStatusChangeAuth = true; + } else { + org.apache.ibatis.session.SqlSession sqlSession = com.pms.common.SqlMapConfig.getInstance().getSqlSession(); + java.util.Map authParam = new java.util.HashMap(); + authParam.put("userId", connectUserId); + authParam.put("masterObjid", "41000668"); + + Integer authCount = (Integer)sqlSession.selectOne("common.checkUserAuthority", authParam); + hasStatusChangeAuth = (authCount != null && authCount > 0); + + sqlSession.close(); + } } catch(Exception e) { e.printStackTrace(); }