견문 평가 작업중.
parent
a6f69d3e5c
commit
4b65f8d699
|
|
@ -2,6 +2,7 @@ package com.dbnt.faisp.fpiMgt.affair;
|
|||
|
||||
import com.dbnt.faisp.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.fpiMgt.affair.model.AffairRating;
|
||||
import com.dbnt.faisp.fpiMgt.affair.service.AffairService;
|
||||
import com.dbnt.faisp.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
|
@ -186,11 +187,17 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
return affairService.saveAffairBoard(affairBoard, deleteFileSeq);
|
||||
}
|
||||
|
||||
/*@PostMapping("/affairStateChange")
|
||||
public Integer affairStateChange(@AuthenticationPrincipal UserInfo loginUser, AffairApprv apprv){
|
||||
apprv.setUserSeq(loginUser.getUserSeq());
|
||||
apprv.setUserNm(loginUser.getUserNm());
|
||||
apprv.setSaveDt(LocalDateTime.now());
|
||||
return affairService.affairStateChange(apprv);
|
||||
}*/
|
||||
@PostMapping("/affairStateChange")
|
||||
public Integer affairStateChange(@AuthenticationPrincipal UserInfo loginUser, AffairRating rating){
|
||||
String apprvType = "section";
|
||||
if(rating.getHeadApprv() == null){
|
||||
rating.setSectionNm(loginUser.getUserNm());
|
||||
rating.setSectionApprvDt(LocalDateTime.now());
|
||||
}else{
|
||||
apprvType = "head";
|
||||
rating.setHeadNm(loginUser.getUserNm());
|
||||
rating.setHeadApprvDt(LocalDateTime.now());
|
||||
}
|
||||
return affairService.affairStateChange(apprvType, rating);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,11 @@ public class AffairBoard extends BaseModel {
|
|||
@Column(name = "report_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate reportDt;
|
||||
@Column(name = "auto_delete")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate autoDelete;
|
||||
@Column(name = "view_status")
|
||||
private String viewStatus;
|
||||
|
||||
|
||||
@Transient
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import org.hibernate.annotations.DynamicUpdate;
|
|||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -24,12 +25,16 @@ public class AffairRating{
|
|||
private String ratingOrgan;
|
||||
@Column(name = "section_nm")
|
||||
private String sectionNm;
|
||||
@Column(name = "section_apprv_dt")
|
||||
private LocalDateTime sectionApprvDt;
|
||||
@Column(name = "section_apprv")
|
||||
private String sectionApprv;
|
||||
@Column(name = "section_etc")
|
||||
private String sectionEtc;
|
||||
@Column(name = "head_nm")
|
||||
private String headNm;
|
||||
@Column(name = "head_apprv_dt")
|
||||
private LocalDateTime headApprvDt;
|
||||
@Column(name = "head_apprv")
|
||||
private String headApprv;
|
||||
@Column(name = "head_etc")
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@ import com.dbnt.faisp.config.BaseService;
|
|||
import com.dbnt.faisp.fpiMgt.affair.mapper.AffairMapper;
|
||||
import com.dbnt.faisp.fpiMgt.affair.model.*;
|
||||
import com.dbnt.faisp.fpiMgt.affair.repository.*;
|
||||
import com.dbnt.faisp.fpiMgt.affairPlan.model.PlanApprv;
|
||||
import com.dbnt.faisp.fpiMgt.affairPlan.model.PlanBoard;
|
||||
import com.dbnt.faisp.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -45,6 +44,15 @@ public class AffairService extends BaseService { // 견문보고
|
|||
@Transactional
|
||||
public Integer saveAffairBoard(AffairBoard affair, List<Integer> deleteFileSeq){
|
||||
Integer affairKey = affairBoardRepository.save(affair).getAffairKey();
|
||||
if(affair.getAffairStatus().equals("DST002")){
|
||||
AffairRating rating = affairRatingRepository.findById(new AffairRating.AffairRatingId(affairKey,affair.getWrtOrgan())).orElse(null);
|
||||
if(rating == null){
|
||||
rating = new AffairRating();
|
||||
rating.setAffairKey(affairKey);
|
||||
rating.setRatingOrgan(affair.getWrtOrgan());
|
||||
affairRatingRepository.save(rating);
|
||||
}
|
||||
}
|
||||
String[] hashTagAry = affair.getHashTags().split(" ");
|
||||
if(hashTagAry.length>0){
|
||||
saveHashTagLink(affairKey, hashTagAry);
|
||||
|
|
@ -106,4 +114,23 @@ public class AffairService extends BaseService { // 견문보고
|
|||
affairFileRepository.save(fileInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public Integer affairStateChange(String apprvType, AffairRating rating) {
|
||||
AffairRating savedRating = affairRatingRepository.findById(new AffairRating.AffairRatingId(rating.getAffairKey(), rating.getRatingOrgan())).orElse(null);
|
||||
if(savedRating != null){
|
||||
if(apprvType.equals("section")){
|
||||
savedRating.setSectionNm(rating.getSectionNm());
|
||||
savedRating.setSectionApprvDt(rating.getSectionApprvDt());
|
||||
savedRating.setSectionApprv(rating.getSectionApprv());
|
||||
savedRating.setSectionEtc(rating.getSectionEtc());
|
||||
}else{
|
||||
savedRating.setHeadNm(rating.getHeadNm());
|
||||
savedRating.setHeadApprvDt(rating.getHeadApprvDt());
|
||||
savedRating.setHeadApprv(rating.getHeadApprv());
|
||||
savedRating.setHeadEtc(rating.getHeadEtc());
|
||||
}
|
||||
affairRatingRepository.save(savedRating);
|
||||
}
|
||||
return rating.getAffairKey();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ spring.datasource.username=dbnt0031
|
|||
spring.datasource.password=dbnt0928!
|
||||
|
||||
#jpa
|
||||
spring.jpa.show-sql=true
|
||||
spring.jpa.show-sql=false
|
||||
spring.jpa.generate-ddl=false
|
||||
spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
|
||||
|
||||
|
|
|
|||
|
|
@ -21,13 +21,11 @@
|
|||
<if test='affairStatus != null and affairStatus != ""'>
|
||||
and a.affair_status = #{affairStatus}
|
||||
</if>
|
||||
<if test='dateSelector == "wrtDt"'>
|
||||
<if test='startDate != null and startDate != ""'>
|
||||
and a.wrt_dt >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and a.wrt_dt <= #{endDate}::date
|
||||
</if>
|
||||
<if test='startDate != null and startDate != ""'>
|
||||
and a.wrt_dt >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and a.wrt_dt <= #{endDate}::date+1
|
||||
</if>
|
||||
<if test="downOrganCdList != null">
|
||||
and a.wrt_organ in
|
||||
|
|
@ -35,6 +33,26 @@
|
|||
#{organCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test='userType != null and userType != ""'>
|
||||
<if test='userType == "normalStayList"'>
|
||||
and a.affair_status in ('DST002', 'DST004')
|
||||
</if>
|
||||
<if test='userType == "normalCommitList"'>
|
||||
and a.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "sectionCommitList"'>
|
||||
and a.affair_status in ('DST003', 'DST004', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "headCommitList"'>
|
||||
and a.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "managerStayList"'>
|
||||
and a.affair_status in ('DST002', 'DST004')
|
||||
</if>
|
||||
<if test='userType == "managerCommitList"'>
|
||||
and a.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
<select id="selectAffairBoardList" resultType="AffairBoard" parameterType="AffairBoard">
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
and a.plan_dt >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and a.plan_dt <= #{endDate}::date
|
||||
and a.plan_dt <= #{endDate}::date+1
|
||||
</if>
|
||||
</if>
|
||||
<if test='dateSelector == "wrtDt"'>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
and a.wrt_dt >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and a.wrt_dt <= #{endDate}::date
|
||||
and a.wrt_dt <= #{endDate}::date+1
|
||||
</if>
|
||||
</if>
|
||||
<if test="downOrganCdList != null">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
and a.wrt_dt >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and a.wrt_dt <= #{endDate}::date
|
||||
and a.wrt_dt <= #{endDate}::date+1
|
||||
</if>
|
||||
and a.public_key in (
|
||||
<if test="downOrganCdList != null">
|
||||
|
|
|
|||
|
|
@ -30,3 +30,7 @@
|
|||
border-left: 1px solid;
|
||||
border-right: 1px solid;
|
||||
}
|
||||
|
||||
.modal-xxl{
|
||||
--bs-modal-width : 1440px;
|
||||
}
|
||||
|
|
@ -28,6 +28,18 @@ $(document).on('click', '#editAffairBtn', function (){
|
|||
getAffairEditModal(Number($("#affairViewBody").find("[name='affairKey']").val()));
|
||||
})
|
||||
|
||||
$(document).on('change', '#autoDeleteSelector', function (){
|
||||
let deleteDt = "";
|
||||
if(this.value !== ""){
|
||||
const nowDt = new Date();
|
||||
nowDt.setMonth(nowDt.getMonth()+Number(this.value));
|
||||
deleteDt = nowDt.getFullYear()
|
||||
+"-"+("0"+(nowDt.getMonth()+1)).slice(-2)
|
||||
+"-"+("0"+nowDt.getDate()).slice(-2);
|
||||
}
|
||||
$("#autoDelete").val(deleteDt);
|
||||
})
|
||||
|
||||
$(document).on('click', '#saveAffairBtn', function (){
|
||||
saveAffair('DST002')
|
||||
})
|
||||
|
|
@ -64,9 +76,13 @@ function getAffairEditModal(affairKey){
|
|||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#autoDelete").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#content").summernote({
|
||||
lang:'ko-KR',
|
||||
height: 300,
|
||||
height: 270,
|
||||
disableDragAndDrop: true,
|
||||
toolbar: [
|
||||
['style', ['style']],
|
||||
|
|
@ -124,6 +140,30 @@ function contentCheck(){
|
|||
alert("제목을 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#affairType1").val()){
|
||||
alert("분야1을 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#affairType2").val()){
|
||||
alert("분야2을 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#affairType3").val()){
|
||||
alert("분야3을 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#affairType4").val()){
|
||||
alert("분야4을 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#viewStatus").val()){
|
||||
alert("공개여부를 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
if(!$("#hashTags").val()){
|
||||
alert("해시태그를 입력해주세요.")
|
||||
flag = false;
|
||||
}
|
||||
flag = fileCheck(flag, files);
|
||||
return flag;
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="affairEditModalLabel" th:text="${affair.affairKey eq null?'월간 계획 작성':'월간 계획 수정'}"></h5>
|
||||
<h5 class="modal-title" id="affairEditModalLabel" th:text="${affair.affairKey eq null?'견문 작성':'견문 수정'}"></h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body" id="affairEditBody">
|
||||
|
|
@ -14,21 +14,36 @@
|
|||
<input type="hidden" name="wrtUserSeq" th:value="${affair.wrtUserSeq}">
|
||||
<input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}">
|
||||
<div class="mb-3 row">
|
||||
<label for="wrtUserNm" class="col-sm-1 col-form-label 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">
|
||||
<input type="text" class="form-control" 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>
|
||||
<label for="wrtDt" class="col-sm-1 col-form-label text-center">작성일시</label>
|
||||
<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" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
|
||||
</div>
|
||||
<label for="reportDt" class="col-sm-1 col-form-label text-center">보고일자</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
|
||||
<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 class="mb-3 row">
|
||||
<label for="affairType1" class="col-sm-1 col-form-label text-center">분야1</label>
|
||||
<label for="reportDt" 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="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
|
||||
</div>
|
||||
<label for="autoDelete" 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="autoDelete" name="autoDelete" th:value="${affair.autoDelete}" readonly>
|
||||
</div>
|
||||
<label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="viewStatus" name="viewStatus">
|
||||
<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 class="mb-3 row">
|
||||
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="affairType1" name="affairType1">
|
||||
<option value="">선택</option>
|
||||
|
|
@ -37,7 +52,7 @@
|
|||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<label for="affairType2" class="col-sm-1 col-form-label text-center">분야2</label>
|
||||
<label for="affairType2" class="col-sm-1 col-form-label col-form-label-sm text-center">분야2</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="affairType2" name="affairType2">
|
||||
<option value="">선택</option>
|
||||
|
|
@ -46,7 +61,7 @@
|
|||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<label for="affairType3" class="col-sm-1 col-form-label text-center">분야3</label>
|
||||
<label for="affairType3" class="col-sm-1 col-form-label col-form-label-sm text-center">분야3</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="affairType3" name="affairType3">
|
||||
<option value="">선택</option>
|
||||
|
|
@ -55,7 +70,7 @@
|
|||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<label for="affairType4" class="col-sm-1 col-form-label text-center">분야4</label>
|
||||
<label for="affairType4" class="col-sm-1 col-form-label col-form-label-sm text-center">분야4</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="affairType4" name="affairType4">
|
||||
<option value="">선택</option>
|
||||
|
|
@ -66,32 +81,32 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="title" class="col-sm-1 col-form-label text-center">제목</label>
|
||||
<label for="title" class="col-sm-1 col-form-label col-form-label-sm text-center">제목</label>
|
||||
<div class="col-sm-11">
|
||||
<input type="text" class="form-control" id="title" name="title" th:value="${affair.title}">
|
||||
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="${affair.title}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="hashTags" class="col-sm-1 col-form-label text-center">해시태그</label>
|
||||
<div class="col-sm-11">
|
||||
<input type="text" class="form-control" id="hashTags" name="hashTags" th:value="${affair.hashTags}"
|
||||
placeholder="띄어쓰기로 각 태그를 구분합니다. 한 태그 내에서는 띄어쓰기 없이 입력해주세요. ex)태그1 태그2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="title" class="col-sm-1 col-form-label text-center">내용</label>
|
||||
<label for="title" class="col-sm-1 col-form-label col-form-label-sm text-center">내용</label>
|
||||
<div class="col-sm-11">
|
||||
<textarea id="content" name="content" th:utext="${affair.content}"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="etc" class="col-sm-1 col-form-label text-center">비고</label>
|
||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">해시태그</label>
|
||||
<div class="col-sm-11">
|
||||
<input type="text" class="form-control" id="etc" name="etc" th:value="${affair.title}">
|
||||
<input type="text" class="form-control form-control-sm" id="hashTags" name="hashTags" th:value="${affair.hashTags}"
|
||||
placeholder="띄어쓰기로 각 태그를 구분합니다. 한 태그 내에서는 띄어쓰기 없이 입력해주세요. ex)태그1 태그2">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="etc" class="col-sm-1 col-form-label col-form-label-sm text-center">비고</label>
|
||||
<div class="col-sm-11">
|
||||
<input type="text" class="form-control form-control-sm" id="etc" name="etc" th:value="${affair.title}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="fileInputer" class="col-sm-1 col-form-label text-center">업로드<br>자료</label>
|
||||
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드<br>자료</label>
|
||||
<div class="col-sm-11" style="min-height: 70px;">
|
||||
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
|
||||
<th:block th:if="${#arrays.isEmpty(affair.fileList)}">
|
||||
|
|
|
|||
|
|
@ -11,55 +11,71 @@
|
|||
<input type="hidden" name="wrtOrgan" th:value="${affair.wrtOrgan}">
|
||||
<input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}">
|
||||
<div class="mb-3 row">
|
||||
<label for="wrtUserNm" class="col-sm-1 col-form-label 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">
|
||||
<input type="text" class="form-control border-0" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly>
|
||||
<input type="text" class="form-control form-control-sm border-0" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly>
|
||||
</div>
|
||||
<label for="wrtDt" class="col-sm-1 col-form-label text-center">작성일시</label>
|
||||
<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 border-0" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
|
||||
<input type="text" class="form-control form-control-sm border-0" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
|
||||
</div>
|
||||
<label for="reportDt" class="col-sm-1 col-form-label text-center">보고일자</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control border-0" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
|
||||
</div>
|
||||
<label for="affairStatus" class="col-sm-1 col-form-label text-center">상태</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center"></label>
|
||||
<div class="col-sm-2"></div>
|
||||
<label for="affairStatus" class="col-sm-1 col-form-label 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 border-0" th:if="${commonCode.itemCd eq affair.affairStatus}" th:value="${commonCode.itemValue}" readonly>
|
||||
<input type="text" class="form-control form-control-sm border-0" th:if="${commonCode.itemCd eq affair.affairStatus}" th:value="${commonCode.itemValue}" readonly>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="affairType1" class="col-sm-1 col-form-label text-center">분야1</label>
|
||||
<label for="reportDt" 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 border-0" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
|
||||
</div>
|
||||
<label for="autoDelete" 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 border-0" id="autoDelete" name="autoDelete" th:value="${#temporals.format(affair.autoDelete, 'yyyy-MM-dd')}" readonly>
|
||||
</div>
|
||||
<label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${session.commonCode.get('AVS')}">
|
||||
<th:block th:if="${code.itemCd eq affair.viewStatus}">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="viewStatus" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${session.commonCode.get('DC01')}">
|
||||
<th:block th:if="${code.itemCd eq affair.affairType1}">
|
||||
<input type="text" class="form-control border-0" id="affairType1" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="affairType1" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label for="affairType2" class="col-sm-1 col-form-label text-center">분야2</label>
|
||||
<label for="affairType2" class="col-sm-1 col-form-label col-form-label-sm text-center">분야2</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${session.commonCode.get('DC02')}">
|
||||
<th:block th:if="${code.itemCd eq affair.affairType2}">
|
||||
<input type="text" class="form-control border-0" id="affairType2" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="affairType2" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label for="affairType3" class="col-sm-1 col-form-label text-center">분야3</label>
|
||||
<label for="affairType3" class="col-sm-1 col-form-label col-form-label-sm text-center">분야3</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${session.commonCode.get('DC03')}">
|
||||
<th:block th:if="${code.itemCd eq affair.affairType3}">
|
||||
<input type="text" class="form-control border-0" id="affairType3" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="affairType3" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label for="affairType4" class="col-sm-1 col-form-label text-center">분야4</label>
|
||||
<label for="affairType4" class="col-sm-1 col-form-label col-form-label-sm text-center">분야4</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${session.commonCode.get('DC04')}">
|
||||
<th:block th:if="${code.itemCd eq affair.affairType4}">
|
||||
<input type="text" class="form-control border-0" id="affairType4" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="affairType4" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
|
|
@ -70,13 +86,7 @@
|
|||
<div class="row">
|
||||
<label for="title" class="col-sm-2 col-form-label text-center">제목</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control border-0" id="title" name="title" th:value="${affair.title}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="hashTags" class="col-sm-2 col-form-label text-center">해시태그</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control border-0" id="hashTags" name="hashTags" th:value="${affair.hashTags}" readonly>
|
||||
<input type="text" class="form-control form-control-sm border-0" id="title" name="title" th:value="${affair.title}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
|
@ -86,10 +96,17 @@
|
|||
<div th:utext="${affair.content}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="mb-3 row">
|
||||
<label for="hashTags" class="col-sm-2 col-form-label text-center">해시태그</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="hashTags" name="hashTags" th:value="${affair.hashTags}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="etc" class="col-sm-2 col-form-label text-center">비고</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control border-0" id="etc" name="etc" th:value="${affair.etc}" readonly>
|
||||
<input type="text" class="form-control form-control-sm border-0" id="etc" name="etc" th:value="${affair.etc}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -120,25 +137,54 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!--<th:block th:unless="${#lists.isEmpty(affair.apprvList)}">
|
||||
<th:block th:unless="${#lists.isEmpty(affair.rateList)}">
|
||||
<hr>
|
||||
<th:block th:each="apprv,cnt:${affair.apprvList}">
|
||||
<div class="row justify-content-between py-1">
|
||||
<th:block th:each="rate:${affair.rateList}">
|
||||
<div class="row 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>
|
||||
<input type="hidden" class="ratingOrganCd" th:value="${rate.ratingOrgan}">
|
||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||
<p th:if="${commonCode.itemCd eq rate.ratingOrgan}" th:text="${commonCode.itemValue}"></p>
|
||||
</th:block>
|
||||
<span th:text="|결재자: ${apprv.userNm}|"></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="row" th:if="${rate.sectionApprv eq null}">
|
||||
<div class="col-auto">
|
||||
<p>결재정보가 없습니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" th:if="${rate.sectionApprv ne null}">
|
||||
<div class="col-auto">
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<span th:if="${commonCode.itemCd eq rate.sectionApprv}" th:text="|결재결과: ${commonCode.itemValue}|"></span>
|
||||
</th:block>
|
||||
<span th:text="|결재자: ${rate.sectionNm}|"></span>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span th:text="|결재일시: ${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}|"></span>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<span th:text="|기타의견: ${rate.sectionEtc}|"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" th:if="${rate.headApprv ne null}">
|
||||
<div class="col-auto">
|
||||
<th:block th:each="commonCode:${session.commonCode.get('AAR')}">
|
||||
<span th:if="${commonCode.itemCd eq rate.affairRate}" th:text="|견문평가: ${commonCode.itemValue} ${rate.organ_up eq 'T'?'(상보)':''}|"></span>
|
||||
</th:block>
|
||||
<span th:text="|결재자: ${rate.headNm}|"></span>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span th:text="|결재일시: ${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}|"></span>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<span th:text="|기타의견: ${rate.headEtc}|"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>-->
|
||||
</th:block>
|
||||
</div>
|
||||
<div class="col-12" th:if="${apprvAuth ne null}">
|
||||
<form action="#" method="post" id="apprvForm">
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<div class="card-body">
|
||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" th:classappend="${page eq 'main'?' active':''}" id="planTab" data-bs-toggle="tab" type="button" role="tab">견문 목록</button>
|
||||
<button class="nav-link" th:classappend="${page eq 'main'?' active':''}" id="planTab" data-bs-toggle="tab" type="button" role="tab">계획 목록</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" th:classappend="${page eq 'stay'?' active':''}" id="stayTab" data-bs-toggle="tab" type="button" role="tab">결재대기목록</button>
|
||||
|
|
|
|||
Loading…
Reference in New Issue