코드관리 오류 수정.

메뉴관리 사용여부 상태 변경시 메뉴 권한 삭제.
견문관리 양식 변경.
외사수사관리 모달양식 변경.
외사대상목표 > 외사취약지 모달 양식 변경.
강석 최 2022-12-08 18:22:20 +09:00
parent d9204fd3a6
commit ad4c3fbcd7
25 changed files with 125 additions and 128 deletions

View File

@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface AccessConfigRepository extends JpaRepository<AccessConfig, AccessConfig.AccessConfigId> { public interface AccessConfigRepository extends JpaRepository<AccessConfig, AccessConfig.AccessConfigId> {
void deleteByMenuKey(Integer menuKey);
} }

View File

@ -14,5 +14,5 @@ public interface CodeMgtRepository extends JpaRepository<CodeMgt, CodeMgt.CodeMg
Optional<CodeMgt> findByCategoryCdAndItemValue(String categoryCd, String itemValue); Optional<CodeMgt> findByCategoryCdAndItemValue(String categoryCd, String itemValue);
List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk); List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk);
List<CodeMgt> findByOrderByOrderNumAsc(); List<CodeMgt> findByOrderByOrderNumAsc();
Optional<CodeMgt> findByCategoryCdOrderByItemCdDesc(String categoryCd); Optional<CodeMgt> findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd);
} }

View File

@ -39,8 +39,8 @@ public class CodeMgtService{
HashMap<String, Integer> map = new HashMap<>(); HashMap<String, Integer> map = new HashMap<>();
for(CodeMgt code: codeList){ for(CodeMgt code: codeList){
if(code.getItemCd().isEmpty()){ if(code.getItemCd().isEmpty()){
CodeMgt lastCode = codeMgtRepository.findByCategoryCdOrderByItemCdDesc(code.getCategoryCd()).orElse(null); CodeMgt lastCode = codeMgtRepository.findTop1ByCategoryCdOrderByItemCdDesc(code.getCategoryCd()).orElse(null);
if(lastCode==null){ if(lastCode!=null){
String lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), ""); String lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), "");
map.put(code.getCategoryCd(), Integer.parseInt(lastCodeSeq)+1); map.put(code.getCategoryCd(), Integer.parseInt(lastCodeSeq)+1);
}else{ }else{

View File

@ -387,6 +387,7 @@ public class FipTargetController {
@GetMapping("/vulnEditModal") @GetMapping("/vulnEditModal")
public ModelAndView vulnEditModal(@AuthenticationPrincipal UserInfo loginUser,Vulnerable vulnerable) { public ModelAndView vulnEditModal(@AuthenticationPrincipal UserInfo loginUser,Vulnerable vulnerable) {
ModelAndView mav = new ModelAndView("fipTarget/vulnEditModal"); ModelAndView mav = new ModelAndView("fipTarget/vulnEditModal");
mav.addObject("downOrganList", loginUser.getDownOrganCdList());
vulnerable.setDownOrganCdList(loginUser.getDownOrganCdList()); vulnerable.setDownOrganCdList(loginUser.getDownOrganCdList());
mav.addObject("organList", fipTargetService.selecetVulnOrganList(vulnerable)); mav.addObject("organList", fipTargetService.selecetVulnOrganList(vulnerable));
mav.addObject("userOrgan", loginUser.getOgCd()); mav.addObject("userOrgan", loginUser.getOgCd());

View File

@ -1,5 +1,6 @@
package com.dbnt.faisp.main.fipTarget.mapper; package com.dbnt.faisp.main.fipTarget.mapper;
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
import com.dbnt.faisp.main.fipTarget.model.PartInfo; import com.dbnt.faisp.main.fipTarget.model.PartInfo;
import com.dbnt.faisp.main.fipTarget.model.PartInfoFile; import com.dbnt.faisp.main.fipTarget.model.PartInfoFile;
import com.dbnt.faisp.main.fipTarget.model.PartWork; import com.dbnt.faisp.main.fipTarget.model.PartWork;
@ -42,7 +43,7 @@ public interface FipTargetMapper {
PartWork selectPartWorkInfo(PartWork partWork); PartWork selectPartWorkInfo(PartWork partWork);
List<ParamMap> selecetVulnOrganList(Vulnerable vulnerable); List<CodeMgt> selecetVulnOrganList(Vulnerable vulnerable);
List<ParamMap> selectVulnerableList(Vulnerable vulnerable); List<ParamMap> selectVulnerableList(Vulnerable vulnerable);

View File

@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fipTarget.service;
import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.BaseService;
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
import com.dbnt.faisp.main.fipTarget.mapper.FipTargetMapper; import com.dbnt.faisp.main.fipTarget.mapper.FipTargetMapper;
import com.dbnt.faisp.main.fipTarget.model.PartInfo; import com.dbnt.faisp.main.fipTarget.model.PartInfo;
import com.dbnt.faisp.main.fipTarget.model.PartInfo.PartInfoId; import com.dbnt.faisp.main.fipTarget.model.PartInfo.PartInfoId;
@ -333,7 +334,7 @@ public class FipTargetService extends BaseService {
return partWorkFileRepository.findById(new PartWorkFileId(fileSeq, pwSeq,piSeq)).orElse(null); return partWorkFileRepository.findById(new PartWorkFileId(fileSeq, pwSeq,piSeq)).orElse(null);
} }
public List<ParamMap> selecetVulnOrganList(Vulnerable vulnerable) { public List<CodeMgt> selecetVulnOrganList(Vulnerable vulnerable) {
return fipTargetMapper.selecetVulnOrganList(vulnerable); return fipTargetMapper.selecetVulnOrganList(vulnerable);
} }

View File

@ -1,12 +1,13 @@
package com.dbnt.faisp.main.menuMgt.service; package com.dbnt.faisp.main.menuMgt.service;
import com.dbnt.faisp.main.authMgt.repository.AccessConfigRepository;
import com.dbnt.faisp.main.menuMgt.mapper.MenuMgtMapper; import com.dbnt.faisp.main.menuMgt.mapper.MenuMgtMapper;
import com.dbnt.faisp.main.menuMgt.model.MenuMgt; import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
import com.dbnt.faisp.main.menuMgt.repository.MenuMgtRepository; import com.dbnt.faisp.main.menuMgt.repository.MenuMgtRepository;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Transient;
import java.util.*; import java.util.*;
@Service @Service
@ -14,6 +15,7 @@ import java.util.*;
public class MenuMgtService { public class MenuMgtService {
private final MenuMgtRepository menuMgtRepository; private final MenuMgtRepository menuMgtRepository;
private final AccessConfigRepository accessConfigRepository;
private final MenuMgtMapper menuMgtMapper; private final MenuMgtMapper menuMgtMapper;
public List<MenuMgt> selectMenuMgtList(MenuMgt menuMgt){ public List<MenuMgt> selectMenuMgtList(MenuMgt menuMgt){
@ -32,7 +34,7 @@ public class MenuMgtService {
public Integer selectMenuMgtListToAccessAuthCnt(MenuMgt menuMgt){ public Integer selectMenuMgtListToAccessAuthCnt(MenuMgt menuMgt){
return menuMgtMapper.selectMenuMgtListToAccessAuthCnt(menuMgt); return menuMgtMapper.selectMenuMgtListToAccessAuthCnt(menuMgt);
} }
@Transient @Transactional
public String saveMenuMgt(MenuMgt menuMgt) { public String saveMenuMgt(MenuMgt menuMgt) {
if(menuMgt.getMenuKey()==null){ if(menuMgt.getMenuKey()==null){
MenuMgt duplMenu = menuMgtRepository.findTopByCat1CdAndCat2CdAndCat3Cd(menuMgt.getCat1Cd(), menuMgt.getCat2Cd(), menuMgt.getCat3Cd()).orElse(null); MenuMgt duplMenu = menuMgtRepository.findTopByCat1CdAndCat2CdAndCat3Cd(menuMgt.getCat1Cd(), menuMgt.getCat2Cd(), menuMgt.getCat3Cd()).orElse(null);
@ -43,11 +45,14 @@ public class MenuMgtService {
} }
}else{ }else{
menuMgtRepository.save(menuMgt); menuMgtRepository.save(menuMgt);
if(menuMgt.getUseChk()==null || !menuMgt.getUseChk().equals("T")){
accessConfigRepository.deleteByMenuKey(menuMgt.getMenuKey());
}
} }
return ""; return "";
} }
@Transient @Transactional
public void deleteMenuMgt(List<MenuMgt> menuList) { public void deleteMenuMgt(List<MenuMgt> menuList) {
menuMgtRepository.deleteAll(menuList); menuMgtRepository.deleteAll(menuList);
} }

View File

@ -442,19 +442,19 @@
and pw.pi_seq = #{piSeq} and pw.pi_seq = #{piSeq}
</select> </select>
<select id="selecetVulnOrganList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Vulnerable"> <select id="selecetVulnOrganList" resultType="CodeMgt" parameterType="Vulnerable">
select item_cd, select item_cd,
item_value item_value
from code_mgt cm, from code_mgt cm,
organ_config oc organ_config oc
where cm.item_cd = oc.organ_cd where cm.item_cd = oc.organ_cd
and oc.organ_type = 'OGC003' and oc.organ_type = 'OGC003'
and cm.use_chk = 'T' and cm.use_chk = 'T'
and item_cd in and cm.item_cd in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")"> <foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
order by item_cd asc order by item_cd asc
</select> </select>
<select id="selectVulnerableList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Vulnerable"> <select id="selectVulnerableList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Vulnerable">

View File

@ -59,7 +59,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(faRpt.fileList)}"> <th:block th:if="${#arrays.isEmpty(faRpt.fileList)}">

View File

@ -110,7 +110,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<br>파일을 업로드 해주세요. <br>파일을 업로드 해주세요.

View File

@ -124,7 +124,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#strings.isEmpty(partInfo.fileList[0].origNm)}"> <th:block th:if="${#strings.isEmpty(partInfo.fileList[0].origNm)}">

View File

@ -66,7 +66,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<br>파일을 업로드 해주세요. <br>파일을 업로드 해주세요.

View File

@ -63,7 +63,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(pwInfo.fileList)}"> <th:block th:if="${#arrays.isEmpty(pwInfo.fileList)}">

View File

@ -7,84 +7,82 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="saveVulnoFm" method="post"> <form id="saveVulnoFm" method="post">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/> <input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/> <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" name="vulnKey" th:value="${info.vulnKey}"> <input type="hidden" name="vulnKey" th:value="${info.vulnKey}">
<input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}"> <input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${info.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${info.wrtPart}">
<input type="hidden" name="wrtTitle" th:value="${info.wrtTitle}"> <input type="hidden" name="wrtTitle" th:value="${info.wrtTitle}">
<input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}">
<input type="hidden" name="wrtNm" th:value="${info.wrtNm}"> <input type="hidden" name="wrtNm" th:value="${info.wrtNm}">
<div class="row mb-1"> <div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">경찰서</label> <label for="vulnNm" class="col-sm-2 col-form-label col-form-label-sm text-center">취약지명</label>
<div class="col-sm-10"> <div class="col-sm-10">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan" th:disabled="${accessAuth ne 'ACC003'}"> <input type="text" class="form-control form-control-sm" id="vulnNm" name="vulnNm" th:value="${info.vulnNm}" placeholder="직접입력">
<option value="">선택</option> </div>
<th:block th:each="organList:${organList}"> </div>
<th:block th:if="${info.vulnKey eq null}"> <div class="row mb-1">
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq userOrgan}"></option> <label for="mgtOrgan" class="col-sm-2 col-form-label col-form-label-sm text-center">관리서</label>
</th:block> <div class="col-sm-4">
<th:block th:unless="${info.vulnKey eq null}"> <select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan">
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq info.mgtOrgan}"></option> <option value="">선택</option>
</th:block> <!--<th:block th:each="code:${session.commonCode.get('OG')}">
</th:block> <th:block th:if="${#lists.contains(downOrganList, code.itemCd)}">
</select> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq info.wrtOrgan}"></option>
</th:block>
</th:block>-->
<th:block th:each="organ:${organList}">
<option th:value="${organ.itemCd}" th:text="${organ.itemValue}" th:selected="${organ.itemCd eq info.mgtOrgan}"></option>
</th:block>
</select>
</div>
<label for="vulnType" class="col-sm-2 col-form-label col-form-label-sm text-center">취약등급</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="vulnType" name="vulnType">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VULNT')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemValue eq info.vulnType}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="description" class="col-sm-2 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm" id="description" name="description" th:value="${info.description}">
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">
<br>파일을 업로드 해주세요.
</th:block>
<th:block th:unless="${#arrays.isEmpty(info.fileList)}">
<div class='row-col-6' th:each="infoFile:${info.fileList}">
<span th:data-fileseq="${infoFile.fileSeq}" th:text="|${infoFile.origNm}.${infoFile.fileExtn} ${infoFile.fileSize}|"></span>
<a href='#' class='uploadedFileDelete text-danger text-decoration-none'>삭제</a>
</div> </div>
</div> </th:block>
<div class="row mb-1"> </div>
<label for="ogCd" class="col-sm-2 col-form-label text-center">취약지명</label> </div>
<div class="col-sm-10"> <input type="file" class="d-none" id="fileInputer" multiple>
<input type="text" class="form-control" id="vulnNm" name="vulnNm" th:value="${info.vulnNm}" placeholder="직접입력"> </div>
</div> </form>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">취약등급</label>
<div class="col-sm-10">
<select class="form-select form-select-sm" id="vulnType" name="vulnType">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VULNT')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemValue eq info.vulnType}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="description" name="description" th:value="${info.description}">
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">
<br>파일을 업로드 해주세요.
</th:block>
<th:block th:unless="${#arrays.isEmpty(info.fileList)}">
<div class='row-col-6' th:each="infoFile:${info.fileList}">
<span th:data-fileseq="${infoFile.fileSeq}" th:text="|${infoFile.origNm}.${infoFile.fileExtn} ${infoFile.fileSize}|"></span>
<a href='#' class='uploadedFileDelete text-danger text-decoration-none'>삭제</a>
</div>
</th:block>
</div>
</div>
<input type="file" class="d-none" id="fileInputer" multiple>
</div>
</form>
</div> </div>
<div class="modal-footer justify-content-between bg-light"> <div class="modal-footer justify-content-between bg-light">
<div class="col-auto"> <div class="col-auto">
<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> </div>
<div class="col-auto"> <div class="col-auto">
<th:block th:if="${info.vulnKey eq null}"> <th:block th:if="${info.vulnKey eq null}">
<button type="button" class="btn btn-primary" id="saveVuln">저장</button> <button type="button" class="btn btn-primary" id="saveVuln">저장</button>
</th:block> </th:block>
<th:block th:unless="${info.vulnKey eq null}"> <th:block th:unless="${info.vulnKey eq null}">
<button type="button" class="btn btn-danger" id="deleteVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">삭제</button> <button type="button" class="btn btn-danger" id="deleteVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">삭제</button>
<button type="button" class="btn btn-warning" id="updateVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button> <button type="button" class="btn btn-warning" id="updateVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button>
</th:block> </th:block>
</div> </div>
</div> </div>
</html> </html>

View File

@ -36,7 +36,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center"> <div class="w-100 h-100 border border-info rounded text-center">
<th:block th:if="${#arrays.isEmpty(vulnInfo.fileList)}"> <th:block th:if="${#arrays.isEmpty(vulnInfo.fileList)}">

View File

@ -56,7 +56,7 @@
</main> </main>
<div class="modal fade" id="vulnEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true"> <div class="modal fade" id="vulnEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-scrollable"> <div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content" id="vulnEditModalContent"> <div class="modal-content" id="vulnEditModalContent">
<div class="modal-header bg-dark"> <div class="modal-header bg-dark">
</div> </div>

View File

@ -14,34 +14,25 @@
<input type="hidden" name="wrtPart" th:value="${affair.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${affair.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${affair.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${affair.wrtUserSeq}">
<input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}"> <input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}">
<input type="hidden" name="wrtDt" id="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}">
<div class="row mb-1"> <div class="row mb-1">
<label for="wrtUserNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label> <label for="wrtUserNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly> <input type="text" class="form-control form-control-sm" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly>
</div> </div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일시</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</div> </div>
<div class="row mb-1"> <label for="reportDt" class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label>
<label for="reportDt" class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label> <div class="col-sm-2">
<div class="col-sm-2"> <input type="text" class="form-control form-control-sm" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
<input type="text" class="form-control form-control-sm" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly> </div>
</div> <label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
<label for="autoDelete" class="col-sm-1 col-form-label col-form-label-sm text-center">자동삭제</label> <div class="col-sm-2">
<div class="col-sm-2"> <select class="form-select form-select-sm" id="viewStatus" name="viewStatus">
<input type="text" class="form-control form-control-sm" id="autoDelete" name="autoDelete" th:value="${affair.autoDelete}" readonly> <option value="">선택</option>
</div> <th:block th:each="code:${session.commonCode.get('AVS')}">
<label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq affair.viewStatus}"></option>
<div class="col-sm-2"> </th:block>
<select class="form-select form-select-sm" id="viewStatus" name="viewStatus"> </select>
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('AVS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq affair.viewStatus}"></option>
</th:block>
</select>
</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label> <label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
@ -107,7 +98,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드<br>자료</label> <label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;"> <div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(affair.fileList)}"> <th:block th:if="${#arrays.isEmpty(affair.fileList)}">

View File

@ -66,7 +66,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(plan.fileList)}"> <th:block th:if="${#arrays.isEmpty(plan.fileList)}">

View File

@ -96,7 +96,7 @@
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;"> <div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(boardInvestigation.fileList)}"> <th:block th:if="${#arrays.isEmpty(boardInvestigation.fileList)}">

View File

@ -47,7 +47,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}"> <th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -48,7 +48,7 @@
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;"> <div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}"> <th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -47,7 +47,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}"> <th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -66,7 +66,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}"> <th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -63,7 +63,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label> <label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;"> <div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv"> <div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(sri.fileList)}"> <th:block th:if="${#arrays.isEmpty(sri.fileList)}">

View File

@ -58,7 +58,7 @@
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="fileTable" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label> <label for="fileTable" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10"> <div class="col-sm-10">
<table class="table" id="fileTable"> <table class="table" id="fileTable">
<thead> <thead>