From a3bf6ad82c9da99c969a90737801433f3af3ffc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 6 Apr 2023 16:08:48 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=AC=EB=AC=B8=20=EA=B0=9C=EC=9D=B8?= =?UTF-8?q?=EC=8B=A4=EC=A0=81=20=ED=86=B5=EA=B3=84=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dbnt/faisp/config/SecurityConfig.java | 1 + .../main/fpiMgt/affair/AffairController.java | 108 --- .../fpiMgt/affair/mapper/AffairMapper.java | 18 - .../fpiMgt/affair/service/AffairService.java | 34 - .../AffairStatisticsController.java | 129 ++++ .../mapper/AffairStatisticsMapper.java | 30 + .../model/PersonalAffairStatistics.java | 49 ++ .../model/TypeStatistics.java | 6 +- .../service/AffairStatisticsService.java | 52 ++ .../resources/mybatisMapper/AffairMapper.xml | 473 ------------- .../mybatisMapper/AffairStatisticsMapper.xml | 628 ++++++++++++++++++ .../static/js/igActivities/statistics.js | 22 +- .../fpiMgt/statistics/affairStatistics.html | 10 +- .../fpiMgt/statistics/fieldStatistics.html | 6 +- .../fpiMgt/statistics/personalStatistics.html | 103 ++- .../fpiMgt/statistics/ratingStatistics.html | 6 +- .../templates/publicBoard/qna/qnaPage.html | 2 +- 17 files changed, 1014 insertions(+), 663 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/AffairStatisticsController.java create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/mapper/AffairStatisticsMapper.java create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/PersonalAffairStatistics.java rename src/main/java/com/dbnt/faisp/main/fpiMgt/{affair => statistics}/model/TypeStatistics.java (93%) create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/service/AffairStatisticsService.java create mode 100644 src/main/resources/mybatisMapper/AffairStatisticsMapper.xml diff --git a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java index 5325ea0f..8fa927ec 100644 --- a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java +++ b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java @@ -134,6 +134,7 @@ public class SecurityConfig{ "/equip/**", "/affairPlan/**", "/affair/**", + "/affairStatistics/**", "/affairResult/**", "/faStatistics/**", "/translator/**", 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 19bf9235..571b44f0 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 @@ -4,7 +4,6 @@ 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.AffairRating; -import com.dbnt.faisp.main.fpiMgt.affair.model.TypeStatistics; import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService; import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.userInfo.model.UserInfo; @@ -197,111 +196,4 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 mav.addObject("affairRating", affairService.getAffairRating(affairBoard, affairBoard.getWrtOrgan())); return mav; } - - @GetMapping("/statistics") - public ModelAndView statistics(@AuthenticationPrincipal UserInfo loginUser, TypeStatistics typeStatistics){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/affairStatistics"); - mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); - mav.addObject("searchParams", typeStatistics); - - return mav; - } - - @PostMapping("/fieldStatistics") - public ModelAndView fieldStatistics(TypeStatistics typeStatistics){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/fieldStatistics"); - List totalList = affairService.selectStatusTotal(typeStatistics); - List type1List = affairService.selectType1ListCnt(typeStatistics); - List type2List = affairService.selectType2ListCnt(typeStatistics); - List type3List = affairService.selectType3ListCnt(typeStatistics); - List type4List = affairService.selectType4ListCnt(typeStatistics); - if(!totalList.isEmpty()) { - TypeStatistics total = new TypeStatistics(); - total.setItemValue("누계"); - total.setWrtOrgan("total"); - total.setCnt(0); - for(TypeStatistics stat: totalList) { - total.setCnt(total.getCnt()+stat.getCnt()); - } - totalList.add(total); - } - mav.addObject("totalList", totalList); - if(typeStatistics.getCategory1() != null) { - addTotalRow(typeStatistics.getCategory1(), type1List); - } - if(typeStatistics.getCategory2() != null) { - addTotalRow(typeStatistics.getCategory2(), type2List); - } - if(typeStatistics.getCategory3() != null) { - addTotalRow(typeStatistics.getCategory3(), type3List); - } - if(typeStatistics.getCategory4() != null) { - addTotalRow(typeStatistics.getCategory4(), type4List); - } - mav.addObject("type1List", type1List); - mav.addObject("type2List", type2List); - mav.addObject("type3List", type3List); - mav.addObject("type4List", type4List); - mav.addObject("searchParams", typeStatistics); - return mav; - } - - @PostMapping("/ratingStatistics") - public ModelAndView ratingStatistics(TypeStatistics typeStatistics){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/ratingStatistics"); - List totalList = affairService.selectRatingStatusTotal(typeStatistics); - List sangboCntList = affairService.selectSangboTotal(typeStatistics); - List arrCntList = affairService.selectArrCntList(typeStatistics); - if(!totalList.isEmpty()) { - TypeStatistics total = new TypeStatistics(); - total.setItemValue("누계"); - total.setWrtOrgan("total"); - total.setCnt(0); - for(TypeStatistics stat: totalList) { - total.setCnt(total.getCnt()+stat.getCnt()); - } - totalList.add(total); - } - if(typeStatistics.getSangbo() != null) { - addTotalRow(typeStatistics.getSangbo(), sangboCntList); - } - if(typeStatistics.getRating() != null) { - addTotalRow(typeStatistics.getRating(), arrCntList); - } - mav.addObject("totalList", totalList); - mav.addObject("sangboList", sangboCntList); - mav.addObject("arrCntList", arrCntList); - mav.addObject("searchParams", typeStatistics); - return mav; - } - - @PostMapping("/personalStatistics") - public ModelAndView personalStatistics(TypeStatistics typeStatistics){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/personalStatistics"); - List totalList = affairService.selectPersonalStatusTotal(typeStatistics); - mav.addObject("totalList", totalList); - mav.addObject("searchParams", typeStatistics); - return mav; - } - - private void addTotalRow(List type, List typeList){ - Map totalMap = new HashMap<>(); - for(String t: type) { - totalMap.put(t, 0); - } - for(TypeStatistics t: typeList) { - totalMap.put(t.getAffairType(), totalMap.get(t.getAffairType())+t.getCnt()); - } - for (String affairType : totalMap.keySet()) { - Integer cnt = totalMap.get(affairType); - TypeStatistics total = new TypeStatistics(); - total.setWrtOrgan("total"); - total.setAffairType(affairType); - total.setCnt(cnt); - typeList.add(total); - } - } - - - } 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 64131124..2b3580cc 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 @@ -2,7 +2,6 @@ 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.main.fpiMgt.affair.model.TypeStatistics; import org.apache.ibatis.annotations.Mapper; @@ -18,23 +17,6 @@ public interface AffairMapper { String selectHashTags(Integer affairKey); - - List selectStatusTotal(TypeStatistics typeStatistics); - - List selectType1ListCnt(TypeStatistics typeStatistics); - - List selectType2ListCnt(TypeStatistics typeStatistics); - - List selectType3ListCnt(TypeStatistics typeStatistics); - - List selectType4ListCnt(TypeStatistics typeStatistics); - - List selectRatingStatusTotal(TypeStatistics typeStatistics); - - List selectSangboTotal(TypeStatistics typeStatistics); - - List selectArrCntList(TypeStatistics typeStatistics); - String selectDocNo(Map params); List selectDashboardAffairList(DashboardAffair affair); 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 3bb1a8d0..015be3c3 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 @@ -19,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -353,37 +352,4 @@ public class AffairService extends BaseService { // 견문보고 return affairRating; } - - public List selectStatusTotal(TypeStatistics typeStatistics) { - return affairMapper.selectStatusTotal(typeStatistics); - } - - public List selectType1ListCnt(TypeStatistics typeStatistics) { - return affairMapper.selectType1ListCnt(typeStatistics); - } - - public List selectType2ListCnt(TypeStatistics typeStatistics) { - return affairMapper.selectType2ListCnt(typeStatistics); - } - - public List selectType3ListCnt(TypeStatistics typeStatistics) { - return affairMapper.selectType3ListCnt(typeStatistics); - } - - public List selectType4ListCnt(TypeStatistics typeStatistics) { - return affairMapper.selectType4ListCnt(typeStatistics); - } - public List selectRatingStatusTotal(TypeStatistics typeStatistics) { - return affairMapper.selectRatingStatusTotal(typeStatistics); - } - public List selectSangboTotal(TypeStatistics typeStatistics) { - return affairMapper.selectSangboTotal(typeStatistics); - } - public List selectArrCntList(TypeStatistics typeStatistics) { - return affairMapper.selectArrCntList(typeStatistics); - } - - public List selectPersonalStatusTotal(TypeStatistics typeStatistics) { - return new ArrayList<>(); - } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/AffairStatisticsController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/AffairStatisticsController.java new file mode 100644 index 00000000..63a2018d --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/AffairStatisticsController.java @@ -0,0 +1,129 @@ +package com.dbnt.faisp.main.fpiMgt.statistics; + +import com.dbnt.faisp.main.fpiMgt.statistics.model.PersonalAffairStatistics; +import com.dbnt.faisp.main.fpiMgt.statistics.model.TypeStatistics; +import com.dbnt.faisp.main.fpiMgt.statistics.service.AffairStatisticsService; +import com.dbnt.faisp.main.userInfo.model.PersonnelStatus; +import com.dbnt.faisp.main.userInfo.model.UserInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/affairStatistics") +public class AffairStatisticsController { + private final AffairStatisticsService affairStatisticsService; + + @GetMapping("/statistics") + public ModelAndView statistics(@AuthenticationPrincipal UserInfo loginUser, TypeStatistics typeStatistics){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/affairStatistics"); + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + mav.addObject("searchParams", typeStatistics); + + return mav; + } + + @PostMapping("/fieldStatistics") + public ModelAndView fieldStatistics(TypeStatistics typeStatistics){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/fieldStatistics"); + List totalList = affairStatisticsService.selectStatusTotal(typeStatistics); + List type1List = affairStatisticsService.selectType1ListCnt(typeStatistics); + List type2List = affairStatisticsService.selectType2ListCnt(typeStatistics); + List type3List = affairStatisticsService.selectType3ListCnt(typeStatistics); + List type4List = affairStatisticsService.selectType4ListCnt(typeStatistics); + if(!totalList.isEmpty()) { + TypeStatistics total = new TypeStatistics(); + total.setItemValue("누계"); + total.setWrtOrgan("total"); + total.setCnt(0); + for(TypeStatistics stat: totalList) { + total.setCnt(total.getCnt()+stat.getCnt()); + } + totalList.add(total); + } + mav.addObject("totalList", totalList); + if(typeStatistics.getCategory1() != null) { + addTotalRow(typeStatistics.getCategory1(), type1List); + } + if(typeStatistics.getCategory2() != null) { + addTotalRow(typeStatistics.getCategory2(), type2List); + } + if(typeStatistics.getCategory3() != null) { + addTotalRow(typeStatistics.getCategory3(), type3List); + } + if(typeStatistics.getCategory4() != null) { + addTotalRow(typeStatistics.getCategory4(), type4List); + } + mav.addObject("type1List", type1List); + mav.addObject("type2List", type2List); + mav.addObject("type3List", type3List); + mav.addObject("type4List", type4List); + mav.addObject("searchParams", typeStatistics); + return mav; + } + + @PostMapping("/ratingStatistics") + public ModelAndView ratingStatistics(TypeStatistics typeStatistics){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/ratingStatistics"); + List totalList = affairStatisticsService.selectRatingStatusTotal(typeStatistics); + List sangboCntList = affairStatisticsService.selectSangboTotal(typeStatistics); + List arrCntList = affairStatisticsService.selectArrCntList(typeStatistics); + if(!totalList.isEmpty()) { + TypeStatistics total = new TypeStatistics(); + total.setItemValue("누계"); + total.setWrtOrgan("total"); + total.setCnt(0); + for(TypeStatistics stat: totalList) { + total.setCnt(total.getCnt()+stat.getCnt()); + } + totalList.add(total); + } + if(typeStatistics.getSangbo() != null) { + addTotalRow(typeStatistics.getSangbo(), sangboCntList); + } + if(typeStatistics.getRating() != null) { + addTotalRow(typeStatistics.getRating(), arrCntList); + } + mav.addObject("totalList", totalList); + mav.addObject("sangboList", sangboCntList); + mav.addObject("arrCntList", arrCntList); + mav.addObject("searchParams", typeStatistics); + return mav; + } + + @PostMapping("/personalStatistics") + public ModelAndView personalStatistics(PersonalAffairStatistics personnelStatistics){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/statistics/personalStatistics"); + List statisticsList = affairStatisticsService.selectPersonalStatistics(personnelStatistics); + mav.addObject("statisticsList", statisticsList); + mav.addObject("searchParams", personnelStatistics); + return mav; + } + + private void addTotalRow(List type, List typeList){ + Map totalMap = new HashMap<>(); + for(String t: type) { + totalMap.put(t, 0); + } + for(TypeStatistics t: typeList) { + totalMap.put(t.getAffairType(), totalMap.get(t.getAffairType())+t.getCnt()); + } + for (String affairType : totalMap.keySet()) { + Integer cnt = totalMap.get(affairType); + TypeStatistics total = new TypeStatistics(); + total.setWrtOrgan("total"); + total.setAffairType(affairType); + total.setCnt(cnt); + typeList.add(total); + } + } + + + +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/mapper/AffairStatisticsMapper.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/mapper/AffairStatisticsMapper.java new file mode 100644 index 00000000..02569b26 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/mapper/AffairStatisticsMapper.java @@ -0,0 +1,30 @@ +package com.dbnt.faisp.main.fpiMgt.statistics.mapper; + +import com.dbnt.faisp.main.fpiMgt.statistics.model.PersonalAffairStatistics; +import com.dbnt.faisp.main.fpiMgt.statistics.model.TypeStatistics; +import com.dbnt.faisp.main.userInfo.model.PersonnelStatus; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AffairStatisticsMapper { + + List selectStatusTotal(TypeStatistics typeStatistics); + + List selectType1ListCnt(TypeStatistics typeStatistics); + + List selectType2ListCnt(TypeStatistics typeStatistics); + + List selectType3ListCnt(TypeStatistics typeStatistics); + + List selectType4ListCnt(TypeStatistics typeStatistics); + + List selectRatingStatusTotal(TypeStatistics typeStatistics); + + List selectSangboTotal(TypeStatistics typeStatistics); + + List selectArrCntList(TypeStatistics typeStatistics); + + List selectPersonalStatistics(PersonalAffairStatistics personalStatistics); +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/PersonalAffairStatistics.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/PersonalAffairStatistics.java new file mode 100644 index 00000000..d0e4230f --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/PersonalAffairStatistics.java @@ -0,0 +1,49 @@ +package com.dbnt.faisp.main.fpiMgt.statistics.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Transient; + + +@Getter +@Setter +@NoArgsConstructor +public class PersonalAffairStatistics extends TypeStatistics { + @Transient + private String userStatus; + @Transient + private String ogCd; + @Transient + private String ofcCd; + @Transient + private String titleCd; + @Transient + private String dicCode; + @Transient + private Integer r1Cnt; + @Transient + private Integer r2Cnt; + @Transient + private Integer r3Cnt; + @Transient + private Integer r4Cnt; + @Transient + private Integer r5Cnt; + @Transient + private Integer r6Cnt; + @Transient + private Integer r7Cnt; + @Transient + private Integer r8Cnt; + @Transient + private Integer totalCnt; +} + + + + + + + diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/model/TypeStatistics.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/TypeStatistics.java similarity index 93% rename from src/main/java/com/dbnt/faisp/main/fpiMgt/affair/model/TypeStatistics.java rename to src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/TypeStatistics.java index 423f5fc6..c7f7cc4b 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/model/TypeStatistics.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/model/TypeStatistics.java @@ -1,4 +1,4 @@ -package com.dbnt.faisp.main.fpiMgt.affair.model; +package com.dbnt.faisp.main.fpiMgt.statistics.model; import com.dbnt.faisp.config.BaseModel; @@ -26,6 +26,8 @@ public class TypeStatistics extends BaseModel { @Transient private String userNm; @Transient + private List organList; + @Transient private List rating; @Transient private List category1; @@ -36,8 +38,6 @@ public class TypeStatistics extends BaseModel { @Transient private List category4; @Transient - private List organList; - @Transient private List sangbo; } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/service/AffairStatisticsService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/service/AffairStatisticsService.java new file mode 100644 index 00000000..54d72c9c --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/statistics/service/AffairStatisticsService.java @@ -0,0 +1,52 @@ +package com.dbnt.faisp.main.fpiMgt.statistics.service; + + +import com.dbnt.faisp.config.BaseService; +import com.dbnt.faisp.main.fpiMgt.statistics.mapper.AffairStatisticsMapper; +import com.dbnt.faisp.main.fpiMgt.statistics.model.PersonalAffairStatistics; +import com.dbnt.faisp.main.fpiMgt.statistics.model.TypeStatistics; +import com.dbnt.faisp.main.userInfo.model.PersonnelStatus; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +@RequiredArgsConstructor +public class AffairStatisticsService extends BaseService { + + private final AffairStatisticsMapper affairStatisticsMapper; + + public List selectStatusTotal(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectStatusTotal(typeStatistics); + } + + public List selectType1ListCnt(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectType1ListCnt(typeStatistics); + } + + public List selectType2ListCnt(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectType2ListCnt(typeStatistics); + } + + public List selectType3ListCnt(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectType3ListCnt(typeStatistics); + } + + public List selectType4ListCnt(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectType4ListCnt(typeStatistics); + } + public List selectRatingStatusTotal(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectRatingStatusTotal(typeStatistics); + } + public List selectSangboTotal(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectSangboTotal(typeStatistics); + } + public List selectArrCntList(TypeStatistics typeStatistics) { + return affairStatisticsMapper.selectArrCntList(typeStatistics); + } + + public List selectPersonalStatistics(PersonalAffairStatistics personalStatistics) { + return affairStatisticsMapper.selectPersonalStatistics(personalStatistics); + } +} diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index 6889b175..fe4fd337 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -184,479 +184,6 @@ - - - - and item_cd in - - #{item} - - - - and item_cd not in (select item_cd from code_mgt where category_cd = 'DC01') - - - - - - - - and item_cd in - - #{item} - - - - and item_cd not in (select item_cd from code_mgt where category_cd = 'DC02') - - - - - - - - and item_cd in - - #{item} - - - - and item_cd not in (select item_cd from code_mgt where category_cd = 'DC03') - - - - - - - - and item_cd in - - #{item} - - - - and item_cd not in (select item_cd from code_mgt where category_cd = 'DC04') - - - - - - - - - - - - - - - - - and wrt_user_nm like '%'||#{userNm}||'%' - - - and wrt_dt >= #{startDate}::date - - - and wrt_dt <= #{endDate}::date+1 - - - and ab.affair_key in ( - select affair_key - from affair_rating ar2 - inner join organ_config oc2 - on ar2.rating_organ = oc2.organ_cd - - - and ar2.affair_rate in - - #{item} - - - - and ar2.organ_up = 'T' - and oc2.organ_type in - - #{item} - - - - ) - - - and affair_type1 in - - #{item} - - - - and affair_type2 in - - #{item} - - - - and affair_type3 in - - #{item} - - - - and affair_type4 in - - #{item} - - - - - - - - - - + select item_cd as wrt_organ, + item_value, + coalesce(cnt,0) as cnt + from( + select item_cd, + item_value + from code_mgt + where category_cd = 'OG' + and use_chk = 'T' + + + and item_cd in + + #{item} + + + + and item_cd not in (select item_cd from code_mgt where category_cd = 'OG' and use_chk = 'T') + + + order by item_cd asc) a left outer join + (select wrt_organ, + count(*) as cnt + from affair_board ab, + affair_rating ar + where ab.affair_key = ar.affair_key + and (ar.organ_up != 'T' or ar.organ_up is null) + + and wrt_user_nm like '%'||#{userNm}||'%' + + + and wrt_dt >= #{startDate}::date + + + and wrt_dt <= #{endDate}::date+1 + + + and ab.affair_key in ( + select affair_key + from affair_rating ar2 + inner join organ_config oc2 + on ar2.rating_organ = oc2.organ_cd + + + and ar2.affair_rate in + + #{item} + + + + and ar2.organ_up = 'T' + and oc2.organ_type in + + #{item} + + + + ) + + + and affair_type1 in + + #{item} + + + + and affair_type2 in + + #{item} + + + + and affair_type3 in + + #{item} + + + + and affair_type4 in + + #{item} + + + group by wrt_organ)b on + a.item_cd = b.wrt_organ + order by wrt_organ asc + + + + + + + + + + + + + and wrt_user_nm like '%'||#{userNm}||'%' + + + and wrt_dt >= #{startDate}::date + + + and wrt_dt <= #{endDate}::date+1 + + + and ab.affair_key in ( + select affair_key + from affair_rating ar2 + inner join organ_config oc2 + on ar2.rating_organ = oc2.organ_cd + + + and ar2.affair_rate in + + #{item} + + + + and ar2.organ_up = 'T' + and oc2.organ_type in + + #{item} + + + + ) + + + and affair_type1 in + + #{item} + + + + and affair_type2 in + + #{item} + + + + and affair_type3 in + + #{item} + + + + and affair_type4 in + + #{item} + + + + + + + + + + + + + + + and user_status = #{userStatus} + + + and user_status in ('USC003', 'USC007') + + + + and user_nm like '%'||#{userNm}||'%' + + + and og_cd in + + #{item} + + + + + + + + and aa.wrt_dt >= #{startDate}::date + + + and aa.wrt_dt <= #{endDate}::date+1 + + + and ab.affair_rate in + + #{item} + + + + and aa.affair_type1 in + + #{item} + + + + and aa.affair_type2 in + + #{item} + + + + and aa.affair_type3 in + + #{item} + + + + and aa.affair_type4 in + + #{item} + + + + and aa.affair_key in ( + select aaa.affair_key + from affair_rating aaa + inner join organ_config aab + on aaa.rating_organ = aab.organ_cd + where aaa.organ_up = 'T' + and aab.organ_type in + + #{item} + + ) + + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/igActivities/statistics.js b/src/main/resources/static/js/igActivities/statistics.js index 78f41a1c..b7569a4c 100644 --- a/src/main/resources/static/js/igActivities/statistics.js +++ b/src/main/resources/static/js/igActivities/statistics.js @@ -14,6 +14,10 @@ $(document).on('click', '#ratingDownExcel', function (){ exportExcel('견문통계_평가별', 'tableData'); }) +$(document).on('click', '#personalDownExcel', function (){ + exportExcel('견문통계_개인실적', 'tableData'); +}) + $(document).on('click', '#fieldSearch', function (){ goFieldStatistics(); }) @@ -38,18 +42,18 @@ $(document).on('click', '#ratingTab', function (){ }) $(document).on('click', '#personalSearch', function (){ - goPersonalStatistics(); + getPersonalStatistics(); }) $(document).on('click', '#personalTab', function (){ - goPersonalStatistics(); + getPersonalStatistics(); }) function goFieldStatistics(){ contentFade("in") const formData = new FormData($("#searchFm")[0]); $.ajax({ - url: '/affair/fieldStatistics', + url: '/affairStatistics/fieldStatistics', data: formData, type: 'POST', dataType:"html", @@ -71,7 +75,7 @@ function goRatingStatistics(){ contentFade("in") const formData = new FormData($("#searchFm")[0]); $.ajax({ - url: '/affair/ratingStatistics', + url: '/affairStatistics/ratingStatistics', data: formData, type: 'POST', dataType:"html", @@ -89,13 +93,13 @@ function goRatingStatistics(){ }); } -function goPersonalStatistics(){ +function getPersonalStatistics(){ contentFade("in") const formData = new FormData($("#searchFm")[0]); $.ajax({ - url: '/affair/personalStatistics', + url: '/affairStatistics/personalStatistics', data: formData, - type: 'GET', + type: 'POST', dataType:"html", contentType: false, processData: false, @@ -111,10 +115,6 @@ function goPersonalStatistics(){ }); } -$(document).on('click', '#showMenu', function (){ - $(".statisticsMenu").show(); -}) - $(document).ready(function() { $("#organAll").click(function() { if($("#organAll").is(":checked")){ diff --git a/src/main/resources/templates/igActivities/fpiMgt/statistics/affairStatistics.html b/src/main/resources/templates/igActivities/fpiMgt/statistics/affairStatistics.html index 25f62f9e..c61af8ec 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/statistics/affairStatistics.html +++ b/src/main/resources/templates/igActivities/fpiMgt/statistics/affairStatistics.html @@ -11,8 +11,6 @@
- -
@@ -23,7 +21,7 @@
-
+
@@ -139,9 +137,9 @@
-
- -
+
+
+
diff --git a/src/main/resources/templates/igActivities/fpiMgt/statistics/fieldStatistics.html b/src/main/resources/templates/igActivities/fpiMgt/statistics/fieldStatistics.html index af579aea..6b3c67cb 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/statistics/fieldStatistics.html +++ b/src/main/resources/templates/igActivities/fpiMgt/statistics/fieldStatistics.html @@ -1,3 +1,5 @@ + +
-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/statistics/personalStatistics.html b/src/main/resources/templates/igActivities/fpiMgt/statistics/personalStatistics.html index 295e6248..ad0ebe46 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/statistics/personalStatistics.html +++ b/src/main/resources/templates/igActivities/fpiMgt/statistics/personalStatistics.html @@ -1,3 +1,5 @@ + +
- \ No newline at end of file + + \ No newline at end of file diff --git a/src/main/resources/templates/publicBoard/qna/qnaPage.html b/src/main/resources/templates/publicBoard/qna/qnaPage.html index cebef107..b4dca8d2 100644 --- a/src/main/resources/templates/publicBoard/qna/qnaPage.html +++ b/src/main/resources/templates/publicBoard/qna/qnaPage.html @@ -12,7 +12,7 @@
-
QnA
+
Q&A