강석 최 2023-01-30 16:47:26 +09:00
commit b2adc7ba5e
7 changed files with 224 additions and 127 deletions

View File

@ -8,6 +8,7 @@ import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
import com.dbnt.faisp.main.fpiMgt.affairPlan.service.PlanService;
import com.dbnt.faisp.main.fpiMgt.affairResult.service.ResultService;
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService;
import com.dbnt.faisp.main.fpiMgt.monitoring.service.MonitoringService;
import com.dbnt.faisp.main.fpiMgt.sri.service.SriService;
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.service.BoardInvestigationService;
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.service.MajorStatusService;
@ -57,6 +58,7 @@ public class FileController extends BaseService{
private final CounterIntelligenceService ciService;
private final MajorStatusService majorStatusService;
private final IntelligenceNetworkService inrelligenceNetworkService;
private final MonitoringService monitoringService;
@GetMapping("/editorFileDisplay")
public ResponseEntity<Resource> editorFileDisplay(HttpServletRequest request,
@ -233,6 +235,9 @@ public class FileController extends BaseService{
case "operationPlan":
downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq);
break;
case "designation":
downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq);
break;
}
return downloadFile;
}

View File

@ -17,6 +17,7 @@ import com.dbnt.faisp.main.fpiMgt.monitoring.mapper.MonitoringMapper;
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignation;
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignationApprv;
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignationFile;
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignationFile.monitoringDesignationFileId;
import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationApprvRepository;
import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationFileRepository;
import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationRepository;
@ -135,6 +136,10 @@ public class MonitoringService extends BaseService {
return apprv.getMdKey();
}
public MonitoringDesignationFile selectDesignationFile(Integer parentKey, Integer fileSeq) {
return monitoringDesignationFileRepository.findById(new monitoringDesignationFileId(parentKey,fileSeq)).orElse(null);
}
}

View File

@ -8,35 +8,46 @@
<input type="hidden" name="affairKey" id="viewModalAffairKey" th:value="${affair.affairKey}">
<ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="boardTab" data-bs-toggle="tab" data-bs-target="#boardTabPanel" type="button" role="tab" aria-controls="boardTabPanel" aria-selected="true">본문</button>
<button class="nav-link active" id="boardTab" data-bs-toggle="tab" data-bs-target="#boardTabPanel" type="button"
role="tab" aria-controls="boardTabPanel" aria-selected="true">본문
</button>
</li>
<li class="nav-item" role="presentation" th:if="${#lists.size(affair.fileList)>0}">
<button class="nav-link" id="fileTab" data-bs-toggle="tab" data-bs-target="#fileTabPanel" type="button" role="tab" aria-controls="fileTabPanel" aria-selected="false" th:text="${#strings.concat('첨부파일(', #lists.size(affair.fileList), ')')}"></button>
<button class="nav-link" id="fileTab" data-bs-toggle="tab" data-bs-target="#fileTabPanel" type="button" role="tab"
aria-controls="fileTabPanel" aria-selected="false"
th:text="${#strings.concat('첨부파일(', #lists.size(affair.fileList), ')')}"></button>
</li>
</ul>
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
<div class="row border border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">문서번호</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="|해양경찰청외사-${affair.affairKey}|"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">문서번호</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="|해양경찰청외사-${affair.affairKey}|"></label>
</div>
<div class="row border border-top-0 border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${code.itemCd eq affair.wrtUserGrd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:text="${affair.wrtUserNm}"></th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">보고일자</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}"></label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">공개여부</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">보고일자</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">공개여부</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('AVS')}">
<th:block th:if="${code.itemCd eq affair.viewStatus}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">상태</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">상태</label>
<th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq affair.affairStatus}">
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
@ -45,29 +56,34 @@
</div>
<hr>
<div class="row border border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">제목</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">제목</label>
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.title}"></label>
</div>
<div class="row border border-top-0 border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야1</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야1</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DC01')}">
<th:block th:if="${code.itemCd eq affair.affairType1}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야2</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야2</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DC02')}">
<th:block th:if="${code.itemCd eq affair.affairType2}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야3</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야3</label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DC03')}">
<th:block th:if="${code.itemCd eq affair.affairType3}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야4</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">분야4</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DC04')}">
<th:block th:if="${code.itemCd eq affair.affairType4}" th:text="${code.itemValue}"></th:block>
@ -76,18 +92,21 @@
</div>
<hr>
<div class="row border border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">내용</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">내용</label>
<div class="col-sm-11 form-control-sm" id="contentDiv">
<div th:utext="${affair.content}"></div>
</div>
</div>
<hr>
<div class="row border border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">해시태그</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">해시태그</label>
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.hashTags}"></label>
</div>
<div class="row border border-top-0 border-secondary">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">비고</label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">비고</label>
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.etc}"></label>
</div>
</div>
@ -109,7 +128,8 @@
<th:block th:each="file:${affair.fileList}">
<tr class="fileInfoTr">
<td><a href="#" class="fileDownLink" data-board="affair"
th:data-parentkey="${file.affairKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
th:data-parentkey="${file.affairKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
<td th:text="${file.fileSize}"></td>
</tr>
</th:block>
@ -122,7 +142,7 @@
<div class="px-2">
<hr>
<th:block th:each="rate:${affair.rateList}">
<div class="row border border-secondary">
<div class="row border-secondary text-center">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${code.itemCd eq rate.ratingOrgan}" th:text="${code.itemValue}"></th:block>
@ -130,49 +150,69 @@
</label>
<div class="col-11">
<div class="row" th:if="${rate.sectionApprv eq null}">
<label class="col-sm-8 border-end border-secondary col-form-label col-form-label-sm text-center bg-white">결재정보가 없습니다.</label>
<label
class="col-sm-8 border-end border-secondary col-form-label col-form-label-sm text-center bg-white">결재정보가
없습니다.</label>
</div>
<div class="row" th:if="${rate.sectionApprv ne null}">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재결과: </label>
<div class="row border-top-0 border-secondary" th:if="${rate.sectionApprv ne null}">
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재결과: </label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq rate.sectionApprv}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${rate.sectionNm}"></label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${rate.sectionNm}"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
</div>
<div class="row border border-top-0 border-secondary" th:if="${rate.sectionApprv ne null and !#strings.isEmpty(rate.sectionEtc)}">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견: </label>
<label class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${rate.sectionEtc}"></label>
<div class="row border-top-0 border-secondary"
th:if="${rate.sectionApprv ne null and !#strings.isEmpty(rate.sectionEtc)}">
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견: </label>
<label class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${rate.sectionEtc}"></label>
</div>
<div class="row border border-top-0 border-secondary" th:if="${rate.headApprv ne null}">
<div class="row border-top-0 border-secondary" th:if="${rate.headApprv ne null}">
<th:block th:if="${rate.headApprv eq 'DST006'}">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">견문평가: </label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">견문평가: </label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('AAR')}">
<th:block th:if="${code.itemCd eq rate.affairRate}" th:text="|${code.itemValue}${rate.organUp eq 'T'?'(상보)':''}|"></th:block>
<th:block th:if="${code.itemCd eq rate.affairRate}"
th:text="|${code.itemValue}${rate.organUp eq 'T'?'(상보)':''}|"></th:block>
</th:block>
</label>
</th:block>
<th:block th:if="${rate.headApprv eq 'DST005'}">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재결과: </label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재결과: </label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq rate.headApprv}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
</th:block>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${rate.headNm}"></label>
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${rate.headNm}"></label>
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시: </label>
<label class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
</div>
<div class="row border border-top-0 border-secondary" th:if="${rate.headApprv ne null and !#strings.isEmpty(rate.headEtc)}">
<label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견: </label>
<label class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${rate.headEtc}"></label>
<div class="row border-top-0 border-secondary"
th:if="${rate.headApprv ne null and !#strings.isEmpty(rate.headEtc)}">
<label
class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견: </label>
<label class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${rate.headEtc}"></label>
</div>
</div>
</div>
@ -183,26 +223,32 @@
<div class="px-2">
<form action="#" method="post" id="apprvForm">
<input type="hidden" name="affairKey" th:value="${affair.affairKey}">
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and affair.affairStatus eq 'DST002' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<th:block
th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and affair.affairStatus eq 'DST002' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<input type="hidden" name="sectionApprv" id="sectionApprv">
<div class="row border border-top-0 border-secondary">
<div class="row border-top-0 border-secondary">
<div class="col-10">
<input type="text" class="form-control form-control-sm etc" name="sectionEtc" placeholder="추가의견, 반려사유 기입">
<input type="text" class="form-control form-control-sm etc" name="sectionEtc"
placeholder="추가의견, 반려사유 기입">
<input type="text" class="d-none" id="submitPrevention">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="section" data-affairstate="DST004" value="승인">
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="section"
data-affairstate="DST004" value="승인">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section" data-affairstate="DST003" value="반려">
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section"
data-affairstate="DST003" value="반려">
</div>
</div>
</th:block>
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<th:block
th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<input type="hidden" name="headApprv" id="headApprv">
<div class="row border border-top-0 border-secondary">
<div class="row border-top-0 border-secondary">
<div class="col-8">
<input type="text" class="form-control form-control-sm etc" name="headEtc" placeholder="추가의견, 반려사유 기입">
<input type="text" class="form-control form-control-sm etc" name="headEtc"
placeholder="추가의견, 반려사유 기입">
<input type="text" class="d-none" id="submitPrevention">
</div>
<div class="col-auto">
@ -218,10 +264,12 @@
<input type="checkbox" id="organUp" name="organUp" value="T">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="head" data-affairstate="DST006" value="승인">
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="head"
data-affairstate="DST006" value="승인">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="head" data-affairstate="DST005" value="반려">
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="head"
data-affairstate="DST005" value="반려">
</div>
</div>
</th:block>
@ -245,5 +293,5 @@
<button type="button" class="btn btn-warning" id="editAffairBtn">수정</button>
</th:block>
</th:block>
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
</div>

View File

@ -13,20 +13,24 @@
<div class="row mb-1">
<label for="wrtUserNm" class="col-sm-1 col-form-label-sm text-center">작성자</label>
<div class="col-sm-2">
<input type="text" class="form-control " id="wrtUserNm" name="wrtUserNm" th:value="${plan.wrtUserNm}" readonly>
<input type="text" class="form-control " id="wrtUserNm" name="wrtUserNm" th:value="${plan.wrtUserNm}"
readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label-sm text-center">작성일시</label>
<div class="col-sm-2">
<input type="text" class="form-control " id="wrtDt" name="wrtDt" th:value="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
<input type="text" class="form-control " id="wrtDt" name="wrtDt"
th:value="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label for="planDt" class="col-sm-1 col-form-label-sm text-center">시행일자</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="planDt" name="planDt" th:value="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}" readonly>
<input type="text" class="form-control" id="planDt" name="planDt"
th:value="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}" readonly>
</div>
<label for="planState" class="col-sm-1 col-form-label-sm text-center">상태</label>
<div class="col-sm-2">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<input type="text" class="form-control " th:if="${commonCode.itemCd eq plan.planState}" th:value="${commonCode.itemValue}" readonly>
<input type="text" class="form-control " th:if="${commonCode.itemCd eq plan.planState}"
th:value="${commonCode.itemValue}" readonly>
</th:block>
</div>
</div>
@ -36,7 +40,8 @@
<div class="row mb-1">
<label for="contentTitle" class="col-sm-2 col-form-label-sm text-center">제목</label>
<div class="col-sm-10 form-control-sm">
<input type="text" class="form-control border-0" id="contentTitle" name="contentTitle" th:value="${plan.contentTitle}" readonly>
<input type="text" class="form-control border-0" id="contentTitle" name="contentTitle"
th:value="${plan.contentTitle}" readonly>
</div>
</div>
<hr>
@ -45,7 +50,8 @@
<div class="col-sm-10 form-control-sm" id="planDiv">
<th:block th:each="infoList:${plan.mainInfoList}">
<th:block th:if="${infoList.planType eq 'S'}">
<input type="text" class="form-control border-0" name="planInfo" th:value="${infoList.planInfo}" readonly>
<input type="text" class="form-control border-0" name="planInfo" th:value="${infoList.planInfo}"
readonly>
</th:block>
</th:block>
</div>
@ -80,7 +86,8 @@
<th:block th:each="file:${plan.fileList}">
<tr class="fileInfoTr">
<td><a href="#" class="fileDownLink" data-board="affairPlan"
th:data-parentkey="${file.planKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
th:data-parentkey="${file.planKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
<td th:text="${file.fileSize}"></td>
</tr>
</th:block>
@ -89,28 +96,47 @@
</table>
</div>
</div>
<th:block th:unless="${#lists.isEmpty(plan.apprvList)}">
<hr>
<th:block th:each="apprv,cnt:${plan.apprvList}">
<div class="row justify-content-between py-1">
<div class="col-auto">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<span th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과 : ${commonCode.itemValue}| "></span>
<div >
<!-- <label class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${code.itemCd eq rate.ratingOrgan}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>-->
<div class="col-12 text-center row border-top-0 border-secondary">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold"
th:if="${commonCode.itemCd eq apprv.state}">결재결과:</span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start"
th:if="${commonCode.itemCd eq apprv.state}" th:text="${commonCode.itemValue}"></span>
</th:block>
<div class="col-auto" >
<span th:text=" | 결재자 : ${apprv.userNm}|"></span>
</div>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자:</span>
<span class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${apprv.userNm}"></span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시:</span>
<span class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}"></span>
<div class="col-12 text-center row border-top-0 border-secondary">
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold" >기타의견:</span>
<span class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${apprv.etc}"></span>
</div>
<div class="col-auto">
<span th:text="|결재일시 : ${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}|"></span>
</div>
<div class="col-12">
<span th:text="|기타의견 : ${apprv.etc}|"></span>
</div>
</div>
</th:block>
</th:block>
</div>
<div class="col-12" th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and plan.planState eq 'DST002'
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and plan.planState eq 'DST004'}">
@ -123,10 +149,12 @@
<input type="text" class="d-none" id="submitPrevention">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
<input type="button" class="btn btn-sm btn-success apprvBtn"
th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
<input type="button" class="btn btn-sm btn-danger apprvBtn"
th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
</div>
</div>
</form>

View File

@ -95,6 +95,7 @@
<!--
<th></th>
-->
<th>순번</th>
<th>제목</th>
<th>사업기간</th>
<th>관서</th>
@ -107,11 +108,12 @@
</tr>
</thead>
<tbody class="table-group-divider">
<tr class="resultTr" th:each="result:${resultList}">
<tr class="resultTr" th:each="result,cnt:${resultList}">
<input type="hidden" class="resultKey" th:value="${result.resultKey}">
<!--
<td><input type="checkbox" class="trChkBox"></td>
-->
<td th:text="${cnt.count}"></td>
<td th:text="${result.resultTitle}"></td>
<td th:text="${#strings.concat(#temporals.format(result.workStartDt, 'yyyy-MM-dd'), '~', #temporals.format(result.workEndDt, 'yyyy-MM-dd'))}"></td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">

View File

@ -24,17 +24,16 @@
<div class="tab-content bg-white border border-top-0" id="configInfo">
<div class="tab-pane fade p-2 show active" id="clearReportViewTabPanel" role="tabpanel" aria-labelledby="clearReportViewTab" tabindex="0">
<div class="row mb-1">
<label for="wrtUserNm" class="col-sm-2 col-form-label text-center">작성자</label>
<div class="col-sm-2">
<label for="wrtUserNm" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<div class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="wrtUserNm" name="wrtUserNm" th:value="${result.wrtUserNm}" readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label text-center">작성일시</label>
<div class="col-sm-2">
<label for="wrtDt" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">작성일시</label>
<div class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="wrtDt" name="wrtDt" th:value="${#temporals.format(result.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<div class="col-sm-2"></div>
<label for="resultState" class="col-sm-1 col-form-label text-center">상태</label>
<div class="col-sm-2">
<label for="resultState" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">상태</label>
<div class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<input type="text" class="form-control border-0" th:if="${commonCode.itemCd eq result.resultState}" th:value="${commonCode.itemValue}" readonly>
</th:block>
@ -42,35 +41,34 @@
</div>
<hr>
<div class="row mb-1">
<label for="clearTitle" class="col-sm-2 col-form-label text-center">목적(제목)</label>
<div class="col-sm-6">
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">목적(제목)</label>
<div class="col-sm-6 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="clearTitle" name="clearTitle" th:value="${result.clearTitle}" readonly>
</div>
<label for="useDate" class="col-sm-1 col-form-label text-center">사용기간</label>
<div class="col-sm-3">
<label for="useDate" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">사용기간</label>
<div class="col-sm-3 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="useDate" name="useDate"
th:value="${#strings.concat(#temporals.format(result.useStartDt, 'yyyy-MM-dd'), '~', #temporals.format(result.useEndDt, 'yyyy-MM-dd'))}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="planPrice" class="col-sm-2 col-form-label text-center">계획금액</label>
<div class="col-sm-2">
<label for="planPrice" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">계획금액</label>
<div class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="planPrice" name="planPrice" th:value="${#numbers.formatInteger(result.planPrice, 1, 'COMMA')+'원'}" readonly>
</div>
<label for="usePrice" class="col-sm-1 col-form-label text-center">집행액</label>
<div class="col-sm-2">
<label for="usePrice" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">집행액</label>
<div class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="usePrice" name="usePrice" th:value="${#numbers.formatInteger(result.usePrice, 1, 'COMMA')+'원'}" readonly>
</div>
<div class="col-sm-1"></div>
<label for="workDate" class="col-sm-1 col-form-label text-center">사업기간</label>
<div class="col-sm-3">
<label for="workDate" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">사업기간</label>
<div class="col-sm-3 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="workDate" name="workDate"
th:value="${#strings.concat(#temporals.format(result.workStartDt, 'yyyy-MM-dd'), '~', #temporals.format(result.workEndDt, 'yyyy-MM-dd'))}" readonly>
</div>
</div>
<hr>
<div class="row mb-1">
<label for="clearTitle" class="col-sm-2 col-form-label text-center">세부<br>집행내역</label>
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">세부<br>집행내역</label>
<div class="col-sm-10">
<table class="table table-sm table-hover">
<thead>
@ -98,26 +96,26 @@
</div>
<hr>
<div class="row mb-1">
<label for="clearEtc" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-10">
<label for="clearEtc" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">비고</label>
<div class="col-sm-10 border-end border-secondary col-form-label col-form-label-sm text-start">
<input type="text" class="form-control border-0" id="clearEtc" name="clearEtc" th:value="${result.clearEtc}" readonly>
</div>
</div>
</div>
<div class="tab-pane fade p-2" id="resultReportViewTabPanel" role="tabpanel" aria-labelledby="resultReportViewTab" tabindex="0">
<div class="row mb-1">
<label for="resultTitle" class="col-sm-2 col-form-label text-center">사업명</label>
<label for="resultTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">사업명</label>
<div class="col-sm-10">
<input type="text" class="form-control border-0" id="resultTitle" name="resultTitle" th:value="${result.resultTitle}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="usePrice" class="col-sm-2 col-form-label text-center">집행예산</label>
<label for="usePrice" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">집행예산</label>
<div class="col-sm-2">
<input type="text" class="form-control border-0" id="usePrice" name="usePrice" th:value="${#numbers.formatInteger(result.usePrice, 1, 'COMMA')+'원'}" readonly>
</div>
<div class="col-sm-1"></div>
<label for="workDate" class="col-sm-1 col-form-label text-center">사업기간</label>
<label for="workDate" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">사업기간</label>
<div class="col-sm-3">
<input type="text" class="form-control border-0" id="workDate" name="workDate"
th:value="${#strings.concat(#temporals.format(result.workStartDt, 'yyyy-MM-dd'), '~', #temporals.format(result.workEndDt, 'yyyy-MM-dd'))}" readonly>
@ -125,7 +123,7 @@
</div>
<hr>
<div class="row mb-1">
<label for="clearTitle" class="col-sm-2 col-form-label text-center">활동내용</label>
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">활동내용</label>
<div class="col-sm-10">
<table class="table table-sm table-hover">
<thead>
@ -147,7 +145,7 @@
</div>
<hr>
<div class="row mb-1">
<label for="resultEtc" class="col-sm-2 col-form-label text-center">비고</label>
<label for="resultEtc" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control border-0" id="resultEtc" name="resultEtc" th:value="${result.resultEtc}" readonly>
</div>
@ -208,18 +206,28 @@
</div>
<th:block th:unless="${#lists.isEmpty(result.apprvList)}">
<th:block th:each="apprv,cnt:${result.apprvList}">
<div class="row justify-content-between py-1">
<div class="col-auto">
<div class="ms-2 mt-2">
<div class="col-12 text-center row border-top-0 border-secondary">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<span th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과: ${commonCode.itemValue}|"></span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold"
th:if="${commonCode.itemCd eq apprv.state}">결재결과:</span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq apprv.state}" th:text=" ${commonCode.itemValue}"></span>
</th:block>
<span th:text="|결재자: ${apprv.userNm}|"></span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재자:</span>
<span class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${apprv.userNm}"></span>
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">결재일시:</span>
<span class="col-sm-2 border-end border-secondary col-form-label col-form-label-sm text-start"
th:text="${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}"></span>
</div>
<div class="col-auto">
<span th:text="|결재일시: ${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}|"></span>
</div>
<div class="col-12">
<span th:text="|기타의견: ${apprv.etc}|"></span>
<div class="col-12 text-center row border-top-0 border-secondary">
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold" >기타의견:</span>
<span class="col-sm-7 border-end border-secondary col-form-label col-form-label-sm text-start" th:text="${apprv.etc}"></span>
</div>
</div>
</th:block>

View File

@ -80,35 +80,25 @@
<table class="table table-sm table-bordered table-hover">
<thead>
<tr class="table-secondary">
<th></th>
<th th:if="${searchParams.status ne 'receive'}">상태</th>
<th>분류</th>
<th>제출기한</th>
<th>순번</th>
<th>제목</th>
<th>관서</th>
<th>부서</th>
<th>분류</th>
<th>제출기한</th>
<th th:if="${searchParams.status ne 'receive'}">상태</th>
<th>작성자</th>
<th>작성일시</th>
<th>작성일</th>
</tr>
</thead>
<tbody class="table-group-divider">
<tr class="faSriTr" th:each="sri:${SriList}">
<tr class="faSriTr" th:each="sri,cnt:${SriList}">
<th:block>
<input type="hidden" class="faSriKey" th:value="${sri.faSriKey}">
</th:block>
<th:block th:unless="${sri.status eq 'DST008'}">
<td class="sriChk"><input type="checkbox" name="sriChk" class="trChkBox"></td>
<td th:if="${sri.status ne 'receive'}">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<th:text th:if="${commonCode.itemCd eq sri.status}" th:text="${commonCode.itemValue}"></th:text>
</th:block>
</td>
<td>
<th:block th:each="commonCode:${session.commonCode.get('SRI')}">
<th:text th:if="${commonCode.itemCd eq sri.faSriType}" th:text="${commonCode.itemValue}"></th:text>
</th:block>
</td>
<td th:text="${sri.faSriEdate}"></td>
<!-- <td class="sriChk"><input type="checkbox" name="sriChk" class="trChkBox"></td>-->
<td th:text="${cnt.count}"></td>
<td th:text="${sri.title}"></td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<td th:if="${sri.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
@ -116,6 +106,17 @@
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
<td th:if="${sri.wrtPart eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
<td>
<th:block th:each="commonCode:${session.commonCode.get('SRI')}">
<th:text th:if="${commonCode.itemCd eq sri.faSriType}" th:text="${commonCode.itemValue}"></th:text>
</th:block>
</td>
<td th:text="${sri.faSriEdate}"></td>
<td th:if="${sri.status ne 'receive'}">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<th:text th:if="${commonCode.itemCd eq sri.status}" th:text="${commonCode.itemValue}"></th:text>
</th:block>
</td>
<td th:text="${sri.wrtUserNm}"></td>
<td th:text="${#temporals.format(sri.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</th:block>
@ -126,7 +127,7 @@
</div>
<div class="row justify-content-between">
<div class="col-auto">
<button type="button" class="btn btn-danger" id="sriDeleteBtn">삭제</button>
<!-- <button type="button" class="btn btn-danger" id="sriDeleteBtn">삭제</button>-->
</div>
<div class="col-auto">
<nav aria-label="Page navigation">