16 changed files with 1887 additions and 0 deletions
@ -0,0 +1,141 @@ |
|||||
|
package com.elink.esua.epdc.dto.screen.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 组织治理指数(天) |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 9:28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ScreenAgencyGovernDailyResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -4035893591086943602L; |
||||
|
|
||||
|
/** |
||||
|
* 组织Id |
||||
|
*/ |
||||
|
private String agencyId; |
||||
|
|
||||
|
/** |
||||
|
* agency_id所属的机关级别(社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province) |
||||
|
*/ |
||||
|
private String level; |
||||
|
|
||||
|
/** |
||||
|
* 上级组织Id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 网格所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 日期ID |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:问题解决总数=1+2+3+4+5+6+7+8 |
||||
|
*/ |
||||
|
private Integer problemResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数 |
||||
|
*/ |
||||
|
private String groupSelfGovernRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String gridSelfGovernRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String communityClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String streetClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String districtDeptClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 1、当前组织内,话题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer topicResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 2、当前组织内,话题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer topicUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 3、当前组织内,议题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer issueResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 4、当前组织内,议题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer issueUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 5、当前组织内:来源于议题的项目:结案已解决数 |
||||
|
*/ |
||||
|
private Integer issueProjectResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 6、当前组织内:来源于议题的项目:结案无需解决数 |
||||
|
*/ |
||||
|
private Integer issueProjectUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 7、当前组织内:项目立项,结案已解决数;默认为0, |
||||
|
*/ |
||||
|
private Integer approvalProjectResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 8、当前组织内:项目立项,结案无需解决数;默认为0, |
||||
|
*/ |
||||
|
private Integer approvalProjectUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 9、当前组织内,未出小组即未转议题的:话题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer inGroupTopicResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 10、当前组织内,未出小组即未转议题的:话题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer inGroupTopicUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 11、未出当前组织的,结案项目数 |
||||
|
*/ |
||||
|
private Integer gridSelfGovernProjectTotal; |
||||
|
|
||||
|
/** |
||||
|
* 当前组织内出来的项目:由社区结案(已解决+未解决)的项目总数 |
||||
|
*/ |
||||
|
private Integer communityClosedCount; |
||||
|
|
||||
|
/** |
||||
|
* 当前组织内出来的项目:由街道结案(已解决+未解决)的项目总数 |
||||
|
*/ |
||||
|
private Integer streetClosedCount; |
||||
|
|
||||
|
/** |
||||
|
* 当前组织内出来的项目:由区直部门(已解决+未解决)结案的项目总数 |
||||
|
*/ |
||||
|
private Integer districtDeptClosedCount; |
||||
|
} |
||||
@ -0,0 +1,106 @@ |
|||||
|
package com.elink.esua.epdc.dto.screen.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 治理能力排行数据(按日统计)数据 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 9:28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ScreenGovernRankDataDailyResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -4035893591086943602L; |
||||
|
|
||||
|
/** |
||||
|
* 组织Id 可以为网格,机关id |
||||
|
*/ |
||||
|
private String orgId; |
||||
|
|
||||
|
/** |
||||
|
* 组织类别 agency:组织;部门:department;网格:grid |
||||
|
*/ |
||||
|
private String orgType; |
||||
|
|
||||
|
/** |
||||
|
* 上级组织Id |
||||
|
*/ |
||||
|
private String parentId; |
||||
|
|
||||
|
/** |
||||
|
* 组织名称 |
||||
|
*/ |
||||
|
private String orgName; |
||||
|
|
||||
|
/** |
||||
|
* 日期ID |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 月ID |
||||
|
*/ |
||||
|
private String monthId; |
||||
|
|
||||
|
/** |
||||
|
* 年ID |
||||
|
*/ |
||||
|
private String yearId; |
||||
|
|
||||
|
/** |
||||
|
* 响应率,最大值100,保留小数点后4位 |
||||
|
*/ |
||||
|
private String responseRatio; |
||||
|
|
||||
|
/** |
||||
|
* 响应数 |
||||
|
*/ |
||||
|
private Integer responseCount; |
||||
|
|
||||
|
/** |
||||
|
* 项目转入次数 |
||||
|
*/ |
||||
|
private Integer transferCount; |
||||
|
|
||||
|
/** |
||||
|
* 解决率 最大值100,保留小数点后4位 |
||||
|
*/ |
||||
|
private String resolvedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 解决项目数 |
||||
|
*/ |
||||
|
private Integer resolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 已关闭项目数 |
||||
|
*/ |
||||
|
private Integer closedCount; |
||||
|
|
||||
|
/** |
||||
|
* 自治率 最大值100,保留小数点后4位 |
||||
|
*/ |
||||
|
private String governRatio; |
||||
|
|
||||
|
/** |
||||
|
* 自治项目数 |
||||
|
*/ |
||||
|
private Integer governCount; |
||||
|
|
||||
|
/** |
||||
|
* 满意率,最大值100,保留小数点后四位 |
||||
|
*/ |
||||
|
private String satisfactionRatio; |
||||
|
|
||||
|
/** |
||||
|
* 满意项目数 |
||||
|
*/ |
||||
|
private Integer satisfactionCount; |
||||
|
|
||||
|
/** |
||||
|
* 已关闭项目(由议题转的项目)数 |
||||
|
*/ |
||||
|
private Integer closedProjectCount; |
||||
|
} |
||||
@ -0,0 +1,14 @@ |
|||||
|
package com.elink.esua.epdc.dto.screen.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 14:12 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ScreenGovernanceResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -4696640703716250973L; |
||||
|
} |
||||
@ -0,0 +1,156 @@ |
|||||
|
package com.elink.esua.epdc.dto.screen.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 网格治理指数(天) |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 9:28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ScreenGridGovernDailyResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -4035893591086943602L; |
||||
|
|
||||
|
/** |
||||
|
* 组织Id 可以为网格,机关id |
||||
|
*/ |
||||
|
private String gridId; |
||||
|
|
||||
|
/** |
||||
|
* 上级组织Id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 网格所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 日期ID |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:问题解决总数=1+2+3+4+5+6+7+8 |
||||
|
*/ |
||||
|
private Integer problemResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数 |
||||
|
*/ |
||||
|
private String groupSelfGovernRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String gridSelfGovernRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String communityClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String streetClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 |
||||
|
*/ |
||||
|
private String districtDeptClosedRatio; |
||||
|
|
||||
|
/** |
||||
|
* 1、当前网格内,话题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer topicResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 2、当前网格内,话题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer topicUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 3、当前网格内,议题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer issueResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 4、当前网格内,议题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer issueUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 5、当前网格内:来源于议题的项目:结案已解决数 |
||||
|
*/ |
||||
|
private Integer issueProjectResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 6、当前网格内:来源于议题的项目:结案无需解决数 |
||||
|
*/ |
||||
|
private Integer issueProjectUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 7、当前网格内:项目立项,结案已解决数;默认为0, |
||||
|
*/ |
||||
|
private Integer approvalProjectResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 8、当前网格内:项目立项,结案无需解决数;默认为0, |
||||
|
*/ |
||||
|
private Integer approvalProjectUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 9、当前网格内,未出小组即未转议题的:话题关闭已解决数 |
||||
|
*/ |
||||
|
private Integer inGroupTopicResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 10、当前网格内,未出小组即未转议题的:话题关闭无需解决数 |
||||
|
*/ |
||||
|
private Integer inGroupTopicUnResolvedCount; |
||||
|
|
||||
|
/** |
||||
|
* 11、来源于议题的项目,未出网格结案并且已解决的项目数 |
||||
|
*/ |
||||
|
private Integer fromIssueResolvedInGridCount; |
||||
|
|
||||
|
/** |
||||
|
* 12、来源于议题的项目,未出网格结案并且无需解决的项目数 |
||||
|
*/ |
||||
|
private Integer fromIssueUnResolvedInGridCount; |
||||
|
|
||||
|
/** |
||||
|
* 13、来源于项目立项的项目,未出网格结案,并且已解决的项目数;因现在网格不能立项,所以此列默认为0 |
||||
|
*/ |
||||
|
private Integer fromAgencyResolvedInGridCount; |
||||
|
|
||||
|
/** |
||||
|
* 14、来源于项目立项的项目,未出网格结案,并且无需解决的项目数;因现在网格不能立项,所以此列默认为0 |
||||
|
*/ |
||||
|
private Integer fromAgencyUnResolvedInGridCount; |
||||
|
|
||||
|
/** |
||||
|
* 15、未出当前网格的,结案项目数=11+12+13+14 |
||||
|
*/ |
||||
|
private Integer gridSelfGovernProjectTotal; |
||||
|
|
||||
|
/** |
||||
|
* 当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数 |
||||
|
*/ |
||||
|
private Integer communityClosedCount; |
||||
|
|
||||
|
/** |
||||
|
* 当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数 |
||||
|
*/ |
||||
|
private Integer streetClosedCount; |
||||
|
|
||||
|
/** |
||||
|
* 当前网格内出来的项目:由区直部门(已解决+未解决)结案的项目总数 |
||||
|
*/ |
||||
|
private Integer districtDeptClosedCount; |
||||
|
} |
||||
@ -0,0 +1,70 @@ |
|||||
|
package com.elink.esua.epdc.modules.screen.controller; |
||||
|
|
||||
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
||||
|
import com.elink.esua.epdc.dto.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; |
||||
|
|
||||
|
/** |
||||
|
* 治理能力数据推送 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 11:07 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@RestController |
||||
|
@RequestMapping("data/stats/governance") |
||||
|
public class ScreenGovernanceController { |
||||
|
|
||||
|
@Autowired |
||||
|
private ScreenGovernanceService screenGovernanceService; |
||||
|
|
||||
|
/** |
||||
|
* 01、治理能力排行数据(按日统计)数据 |
||||
|
* |
||||
|
* @param |
||||
|
* @return com.elink.esua.epdc.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 11:05 |
||||
|
*/ |
||||
|
@PostMapping("governrankdatadaily") |
||||
|
public Result governrankdatadaily(@RequestBody ScreenJobFormDTO formDto) { |
||||
|
log.info("<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("<governrankdatadaily|网格治理指数(天)>定时任务执行"); |
||||
|
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("<agencygoverndaily|组织治理指数(天)>定时任务执行"); |
||||
|
return screenGovernanceService.agencygoverndaily(formDto); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,84 @@ |
|||||
|
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.screen.result.ScreenAgencyGovernDailyResultDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 14:04 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface ScreenGovernanceDao extends BaseDao<ScreenGovernanceResultDTO> { |
||||
|
|
||||
|
/** |
||||
|
* 获取街道列表 |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.SysDeptDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/8/16 17:11 |
||||
|
*/ |
||||
|
List<SysDeptDTO> getStreetList(); |
||||
|
|
||||
|
/** |
||||
|
* 治理能力排行数据(按日统计)数据 |
||||
|
* 网格统计 |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 14:06 |
||||
|
*/ |
||||
|
List<ScreenGovernRankDataDailyResultDTO> governrankdatadaily(); |
||||
|
|
||||
|
/** |
||||
|
* 治理能力排行数据(按日统计)数据 |
||||
|
* 组织统计 |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 14:06 |
||||
|
*/ |
||||
|
List<ScreenGovernRankDataDailyResultDTO> governrankdatadailyAgency(); |
||||
|
|
||||
|
/** |
||||
|
* 治理能力排行数据(按日统计)数据 |
||||
|
* 未响应数 |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 14:06 |
||||
|
*/ |
||||
|
List<ScreenGovernRankDataDailyResultDTO> governrankdatadailyNoResp(); |
||||
|
|
||||
|
/** |
||||
|
* 网格治理指数(天) |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/8/13 17:55 |
||||
|
*/ |
||||
|
List<ScreenGridGovernDailyResultDTO> gridgoverndaily(); |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 组织治理指数(天) |
||||
|
* |
||||
|
* @param |
||||
|
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2021/8/13 17:55 |
||||
|
*/ |
||||
|
List<ScreenAgencyGovernDailyResultDTO> agencygoverndaily(); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,44 @@ |
|||||
|
package com.elink.esua.epdc.modules.screen.service; |
||||
|
|
||||
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
||||
|
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; |
||||
|
|
||||
|
/** |
||||
|
* 治理能力数据推送 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 13:51 |
||||
|
*/ |
||||
|
public interface ScreenGovernanceService { |
||||
|
|
||||
|
/** |
||||
|
* 01、治理能力排行数据(按日统计)数据 |
||||
|
* |
||||
|
* @param |
||||
|
* @return com.elink.esua.epdc.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 13:47 |
||||
|
*/ |
||||
|
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); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,151 @@ |
|||||
|
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.screen.form.ScreenJobFormDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; |
||||
|
import com.elink.esua.epdc.dto.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; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 治理能力数据推送 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 13:51 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class ScreenGovernanceServiceImpl extends BaseServiceImpl<ScreenGovernanceDao, ScreenGovernanceResultDTO> implements ScreenGovernanceService { |
||||
|
|
||||
|
@Autowired |
||||
|
private EpmetUtils epmetUtils; |
||||
|
|
||||
|
@Value("${epmet.config.customerId}") |
||||
|
private String EPMET_CONFIG_CUSTOMER_ID; |
||||
|
|
||||
|
@Override |
||||
|
public Result governrankdatadaily(ScreenJobFormDTO formDto) { |
||||
|
String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); |
||||
|
if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { |
||||
|
yearMonthDay = formDto.getYearMonth(); |
||||
|
} |
||||
|
List<ScreenGovernRankDataDailyResultDTO> data = baseDao.governrankdatadaily(); |
||||
|
List<ScreenGovernRankDataDailyResultDTO> agencyData = baseDao.governrankdatadailyAgency(); |
||||
|
List<ScreenGovernRankDataDailyResultDTO> noRespData = baseDao.governrankdatadailyNoResp(); |
||||
|
List<SysDeptDTO> streetList = baseDao.getStreetList(); |
||||
|
|
||||
|
// 处理未响应和项目转入次数
|
||||
|
noRespHandle(data, noRespData); |
||||
|
noRespHandle(agencyData, noRespData); |
||||
|
|
||||
|
// 社区数据需要在本身基础上再加上网格的合计
|
||||
|
data.forEach(item -> { |
||||
|
Optional<ScreenGovernRankDataDailyResultDTO> agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(item.getParentId())).findFirst(); |
||||
|
if (agencyOptional.isPresent()) { |
||||
|
ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); |
||||
|
agencyResult.setResponseCount(agencyResult.getResponseCount() + item.getResponseCount()); |
||||
|
agencyResult.setTransferCount(agencyResult.getTransferCount() + item.getTransferCount()); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
streetList.forEach(street -> { |
||||
|
String streetId = street.getId().toString(); |
||||
|
// 街道数据需要在本身基础上再加上社区的合计
|
||||
|
Optional<ScreenGovernRankDataDailyResultDTO> 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); |
||||
|
// 计算响应率
|
||||
|
data.forEach(item -> { |
||||
|
if (0 == item.getTransferCount() || 0 == item.getResponseCount()) { |
||||
|
item.setResponseRatio("0.0000"); |
||||
|
} else { |
||||
|
DecimalFormat df = new DecimalFormat("0.0000"); |
||||
|
item.setResponseRatio(df.format((float) item.getResponseCount() / item.getTransferCount())); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
JSONObject jsonObject = new JSONObject(); |
||||
|
jsonObject.put("isFirst", true); |
||||
|
jsonObject.put("dateId", yearMonthDay); |
||||
|
jsonObject.put("dataList", data); |
||||
|
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_RANK_DATA, JSONObject.toJSONString(jsonObject)); |
||||
|
return new Result(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Result gridgoverndaily(ScreenJobFormDTO formDto) { |
||||
|
String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); |
||||
|
if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { |
||||
|
yearMonthDay = formDto.getYearMonth(); |
||||
|
} |
||||
|
List<ScreenGridGovernDailyResultDTO> 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<ScreenAgencyGovernDailyResultDTO> 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(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 追加未响应数据 |
||||
|
* |
||||
|
* @param data |
||||
|
* @param noRespData |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2021/8/13 14:48 |
||||
|
*/ |
||||
|
private void noRespHandle(List<ScreenGovernRankDataDailyResultDTO> data, List<ScreenGovernRankDataDailyResultDTO> noRespData) { |
||||
|
data.forEach(item -> { |
||||
|
Optional<ScreenGovernRankDataDailyResultDTO> noDataOptional = noRespData.stream().filter(agency -> agency.getOrgId().equals(item.getOrgId())).findFirst(); |
||||
|
// 如果有未响应的,项目转入次数 = 响应数 + 未响应数,否则,项目转入次数 = 响应数
|
||||
|
if (noDataOptional.isPresent()) { |
||||
|
ScreenGovernRankDataDailyResultDTO agencyResult = noDataOptional.get(); |
||||
|
item.setTransferCount(agencyResult.getResponseCount() + item.getResponseCount()); |
||||
|
} else { |
||||
|
item.setTransferCount(item.getResponseCount()); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,895 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
|
||||
|
<mapper namespace="com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao"> |
||||
|
|
||||
|
<select id="getStreetList" resultType="com.elink.esua.epdc.dto.SysDeptDTO"> |
||||
|
SELECT |
||||
|
id, |
||||
|
pid, |
||||
|
pids, |
||||
|
NAME |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept sd |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.type_key = 'street_party' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
</select> |
||||
|
|
||||
|
<select id="governrankdatadaily" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO"> |
||||
|
SELECT |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y%m%d' |
||||
|
) AS dateId, |
||||
|
DATE_FORMAT( |
||||
|
STR_TO_DATE( |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
), |
||||
|
'%Y' |
||||
|
), |
||||
|
'%Y' |
||||
|
) AS yearId, |
||||
|
DATE_FORMAT( |
||||
|
STR_TO_DATE( |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
), |
||||
|
'%Y-%m' |
||||
|
), |
||||
|
'%Y%m' |
||||
|
) AS monthId, |
||||
|
'grid' AS orgType, |
||||
|
sd.id AS orgId, |
||||
|
sd.pid AS parentId, |
||||
|
sd. NAME AS orgName, |
||||
|
IFNULL(count(hp.id), 0) AS responseCount, |
||||
|
IFNULL(st.ITEM_SETTLE_TOTAL, 0) AS resolvedCount, |
||||
|
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedCount, |
||||
|
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedProjectCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
( |
||||
|
st.ITEM_SETTLE_TOTAL + st.ITEM_CLOSED_TOTAL |
||||
|
) / st.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS resolvedRatio, |
||||
|
IFNULL(hs.BYSELF_TOTAL, 0) AS governCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
hs.BYSELF_TOTAL / hs.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS governRatio, |
||||
|
IFNULL( |
||||
|
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL, |
||||
|
0 |
||||
|
) AS satisfactionCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
( |
||||
|
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL |
||||
|
) / hs.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS satisfactionRatio |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept sd |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.HANDLER_DEPT_ID = sd.id |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT(hp.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
LEFT JOIN esua_epdc_analysis.epdc_issue_item_statistics st ON st.GRID_ID = sd.id |
||||
|
LEFT JOIN esua_epdc_analysis.epdc_grid_handle_statistics hs ON hs.DEPT_ID = sd.id |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.type_key = 'grid_party' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
GROUP BY |
||||
|
sd.id |
||||
|
</select> |
||||
|
|
||||
|
<select id="governrankdatadailyAgency" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO"> |
||||
|
SELECT |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y%m%d' |
||||
|
) AS dateId, |
||||
|
DATE_FORMAT( |
||||
|
STR_TO_DATE( |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
), |
||||
|
'%Y' |
||||
|
), |
||||
|
'%Y' |
||||
|
) AS yearId, |
||||
|
DATE_FORMAT( |
||||
|
STR_TO_DATE( |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
), |
||||
|
'%Y-%m' |
||||
|
), |
||||
|
'%Y%m' |
||||
|
) AS monthId, |
||||
|
'agency' AS orgType, |
||||
|
sd.id AS orgId, |
||||
|
sd.pid AS parentId, |
||||
|
sd. NAME AS orgName, |
||||
|
IFNULL(count(hp.id), 0) AS responseCount, |
||||
|
IFNULL(st.ITEM_SETTLE_TOTAL, 0) AS resolvedCount, |
||||
|
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedCount, |
||||
|
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedProjectCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
( |
||||
|
st.ITEM_SETTLE_TOTAL + st.ITEM_CLOSED_TOTAL |
||||
|
) / st.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS resolvedRatio, |
||||
|
IFNULL(hs.BYSELF_TOTAL, 0) AS governCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
hs.BYSELF_TOTAL / hs.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS governRatio, |
||||
|
IFNULL( |
||||
|
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL, |
||||
|
0 |
||||
|
) AS satisfactionCount, |
||||
|
IFNULL( |
||||
|
ROUND( |
||||
|
( |
||||
|
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL |
||||
|
) / hs.ITEM_TOTAL, |
||||
|
4 |
||||
|
), |
||||
|
0 |
||||
|
) AS satisfactionRatio |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept sd |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.HANDLER_DEPT_ID = sd.id |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT(hp.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
LEFT JOIN esua_epdc_analysis.epdc_issue_item_statistics st ON st.GRID_ID = sd.id |
||||
|
LEFT JOIN esua_epdc_analysis.epdc_grid_handle_statistics hs ON hs.DEPT_ID = sd.id |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
AND sd.type_key IN ( |
||||
|
'community_party', |
||||
|
'street_party' |
||||
|
) |
||||
|
GROUP BY |
||||
|
sd.id |
||||
|
</select> |
||||
|
|
||||
|
<select id="governrankdatadailyNoResp" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO"> |
||||
|
SELECT |
||||
|
d.DEPT_ID AS orgId, |
||||
|
COUNT(0) AS responseCount |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item_dept d |
||||
|
LEFT JOIN esua_epdc_events.epdc_item i ON i.ID = d.ITEM_ID |
||||
|
WHERE |
||||
|
d.ITEM_HANDLE_ID IS NOT NULL |
||||
|
AND d.DEL_FLAG = '0' |
||||
|
AND i.DEL_FLAG = '0' |
||||
|
AND i.ITEM_STATE = '0' |
||||
|
AND DATE_FORMAT(d.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
d.DEPT_ID |
||||
|
</select> |
||||
|
|
||||
|
<select id="gridgoverndaily" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO"> |
||||
|
SELECT |
||||
|
info.*, IFNULL( |
||||
|
( |
||||
|
info.inGroupTopicResolvedCount + info.inGroupTopicUnResolvedCount |
||||
|
) / info.problemResolvedCount, |
||||
|
0 |
||||
|
) AS groupSelfGovernRatio, |
||||
|
IFNULL( |
||||
|
info.gridSelfGovernProjectTotal / info.problemResolvedCount, |
||||
|
0 |
||||
|
) AS gridSelfGovernRatio, |
||||
|
IFNULL( |
||||
|
info.communityClosedCount / info.problemResolvedCount, |
||||
|
0 |
||||
|
) AS communityClosedRatio, |
||||
|
IFNULL( |
||||
|
info.streetClosedCount / info.problemResolvedCount, |
||||
|
0 |
||||
|
) AS streetClosedRatio, |
||||
|
0 AS districtDeptClosedRatio |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y%m%d' |
||||
|
) AS dateId, |
||||
|
sd.id AS gridId, |
||||
|
sd.pid, |
||||
|
sd.pids, |
||||
|
IFNULL( |
||||
|
( |
||||
|
topic.topicResolvedCount + topic.topicUnResolvedCount + issue.issueResolvedCount + issue.issueUnResolvedCount + item.issueProjectResolvedCount + item.issueProjectResolvedCount + item.issueProjectUnResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS problemResolvedCount, |
||||
|
IFNULL(topic.topicResolvedCount, 0) AS topicResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.topicUnResolvedCount, |
||||
|
0 |
||||
|
) AS topicUnResolvedCount, |
||||
|
IFNULL(issue.issueResolvedCount, 0) AS issueResolvedCount, |
||||
|
IFNULL( |
||||
|
issue.issueUnResolvedCount, |
||||
|
0 |
||||
|
) AS issueUnResolvedCount, |
||||
|
IFNULL( |
||||
|
item.issueProjectResolvedCount, |
||||
|
0 |
||||
|
) AS issueProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
item.issueProjectUnResolvedCount, |
||||
|
0 |
||||
|
) AS issueProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
item.approvalProjectResolvedCount, |
||||
|
0 |
||||
|
) AS approvalProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
item.approvalProjectUnResolvedCount, |
||||
|
0 |
||||
|
) AS approvalProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.inGroupTopicResolvedCount, |
||||
|
0 |
||||
|
) AS inGroupTopicResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.inGroupTopicUnResolvedCount, |
||||
|
0 |
||||
|
) AS inGroupTopicUnResolvedCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromIssueResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromIssueResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromIssueUnResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromIssueUnResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromAgencyResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromAgencyResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromAgencyUnResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromAgencyUnResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
( |
||||
|
selfsolved.fromIssueResolvedInGridCount + selfsolved.fromIssueUnResolvedInGridCount + selfsolved.fromIssueUnResolvedInGridCount + selfsolved.fromAgencyResolvedInGridCount |
||||
|
), |
||||
|
0 |
||||
|
) AS gridSelfGovernProjectTotal, |
||||
|
IFNULL( |
||||
|
commsolved.communityClosedCount, |
||||
|
0 |
||||
|
) AS communityClosedCount, |
||||
|
IFNULL( |
||||
|
streetsolved.streetClosedCount, |
||||
|
0 |
||||
|
) AS streetClosedCount, |
||||
|
0 AS districtDeptClosedCount |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept sd |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS topicResolvedCount, |
||||
|
IFNULL(COUNT(0), 0) AS inGroupTopicResolvedCount, |
||||
|
0 AS topicUnResolvedCount, |
||||
|
0 AS inGroupTopicUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_group.epdc_topic et |
||||
|
WHERE |
||||
|
et.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT(et.UPDATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND et.STATE = '20' |
||||
|
GROUP BY |
||||
|
et.GRID_ID |
||||
|
) topic ON topic.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS issueResolvedCount, |
||||
|
0 AS issueUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_issue eis |
||||
|
WHERE |
||||
|
eis.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT( |
||||
|
eis.UPDATED_TIME, |
||||
|
'%Y-%m-%d' |
||||
|
) <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND eis.ISSUE_STATE = '2' |
||||
|
GROUP BY |
||||
|
eis.GRID_ID |
||||
|
) issue ON issue.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS issueProjectResolvedCount, |
||||
|
0 AS issueProjectUnResolvedCount, |
||||
|
0 AS approvalProjectResolvedCount, |
||||
|
0 AS approvalProjectUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT( |
||||
|
eit.UPDATED_TIME, |
||||
|
'%Y-%m-%d' |
||||
|
) <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
GROUP BY |
||||
|
GRID_ID |
||||
|
) item ON item.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS fromIssueResolvedInGridCount, |
||||
|
0 AS fromIssueUnResolvedInGridCount, |
||||
|
0 AS fromAgencyResolvedInGridCount, |
||||
|
0 AS fromAgencyUnResolvedInGridCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
HAVING |
||||
|
COUNT(DISTINCT hp.HANDLER_DEPT_ID) = 1 |
||||
|
) t |
||||
|
WHERE |
||||
|
t.GRID_ID = t.HANDLER_DEPT_ID |
||||
|
AND DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) selfsolved ON selfsolved.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS communityClosedCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
AND hp.STATE IN ('5', '10') |
||||
|
AND sd.type_key = 'community_party' |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
) t |
||||
|
WHERE |
||||
|
DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) commsolved ON commsolved.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS streetClosedCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
AND hp.STATE IN ('5', '10') |
||||
|
AND sd.type_key = 'street_party' |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
) t |
||||
|
WHERE |
||||
|
DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d') <= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) streetsolved ON streetsolved.GRID_ID = sd.id |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.type_key = 'grid_party' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
GROUP BY |
||||
|
sd.id |
||||
|
) info |
||||
|
</select> |
||||
|
|
||||
|
<select id="agencygoverndaily" resultType="com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO"> |
||||
|
SELECT |
||||
|
DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y%m%d' |
||||
|
) AS dateId, |
||||
|
sd.id AS agencyId, |
||||
|
CASE |
||||
|
WHEN sd.type_key = 'community_party' THEN |
||||
|
'community' |
||||
|
WHEN sd.type_key = 'street_party' THEN |
||||
|
'street' |
||||
|
END AS LEVEL, |
||||
|
sd.pid, |
||||
|
sd.pids, |
||||
|
IFNULL( |
||||
|
sum(info.problemResolvedCount), |
||||
|
0 |
||||
|
) AS problemResolvedCount, |
||||
|
IFNULL( |
||||
|
sum(info.topicResolvedCount), |
||||
|
0 |
||||
|
) AS topicResolvedCount, |
||||
|
IFNULL( |
||||
|
sum(info.topicUnResolvedCount), |
||||
|
0 |
||||
|
) AS topicUnResolvedCount, |
||||
|
IFNULL( |
||||
|
sum(info.issueResolvedCount), |
||||
|
0 |
||||
|
) AS issueResolvedCount, |
||||
|
IFNULL( |
||||
|
sum(info.issueUnResolvedCount), |
||||
|
0 |
||||
|
) AS issueUnResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.issueProjectResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS issueProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.issueProjectUnResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS issueProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.approvalProjectResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS approvalProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.approvalProjectUnResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS approvalProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.inGroupTopicResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS inGroupTopicResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.inGroupTopicUnResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS inGroupTopicUnResolvedCount, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.gridSelfGovernProjectTotal |
||||
|
), |
||||
|
0 |
||||
|
) AS gridSelfGovernProjectTotal, |
||||
|
IFNULL( |
||||
|
sum(info.communityClosedCount), |
||||
|
0 |
||||
|
) AS communityClosedCount, |
||||
|
IFNULL( |
||||
|
sum(info.streetClosedCount), |
||||
|
0 |
||||
|
) AS streetClosedCount, |
||||
|
0 AS districtDeptClosedCount, |
||||
|
IFNULL( |
||||
|
( |
||||
|
sum( |
||||
|
info.inGroupTopicResolvedCount |
||||
|
) + sum( |
||||
|
info.inGroupTopicUnResolvedCount |
||||
|
) |
||||
|
) / sum(info.problemResolvedCount), |
||||
|
0 |
||||
|
) AS groupSelfGovernRatio, |
||||
|
IFNULL( |
||||
|
sum( |
||||
|
info.gridSelfGovernProjectTotal |
||||
|
) / sum(info.problemResolvedCount), |
||||
|
0 |
||||
|
) AS gridSelfGovernRatio, |
||||
|
IFNULL( |
||||
|
sum(info.communityClosedCount) / sum(info.problemResolvedCount), |
||||
|
0 |
||||
|
) AS communityClosedRatio, |
||||
|
IFNULL( |
||||
|
sum(info.streetClosedCount) / sum(info.problemResolvedCount), |
||||
|
0 |
||||
|
) AS streetClosedRatio, |
||||
|
0 AS districtDeptClosedRatio |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
sd.pids, |
||||
|
IFNULL( |
||||
|
( |
||||
|
topic.topicResolvedCount + topic.topicUnResolvedCount + issue.issueResolvedCount + issue.issueUnResolvedCount + item.issueProjectResolvedCount + item.issueProjectResolvedCount + item.issueProjectUnResolvedCount |
||||
|
), |
||||
|
0 |
||||
|
) AS problemResolvedCount, |
||||
|
IFNULL(topic.topicResolvedCount, 0) AS topicResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.topicUnResolvedCount, |
||||
|
0 |
||||
|
) AS topicUnResolvedCount, |
||||
|
IFNULL(issue.issueResolvedCount, 0) AS issueResolvedCount, |
||||
|
IFNULL( |
||||
|
issue.issueUnResolvedCount, |
||||
|
0 |
||||
|
) AS issueUnResolvedCount, |
||||
|
IFNULL( |
||||
|
item.issueProjectResolvedCount, |
||||
|
0 |
||||
|
) AS issueProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
item.issueProjectUnResolvedCount, |
||||
|
0 |
||||
|
) AS issueProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
item.approvalProjectResolvedCount, |
||||
|
0 |
||||
|
) AS approvalProjectResolvedCount, |
||||
|
IFNULL( |
||||
|
item.approvalProjectUnResolvedCount, |
||||
|
0 |
||||
|
) AS approvalProjectUnResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.inGroupTopicResolvedCount, |
||||
|
0 |
||||
|
) AS inGroupTopicResolvedCount, |
||||
|
IFNULL( |
||||
|
topic.inGroupTopicUnResolvedCount, |
||||
|
0 |
||||
|
) AS inGroupTopicUnResolvedCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromIssueResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromIssueResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromIssueUnResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromIssueUnResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromAgencyResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromAgencyResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
selfsolved.fromAgencyUnResolvedInGridCount, |
||||
|
0 |
||||
|
) AS fromAgencyUnResolvedInGridCount, |
||||
|
IFNULL( |
||||
|
( |
||||
|
selfsolved.fromIssueResolvedInGridCount + selfsolved.fromIssueUnResolvedInGridCount + selfsolved.fromIssueUnResolvedInGridCount + selfsolved.fromAgencyResolvedInGridCount |
||||
|
), |
||||
|
0 |
||||
|
) AS gridSelfGovernProjectTotal, |
||||
|
IFNULL( |
||||
|
commsolved.communityClosedCount, |
||||
|
0 |
||||
|
) AS communityClosedCount, |
||||
|
IFNULL( |
||||
|
streetsolved.streetClosedCount, |
||||
|
0 |
||||
|
) AS streetClosedCount, |
||||
|
0 AS districtDeptClosedCount |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept sd |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS topicResolvedCount, |
||||
|
IFNULL(COUNT(0), 0) AS inGroupTopicResolvedCount, |
||||
|
0 AS topicUnResolvedCount, |
||||
|
0 AS inGroupTopicUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_group.epdc_topic et |
||||
|
WHERE |
||||
|
et.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT(et.UPDATED_TIME, '%Y-%m-%d')<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND et.STATE = '20' |
||||
|
GROUP BY |
||||
|
et.GRID_ID |
||||
|
) topic ON topic.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS issueResolvedCount, |
||||
|
0 AS issueUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_issue eis |
||||
|
WHERE |
||||
|
eis.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT( |
||||
|
eis.UPDATED_TIME, |
||||
|
'%Y-%m-%d' |
||||
|
)<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND eis.ISSUE_STATE = '2' |
||||
|
GROUP BY |
||||
|
eis.GRID_ID |
||||
|
) issue ON issue.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS issueProjectResolvedCount, |
||||
|
0 AS issueProjectUnResolvedCount, |
||||
|
0 AS approvalProjectResolvedCount, |
||||
|
0 AS approvalProjectUnResolvedCount |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND DATE_FORMAT( |
||||
|
eit.UPDATED_TIME, |
||||
|
'%Y-%m-%d' |
||||
|
)<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
GROUP BY |
||||
|
GRID_ID |
||||
|
) item ON item.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS fromIssueResolvedInGridCount, |
||||
|
0 AS fromIssueUnResolvedInGridCount, |
||||
|
0 AS fromAgencyResolvedInGridCount, |
||||
|
0 AS fromAgencyUnResolvedInGridCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
HAVING |
||||
|
COUNT(DISTINCT hp.HANDLER_DEPT_ID) = 1 |
||||
|
) t |
||||
|
WHERE |
||||
|
t.GRID_ID = t.HANDLER_DEPT_ID |
||||
|
AND DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d')<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) selfsolved ON selfsolved.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS communityClosedCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
AND hp.STATE IN ('5', '10') |
||||
|
AND sd.type_key = 'community_party' |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
) t |
||||
|
WHERE |
||||
|
DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d')<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) commsolved ON commsolved.GRID_ID = sd.id |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
IFNULL(COUNT(0), 0) AS streetClosedCount |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
GRID_ID, |
||||
|
eit.id, |
||||
|
hp.HANDLER_DEPT_ID, |
||||
|
eit.UPDATED_TIME |
||||
|
FROM |
||||
|
esua_epdc_events.epdc_item eit |
||||
|
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id |
||||
|
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID |
||||
|
WHERE |
||||
|
eit.DEL_FLAG = '0' |
||||
|
AND hp.DEL_FLAG = '0' |
||||
|
AND eit.ITEM_STATE IN ('5', '10') |
||||
|
AND hp.STATE IN ('5', '10') |
||||
|
AND sd.type_key = 'street_party' |
||||
|
GROUP BY |
||||
|
eit.GRID_ID, |
||||
|
eit.ID |
||||
|
) t |
||||
|
WHERE |
||||
|
DATE_FORMAT(t.UPDATED_TIME, '%Y-%m-%d')<= DATE_FORMAT( |
||||
|
date_add(now(), INTERVAL - 1 DAY), |
||||
|
'%Y-%m-%d' |
||||
|
) |
||||
|
GROUP BY |
||||
|
t.GRID_ID |
||||
|
) streetsolved ON streetsolved.GRID_ID = sd.id |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.type_key = 'grid_party' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
GROUP BY |
||||
|
sd.id |
||||
|
) info |
||||
|
LEFT JOIN esua_epdc_admin.sys_dept sd ON find_in_set(sd.`id`, info.pids) |
||||
|
WHERE |
||||
|
sd.del_flag = '0' |
||||
|
AND sd.id NOT IN ( |
||||
|
SELECT |
||||
|
t.dept_id |
||||
|
FROM |
||||
|
esua_epdc_admin.sys_dept_config t |
||||
|
WHERE |
||||
|
t.del_flag = '0' |
||||
|
) |
||||
|
AND sd.type_key IN ( |
||||
|
'community_party', |
||||
|
'street_party' |
||||
|
) |
||||
|
GROUP BY |
||||
|
sd.id |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
||||
@ -0,0 +1,33 @@ |
|||||
|
package com.elink.esua.epdc.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 大屏数据采集接口共 (17) 个 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/29 14:41 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ScreenGovernanceParamDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -6661828243095315569L; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 01、治理能力排行数据(按日统计)数据 |
||||
|
*/ |
||||
|
private String governrankdatadaily; |
||||
|
|
||||
|
/** |
||||
|
* 02、网格治理指数(天) |
||||
|
*/ |
||||
|
private String gridgoverndaily; |
||||
|
|
||||
|
/** |
||||
|
* 03、组织治理指数(天) |
||||
|
*/ |
||||
|
private String agencygoverndaily; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
package com.elink.esua.epdc.task.screen; |
||||
|
|
||||
|
/** |
||||
|
* 治理能力数据推送 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 10:42 |
||||
|
*/ |
||||
|
public interface ScreenGovernancePushTask { |
||||
|
|
||||
|
/** |
||||
|
* 大屏数据推送 |
||||
|
* |
||||
|
* @param param 入参 |
||||
|
* 参数格式:{'gridPartyMemberData':'2020-08','gridPartyAbility':'2020-08','orgPartyAbility':'2020-08','gridServiceAbility':'2020-08','orgServiceAbility':'2020-08','gridGovernAbility':'2020-08','orgGovernAbility':'2020-08','deptGovernAbility':'2020-08','all':'2020-08'} |
||||
|
* @return void |
||||
|
* @author Liuchuang |
||||
|
* @since 2020/9/9 15:21 |
||||
|
*/ |
||||
|
void run(String param); |
||||
|
} |
||||
@ -0,0 +1,97 @@ |
|||||
|
package com.elink.esua.epdc.task.screen; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import com.elink.esua.epdc.dto.ScreenGovernanceParamDTO; |
||||
|
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; |
||||
|
import com.elink.esua.epdc.feign.AnalysisFeignClient; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
/** |
||||
|
* 治理能力数据推送 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 10:42 |
||||
|
*/ |
||||
|
@Component("screenGovernancePushTask") |
||||
|
public class ScreenGovernancePushTaskImpl implements ScreenGovernancePushTask { |
||||
|
|
||||
|
private final Logger logger = LoggerFactory.getLogger(getClass()); |
||||
|
|
||||
|
@Autowired |
||||
|
private AnalysisFeignClient analysisFeignClient; |
||||
|
|
||||
|
@Override |
||||
|
public void run(String param) { |
||||
|
// 参数处理
|
||||
|
ScreenGovernanceParamDTO paramDto = new ScreenGovernanceParamDTO(); |
||||
|
if (StringUtils.isNotEmpty(param)) { |
||||
|
paramDto = JSONObject.parseObject(param, ScreenGovernanceParamDTO.class); |
||||
|
} |
||||
|
// 01、治理能力排行数据(按日统计)数据
|
||||
|
governrankdatadaily(paramDto.getGovernrankdatadaily()); |
||||
|
// 02、网格治理指数(天)
|
||||
|
gridgoverndaily(paramDto.getGridgoverndaily()); |
||||
|
// 03、组织治理指数(天)
|
||||
|
agencygoverndaily(paramDto.getAgencygoverndaily()); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 01、治理能力排行数据(按日统计)数据 |
||||
|
* |
||||
|
* @param yearMonth 统计月份,格式yyyyMMdd |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 10:47 |
||||
|
*/ |
||||
|
public void governrankdatadaily(String yearMonth) { |
||||
|
ScreenJobFormDTO formDto = new ScreenJobFormDTO(); |
||||
|
formDto.setYearMonth(yearMonth); |
||||
|
// 方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|治理能力排行数据(按日统计)数据>定时任务开始执行" + yearMonth); |
||||
|
analysisFeignClient.governrankdatadaily(formDto); |
||||
|
logger.info("<" + methodName + "|治理能力排行数据(按日统计)数据>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 02、网格治理指数(天) |
||||
|
* |
||||
|
* @param yearMonth |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 10:47 |
||||
|
*/ |
||||
|
public void gridgoverndaily(String yearMonth) { |
||||
|
ScreenJobFormDTO formDto = new ScreenJobFormDTO(); |
||||
|
formDto.setYearMonth(yearMonth); |
||||
|
// 方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|网格治理指数>定时任务开始执行"); |
||||
|
analysisFeignClient.gridgoverndaily(formDto); |
||||
|
logger.info("<" + methodName + "|网格治理指数>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 03、组织治理指数(天) |
||||
|
* |
||||
|
* @param yearMonth |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2021/6/28 10:47 |
||||
|
*/ |
||||
|
public void agencygoverndaily(String yearMonth) { |
||||
|
ScreenJobFormDTO formDto = new ScreenJobFormDTO(); |
||||
|
formDto.setYearMonth(yearMonth); |
||||
|
// 方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|组织治理指数>定时任务开始执行"); |
||||
|
analysisFeignClient.agencygoverndaily(formDto); |
||||
|
logger.info("<" + methodName + "|组织治理指数>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue