From e0cc1e7413cc5ba06acda9c28ad32967cf7e765d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Wed, 5 Jul 2023 18:24:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=99=B8=EC=82=AC=ED=99=9C=EB=8F=99=20?= =?UTF-8?q?=EC=9D=B8=EC=87=84=EA=B8=B0=EB=8A=A5=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activityCase/ActivityCaseController.java | 21 ++++++++ .../mybatisMapper/ActivityCaseMapper.xml | 1 + .../js/counterIntelligence/activityCase.js | 50 +++++++++++++++++++ .../activityCase/activityCaseViewModal.html | 3 ++ 4 files changed, 75 insertions(+) diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java index 1c1a8f00..75c54631 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java @@ -5,13 +5,16 @@ import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.counterIntelligence.activityCase.model.*; import com.dbnt.faisp.main.counterIntelligence.activityCase.service.ActivityCaseService; import com.dbnt.faisp.main.userInfo.model.UserInfo; +import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequiredArgsConstructor @@ -108,6 +111,14 @@ public class ActivityCaseController { mav.addObject("accessAuth", accessAuth); mav.addObject("activityCase", activityCase); mav.addObject("activityCaseInfo", activityCaseInfo); + boolean printFlag = false; + for(ActivityCaseApprv apprv: activityCaseInfo.getApprvList()){ + if((!Utils.isEmpty(apprv.getApprvYn()) && apprv.getApprvYn().equals("Y")) + && (!Utils.isEmpty(apprv.getApprvType()) && !apprv.getApprvType().equals("ACAT001"))){ + printFlag = true; + } + } + mav.addObject("printFlag", printFlag); return mav; } @@ -159,4 +170,14 @@ public class ActivityCaseController { mav.addObject("searchParams", activityCase); return mav; } + + @GetMapping("/activityCasePrint") + public Map activityCasePrint(ActivityCaseInfo info){ + info = activityCaseService.selectActivityCaseInfo(info.getCaseKey()); + ActivityCase activityCase = activityCaseService.selectActivityCase(info.getReceiptKey()); + Map map = new HashMap<>(); + map.put("activityCase", activityCase); + map.put("activityCaseInfo", info); + return map; + } } diff --git a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml index dc53fa87..b2d4545f 100644 --- a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml +++ b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml @@ -97,6 +97,7 @@ count(*) as reportCnt, max(case_key) as case_key from activity_case_info + where status <> 'DST008' group by receipt_key ) b on a.receipt_key = b.receipt_key inner join activity_case_info c diff --git a/src/main/resources/static/js/counterIntelligence/activityCase.js b/src/main/resources/static/js/counterIntelligence/activityCase.js index b2e8654d..8c7a302b 100644 --- a/src/main/resources/static/js/counterIntelligence/activityCase.js +++ b/src/main/resources/static/js/counterIntelligence/activityCase.js @@ -89,6 +89,48 @@ $(document).on('click', '.apprvBtn', function (){ setApprvResult($("#activityCaseViewModalBody").find("#caseKey").val(), apprvRow.find(".apprvUserSeq").val(), apprvRow.find(".instructions").val(), apprvValue); } }) + +$(document).on('click', '#printInfoBtn', function (){ + $.ajax({ + url: '/counterIntelligence/activityCasePrint', + type: 'GET', + data: {caseKey: $("#activityCaseViewModalBody").find('#caseKey').val()}, + dataType:"json", + success: function(data){ + const activityCase = makeActivityCasePrintData(data); + const url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp"; + + const status = "width=900px,height=800px,scrollbars=yes"; + const form = $("#printForm")[0]; + let title = ""; + + switch(data.caseType){ + case "ACT001": + title = "청산보고서 인쇄"; + form.crfName.value = "activityCase1"; + break; + case "ACT002": + title = "진행보고서 인쇄"; + form.crfName.value = "activityCase2"; + break; + case "ACT003": + title = "결과보고서 인쇄"; + form.crfName.value = "activityCase3"; + break; + } + window.open("", title, status); + form.target = title; + form.action = url; + form.json.value = JSON.stringify(activityCase); + form.method = "post"; + form.submit(); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +}) + function getActivityCaseEditModal(receiptKey, caseKey, caseType){ $.ajax({ url: '/counterIntelligence/activityCaseEditModal', @@ -322,3 +364,11 @@ function contentCheck(){ } return true; } + + +function makeActivityCasePrintData(data){ + const activityCase = { + + } + return activityCase; +} \ No newline at end of file diff --git a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseViewModal.html b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseViewModal.html index ec7cd9a4..83cfffb8 100644 --- a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseViewModal.html +++ b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseViewModal.html @@ -193,6 +193,9 @@