diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java index caca520..4335d5c 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java +++ b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java @@ -1,10 +1,12 @@ package com.elink.esua.epdc.modules.screen.controller; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.analysis.pc.screen.form.ScreenJobFormDTO; import com.elink.esua.epdc.modules.screen.service.ScreenGovernanceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -31,9 +33,38 @@ public class ScreenGovernanceController { * @date 2021/6/28 11:05 */ @PostMapping("governrankdatadaily") - public Result governrankdatadaily() { + public Result governrankdatadaily(@RequestBody ScreenJobFormDTO formDto) { log.info("定时任务执行"); - return screenGovernanceService.governrankdatadaily(); + return screenGovernanceService.governrankdatadaily(formDto); } + /** + * 02、网格治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 11:05 + */ + @PostMapping("gridgoverndaily") + public Result gridgoverndaily(@RequestBody ScreenJobFormDTO formDto) { + log.info("定时任务执行"); + return screenGovernanceService.gridgoverndaily(formDto); + } + + /** + * 03、组织治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 11:05 + */ + @PostMapping("agencygoverndaily") + public Result agencygoverndaily(@RequestBody ScreenJobFormDTO formDto) { + log.info("定时任务执行"); + return screenGovernanceService.agencygoverndaily(formDto); + } + + } diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java index e55293f..30f47b5 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java +++ b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java @@ -1,8 +1,11 @@ package com.elink.esua.epdc.modules.screen.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernRankDataDailyResultDTO; import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernanceResultDTO; +import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGridGovernDailyResultDTO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -14,6 +17,16 @@ import java.util.List; @Mapper public interface ScreenGovernanceDao extends BaseDao { + /** + * 获取街道列表 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/16 17:11 + */ + List getStreetList(); + /** * 治理能力排行数据(按日统计)数据 * 网格统计 @@ -47,4 +60,25 @@ public interface ScreenGovernanceDao extends BaseDao */ List governrankdatadailyNoResp(); + /** + * 网格治理指数(天) + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/13 17:55 + */ + List gridgoverndaily(); + + + /** + * 组织治理指数(天) + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/13 17:55 + */ + List agencygoverndaily(); + } diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java index 5f204f2..1cbfcf5 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java +++ b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java @@ -1,6 +1,7 @@ package com.elink.esua.epdc.modules.screen.service; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.analysis.pc.screen.form.ScreenJobFormDTO; /** * 治理能力数据推送 @@ -18,6 +19,26 @@ public interface ScreenGovernanceService { * @author zhy * @date 2021/6/28 13:47 */ - Result governrankdatadaily(); + Result governrankdatadaily(ScreenJobFormDTO formDto); + + /** + * 02、网格治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 13:47 + */ + Result gridgoverndaily(ScreenJobFormDTO formDto); + + /** + * 03、组织治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 13:47 + */ + Result agencygoverndaily(ScreenJobFormDTO formDto); } diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java index 3152eea..24e492c 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java +++ b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java @@ -3,17 +3,24 @@ package com.elink.esua.epdc.modules.screen.service.impl; import com.alibaba.fastjson.JSONObject; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.analysis.pc.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernRankDataDailyResultDTO; import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernanceResultDTO; +import com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGridGovernDailyResultDTO; import com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao; import com.elink.esua.epdc.modules.screen.service.ScreenGovernanceService; import com.elink.esua.epdc.utils.EpmetUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.text.DecimalFormat; +import java.util.Date; import java.util.List; import java.util.Optional; @@ -33,16 +40,16 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl data = baseDao.governrankdatadaily(); List agencyData = baseDao.governrankdatadailyAgency(); List noRespData = baseDao.governrankdatadailyNoResp(); + List streetList = baseDao.getStreetList(); // 处理未响应和项目转入次数 noRespHandle(data, noRespData); @@ -57,15 +64,19 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(STREET_ID)).findFirst(); - if (agencyOptional.isPresent()) { - ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); - Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); - Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); - agencyResult.setResponseCount(responseCount); - agencyResult.setTransferCount(transferCount); - } + + streetList.forEach(street -> { + String streetId = street.getId().toString(); + // 街道数据需要在本身基础上再加上社区的合计 + Optional agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(streetId)).findFirst(); + if (agencyOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); + Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); + Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); + agencyResult.setResponseCount(responseCount); + agencyResult.setTransferCount(transferCount); + } + }); // 合并网格社区街道数据 data.addAll(agencyData); // 计算响应率 @@ -78,14 +89,44 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl data = baseDao.gridgoverndaily(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("isFirst", true); + jsonObject.put("dataList", data); + jsonObject.put("dateId", yearMonthDay); + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_GRID_GOV_DATA, JSONObject.toJSONString(jsonObject)); + return new Result(); + } + + @Override + public Result agencygoverndaily(ScreenJobFormDTO formDto) { + String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); +// if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { +// yearMonthDay = formDto.getYearMonth(); +// } + List data = baseDao.agencygoverndaily(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("isFirst", true); + jsonObject.put("dateId", yearMonthDay); + jsonObject.put("dataList", data); + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_AGENCY_GOV_DATA, JSONObject.toJSONString(jsonObject)); + return new Result(); + } + /** * 追加未响应数据 * diff --git a/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGovernanceDao.xml b/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGovernanceDao.xml index c0ae454..b01da18 100644 --- a/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGovernanceDao.xml +++ b/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/ScreenGovernanceDao.xml @@ -3,6 +3,27 @@ + + + + + +