diff --git a/cyx-admin/src/main/java/com/cyx/web/base/controller/BigScreenController.java b/cyx-admin/src/main/java/com/cyx/web/base/controller/BigScreenController.java index d072933..f4a39f4 100644 --- a/cyx-admin/src/main/java/com/cyx/web/base/controller/BigScreenController.java +++ b/cyx-admin/src/main/java/com/cyx/web/base/controller/BigScreenController.java @@ -1,9 +1,11 @@ package com.cyx.web.base.controller; +import com.alibaba.fastjson.JSONArray; import com.cyx.common.core.controller.BaseController; import com.cyx.common.core.domain.AjaxResult; import com.cyx.common.core.domain.entity.SysUser; import com.cyx.common.json.JSONObject; +import com.cyx.common.utils.DateUtils; import com.cyx.web.base.domain.TAmentAdvancedDept; import com.cyx.web.base.domain.TAmentAdvancedParty; import com.cyx.web.base.domain.TAmentPartyAffairs; @@ -18,8 +20,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.Map; +import java.util.TreeMap; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; @Controller @RequestMapping("/base/index") @@ -34,91 +40,91 @@ public class BigScreenController extends BaseController { /** * 所有统计 + * * @param am * @return */ @PostMapping("/groupAll") @ResponseBody - public AjaxResult groupAll(TAmentPartyAffairs am) - { + public AjaxResult groupAll(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.groupAll(am); + List> list = partyAffairsService.groupAll(am); return AjaxResult.success(list); } /** * 党务及意识形态 + * * @param am * @return */ @PostMapping("/dwysxt") @ResponseBody - public AjaxResult dwysxt(TAmentPartyAffairs am) - { + public AjaxResult dwysxt(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.dwysxt(am); + List> list = partyAffairsService.dwysxt(am); return AjaxResult.success(list); } /** * 党风廉政建设 + * * @param am * @return */ @PostMapping("/dflzjs") @ResponseBody - public AjaxResult dflzjs(TAmentPartyAffairs am) - { + public AjaxResult dflzjs(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.dflzjs(am); + List> list = partyAffairsService.dflzjs(am); return AjaxResult.success(list); } /** * 日常考核指标 + * * @param am * @return */ @PostMapping("/rckhzb") @ResponseBody - public AjaxResult rckhzb(TAmentPartyAffairs am) - { + public AjaxResult rckhzb(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.rckhzb(am); + List> list = partyAffairsService.rckhzb(am); return AjaxResult.success(list); } /** * 季度考核指标 + * * @param am * @return */ @PostMapping("/ndkhbz") @ResponseBody - public AjaxResult ndkhbz(TAmentPartyAffairs am) - { + public AjaxResult ndkhbz(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.ndkhbz(am); + List> list = partyAffairsService.ndkhbz(am); return AjaxResult.success(list); } /** * 部门完成情况 + * * @param am * @return */ @PostMapping("/bmwcqk") @ResponseBody - public AjaxResult bmwcqk(TAmentPartyAffairs am) - { + public AjaxResult bmwcqk(TAmentPartyAffairs am) { SysUser u = getSysUser(); am.setDeptId(u.getDeptId()); - List> list = partyAffairsService.bmwcqk(am); + List> list = partyAffairsService.bmwcqk(am); return AjaxResult.success(list); } @@ -127,47 +133,86 @@ public class BigScreenController extends BaseController { @PostMapping("/tradeEcharts") @ResponseBody - public AjaxResult tradeEcharts(TAmentTrade tAmentTrade) - { - int yearCount = 0; - double yearMoney = 0.0000; + public AjaxResult tradeEcharts(TAmentTrade tAmentTrade) { + AtomicInteger yearCount = new AtomicInteger(); + AtomicReference yearMoney = new AtomicReference<>(0.0000); + int monthCount = 0; + double monthMoney = 0.0000; JSONObject object = new JSONObject(); - List> list = tAmentTradeService.tradeEcharts(tAmentTrade); - for (int i=0;i> list = tAmentTradeService.tradeEcharts(tAmentTrade); + Map tradeMap = new TreeMap<>(); + JSONArray typeArray = new JSONArray(); + JSONArray dataArray = new JSONArray(); + String month = DateUtils.parseDateToStr("YYYY-MM", new Date()); + list.forEach(l -> { + typeArray.add(l.get("type")); + JSONArray array = JSONArray.parseArray("[" + l.get("json").toString() + "]"); + array.forEach(a -> { + Map m = (Map) a; + tradeMap.put(m.get("label").toString(), m.get("label").toString()); + yearCount.addAndGet(Integer.parseInt(m.get("count").toString())); + yearMoney.updateAndGet(v -> new Double((double) (v + Double.parseDouble(m.get("trade").toString())))); + }); + }); + // 所有小分类 + for (Map.Entry entry : tradeMap.entrySet()) { + JSONObject object1 = new JSONObject(); + object1.put("name", entry.getKey()); + JSONArray array1 = new JSONArray(); + // 三个大分类 + for (int i = 0; i < list.size(); i++) { + String month1 = list.get(i).get("month").toString(); + JSONArray array = JSONArray.parseArray("[" + list.get(i).get("json").toString() + "]"); + AtomicInteger count = new AtomicInteger(); + AtomicReference trade = new AtomicReference<>(0.0); + array.forEach(a -> { + Map m = (Map) a; + if (entry.getKey().equals(m.get("label").toString()) && month1.equals(month)) { + count.set(Integer.parseInt(m.get("count").toString())); + trade.set(Double.parseDouble(m.get("trade").toString())); + } + }); + monthCount += count.get(); + monthMoney += trade.get(); + array1.add(trade.get()); + } + object1.put("array", array1); + dataArray.add(object1); } - object.put("list",list); - object.put("yearCount",yearCount); - object.put("yearMoney",yearMoney); + object.put("monthCount", monthCount); + object.put("monthMoney", monthMoney); + object.put("yearCount", yearCount); + object.put("yearMoney", yearMoney); + object.put("type", typeArray); + object.put("data", dataArray); return AjaxResult.success(object); } /** * 先进成员 + * * @param pa * @return */ @PostMapping("/advanceParity") @ResponseBody - public AjaxResult advanceParity(TAmentAdvancedParty pa) - { + public AjaxResult advanceParity(TAmentAdvancedParty pa) { SysUser u = getSysUser(); - List> list = advancedPartyService.advanceParity(pa); + List> list = advancedPartyService.advanceParity(pa); return AjaxResult.success(list); } /** * 先进部门 + * * @param dept * @return */ @PostMapping("/advanceDept") @ResponseBody - public AjaxResult advanceDept(TAmentAdvancedDept dept) - { + public AjaxResult advanceDept(TAmentAdvancedDept dept) { SysUser u = getSysUser(); - List> list = advancedDeptService.advanceDept(dept); + List> list = advancedDeptService.advanceDept(dept); return AjaxResult.success(list); } diff --git a/cyx-system/src/main/resources/mapper/base/TAmentTradeMapper.xml b/cyx-system/src/main/resources/mapper/base/TAmentTradeMapper.xml index ac502fa..522cec4 100644 --- a/cyx-system/src/main/resources/mapper/base/TAmentTradeMapper.xml +++ b/cyx-system/src/main/resources/mapper/base/TAmentTradeMapper.xml @@ -34,15 +34,19 @@