외사첩보망 > 운영계획 인쇄 기능 추가.
parent
9800a85bf7
commit
a0edb7b4a6
|
|
@ -1,6 +1,7 @@
|
||||||
package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork;
|
package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
|
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
||||||
|
|
@ -17,8 +18,10 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
@ -153,6 +156,8 @@ public class IntelligenceNetworkController {
|
||||||
@PostMapping("/operationPlanStateChange")
|
@PostMapping("/operationPlanStateChange")
|
||||||
public Integer operationPlanStateChange(@AuthenticationPrincipal UserInfo loginUser, OperationPlanApprv apprv){
|
public Integer operationPlanStateChange(@AuthenticationPrincipal UserInfo loginUser, OperationPlanApprv apprv){
|
||||||
apprv.setUserSeq(loginUser.getUserSeq());
|
apprv.setUserSeq(loginUser.getUserSeq());
|
||||||
|
apprv.setOgCd(loginUser.getOgCd());
|
||||||
|
apprv.setOfcCd(loginUser.getOfcCd());
|
||||||
apprv.setUserGrd(loginUser.getTitleCd());
|
apprv.setUserGrd(loginUser.getTitleCd());
|
||||||
apprv.setUserNm(loginUser.getUserNm());
|
apprv.setUserNm(loginUser.getUserNm());
|
||||||
apprv.setSaveDt(LocalDateTime.now());
|
apprv.setSaveDt(LocalDateTime.now());
|
||||||
|
|
@ -473,4 +478,12 @@ public class IntelligenceNetworkController {
|
||||||
intelligenceNetworkService.deleteFireExtensionReport(feReport.getFerKey());
|
intelligenceNetworkService.deleteFireExtensionReport(feReport.getFerKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/operationPlanJson")
|
||||||
|
public OperationPlan operationPlanJson(OperationPlan plan, HttpSession session){
|
||||||
|
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||||
|
plan = intelligenceNetworkService.selectOperationPlan(plan.getOpKey());
|
||||||
|
plan = intelligenceNetworkService.getPrintTypePlan(plan, codeMap);
|
||||||
|
return plan;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,10 @@ public class OperationPlanApprv {
|
||||||
private String state;
|
private String state;
|
||||||
@Column(name = "user_seq")
|
@Column(name = "user_seq")
|
||||||
private Integer userSeq;
|
private Integer userSeq;
|
||||||
|
@Column(name = "og_cd")
|
||||||
|
private String ogCd;
|
||||||
|
@Column(name = "ofc_Cd")
|
||||||
|
private String ofcCd;
|
||||||
@Column(name = "user_grd")
|
@Column(name = "user_grd")
|
||||||
private String userGrd;
|
private String userGrd;
|
||||||
@Column(name = "user_nm")
|
@Column(name = "user_nm")
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.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.model.CodeMgt;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper.IntelligenceNetworkMapper;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper.IntelligenceNetworkMapper;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
||||||
|
|
@ -22,6 +23,7 @@ import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanAp
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanFileRepository;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanFileRepository;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanRepository;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanRepository;
|
||||||
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
||||||
|
import com.dbnt.faisp.util.Utils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -29,6 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
|
@ -261,4 +264,15 @@ public class IntelligenceNetworkService extends BaseService {
|
||||||
public void deleteFireExtensionReport(Integer ferKey) {
|
public void deleteFireExtensionReport(Integer ferKey) {
|
||||||
fireExtensionReportRepository.bulkModifyingByFerKeyToFerState(ferKey, "DST008");
|
fireExtensionReportRepository.bulkModifyingByFerKeyToFerState(ferKey, "DST008");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public OperationPlan getPrintTypePlan(OperationPlan plan, Map<String, List<CodeMgt>> codeMap) {
|
||||||
|
plan.setWrtPart(Utils.searchCodeValue(plan.getWrtPart(), codeMap.get(plan.getWrtOrgan())));
|
||||||
|
plan.setWrtOrgan(Utils.searchCodeValue(plan.getWrtOrgan(), codeMap.get("OG")));
|
||||||
|
plan.setWrtUserGrd(Utils.searchCodeValue(plan.getWrtUserGrd(), codeMap.get("JT")));
|
||||||
|
OperationPlanApprv apprv = plan.getApprvList().get(0);
|
||||||
|
apprv.setOfcCd(Utils.searchCodeValue(apprv.getOfcCd(), codeMap.get(apprv.getOgCd())));
|
||||||
|
apprv.setOgCd(Utils.searchCodeValue(apprv.getOgCd(), codeMap.get("OG")));
|
||||||
|
apprv.setUserGrd(Utils.searchCodeValue(apprv.getUserGrd(), codeMap.get("JT")));
|
||||||
|
return plan;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
$(document).on('click', '#planPrintBtn', function (){
|
||||||
|
$.ajax({
|
||||||
|
url: '/intelligenceNetwork/operationPlanJson',
|
||||||
|
type: 'GET',
|
||||||
|
data: {opKey: $(this).attr('data-opkey')},
|
||||||
|
dataType:"json",
|
||||||
|
success: function(data){
|
||||||
|
const plan = makePlanPrintData(data);
|
||||||
|
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||||
|
var title = "운영계획 인쇄";
|
||||||
|
var status = "width=900px,height=800px,scrollbars=yes";
|
||||||
|
window.open("", title, status);
|
||||||
|
const form = $("#printForm")[0];
|
||||||
|
form.target = title;
|
||||||
|
form.action = url;
|
||||||
|
form.crfName.value = "operationPlan";
|
||||||
|
form.json.value = JSON.stringify(plan);
|
||||||
|
form.method = "post";
|
||||||
|
form.submit();
|
||||||
|
},
|
||||||
|
error:function(e){
|
||||||
|
ajaxErrorAction(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
function makePlanPrintData(data){
|
||||||
|
data.wrtDt = data.wrtDt.replace("T", " ").substring(0, 15);
|
||||||
|
data.wrtPart = data.wrtOrgan+" "+data.wrtPart;
|
||||||
|
data.headPart = data.apprvList[0].ogCd+" "+data.apprvList[0].ofcCd;
|
||||||
|
data.headGrd = data.apprvList[0].userGrd;
|
||||||
|
data.headNm = data.apprvList[0].userNm;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
layout:decorate="~{layout/layout}">
|
layout:decorate="~{layout/layout}">
|
||||||
<th:block layout:fragment="script">
|
<th:block layout:fragment="script">
|
||||||
<script type="text/javascript" th:src="@{/js/igActivities/intelligenceNetwork/operationPlan.js}"></script>
|
<script type="text/javascript" th:src="@{/js/igActivities/intelligenceNetwork/operationPlan.js}"></script>
|
||||||
|
<script type="text/javascript" th:src="@{/js/igActivities/intelligenceNetwork/inPrint.js}"></script>
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
|
|
@ -172,5 +173,11 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="d-none">
|
||||||
|
<form id="printForm">
|
||||||
|
<input type="hidden" name="crfName">
|
||||||
|
<input type="hidden" name="json">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -153,6 +153,9 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
|
<th:block th:if="${operationPlan.opState eq 'DST006'}">
|
||||||
|
<button type="button" class="btn btn-secondary" id="planPrintBtn" th:data-opkey="${operationPlan.opKey}">인쇄</button>
|
||||||
|
</th:block>
|
||||||
<th:block th:if="${operationPlan.wrtOrgan eq viewOrgan}">
|
<th:block th:if="${operationPlan.wrtOrgan eq viewOrgan}">
|
||||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and operationPlan.opState eq 'DST002'}">
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and operationPlan.opState eq 'DST002'}">
|
||||||
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->
|
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue