외사첩보망 운영계획, 해고/연장보고 작업중.

master
강석 최 2024-03-26 18:04:10 +09:00
parent 1eac869608
commit abf8507030
10 changed files with 90 additions and 50 deletions

View File

@ -129,6 +129,7 @@ public class IntelligenceNetworkController {
MultipartHttpServletRequest request, @RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
op.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
if(op.getOpKey() == null) {
op.setCollaboratorStatus("CS001");
op.setWrtOrgan(loginUser.getOgCd());
op.setWrtPart(loginUser.getOfcCd());
op.setWrtUserGrd(loginUser.getTitleCd());
@ -424,6 +425,7 @@ public class IntelligenceNetworkController {
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanListModal");
op.setFirstIndex(0);
op.setRowCnt(9999);
op.setCollaboratorStatus("feEditModal");
if(Utils.isEmpty(op.getWrtOrgan())){
op.setWrtOrgan(loginUser.getOgCd());
}

View File

@ -80,6 +80,8 @@ public class FireExtensionReport extends BaseModel {
@Transient
private String opSdate;
@Transient
private String collaboratorStatus;
@Transient
private OperationPlan operationPlan;
@Transient
List<FireExtensionReportApprv> apprvList;

View File

@ -72,7 +72,8 @@ public class OperationPlan extends BaseModel {
@Column(name = "wrt_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime wrtDt;
@Column(name = "collaborator_status")
private String collaboratorStatus;
@Transient
private String status;

View File

@ -214,6 +214,7 @@ public class IntelligenceNetworkService extends BaseService {
@Transactional
public Integer saveFireExtensionReport(FireExtensionReport fer) {
Integer ferKey = fireExtensionReportRepository.save(fer).getFerKey();
operationPlanRepository.findById(fer.getOpKey()).ifPresent(op -> op.setCollaboratorStatus(fer.getCollaboratorStatus()));
if(fer.getFerState().equals("DST002")){
//작성완료일 때 부장 결재 사용자에게 알림 발송.
userAlarmService.sendAlarmToApprvUser(ferKey, fer.getWrtOrgan(), "APC001", 35, "외사첩보망 견문관리 외사첩보망 해고(연장)보고에 결재대기 문서가 있습니다.");

View File

@ -48,6 +48,16 @@
and op_state in ('DST003', 'DST004', 'DST005', 'DST006')
</if>
</if>
<if test='collaboratorStatus != null and collaboratorStatus != ""'>
<choose>
<when test='collaboratorStatus = "feEditModal"'>
and op.collaborator_status in ('CS001', 'CS002')
</when>
<otherwise>
and op.collaborator_status = #{collaboratorStatus}
</otherwise>
</choose>
</if>
</where>
</sql>
<select id="selectOperationPlanList" resultType="OperationPlan" parameterType="OperationPlan">
@ -61,6 +71,7 @@
op_rank,
op_sdate,
op_state as status,
collaborator_status,
(select item_value from code_mgt where item_cd = op_state) as op_state,
wrt_user_seq,
(select item_value from code_mgt where item_cd = wrt_organ) as wrt_organ,
@ -69,7 +80,7 @@
wrt_user_nm,
wrt_dt,
b.fileCnt
from operation_plan op
from operation_plan op
left outer join (select op_key,
count(file_seq) as fileCnt
from operation_plan_file

View File

@ -73,12 +73,8 @@ $(document).on('click', '#operationPlanModalBtn', function (){
});
})
$(document).on('click', '#getOperationPlanBtn', function (){
if($(".rowChkBox:checked").length < 1){
alert("정보협력자를 선택해주세요.");
return false;
}
const opKey = $(".rowChkBox:checked").val();
$(document).on('click', '.opTr', function (){
const opKey = $(this).find(".opKey").val();
$.ajax({
type : 'POST',
data : JSON.stringify({opKey:opKey}),
@ -149,11 +145,16 @@ $(document).on('click', '#saveBtn', function (){
$('#allocationAmount').focus();
return false;
}
if(!$("#executionAmount").val()){
alert("집행액을 입력해주세요.");
$('#executionAmount').focus();
return false;
}
if(!$("#executionAmount").val()){
alert("집행액을 입력해주세요.");
$('#executionAmount').focus();
return false;
}
if(!$("#collaboratorStatus").val()){
alert("운용상태를 선택해주세요.");
$('#collaboratorStatus').focus();
return false;
}
if(confirm("저장하시겠습니까?")){
saveFireExtensionReport('DST002');
}
@ -234,3 +235,11 @@ $(document).on('click', '.apprvBtn', function (){
}
})
$(document).on('change', '#collaboratorStatus', function (){
if($(this).val() === "CS002"){
$("#fireExtensionReasonLabel").text("연장 사유")
}else{
$("#fireExtensionReasonLabel").text("해고 사유")
}
})

View File

@ -47,12 +47,12 @@
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="opPosition" disabled>
</div>
</div>
<div class="row mb-1 text-center">
<label for="opJob" 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="opJob" disabled>
</div>
</div>
<div class="row mb-1 text-center">
<label for="opCareer" 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="opCareer" disabled>
@ -61,21 +61,29 @@
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="opPhone" disabled>
</div>
</div>
<div class="row mb-1 text-center">
<label for="opSdate" 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="opSdate" disabled>
</div>
<label for="opEdate" 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="opEdate" name="opEdate">
</div>
<label for="opRank" 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="opRank" disabled>
<input type="text" class="form-control form-control-sm" id="opRank" disabled>
</div>
</div>
<div class="row mb-1 text-center">
<label for="opSdate" 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="opSdate" disabled>
</div>
<label for="opEdate" 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="opEdate" name="opEdate">
</div>
<label for="collaboratorStatus" 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="collaboratorStatus" name="collaboratorStatus">
<th:block th:each="code:${session.commonCode.get('CS')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
</div>
</th:block>
<th:block th:unless="${fer.ferKey eq null}">
<hr>
@ -98,12 +106,12 @@
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="opPosition" th:value="${fer.operationPlan.opPosition}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="opJob" 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="opJob" th:value="${fer.operationPlan.opJob}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="opCareer" 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="opCareer" th:value="${fer.operationPlan.opCareer}" disabled>
@ -112,6 +120,10 @@
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="opPhone" th:value="${fer.operationPlan.opPhone}" disabled>
</div>
<label for="opRank" 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="opRank" th:value="${fer.operationPlan.opRank}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="opSdate" class="col-sm-1 col-form-label col-form-label-sm text-center">*운용기간</label>
@ -122,10 +134,14 @@
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="opEdate" name="opEdate" th:value="${fer.opEdate}">
</div>
<label for="opRank" 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="opRank" th:value="${fer.operationPlan.opRank}" disabled>
</div>
<label for="collaboratorStatus" 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="collaboratorStatus" name="collaboratorStatus">
<th:block th:each="code:${session.commonCode.get('CS')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${fer.collaboratorStatus eq code.itemCd}"></option>
</th:block>
</select>
</div>
</div>
</th:block>
<hr>
@ -154,7 +170,7 @@
</div>
<hr>
<div class="row mb-1">
<label for="fireExtensionReason" class="col-sm-1 col-form-label col-form-label-sm text-center">해고(연장)<br>사유</label>
<label for="fireExtensionReason" id="fireExtensionReasonLabel" class="col-sm-1 col-form-label col-form-label-sm text-center">연장 사유</label>
<div class="col-sm-11">
<textarea id="fireExtensionReason" name="fireExtensionReason" rows="5" cols="108" th:utext="${fer.fireExtensionReason}"></textarea>
</div>

View File

@ -34,20 +34,26 @@
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${fer.operationPlan.opBirth}"></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="${fer.operationPlan.opPosition}"></label>
</div>
<div class="row">
<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="${fer.operationPlan.opJob}"></label>
</div>
<div class="row">
<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="${fer.operationPlan.opCareer}"></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="${fer.operationPlan.opPhone}"></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="${fer.operationPlan.opRank}"></label>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">운용기간:</label>
<label class="col-sm-5 col-form-label col-form-label-sm text-start" th:text="|${fer.operationPlan.opSdate}~${fer.opEdate}|"></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="${fer.operationPlan.opRank}"></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:block th:each="code:${session.commonCode.get('CS')}">
<th:block th:if="${code.itemCd eq fer.operationPlan.collaboratorStatus}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
</div>
<hr>
<div class="row mb-1"><h6 class="text-start">■ 소요예산</h6></div>

View File

@ -113,8 +113,9 @@
<td th:text="${list.opPosition}"></td>
<td th:text="${list.opPhone}"></td>
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
<td th:if="${list.status eq 'DST004'} or ${list.status eq 'DST006'}">운영중</td>
<td th:unless="${list.status eq 'DST004'} or ${list.status eq 'DST006'}" th:text="${list.opState}"></td>
<th:block th:each="code:${session.commonCode.get('CS')}">
<td th:if="${list.collaboratorStatus eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
<td th:text="${list.opState}"></td>
<td th:text="${list.opRank}"></td>
</tr>

View File

@ -8,7 +8,6 @@
<table class="table table-sm table-hover">
<thead>
<tr>
<th></th>
<th>성명</th>
<th>생년월일</th>
<th>근무처(소속)</th>
@ -20,8 +19,8 @@
</tr>
</thead>
<tbody>
<tr class="affairTr" th:each="op:${operationPlanList}">
<td><input type="checkbox" class="rowChkBox" th:value="${op.opKey}"></td>
<tr class="opTr" th:each="op:${operationPlanList}">
<input type="hidden" class="opKey" th:value="${op.opKey}">
<td th:text="${op.opName}"></td>
<td th:text="${op.opBirth}"></td>
<td th:text="${op.opPosition}"></td>
@ -33,12 +32,4 @@
</tr>
</tbody>
</table>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
</div>
<div class="col-auto">
<button type="button" class="btn btn-primary" id="getOperationPlanBtn">불러오기</button>
</div>
</div>