parent
767fca621c
commit
32b0a50574
|
|
@ -15,4 +15,6 @@ public interface CodeMgtRepository extends JpaRepository<CodeMgt, CodeMgt.CodeMg
|
||||||
List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk);
|
List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk);
|
||||||
List<CodeMgt> findByOrderByOrderNumAscItemCdAsc();
|
List<CodeMgt> findByOrderByOrderNumAscItemCdAsc();
|
||||||
Optional<CodeMgt> findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd);
|
Optional<CodeMgt> findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd);
|
||||||
|
|
||||||
|
CodeMgt findTop1ByItemCd(String itemCd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -130,4 +130,8 @@ public class CodeMgtService{
|
||||||
public List<CodeMgt> selectAllCodeList() {
|
public List<CodeMgt> selectAllCodeList() {
|
||||||
return codeMgtRepository.findByOrderByOrderNumAscItemCdAsc();
|
return codeMgtRepository.findByOrderByOrderNumAscItemCdAsc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String searchValue(String itemCd) {
|
||||||
|
return codeMgtRepository.findTop1ByItemCd(itemCd).getItemValue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.dbnt.faisp.main.fpiMgt.affair.model.TypeStatistics;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface AffairMapper {
|
public interface AffairMapper {
|
||||||
|
|
@ -33,5 +34,5 @@ public interface AffairMapper {
|
||||||
|
|
||||||
List<TypeStatistics> selectArrCntList(TypeStatistics typeStatistics);
|
List<TypeStatistics> selectArrCntList(TypeStatistics typeStatistics);
|
||||||
|
|
||||||
String selectDocNo(AffairBoard affair);
|
String selectDocNo(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.affair.service;
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.config.FileInfo;
|
import com.dbnt.faisp.config.FileInfo;
|
||||||
|
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||||
import com.dbnt.faisp.main.fpiMgt.affair.mapper.AffairMapper;
|
import com.dbnt.faisp.main.fpiMgt.affair.mapper.AffairMapper;
|
||||||
import com.dbnt.faisp.main.fpiMgt.affair.model.*;
|
import com.dbnt.faisp.main.fpiMgt.affair.model.*;
|
||||||
import com.dbnt.faisp.main.fpiMgt.affair.repository.*;
|
import com.dbnt.faisp.main.fpiMgt.affair.repository.*;
|
||||||
|
|
@ -17,10 +18,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
@ -29,6 +29,7 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
private final UserAlarmService userAlarmService;
|
private final UserAlarmService userAlarmService;
|
||||||
private final HashTagService hashTagService;
|
private final HashTagService hashTagService;
|
||||||
private final OrganConfigService organConfigService;
|
private final OrganConfigService organConfigService;
|
||||||
|
private final CodeMgtService codeMgtService;
|
||||||
private final AffairBoardRepository affairBoardRepository;
|
private final AffairBoardRepository affairBoardRepository;
|
||||||
private final AffairFileRepository affairFileRepository;
|
private final AffairFileRepository affairFileRepository;
|
||||||
private final AffairRatingRepository affairRatingRepository;
|
private final AffairRatingRepository affairRatingRepository;
|
||||||
|
|
@ -53,7 +54,7 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
}
|
}
|
||||||
@Transactional
|
@Transactional
|
||||||
public Integer saveAffairBoard(AffairBoard affair, List<Integer> deleteFileSeq){
|
public Integer saveAffairBoard(AffairBoard affair, List<Integer> deleteFileSeq){
|
||||||
affair.setDocNo(affairMapper.selectDocNo(affair));
|
//affair.setDocNo(affairMapper.selectDocNo(affair));
|
||||||
Integer affairKey = affairBoardRepository.save(affair).getAffairKey();
|
Integer affairKey = affairBoardRepository.save(affair).getAffairKey();
|
||||||
if(!affair.getHashTags().isEmpty()){
|
if(!affair.getHashTags().isEmpty()){
|
||||||
saveHashTagLink(affairKey, affair.getHashTags().split(" "));
|
saveHashTagLink(affairKey, affair.getHashTags().split(" "));
|
||||||
|
|
@ -122,6 +123,15 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String makeDocNo(String wrtOrgan){
|
||||||
|
String docNo = ((Integer)LocalDate.now().getYear()).toString();
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("wrtOrgan", wrtOrgan);
|
||||||
|
params.put("year", docNo);
|
||||||
|
docNo += "-"+affairMapper.selectDocNo(params);
|
||||||
|
return codeMgtService.searchValue(wrtOrgan)+"-"+docNo;
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Integer affairStateChange(UserInfo loginUser, List<AffairRating> ratingList) {
|
public Integer affairStateChange(UserInfo loginUser, List<AffairRating> ratingList) {
|
||||||
for(AffairRating rating : ratingList){
|
for(AffairRating rating : ratingList){
|
||||||
|
|
@ -153,7 +163,13 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
savedRating.setAffairRate(rating.getAffairRate());
|
savedRating.setAffairRate(rating.getAffairRate());
|
||||||
savedRating.setOrganUp(rating.getOrganUp()==null?"F":rating.getOrganUp());
|
savedRating.setOrganUp(rating.getOrganUp()==null?"F":rating.getOrganUp());
|
||||||
savedRating.setAffairStatus(rating.getHeadApprv());
|
savedRating.setAffairStatus(rating.getHeadApprv());
|
||||||
|
if(rating.getHeadApprv().equals("DST006")){
|
||||||
|
AffairBoard affairBoard = affairBoardRepository.findById(savedRating.getAffairKey()).orElse(null);
|
||||||
|
if(affairBoard.getDocNo() == null
|
||||||
|
&& affairBoard.getWrtOrgan().equals(savedRating.getRatingOrgan())){
|
||||||
|
affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan()));
|
||||||
|
}
|
||||||
|
}
|
||||||
if(savedRating.getOrganUp().equals("T")){
|
if(savedRating.getOrganUp().equals("T")){
|
||||||
String upOrgan = organConfigService.selectParentOrgan(loginUser.getOgCd());
|
String upOrgan = organConfigService.selectParentOrgan(loginUser.getOgCd());
|
||||||
AffairRating upRating = new AffairRating();
|
AffairRating upRating = new AffairRating();
|
||||||
|
|
@ -241,6 +257,13 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
}
|
}
|
||||||
if(!Utils.isEmpty(rating.getHeadApprv())){
|
if(!Utils.isEmpty(rating.getHeadApprv())){
|
||||||
rating.setAffairStatus(rating.getHeadApprv());
|
rating.setAffairStatus(rating.getHeadApprv());
|
||||||
|
if(rating.getHeadApprv().equals("DST006")){
|
||||||
|
AffairBoard affairBoard = affairBoardRepository.findById(rating.getAffairKey()).orElse(null);
|
||||||
|
if(affairBoard.getDocNo() == null
|
||||||
|
&& affairBoard.getWrtOrgan().equals(rating.getRatingOrgan())){
|
||||||
|
affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}else if(!Utils.isEmpty(rating.getSectionApprv())) {
|
}else if(!Utils.isEmpty(rating.getSectionApprv())) {
|
||||||
rating.setAffairStatus(rating.getSectionApprv());
|
rating.setAffairStatus(rating.getSectionApprv());
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -138,13 +138,13 @@
|
||||||
where a.affair_key = #{affairKey}
|
where a.affair_key = #{affairKey}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDocNo" resultType="string" parameterType="AffairBoard">
|
<select id="selectDocNo" resultType="string" parameterType="hashMap">
|
||||||
select b.item_value||'외사-'||a.cnt
|
select count(*)+1 as cnt
|
||||||
from (select wrt_organ, count(*) as cnt
|
from affair_board a
|
||||||
from affair_board
|
inner join affair_rating b
|
||||||
where wrt_organ = #{wrtOrgan}
|
on a.affair_key = b.affair_key and a.wrt_organ = b.rating_organ and b.affair_status = 'DST006'
|
||||||
group by wrt_organ) a
|
where wrt_organ = #{wrtOrgan}
|
||||||
inner join code_mgt b on a.wrt_organ = b.item_cd
|
and EXTRACT(YEAR FROM report_dt) = #{year}::numeric
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<sql id="searchStatistics">
|
<sql id="searchStatistics">
|
||||||
|
|
|
||||||
|
|
@ -21,33 +21,26 @@
|
||||||
<div class="tab-content bg-white border border-top-0 p-2">
|
<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="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">문서번호</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">문서번호</label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${affair.docNo}"></label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
|
||||||
th:text="${affair.docNo}"></label>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">작성자</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">작성자</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('JT')}">
|
<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:if="${code.itemCd eq affair.wrtUserGrd}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:text="${affair.wrtUserNm}"></th:block>
|
<th:block th:text="${affair.wrtUserNm}"></th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">보고일자</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">보고일자</label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}"></label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">공개여부</label>
|
||||||
th:text="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}"></label>
|
|
||||||
<label
|
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">공개여부</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('AVS')}">
|
<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 th:if="${code.itemCd eq affair.viewStatus}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">상태</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">상태</label>
|
|
||||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||||
<th:block th:if="${code.itemCd eq affair.affairStatus}">
|
<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>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
|
||||||
|
|
@ -56,34 +49,29 @@
|
||||||
</div>
|
</div>
|
||||||
<hr class="my-1">
|
<hr class="my-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">제목</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">제목</label>
|
|
||||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.title}"></label>
|
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.title}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">분야1</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">분야1</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('DC01')}">
|
<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 th:if="${code.itemCd eq affair.affairType1}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">분야2</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">분야2</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('DC02')}">
|
<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 th:if="${code.itemCd eq affair.affairType2}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">분야3</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">분야3</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('DC03')}">
|
<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 th:if="${code.itemCd eq affair.affairType3}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">분야4</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">분야4</label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
<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:each="code:${session.commonCode.get('DC04')}">
|
||||||
<th:block th:if="${code.itemCd eq affair.affairType4}" th:text="${code.itemValue}"></th:block>
|
<th:block th:if="${code.itemCd eq affair.affairType4}" th:text="${code.itemValue}"></th:block>
|
||||||
|
|
@ -92,21 +80,18 @@
|
||||||
</div>
|
</div>
|
||||||
<hr class="my-1">
|
<hr class="my-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">내용</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">내용</label>
|
|
||||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
<div th:utext="${affair.content}"></div>
|
<div th:utext="${affair.content}"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr class="my-1">
|
<hr class="my-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">해시태그</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">해시태그</label>
|
|
||||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.hashTags}"></label>
|
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.hashTags}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">비고</label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">비고</label>
|
|
||||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.etc}"></label>
|
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.etc}"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -153,33 +138,24 @@
|
||||||
<label class="col-sm-8 col-form-label col-form-label-sm text-center bg-white">결재정보가 없습니다.</label>
|
<label class="col-sm-8 col-form-label col-form-label-sm text-center bg-white">결재정보가 없습니다.</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row border-top-0 border-secondary" th:if="${rate.sectionApprv ne null}">
|
<div class="row border-top-0 border-secondary" th:if="${rate.sectionApprv ne null}">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재결과: </label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">결재결과: </label>
|
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
<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 th:if="${code.itemCd eq rate.sectionApprv}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재자: </label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">결재자: </label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${rate.sectionNm}"></label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재일시: </label>
|
||||||
th:text="${rate.sectionNm}"></label>
|
<label class="col-sm-2 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 col-form-label col-form-label-sm text-center ">결재일시: </label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
|
||||||
th:text="${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row border-top-0 border-secondary"
|
<div class="row border-top-0 border-secondary" th:if="${rate.sectionApprv ne null and !#strings.isEmpty(rate.sectionEtc)}">
|
||||||
th:if="${rate.sectionApprv ne null and !#strings.isEmpty(rate.sectionEtc)}">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">기타의견: </label>
|
||||||
<label
|
<label class="col-sm-7 col-form-label col-form-label-sm text-start" th:text="${rate.sectionEtc}"></label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">기타의견: </label>
|
|
||||||
<label class="col-sm-7 col-form-label col-form-label-sm text-start"
|
|
||||||
th:text="${rate.sectionEtc}"></label>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row 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'}">
|
<th:block th:if="${rate.headApprv eq 'DST006'}">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">견문평가: </label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">견문평가: </label>
|
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('AAR')}">
|
<th:block th:each="code:${session.commonCode.get('AAR')}">
|
||||||
<th:block th:if="${code.itemCd eq rate.affairRate}"
|
<th:block th:if="${code.itemCd eq rate.affairRate}"
|
||||||
|
|
@ -188,29 +164,21 @@
|
||||||
</label>
|
</label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${rate.headApprv eq 'DST005'}">
|
<th:block th:if="${rate.headApprv eq 'DST005'}">
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재결과: </label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">결재결과: </label>
|
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
||||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
<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 th:if="${code.itemCd eq rate.headApprv}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재자: </label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">결재자: </label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${rate.headNm}"></label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">결재일시: </label>
|
||||||
th:text="${rate.headNm}"></label>
|
<label class="col-sm-2 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 col-form-label col-form-label-sm text-center ">결재일시: </label>
|
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start"
|
|
||||||
th:text="${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row border-top-0 border-secondary"
|
<div class="row border-top-0 border-secondary" th:if="${rate.headApprv ne null and !#strings.isEmpty(rate.headEtc)}">
|
||||||
th:if="${rate.headApprv ne null and !#strings.isEmpty(rate.headEtc)}">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">기타의견: </label>
|
||||||
<label
|
<label class="col-sm-7 col-form-label col-form-label-sm text-start" th:text="${rate.headEtc}"></label>
|
||||||
class="col-sm-1 col-form-label col-form-label-sm text-center ">기타의견: </label>
|
|
||||||
<label class="col-sm-7 col-form-label col-form-label-sm text-start"
|
|
||||||
th:text="${rate.headEtc}"></label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -225,22 +193,18 @@
|
||||||
<input type="hidden" name="sectionApprv" id="sectionApprv">
|
<input type="hidden" name="sectionApprv" id="sectionApprv">
|
||||||
<div class="row border-top-0 border-secondary">
|
<div class="row border-top-0 border-secondary">
|
||||||
<div class="col-10">
|
<div class="col-10">
|
||||||
<input type="text" class="form-control form-control-sm etc" name="sectionEtc"
|
<input type="text" class="form-control form-control-sm etc" name="sectionEtc" placeholder="추가의견, 반려사유 기입">
|
||||||
placeholder="추가의견, 반려사유 기입">
|
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="section"
|
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="section" data-affairstate="DST004" value="승인">
|
||||||
data-affairstate="DST004" value="승인">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section"
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section" data-affairstate="DST003" value="반려">
|
||||||
data-affairstate="DST003" value="반려">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
||||||
th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
|
||||||
<input type="hidden" name="headApprv" id="headApprv">
|
<input type="hidden" name="headApprv" id="headApprv">
|
||||||
<div class="row border-top-0 border-secondary">
|
<div class="row border-top-0 border-secondary">
|
||||||
<div class="col-8">
|
<div class="col-8">
|
||||||
|
|
@ -260,12 +224,10 @@
|
||||||
<input type="checkbox" id="organUp" name="organUp" value="T">
|
<input type="checkbox" id="organUp" name="organUp" value="T">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="head"
|
<input type="button" class="btn btn-sm btn-success apprvBtn" data-apprvtype="head" data-affairstate="DST006" value="승인">
|
||||||
data-affairstate="DST006" value="승인">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="head"
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="head" data-affairstate="DST005" value="반려">
|
||||||
data-affairstate="DST005" value="반려">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue