분석평가서 인쇄 기능 추가.

master
강석 최 2023-06-28 18:03:20 +09:00
parent a0edb7b4a6
commit 9c1e799c05
6 changed files with 78 additions and 4 deletions

View File

@ -310,6 +310,8 @@ public class IntelligenceNetworkController {
@PostMapping("/intelligenceAnalyzeChange")
public Integer intelligenceAnalyzeChange(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyzeApprv apprv){
apprv.setUserSeq(loginUser.getUserSeq());
apprv.setOgCd(loginUser.getOgCd());
apprv.setOfcCd(loginUser.getOfcCd());
apprv.setUserGrd(loginUser.getTitleCd());
apprv.setUserNm(loginUser.getUserNm());
apprv.setSaveDt(LocalDateTime.now());
@ -486,4 +488,12 @@ public class IntelligenceNetworkController {
plan = intelligenceNetworkService.getPrintTypePlan(plan, codeMap);
return plan;
}
@GetMapping("/intelligenceAnalyzeJson")
public IntelligenceAnalyze intelligenceAnalyzeJson(IntelligenceAnalyze analyze, HttpSession session){
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
analyze = intelligenceNetworkService.selectIntelligenceAnalyze(analyze);
analyze.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(analyze));
analyze = intelligenceNetworkService.getPrintTypeIntelligenceAnalyze(analyze, codeMap);
return analyze;
}
}

View File

@ -27,6 +27,10 @@ public class IntelligenceAnalyzeApprv {
private String state;
@Column(name = "user_seq")
private Integer userSeq;
@Column(name = "og_cd")
private String ogCd;
@Column(name = "ofc_cd")
private String ofcCd;
@Column(name = "user_grd")
private String userGrd;
@Column(name = "user_nm")

View File

@ -275,4 +275,15 @@ public class IntelligenceNetworkService extends BaseService {
apprv.setUserGrd(Utils.searchCodeValue(apprv.getUserGrd(), codeMap.get("JT")));
return plan;
}
public IntelligenceAnalyze getPrintTypeIntelligenceAnalyze(IntelligenceAnalyze analyze, Map<String, List<CodeMgt>> codeMap) {
analyze.setWrtPart(Utils.searchCodeValue(analyze.getWrtPart(), codeMap.get(analyze.getWrtOrgan())));
analyze.setWrtOrgan(Utils.searchCodeValue(analyze.getWrtOrgan(), codeMap.get("OG")));
analyze.setWrtUserGrd(Utils.searchCodeValue(analyze.getWrtUserGrd(), codeMap.get("JT")));
IntelligenceAnalyzeApprv apprv = analyze.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 analyze;
}
}

View File

@ -24,11 +24,50 @@ $(document).on('click', '#planPrintBtn', function (){
});
})
$(document).on('click', '#analyzePrintBtn', function (){
$.ajax({
url: '/intelligenceNetwork/intelligenceAnalyzeJson',
type: 'GET',
data: {iaKey: $(this).attr('data-iakey')},
dataType:"json",
success: function(data){
const plan = makeAnalyzePrintData(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 = "intelligenceAnalyze";
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.wrtDt = data.wrtDt.replace("T", " ").substring(0, 16);
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;
const apprv = data.apprvList[0];
data.headPart = apprv.ogCd+" "+apprv.ofcCd;
data.headGrd = apprv.userGrd;
data.headNm = apprv.userNm;
return data;
}
function makeAnalyzePrintData(data){
data.wrtDt = data.wrtDt.replace("T", " ").substring(0, 16);
data.wrtPart = data.wrtOrgan+" "+data.wrtPart;
const apprv = data.apprvList[0];
data.opinion = apprv.opinion;
data.instruction = apprv.instruction;
data.headPart = apprv.ogCd+" "+apprv.ofcCd;
data.headGrd = apprv.userGrd;
data.headNm = apprv.userNm;
return data;
}

View File

@ -4,6 +4,7 @@
layout:decorate="~{layout/layout}">
<th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/igActivities/intelligenceNetwork/intelligenceAnalyze.js}"></script>
<script type="text/javascript" th:src="@{/js/igActivities/intelligenceNetwork/inPrint.js}"></script>
</th:block>
<div layout:fragment="content">
<main>
@ -184,5 +185,11 @@
</div>
</div>
</div>
<div class="d-none">
<form id="printForm">
<input type="hidden" name="crfName">
<input type="hidden" name="json">
</form>
</div>
</div>
</html>

View File

@ -196,6 +196,9 @@
</th:block>
</div>
<div class="col-auto">
<th:block th:if="${ia.iaState eq 'DST006'}">
<button type="button" class="btn btn-secondary" id="analyzePrintBtn" th:data-iakey="${ia.iaKey}">인쇄</button>
</th:block>
<th:block th:if="${ia.wrtOrgan eq viewOrgan}">
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and ia.iaState eq 'DST002'}">
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->