diff --git a/src/main/java/com/dbnt/faisp/config/BaseModel.java b/src/main/java/com/dbnt/faisp/config/BaseModel.java index 7d666b79..de38da7e 100644 --- a/src/main/java/com/dbnt/faisp/config/BaseModel.java +++ b/src/main/java/com/dbnt/faisp/config/BaseModel.java @@ -47,6 +47,8 @@ public class BaseModel { private Integer refDocKey; @Transient private String modalType; + @Transient + private String excel; public void setQueryInfo(){ setFirstIndex((getPageIndex()-1)*getRowCnt()); diff --git a/src/main/java/com/dbnt/faisp/main/equip/model/CellPhone.java b/src/main/java/com/dbnt/faisp/main/equip/model/CellPhone.java index 0e4f1ab2..c4bd8b8f 100644 --- a/src/main/java/com/dbnt/faisp/main/equip/model/CellPhone.java +++ b/src/main/java/com/dbnt/faisp/main/equip/model/CellPhone.java @@ -63,9 +63,7 @@ public class CellPhone extends BaseModel{ @Transient private String sosok; - - @Transient - private String excel; + @Override public String toString() { diff --git a/src/main/java/com/dbnt/faisp/main/equip/model/UseInfo.java b/src/main/java/com/dbnt/faisp/main/equip/model/UseInfo.java index c3c4b9a7..33743ce2 100644 --- a/src/main/java/com/dbnt/faisp/main/equip/model/UseInfo.java +++ b/src/main/java/com/dbnt/faisp/main/equip/model/UseInfo.java @@ -27,9 +27,6 @@ public class UseInfo extends UseInfoBase { @Column(name = "is_deleted") private String isDeleted; - @Transient - private String excel; - @Transient private String sosok; @Transient diff --git a/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartInfo.java b/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartInfo.java index e3d15b13..6233dec8 100644 --- a/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartInfo.java +++ b/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartInfo.java @@ -84,9 +84,6 @@ public class PartInfo extends BaseModel implements Serializable{ @Transient private String piManagerName; - @Transient - private String excel; - @Transient private List fileList; diff --git a/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartWork.java b/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartWork.java index 46b4ba82..6eae402b 100644 --- a/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartWork.java +++ b/src/main/java/com/dbnt/faisp/main/fipTarget/model/PartWork.java @@ -63,8 +63,6 @@ public class PartWork extends BaseModel implements Serializable{ @Transient private List multipartFileList; - @Transient - private String excel; @Transient private String terminalNm; @Transient diff --git a/src/main/java/com/dbnt/faisp/main/fipTarget/model/ShipInfo.java b/src/main/java/com/dbnt/faisp/main/fipTarget/model/ShipInfo.java index 164de330..ff2db5f8 100644 --- a/src/main/java/com/dbnt/faisp/main/fipTarget/model/ShipInfo.java +++ b/src/main/java/com/dbnt/faisp/main/fipTarget/model/ShipInfo.java @@ -74,9 +74,7 @@ public class ShipInfo extends BaseModel implements Serializable{ private LocalDateTime wrtDt; @Column(name = "status") private String status; - - @Transient - private String excel; + @Transient private String weightStr; @@ -89,7 +87,7 @@ public String toString() { + ownerNm + ", shipNm=" + shipNm + ", operationCnt=" + operationCnt + ", shipWeight=" + shipWeight + ", passengerCnt=" + passengerCnt + ", freightCnt=" + freightCnt + ", description=" + description + ", wrtOrgan=" + wrtOrgan + ", wrtPart=" + wrtPart + ", wrtUserSeq=" + wrtUserSeq + ", wrtTitle=" - + wrtTitle + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + ", excel=" + excel + "]"; + + wrtTitle + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + "]"; } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/AffairController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/AffairController.java index a3fda047..f3bd6ab9 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/AffairController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/AffairController.java @@ -8,16 +8,21 @@ import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService; import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.publicBoard.model.PublicBoard; import com.dbnt.faisp.main.userInfo.model.UserInfo; +import com.dbnt.faisp.util.ParamMap; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.security.core.parameters.P; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; @RestController @@ -29,8 +34,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 private final OrganConfigService organConfigService; @GetMapping("/affairMgt/{tab}") - public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser, - @PathVariable("tab") String tab, AffairBoard affairBoard){ + public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser, @PathVariable("tab") String tab, + HttpSession session, HttpServletResponse response, AffairBoard affairBoard){ ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt"); if(Utils.isEmpty(affairBoard.getAffairCategory())){ return new ModelAndView("redirect:/"); @@ -110,17 +115,41 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 break; } - mav.addObject("page", tab); - mav.addObject("searchUrl", "/affair/affairMgt/"+tab); - mav.addObject("accessAuth", accessAuth); - mav.addObject("apprvAuth", apprvAuth); - mav.addObject("userOrgan", loginUser.getOgCd()); - affairBoard.setQueryInfo(); - mav.addObject("affairList", affairService.selectAffairBoardList(affairBoard)); - affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard)); - affairBoard.setPaginationInfo(); - mav.addObject("searchParams", affairBoard); - return mav; + if(affairBoard.getExcel() != null && affairBoard.getExcel().equals("Y")){ + Map> codeMap = (Map>) session.getAttribute("commonCode"); + String[] headers = {"doc_no", "affair_type1", "affair_type2", "affair_type3", "affair_type4", "title", "wrt_organ", "wrt_part", "wrt_user_grd", "wrt_user_nm", "report_dt", "affair_status", "affair_rate", "organ_up"}; + String[] headerNames = {"문서번호", "분야1", "분야2", "분야3", "분야4", "제목", "관서", "부서", "직급", "작성자", "보고일자", "상태", "평가", "상보"}; + String[] columnType = {"String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String"}; + String sheetName; + switch (tab){ + case "myReport": sheetName = "내 작성 목록"; break; + case "stayReport": sheetName = "결재대기목록"; break; + case "commitReport": sheetName = "결재처리목록"; break; + case "openReport": sheetName = "공개 보고서"; break; + case "allReport": sheetName = "전체(관리자)"; break; + default: sheetName=""; + } + String excelFileName = "견문보고서 목록"; + List affairList= affairService.selectAffairListToExcel(affairBoard, codeMap); + try { + Utils.listToExcel(affairList, response, headers, headerNames, columnType, sheetName, excelFileName); + } catch (IOException e) { + + } + return null; + }else{ + mav.addObject("page", tab); + mav.addObject("searchUrl", "/affair/affairMgt/"+tab); + mav.addObject("accessAuth", accessAuth); + mav.addObject("apprvAuth", apprvAuth); + mav.addObject("userOrgan", loginUser.getOgCd()); + affairBoard.setQueryInfo(); + mav.addObject("affairList", affairService.selectAffairBoardList(affairBoard)); + affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard)); + affairBoard.setPaginationInfo(); + mav.addObject("searchParams", affairBoard); + return mav; + } } @GetMapping("/affairEditModal") diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java index 2ee32c03..03e8a911 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java @@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.affair.mapper; import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard; import com.dbnt.faisp.main.fpiMgt.affair.model.DashboardAffair; +import com.dbnt.faisp.util.ParamMap; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -24,4 +25,6 @@ public interface AffairMapper { List selectDashboardIntelligenceNetworkList(DashboardAffair affair); List selectApprvStayList(DashboardAffair affair); + + List selectAffairListToExcel(AffairBoard affairBoard); } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java index 2fb582f2..7d6d85bf 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java @@ -14,6 +14,7 @@ import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.main.userInfo.repository.UserInfoRepository; import com.dbnt.faisp.main.userInfo.service.UserAlarmService; +import com.dbnt.faisp.util.ParamMap; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -39,12 +40,36 @@ public class AffairService extends BaseService { // 견문보고 private final HashTagLinkRepository hashTagLinkRepository; private final AffairMapper affairMapper; - public List selectDashboardAffairList(DashboardAffair affair){ - return affairMapper.selectDashboardAffairList(affair); - } - - public List selectDashboardIntelligenceNetworkList(DashboardAffair affair) { - return affairMapper.selectDashboardIntelligenceNetworkList(affair); + public List selectAffairListToExcel(AffairBoard affairBoard, Map> codeMap) { + List affairType1Code = codeMap.get("DC01"); + List affairType2Code = codeMap.get("DC02"); + List affairType3Code = codeMap.get("DC03"); + List affairType4Code = codeMap.get("DC04"); + List organCode = codeMap.get("OG"); + List titleCode = codeMap.get("JT"); + List statusCode = codeMap.get("DST"); + List ratingCode = codeMap.get("AAR"); + List affairList = affairMapper.selectAffairListToExcel(affairBoard); + for(ParamMap affair: affairList){ + affair.set("affair_type1", Utils.searchCodeValue((String) affair.get("affair_type1"), affairType1Code)); + affair.set("affair_type2", Utils.searchCodeValue((String) affair.get("affair_type2"), affairType2Code)); + affair.set("affair_type3", Utils.searchCodeValue((String) affair.get("affair_type3"), affairType3Code)); + affair.set("affair_type4", Utils.searchCodeValue((String) affair.get("affair_type4"), affairType4Code)); + if(affair.get("organ_up") != null){ + affair.set("organ_up", affair.get("wrt_organ").equals(affair.get("rating_organ"))?"X":"O"); + } + List partCode = codeMap.get(affair.get("wrt_organ")); + affair.set("wrt_organ", Utils.searchCodeValue((String) affair.get("wrt_organ"), organCode)); + affair.set("wrt_part", Utils.searchCodeValue((String) affair.get("wrt_part"), partCode)); + affair.set("wrt_user_grd", Utils.searchCodeValue((String) affair.get("wrt_user_grd"), titleCode)); + affair.set("affair_status", Utils.searchCodeValue((String) affair.get("affair_status"), statusCode)); + if(affair.get("affair_rate") == null){ + affair.set("affair_rate", affair.get("beforerating")); + }else{ + affair.set("affair_rate", Utils.searchCodeValue((String) affair.get("affair_rate"), ratingCode)); + } + } + return affairList; } public List selectAffairBoardList(AffairBoard affair){ diff --git a/src/main/java/com/dbnt/faisp/main/translator/TranslatorController.java b/src/main/java/com/dbnt/faisp/main/translator/TranslatorController.java index 8c850fbb..77651c14 100644 --- a/src/main/java/com/dbnt/faisp/main/translator/TranslatorController.java +++ b/src/main/java/com/dbnt/faisp/main/translator/TranslatorController.java @@ -44,18 +44,18 @@ public class TranslatorController { //엑셀다운 if(translator.getExcel() != null && translator.getExcel().equals("Y")){ String[] headers = { "translator_key", "ogdp1", "tr_lang", "tr_career", "tr_name", "tr_age", "tr_nny", "tr_edu", "tr_cft", "dml_yn", "apt_dt", "tr_phone"}; - String[] headerNames = { "연번", "관서명", "언어", "경력", "성명", "나이", "국적", "학력", "자격증", "해촉", "위촉일", "연락처" }; - String[] columnType = { "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String"}; - String sheetName = "민간 통역인 현황"; - String excelFileName = "민간 통역인 현황"; - List translatorInfoList= translatorSevice.selectTranslatorListEx(translator); + String[] headerNames = { "연번", "관서명", "언어", "경력", "성명", "나이", "국적", "학력", "자격증", "해촉", "위촉일", "연락처" }; + String[] columnType = { "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String"}; + String sheetName = "민간 통역인 현황"; + String excelFileName = "민간 통역인 현황"; + List translatorInfoList= translatorSevice.selectTranslatorListEx(translator); - try { - Utils.listToExcel(translatorInfoList, response, headers, headerNames, columnType, sheetName, excelFileName); - } catch (IOException e) { + try { + Utils.listToExcel(translatorInfoList, response, headers, headerNames, columnType, sheetName, excelFileName); + } catch (IOException e) { - } - return null; + } + return null; } //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/translator/info").get(0).getAccessAuth(); diff --git a/src/main/java/com/dbnt/faisp/main/translator/model/Translator.java b/src/main/java/com/dbnt/faisp/main/translator/model/Translator.java index 204da148..74f30d10 100644 --- a/src/main/java/com/dbnt/faisp/main/translator/model/Translator.java +++ b/src/main/java/com/dbnt/faisp/main/translator/model/Translator.java @@ -98,9 +98,6 @@ public class Translator extends BaseModel implements Serializable{ @Transient private String infoShareFileState; - @Transient - private String excel; - @Transient private List multipartFileList; diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java b/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java index 03329ab6..a903da4d 100644 --- a/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java +++ b/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java @@ -123,8 +123,6 @@ public class UserInfo extends BaseModel implements UserDetails{ @Transient private String organNm; @Transient - private String excel; - @Transient private String rownum; @Transient private Integer crc001Sum; diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index c3cf8fe3..a2804cac 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -132,7 +132,7 @@ group by affair_key ) d on a.affair_key = d.affair_key - order by a.report_dt desc + order by a.report_dt desc, a.affair_key desc limit #{rowCnt} offset #{firstIndex} + + + + \ No newline at end of file diff --git a/src/main/resources/mybatisMapper/TranslatorMapper.xml b/src/main/resources/mybatisMapper/TranslatorMapper.xml index eeb4ca89..efcbac9a 100644 --- a/src/main/resources/mybatisMapper/TranslatorMapper.xml +++ b/src/main/resources/mybatisMapper/TranslatorMapper.xml @@ -263,7 +263,7 @@ tr_cft, h.item_value as tr_visa, dml_yn, - apt_dt, + to_char(apt_dt, 'YYYY-MM-DD') as apt_dt, tr_phone from translator_info a inner join (select translator_key, max(version_no) as lastVer diff --git a/src/main/resources/static/js/igActivities/fpiMgt/affairMgt.js b/src/main/resources/static/js/igActivities/fpiMgt/affairMgt.js index f7d1db4a..a3e7289b 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/affairMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/affairMgt.js @@ -18,6 +18,29 @@ $(document).on('click', '.reportTypeTab', function (){ location.href = "/affair/affairMgt/"+$(this).attr("data-reporttype")+"?affairCategory="+$("#affairCategory").val(); }) +$(document).on('click', '#downloadExcelBtn', function (){ + /*contentFade("in"); + const formData = new FormData($("#affairSearchForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/affair/excelDown/"+$("#pageTab").val(), + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + contentFade("out"); + }, + error : function(xhr, status) { + contentFade("out"); + } + })*/ + $("#excel").val("Y") + $("#affairSearchForm").submit(); +}) + $(document).on('click', '.affairTr', function (event){ const target = event.target; if(!(target.className === "chkBoxTd" diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgt.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgt.html index 1d6f7cfd..80555970 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgt.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgt.html @@ -41,16 +41,27 @@
-
+ + +
-
- +
+
+
+ +
+
+
+
+ +
+
@@ -202,8 +213,13 @@ - - + + + + + + +