Merge branch 'master' of https://dev.azure.com/DBNTech/ForeignAffairs/_git/ForeignAffairs
commit
76858f8604
|
|
@ -238,6 +238,9 @@ public class FileController extends BaseService{
|
|||
case "designation":
|
||||
downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "monitoringResult":
|
||||
downloadFile = monitoringService.selectmonitoringResultFile(parentKey, fileSeq);
|
||||
break;
|
||||
}
|
||||
return downloadFile;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignationFile.mon
|
|||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResult;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultApprv;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultFile;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultFile.MonitoringResultFileId;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultInfo;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationApprvRepository;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationFileRepository;
|
||||
|
|
@ -248,16 +249,20 @@ public class MonitoringService extends BaseService {
|
|||
case "DST003":
|
||||
case "DST005":
|
||||
// 반려시 작성자에게 반려 알림 발송
|
||||
userAlarmService.sendAlarmToWrtUser(saveResult.getMrKey(), saveResult.getWrtUserSeq(), 36, saveResult.getMrTitle()+" 문서가 반려되었습니다.");
|
||||
userAlarmService.sendAlarmToWrtUser(saveResult.getMrKey(), saveResult.getWrtUserSeq(), 37, saveResult.getMrTitle()+" 문서가 반려되었습니다.");
|
||||
break;
|
||||
case "DST006":
|
||||
// 부장승인시 작성자에게 승인 알림 발송
|
||||
userAlarmService.sendAlarmToWrtUser(saveResult.getMrKey(), saveResult.getWrtUserSeq(), 36, saveResult.getMrTitle()+" 문서가 승인되었습니다.");
|
||||
userAlarmService.sendAlarmToWrtUser(saveResult.getMrKey(), saveResult.getWrtUserSeq(), 37, saveResult.getMrTitle()+" 문서가 승인되었습니다.");
|
||||
break;
|
||||
}
|
||||
return apprv.getMrKey();
|
||||
}
|
||||
|
||||
public MonitoringResultFile selectmonitoringResultFile(Integer parentKey, Integer fileSeq) {
|
||||
return monitoringResultFileRepository.findById(new MonitoringResultFileId(parentKey,fileSeq)).orElse(null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -114,6 +114,14 @@
|
|||
<if test='mrState != null and mrState != ""'>
|
||||
and mr.mr_state = #{mrState}
|
||||
</if>
|
||||
<if test='dateSelector == "mrDt"'>
|
||||
<if test='startDate != null and startDate != ""'>
|
||||
and mr.mr_sdate >= #{startDate}::date
|
||||
</if>
|
||||
<if test='endDate != null and endDate != ""'>
|
||||
and mr.mr_edate <= #{endDate}::date
|
||||
</if>
|
||||
</if>
|
||||
<if test='dateSelector == "wrtDt"'>
|
||||
<if test='startDate != null and startDate != ""'>
|
||||
and mr.wrt_dt >= #{startDate}::date
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ function getResultEditModal(mrKey){
|
|||
}
|
||||
|
||||
$(document).on('click', '#designationListModalBtn', function (){
|
||||
//const opKey = $("input[name=opKey]").val();
|
||||
const mdKey = $("input[name=mdKey]").val();
|
||||
$.ajax({
|
||||
url: '/monitoring/designationListModal',
|
||||
data: {
|
||||
|
|
@ -53,9 +53,9 @@ $(document).on('click', '#designationListModalBtn', function (){
|
|||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#designationListModalContent").empty().append(html);
|
||||
//if(opKey != ""){
|
||||
// $(".rowChkBox[value="+opKey+"]").prop("checked", true);
|
||||
// }
|
||||
if(mdKey != ""){
|
||||
$(".rowChkBox[value="+mdKey+"]").prop("checked", true);
|
||||
}
|
||||
$("#designationListModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
|
|
@ -66,7 +66,7 @@ $(document).on('click', '#designationListModalBtn', function (){
|
|||
|
||||
$(document).on('click', '#getDesignationBtn', function (){
|
||||
if($(".rowChkBox:checked").length < 1){
|
||||
alert("정보협력자를 선택해주세요.");
|
||||
alert("모니터링 대상자를 선택해주세요.");
|
||||
return false;
|
||||
}
|
||||
if($(".rowChkBox:checked").length > 1){
|
||||
|
|
@ -84,8 +84,7 @@ $(document).on('click', '#getDesignationBtn', function (){
|
|||
})
|
||||
|
||||
$(document).on('click', '#resultInfoAddBtn', function (){
|
||||
const childCommentDiv = $(this).parents(".resultInfoRow");
|
||||
const infoFm = $("#infoFmOrigin").children().clone()
|
||||
const infoFm = $("#infoFmOrigin").children().clone();
|
||||
$("#resultInfoRow").append(infoFm);
|
||||
infoFm.find(".contactDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
|
|
@ -100,6 +99,31 @@ $(document).on('click', '#editBtn', function (){
|
|||
})
|
||||
|
||||
$(document).on('click', '#saveBtn', function (){
|
||||
if($("#mrTitle").val() == ""){
|
||||
alert("제목을 입력해주세요");
|
||||
$('#mrTitle').focus();
|
||||
return false;
|
||||
}
|
||||
if($("input[name=mdKey]").val() == ""){
|
||||
alert("모니터링 대상을 선택해주세요");
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
$.each($("#resultInfoRow").find(".infoRow"), function (idx, div){
|
||||
if($(div).find(".contactDate").val() == ""){
|
||||
alert("접촉일을 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($(div).find(".contactStime").val() == ""){
|
||||
alert("접촉시작시간 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
if($(div).find(".contactEtime").val() == ""){
|
||||
alert("접촉종료시간 입력해주세요");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
*/
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
saveResult('DST002');
|
||||
}
|
||||
|
|
@ -124,11 +148,6 @@ function saveResult(mrState){
|
|||
formData.append('mrState', mrState);
|
||||
|
||||
$.each($("#resultInfoRow").find(".infoRow"), function (idx, div){
|
||||
// const position = $(div).find(".normalSailorPosition").val();
|
||||
// let sailorKey = $(div).find(".sailorKey").val();
|
||||
// if(sailorKey!==undefined){
|
||||
// formData.append('sailorList['+(idx)+'].sailorKey', sailorKey);
|
||||
// }
|
||||
formData.append('resultInfoList['+(idx)+'].infoSeq', idx+1);
|
||||
formData.append('resultInfoList['+(idx)+'].contactDate', $(div).find(".contactDate").val());
|
||||
formData.append('resultInfoList['+(idx)+'].contactStime', $(div).find(".contactStime").val());
|
||||
|
|
@ -202,3 +221,7 @@ $(document).on('click', '.apprvBtn', function (){
|
|||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '.rowDeleteBtn', function (){
|
||||
$(this).parents(".infoRow").remove();
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="modal-header bg-dark">
|
||||
<h5 class="modal-title text-white" id="affairEditModalLabel" th:text="${mr.mrKey eq null?'모니터링 결과보고 작성':'모니터링 결과보고 수정'}"></h5>
|
||||
<h5 class="modal-title text-white" id="affairEditModalLabel" th:text="${mr.mrKey eq null?'모니터링보고서 작성':'모니터링보고서 수정'}"></h5>
|
||||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body" id="affairEditBody">
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
<div class="tab-content bg-white border border-top-0 p-2" id="planContent">
|
||||
<!-- <form method="get" th:action="${searchUrl}">
|
||||
<form method="get" th:action="${searchUrl}">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||
<div class="row justify-content-between py-1">
|
||||
<div class="col-auto">
|
||||
|
|
@ -59,13 +59,13 @@
|
|||
</div>
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="mdTitle" th:value="${searchParams.mdTitle}">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="mrTitle" th:value="${searchParams.mrTitle}">
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="mdState">
|
||||
<select class="form-select form-select-sm" name="mrState">
|
||||
<option value="">상태 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mdState}"></option>
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mrState}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||
<select class="form-select form-select-sm w-30" name="dateSelector">
|
||||
<option value="">조건선택</option>
|
||||
<option value="mdDt" th:selected="${searchParams.dateSelector eq 'mdDt'}">시행일</option>
|
||||
<option value="mrDt" th:selected="${searchParams.dateSelector eq 'mrDt'}">사업기간</option>
|
||||
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">작성일</option>
|
||||
</select>
|
||||
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form> -->
|
||||
</form>
|
||||
<div class="row justify-content-start">
|
||||
<div class="col-12">
|
||||
<table class="table table-sm table-bordered table-hover">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="modal-header bg-dark">
|
||||
<h5 class="modal-title text-white" id="affairViewModalLabel">해양 외사 모니터링 대상자 지정 보고 열람</h5>
|
||||
<h5 class="modal-title text-white" id="affairViewModalLabel">해양 외사 모니터링보고서 열람</h5>
|
||||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
<th:block th:unless="${#lists.isEmpty(mr.fileList)}">
|
||||
<th:block th:each="file:${mr.fileList}">
|
||||
<tr class="fileInfoTr">
|
||||
<td><a href="#" class="fileDownLink" data-board="designation"
|
||||
<td><a href="#" class="fileDownLink" data-board="monitoringResult"
|
||||
th:data-parentkey="${file.mrKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
|
||||
<td th:text="${file.fileSize}"></td>
|
||||
</tr>
|
||||
|
|
|
|||
Loading…
Reference in New Issue