diff --git a/src/main/java/com/mca/cmmn/web/AdminController.java b/src/main/java/com/mca/cmmn/web/AdminController.java index bb14877..8f2309e 100644 --- a/src/main/java/com/mca/cmmn/web/AdminController.java +++ b/src/main/java/com/mca/cmmn/web/AdminController.java @@ -102,12 +102,17 @@ public class AdminController { searchVO.setSearchStartDate(searchStartDate.minusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); model.addAttribute("monthLoginCount", logService.selectLoginCnt(searchVO)); - //일별 지도사용 추이 데이터 + //일별 지도사용 수 UseHistorySearchVO useHistorySearchVO = new UseHistorySearchVO(); useHistorySearchVO.setSearchEndDate(searchVO.getSearchEndDate()); useHistorySearchVO.setSearchStartDate(searchStartDate.minusDays(14).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); - List dataList = useHistoryService.selectDayMapUseData(useHistorySearchVO); - model.addAttribute("dayMapUseDataList", dataList); + List dayMapUseDataList = useHistoryService.selectDayMapUseData(useHistorySearchVO); + model.addAttribute("dayMapUseDataList", dayMapUseDataList); + + // 지역별 현장수집 데이터 수 + List areaDataList = fieldDataService.selectAreaDataList(); + model.addAttribute("areaDataList", areaDataList); + return "admin/dashBoard"; } catch (Exception e) { @@ -128,18 +133,14 @@ public class AdminController { @ResponseBody public JSONArray dayMapUseData(@ModelAttribute("UseRequestSearchVO") UseHistorySearchVO useHistorySearchVO, Model model) throws Exception { try { - List dataList = useHistoryService.selectDayMapUseData(useHistorySearchVO); + List dataList = useHistoryService.selectDayMapUseData(useHistorySearchVO); JSONArray returnAry = new JSONArray(); - for(UseHistoryChartVO chartVO: dataList){ + for(ChartVO chartVO: dataList){ JSONArray temp = new JSONArray(); - temp.put(chartVO.getDateStr()); - temp.put(chartVO.getUseCnt()); + temp.put(chartVO.getParam01()); + temp.put(chartVO.getValue01()); returnAry.put(temp); -// JSONObject temp = new JSONObject(); -// temp.put("date", chartVO.getDateStr()); -// temp.put("useCnt", chartVO.getUseCnt()); -// returnAry.put(temp); } System.out.println("결과 배열 수 : "+returnAry.length()); return returnAry; diff --git a/src/main/java/com/mca/map/mapper/FieldDataMapper.java b/src/main/java/com/mca/map/mapper/FieldDataMapper.java index 4c761ad..c3173ac 100644 --- a/src/main/java/com/mca/map/mapper/FieldDataMapper.java +++ b/src/main/java/com/mca/map/mapper/FieldDataMapper.java @@ -2,6 +2,7 @@ package com.mca.map.mapper; import java.util.List; +import com.mca.map.vo.ChartVO; import com.mca.map.vo.FieldDataSearchVO; import com.mca.map.vo.FieldDataVO; @@ -15,4 +16,6 @@ public interface FieldDataMapper { int selectFieldDataCnt(FieldDataSearchVO fieldDataSearchVO); FieldDataVO selectFieldData(String id); + + List selectAreaDataList(); } diff --git a/src/main/java/com/mca/map/mapper/UseHistoryMapper.java b/src/main/java/com/mca/map/mapper/UseHistoryMapper.java index ad154a4..f32896b 100644 --- a/src/main/java/com/mca/map/mapper/UseHistoryMapper.java +++ b/src/main/java/com/mca/map/mapper/UseHistoryMapper.java @@ -2,7 +2,7 @@ package com.mca.map.mapper; import java.util.List; -import com.mca.map.vo.UseHistoryChartVO; +import com.mca.map.vo.ChartVO; import com.mca.map.vo.UseHistorySearchVO; import egovframework.rte.psl.dataaccess.mapper.Mapper; @@ -14,5 +14,5 @@ public interface UseHistoryMapper { int selectUseHistoryCnt(UseHistorySearchVO useHistorySearchVO); - List selectDayMapUseData(UseHistorySearchVO useHistorySearchVO); + List selectDayMapUseData(UseHistorySearchVO useHistorySearchVO); } diff --git a/src/main/java/com/mca/map/service/FieldDataService.java b/src/main/java/com/mca/map/service/FieldDataService.java index 24c63c6..0840c7d 100644 --- a/src/main/java/com/mca/map/service/FieldDataService.java +++ b/src/main/java/com/mca/map/service/FieldDataService.java @@ -5,6 +5,7 @@ import java.util.List; import javax.annotation.Resource; +import com.mca.map.vo.ChartVO; import org.springframework.stereotype.Service; import com.mca.map.mapper.FieldDataMapper; @@ -31,4 +32,8 @@ public class FieldDataService { // TODO Auto-generated method stub return fieldDataMapper.selectFieldData(id); } + + public List selectAreaDataList() { + return fieldDataMapper.selectAreaDataList(); + } } diff --git a/src/main/java/com/mca/map/service/UseHistoryService.java b/src/main/java/com/mca/map/service/UseHistoryService.java index 55dd471..3c8a6d2 100644 --- a/src/main/java/com/mca/map/service/UseHistoryService.java +++ b/src/main/java/com/mca/map/service/UseHistoryService.java @@ -4,7 +4,7 @@ import java.util.List; import javax.annotation.Resource; -import com.mca.map.vo.UseHistoryChartVO; +import com.mca.map.vo.ChartVO; import org.springframework.stereotype.Service; import com.mca.map.mapper.UseHistoryMapper; import com.mca.map.vo.UseHistorySearchVO; @@ -26,7 +26,7 @@ public class UseHistoryService { return useHistoryMapper.selectUseHistoryList(useHistorySearchVO); } - public List selectDayMapUseData(UseHistorySearchVO useHistorySearchVO) { + public List selectDayMapUseData(UseHistorySearchVO useHistorySearchVO) { return useHistoryMapper.selectDayMapUseData(useHistorySearchVO); } } diff --git a/src/main/java/com/mca/map/vo/ChartVO.java b/src/main/java/com/mca/map/vo/ChartVO.java new file mode 100644 index 0000000..5be16b4 --- /dev/null +++ b/src/main/java/com/mca/map/vo/ChartVO.java @@ -0,0 +1,41 @@ +package com.mca.map.vo; + +public class ChartVO { + private String param01; + private String param02; + private Integer value01; + private Integer value02; + + + public String getParam01() { + return param01; + } + + public void setParam01(String param01) { + this.param01 = param01; + } + + public String getParam02() { + return param02; + } + + public void setParam02(String param02) { + this.param02 = param02; + } + + public Integer getValue01() { + return value01; + } + + public void setValue01(Integer value01) { + this.value01 = value01; + } + + public Integer getValue02() { + return value02; + } + + public void setValue02(Integer value02) { + this.value02 = value02; + } +} diff --git a/src/main/java/com/mca/map/vo/UseHistoryChartVO.java b/src/main/java/com/mca/map/vo/UseHistoryChartVO.java deleted file mode 100644 index 9879cfd..0000000 --- a/src/main/java/com/mca/map/vo/UseHistoryChartVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mca.map.vo; - -public class UseHistoryChartVO { - private String dateStr; - private Integer useCnt; - - public String getDateStr() { - return dateStr; - } - - public void setDateStr(String dateStr) { - this.dateStr = dateStr; - } - - public Integer getUseCnt() { - return useCnt; - } - - public void setUseCnt(Integer useCnt) { - this.useCnt = useCnt; - } -} diff --git a/src/main/resources/egovframework/sqlmap/mappers/map/fieldData.xml b/src/main/resources/egovframework/sqlmap/mappers/map/fieldData.xml index 95096b2..ba97574 100644 --- a/src/main/resources/egovframework/sqlmap/mappers/map/fieldData.xml +++ b/src/main/resources/egovframework/sqlmap/mappers/map/fieldData.xml @@ -96,18 +96,25 @@ + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/mappers/map/useHistory.xml b/src/main/resources/egovframework/sqlmap/mappers/map/useHistory.xml index 11757e3..eff892c 100644 --- a/src/main/resources/egovframework/sqlmap/mappers/map/useHistory.xml +++ b/src/main/resources/egovframework/sqlmap/mappers/map/useHistory.xml @@ -50,12 +50,12 @@ - + select DATE_FORMAT(log_date ,'%m-%d') as param01, + count(*) as value01 from map_use_history where log_date >= CONCAT(#{searchStartDate}, ' 00:00:00') and log_date <= CONCAT(#{searchEndDate}, ' 23:59:59') - group by dateStr + group by param01 \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/sql-mapper-config.xml b/src/main/resources/egovframework/sqlmap/sql-mapper-config.xml index 73eb392..9a3c020 100644 --- a/src/main/resources/egovframework/sqlmap/sql-mapper-config.xml +++ b/src/main/resources/egovframework/sqlmap/sql-mapper-config.xml @@ -14,7 +14,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/admin/dashBoard.jsp b/src/main/webapp/WEB-INF/jsp/admin/dashBoard.jsp index 2990702..b68ac8f 100644 --- a/src/main/webapp/WEB-INF/jsp/admin/dashBoard.jsp +++ b/src/main/webapp/WEB-INF/jsp/admin/dashBoard.jsp @@ -8,10 +8,16 @@ + + +
@@ -52,28 +58,6 @@
- <%--
-
-
- -
-
-

-

-

0

-
-
-
-
-
-
- -
-
-

-

-

0

-
-
-
--%>
@@ -98,28 +82,36 @@
-
-
-

지도사용 이력 추이

-
+
+
+
+
+

지도사용 이력 추이

+
+
+
-
- <%--
-
-
-

-

- 그래프 +
+
+
+
+

지역별 현장수집 데이터 현황

+
+
+
+
+
+
+
+
+
+

-

+ 그래프 +
+
-
-
-
-

-

- 그래프 -
-
-
--%>
diff --git a/src/main/webapp/js/admin/dashBoard.js b/src/main/webapp/js/admin/dashBoard.js index c1d9cae..fce265e 100644 --- a/src/main/webapp/js/admin/dashBoard.js +++ b/src/main/webapp/js/admin/dashBoard.js @@ -1,16 +1,29 @@ $(function (){ google.charts.load('current', {packages: ['corechart', 'line']}); google.charts.setOnLoadCallback(drawMapUseFromDayChart); + + google.charts.load("current", {packages:["corechart"]}); + google.charts.setOnLoadCallback(drawAreaDonutChart); }) function drawMapUseFromDayChart() { var dataHeader = [['날짜', '사용량']]; var chartData = google.visualization.arrayToDataTable(dataHeader.concat(dayMapUseDataList)); + + var view = new google.visualization.DataView(chartData); + view.setColumns([0, 1, + { calc: "stringify", + sourceColumn: 1, + type: "string", + role: "annotation" }]); + var options = { - legend: { position: 'bottom' } + bar: {groupWidth: "95%"}, + legend: { position: "bottom" }, }; - var chart = new google.visualization.LineChart(document.getElementById('mapUseFromDayChart')); - chart.draw(chartData, options); + var chart = new google.visualization.ColumnChart(document.getElementById("mapUseFromDayChart")); + chart.draw(view, options); + /*$.ajax({ url: "/admin/dayMapUseData", type: "GET", @@ -34,4 +47,16 @@ function drawMapUseFromDayChart() { } });*/ +} + +function drawAreaDonutChart() { + var dataHeader = [['지역', '수집 건 수']]; + var data = google.visualization.arrayToDataTable(dataHeader.concat(areaDataList)); + + var options = { + pieHole: 0.4, + }; + + var chart = new google.visualization.PieChart(document.getElementById('areaDonutChart')); + chart.draw(data, options); } \ No newline at end of file