huanghongfa
2021-06-24 94370577773f814688a9273cc0123c678c982964
大屏工作接口开发
16个文件已修改
6个文件已添加
897 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/ComActWorkScreenVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/ComDynamicWorkScreenVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/DateScreenVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/DynamicWorkVO.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventDetailWorkVO.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventWorkScreenVO.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventWorkVO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ScreenWorkApi.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ScreenWorkApi.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDynDAO.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActNeighborCircleDAO.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbDynDAO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ScreenWorkService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/BigScreenApi.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/ComActWorkScreenVO.java
@@ -23,13 +23,16 @@
    @ApiModelProperty("每天完成")
    private String everyDayNum;
    @ApiModelProperty("总完成度")
    private Integer totalCompletedPoint;
    @ApiModelProperty("完成总数")
    private Integer totalCompleted;
    @ApiModelProperty("未完成总数")
    private Integer totalNoneCompleted;
    @ApiModelProperty("已完成")
    private List<ActWorkCountVO> completetPoint;
    private List<PieElementVO> completetList;
    @ApiModelProperty("未完成")
    private List<ActWorkCountVO> nonePoint;
    private List<PieElementVO> noneList;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/ComDynamicWorkScreenVO.java
New file
@@ -0,0 +1,32 @@
package com.panzhihua.common.model.vos.screen;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @author lyq
 * @date 2021/6/16 14:38
 */
@ApiModel("大屏-工作-社区动态")
@Data
public class ComDynamicWorkScreenVO implements Serializable {
    @ApiModelProperty("全部动态")
    private Long totalNum;
    @ApiModelProperty("本月新增")
    private Long currentNum;
    @ApiModelProperty("平均每天动态")
    private Integer currentAvgNum = 0;
    @ApiModelProperty("最新动态列表")
    private List<String> dynList;
    @ApiModelProperty("动态柱状图列表数据")
    private List<DynamicWorkVO> list;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/DateScreenVO.java
New file
@@ -0,0 +1,24 @@
package com.panzhihua.common.model.vos.screen;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("事件格式化类")
public class DateScreenVO {
    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/DynamicWorkVO.java
New file
@@ -0,0 +1,30 @@
package com.panzhihua.common.model.vos.screen;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * @author lyq
 * @date 2021/6/16 14:45
 */
@Data
@ApiModel("累计动态、新增动态")
public class DynamicWorkVO implements Serializable {
    @ApiModelProperty("月份")
    private String month;
    @ApiModelProperty("累计动态")
    private Long dynTotal;
    @ApiModelProperty("新增动态")
    private Long dynAdd;
    @ApiModelProperty(hidden = true)
    private String start;
    @ApiModelProperty(hidden = true)
    private String end;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventDetailWorkVO.java
New file
@@ -0,0 +1,69 @@
package com.panzhihua.common.model.vos.screen;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.panzhihua.common.model.vos.grid.EventResourceVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * @author lyq
 * @date 2021/6/16 14:45
 */
@Data
@ApiModel("工作-事件管理-事件播报数据")
public class EventDetailWorkVO implements Serializable {
    @ApiModelProperty("事件id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    @ApiModelProperty("发布人昵称")
    private String userName;
    @ApiModelProperty("发布人头像")
    private String imageUrl;
    @ApiModelProperty("事件上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    @ApiModelProperty("事件描述")
    private String eventDes;
    @ApiModelProperty("危险级别:0 (无) 1(特别重大)、2(重大)、3(较大)、4(一般)")
    private String dangerLevel;
    @ApiModelProperty("是否紧急")
    private Boolean urgent;
    @ApiModelProperty("是否重大")
    private Boolean major;
    @ApiModelProperty("事件发生地点")
    private String happenAddress;
    @ApiModelProperty("事件发生地点备注")
    private String happentAddress;
    @ApiModelProperty("事件发生经纬度(长在前短在后)")
    private String happentLatLng;
    @ApiModelProperty("事件分类1治安隐患、2公共服务、3矛盾纠纷、4不稳定因素、5突发事件、6特殊人群信息上报")
    private Integer eventType;
    @ApiModelProperty("事件处理状态(1待处理、2待验证、3已上报、4已解决、5草稿箱、6已撤销、7已失效 8 已发布)")
    private Integer eventDealStatus;
    @ApiModelProperty(value = "是否红牌")
    private Boolean redCard;
    @ApiModelProperty(value = "是否黄牌")
    private Boolean yellowCard;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventWorkScreenVO.java
New file
@@ -0,0 +1,38 @@
package com.panzhihua.common.model.vos.screen;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @author lyq
 * @date 2021/6/16 14:38
 */
@ApiModel("大屏-工作-事件管理")
@Data
public class EventWorkScreenVO implements Serializable {
    @ApiModelProperty("已解决事件")
    private Long resolvedNum = 0L;
    @ApiModelProperty("待处理事件")
    private Long pendingNum = 0L;
    @ApiModelProperty("本月新增")
    private Long currentNum = 0L;
    @ApiModelProperty("平均耗时")
    private Integer avgCost = 0;
    @ApiModelProperty("宣传教育")
    private Long propagandaNum = 0L;
    @ApiModelProperty("事件最新动态列表")
    private List<EventDetailWorkVO> eventList;
    @ApiModelProperty("动态柱状图列表数据")
    private List<EventWorkVO> list;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/screen/EventWorkVO.java
New file
@@ -0,0 +1,33 @@
package com.panzhihua.common.model.vos.screen;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * @author lyq
 * @date 2021/6/16 14:45
 */
@Data
@ApiModel("解决事件、新增事件、事件数量")
public class EventWorkVO implements Serializable {
    @ApiModelProperty("月份")
    private String month;
    @ApiModelProperty("事件数量")
    private Long eventTotal;
    @ApiModelProperty("新增事件")
    private Long eventAdd;
    @ApiModelProperty("解决事件")
    private Long eventSolve;
    @ApiModelProperty(hidden = true)
    private String start;
    @ApiModelProperty(hidden = true)
    private String end;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -3100,4 +3100,12 @@
     */
    @GetMapping("/population/repair")
    R getPopulationRepairByApp();
    /**
     * 工作大屏-社区动态模块数据统计
     * @param communityId   社区id
     * @return  社区动态数据统计
     */
    @GetMapping("/screen/work/dynamic")
    R dynamicWork(@RequestParam("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -948,4 +948,12 @@
     */
    @GetMapping("/event/updateLcUploadFlag")
    Boolean updateLcUploadFlag(@RequestParam("id")Long id);
    /**
     * 工作大屏-事件管理模块数据统计
     * @param communityId   社区id
     * @return  事件管理数据统计
     */
    @GetMapping("/screen/work/event")
    R eventWork(@RequestParam("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -751,6 +751,48 @@
        return date1.before(date2);
    }
    /**
     * date2比date1多的天数
     * @param date1
     * @param date2
     * @return
     */
    public static int differentDays(Date date1,Date date2)
    {
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date1);
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(date2);
        int day1= cal1.get(Calendar.DAY_OF_YEAR);
        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
        int year1 = cal1.get(Calendar.YEAR);
        int year2 = cal2.get(Calendar.YEAR);
        if(year1 != year2) //同一年
        {
            int timeDistance = 0 ;
            for(int i = year1 ; i < year2 ; i ++)
            {
                if(i%4==0 && i%100!=0 || i%400==0) //闰年
                {
                    timeDistance += 366;
                }
                else //不是闰年
                {
                    timeDistance += 365;
                }
            }
            return timeDistance + (day2-day1) ;
        }
        else //不同年
        {
//            System.out.println("判断day2 - day1 : " + (day2-day1));
            return day2-day1;
        }
    }
    public static void main(String[]args)throws Exception{
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ScreenWorkApi.java
@@ -20,6 +20,7 @@
import com.panzhihua.common.model.vos.neighbor.DetailNeighborCircleAdminVO;
import com.panzhihua.common.model.vos.screen.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.grid.GridService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -40,6 +41,8 @@
    @Resource
    private CommunityService communityService;
    @Resource
    private GridService gridService;
    /**
     * 邻里圈
@@ -101,6 +104,18 @@
        return communityService.pbWork(communityId);
    }
    @ApiOperation(value = "社区动态@lyq",response = ComDynamicWorkScreenVO.class)
    @GetMapping("/dynamicWork")
    public R dynamicWork(@RequestParam("communityId") Long communityId){
        return communityService.dynamicWork(communityId);
    }
    @ApiOperation(value = "事件管理@lyq",response = EventWorkScreenVO.class)
    @GetMapping("/eventWork")
    public R eventWork(@RequestParam("communityId") Long communityId){
        return gridService.eventWork(communityId);
    }
    /**
     * 随手拍
     * @param communityId
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ScreenWorkApi.java
@@ -124,4 +124,15 @@
    public R getScreenMicroList(@RequestBody ScreenMicroListDTO microListDTO) {
        return comActMicroWishService.getScreenMicroList(microListDTO);
    }
    /**
     * 工作大屏-社区动态模块数据统计
     * @param communityId   社区id
     * @return  社区动态数据统计
     */
    @GetMapping("/dynamic")
    public R dynamic(@RequestParam("communityId")Long communityId){
        return screenWorkService.dynamicWork(communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDynDAO.java
@@ -5,11 +5,15 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.community.ComActDynVO;
import com.panzhihua.common.model.vos.screen.DateScreenVO;
import com.panzhihua.common.model.vos.screen.DynamicWorkVO;
import com.panzhihua.service_community.model.dos.ComActDynDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -20,38 +24,38 @@
@Mapper
public interface ComActDynDAO extends BaseMapper<ComActDynDO> {
    @Select("<script> " +
            "SELECT \n" +
            "d.id,\n" +
            "d.title,\n" +
            "COUNT(u.id)readNum,\n" +
            "d.`status`,\n" +
            "d.`content`,\n" +
            "d.`cover`,\n" +
            "d.`type`,\n" +
            "d.`cover_mode`,\n" +
            "d.is_topping,\n" +
            "d.publish_at,\n" +
            "d.create_at,\n" +
            "ca.name as communityName \n" +
            "FROM\n" +
            "com_act_dyn d\n" +
            "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id \n" +
            "LEFT JOIN com_act ca ON d.community_id = ca.community_id \n" +
            "WHERE 1=1 \n" +
            "SELECT  " +
            "d.id, " +
            "d.title, " +
            "COUNT(u.id)readNum, " +
            "d.`status`, " +
            "d.`content`, " +
            "d.`cover`, " +
            "d.`type`, " +
            "d.`cover_mode`, " +
            "d.is_topping, " +
            "d.publish_at, " +
            "d.create_at, " +
            "ca.name as communityName  " +
            "FROM " +
            "com_act_dyn d " +
            "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id  " +
            "LEFT JOIN com_act ca ON d.community_id = ca.community_id  " +
            "WHERE 1=1  " +
            "<if test='comActDynVO.choice == 0 '>" +
            "and d.community_id=#{comActDynVO.communityId}\n" +
            "and d.community_id=#{comActDynVO.communityId} " +
            " </if> " +
            "<if test='comActDynVO.title != null and comActDynVO.title.trim() != &quot;&quot;'>" +
            "AND d.title like concat(#{comActDynVO.title},'%')  \n" +
            "AND d.title like concat(#{comActDynVO.title},'%')   " +
            " </if> " +
            "<if test='comActDynVO.isTopping != null '>" +
            "AND d.is_topping = #{comActDynVO.isTopping} \n" +
            "AND d.is_topping = #{comActDynVO.isTopping}  " +
            " </if> " +
            "<if test='comActDynVO.status != null '>" +
            "AND d.`status` = #{comActDynVO.status} \n" +
            "AND d.`status` = #{comActDynVO.status}  " +
            " </if> " +
            "<if test='comActDynVO.publishAtBegin != null '>" +
            "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} \n" +
            "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin}  " +
            "AND #{comActDynVO.publishAtEnd}" +
            " </if> " +
            " group by d.id  "+
@@ -62,40 +66,58 @@
    int timedTaskDynStatus();
    @Select("<script> " +
            "SELECT \n" +
            "d.id,\n" +
            "d.title,\n" +
            "COUNT(u.id)readNum,\n" +
            "d.`status`,\n" +
            "d.`content`,\n" +
            "d.`cover`,\n" +
            "d.`type`,\n" +
            "d.`cover_mode`,\n" +
            "d.is_topping,\n" +
            "d.publish_at,\n" +
            "d.create_at,\n" +
            "ca.name as communityName \n" +
            "FROM\n" +
            "com_act_dyn d\n" +
            "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id \n" +
            "LEFT JOIN com_act ca ON d.community_id = ca.community_id \n" +
            "WHERE \n" +
            "d.community_id=#{comActDynVO.communityId}\n" +
            "SELECT  " +
            "d.id, " +
            "d.title, " +
            "COUNT(u.id)readNum, " +
            "d.`status`, " +
            "d.`content`, " +
            "d.`cover`, " +
            "d.`type`, " +
            "d.`cover_mode`, " +
            "d.is_topping, " +
            "d.publish_at, " +
            "d.create_at, " +
            "ca.name as communityName  " +
            "FROM " +
            "com_act_dyn d " +
            "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id  " +
            "LEFT JOIN com_act ca ON d.community_id = ca.community_id  " +
            "WHERE  " +
            "d.community_id=#{comActDynVO.communityId} " +
            "<if test='comActDynVO.title != null and comActDynVO.title.trim() != &quot;&quot;'>" +
            "AND d.title like concat(#{comActDynVO.title},'%')  \n" +
            "AND d.title like concat(#{comActDynVO.title},'%')   " +
            " </if> " +
            "<if test='comActDynVO.isTopping != null '>" +
            "AND d.is_topping = #{comActDynVO.isTopping} \n" +
            "AND d.is_topping = #{comActDynVO.isTopping}  " +
            " </if> " +
            "<if test='comActDynVO.status != null '>" +
            "AND d.`status` = #{comActDynVO.status} \n" +
            "AND d.`status` = #{comActDynVO.status}  " +
            " </if> " +
            "<if test='comActDynVO.publishAtBegin != null '>" +
            "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} \n" +
            "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin}  " +
            "AND #{comActDynVO.publishAtEnd}" +
            " </if> " +
            " group by d.id  "+
            " order by d.is_topping desc, d.create_at desc "+
            "</script>")
    IPage<ComActDynVO> pageDynamicByAdmin(Page page, @Param("comActDynVO") ComActDynVO comActDynVO);
    @Select("SELECT " +
            " count( cad.id ) AS dynTotal, " +
            " (select count(id) from com_act_dyn where community_id = #{communityId} and create_at LIKE CONCAT(#{nowDate},'%')) as currentNum " +
            "FROM " +
            " com_act_dyn AS cad  " +
            "WHERE " +
            " community_id = #{communityId}")
    Map<String, Long> countByCommunityId(@Param("communityId") Long communityId, @Param("nowDate")String nowDate);
    @Select("select create_at as startTime,(select create_at from com_act_dyn where community_id = #{communityId} order by create_at desc LIMIT 1 ) as endTime from com_act_dyn where community_id = #{communityId} order by create_at asc LIMIT 1")
    DateScreenVO countByAvgCommunityId(@Param("communityId") Long communityId);
    @Select("SELECT " +
            "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND create_at < #{end}) AS dynTotal, " +
            "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND #{start} < create_at AND create_at < #{end}) AS dynAdd " +
            " FROM DUAL")
    DynamicWorkVO countByTime(@Param("start")String start, @Param("end")String end, @Param("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActNeighborCircleDAO.java
@@ -8,6 +8,7 @@
import com.panzhihua.common.model.vos.neighbor.*;
import com.panzhihua.common.model.vos.screen.CarouselInfoVO;
import com.panzhihua.common.model.vos.screen.ComActNeighborCircleScreenVO;
import com.panzhihua.common.model.vos.screen.PieElementVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.service_community.model.dos.ComActNeighborCircleDO;
import org.apache.ibatis.annotations.Mapper;
@@ -70,7 +71,7 @@
    @Select("<script> \n"+
            "SELECT\n" +
            "nc.*,\n" +
            "u.`nick_name` AS releaseName,u.`type` as userType,u.image_url\n" +
            "u.`nick_name` AS releaseName,u.`type` as userType\n" +
            ",u.name as communityName\n" +
            "FROM\n" +
            "com_act_neighbor_circle nc\n" +
@@ -82,9 +83,6 @@
            " </if> " +
            "<if test='neighborCircleAdminDTO.startAt != null and neighborCircleAdminDTO.endAt !=null '>" +
            "and nc.create_at between #{neighborCircleAdminDTO.startAt} and #{neighborCircleAdminDTO.endAt}  \n" +
            " </if> " +
            "<if test='neighborCircleAdminDTO.status != null '>" +
            "and nc.status = #{neighborCircleAdminDTO.status} " +
            " </if> " +
            "</where>"+
            "order by " +
@@ -113,18 +111,49 @@
            " where reply.comment_id = #{commentId} and reply.status = 1")
    IPage<ComActNeighborCommentReplyAppVO> neighborCommentReplyByApp(Page page, @Param("commentId") Long commentId);
    @Select("SELECT id,release_content as content FROM com_act_neighbor_circle WHERE community_id =#{communityId} and(status = 2 or status = 3) ORDER BY create_at DESC limit #{pageSize}")
    @Select("SELECT id,release_content as content FROM com_act_neighbor_circle WHERE community_id =#{communityId} and status = 2 ORDER BY create_at DESC limit #{pageSize}")
    List<CarouselInfoVO> screenNeighborCircle(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize);
    @Select(" SELECT COUNT(id) AS totalNum," +
            " (SELECT COUNT(id) FROM com_act_neighbor_circle WHERE  community_id = #{communityId} AND (status = 2 OR status = 3) AND create_at LIKE CONCAT(#{nowDate},'%')) AS currentNum " +
            "  FROM com_act_neighbor_circle WHERE community_id = #{communityId} AND(status = 2 OR status =3)")
            " (SELECT COUNT(id) FROM com_act_neighbor_circle WHERE  community_id = #{communityId} AND status = 2 AND create_at LIKE CONCAT(#{nowDate},'%')) AS currentNum " +
            "  FROM com_act_neighbor_circle WHERE community_id = #{communityId} AND status = 2")
    Map<String, Long> countByCommunityId(@Param("communityId")Long communityId,@Param("nowDate")String nowDate);
    @Select("SELECT SUM(comment_num) as commentNum,SUM(fabulous_num) as fabulousNum,SUM(forward_num) as forwardNum FROM com_act_neighbor_circle WHERE  community_id = #{communityId} and (status = 2 OR status =3) ")
    @Select("SELECT SUM(comment_num) as commentNum,SUM(fabulous_num) as fabulousNum,SUM(forward_num) as forwardNum FROM com_act_neighbor_circle WHERE  community_id = #{communityId} and status = 2 ")
    Map<String, Object> sumScreenNum(@Param("communityId")Long communityId);
    @Select("SELECT release_images FROM com_act_neighbor_circle WHERE  community_id = #{communityId} and (status = 2 OR status =3) order by create_at desc limit #{pageSize}")
    @Select("SELECT release_images FROM com_act_neighbor_circle WHERE  community_id = #{communityId} and status = 2 order by create_at desc limit #{pageSize}")
    List<String> screenNeighborCircleImgs(@Param("communityId") Long communityId,@Param("pageSize") Integer pageSize);
    @Select("SELECT COUNT(id) as num,'随手拍' as name FROM com_act_easy_photo WHERE community_id = #{communityId} AND STATUS = 4 " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'微心愿' as name FROM com_act_micro_wish WHERE community_id = #{communityId} AND STATUS = 6 " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'一起议' as name FROM com_act_discuss WHERE community_id = #{communityId} " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'邻里圈' as name FROM com_act_neighbor_circle WHERE community_id = #{communityId} AND STATUS = 2 " +
            "UNION ALL " +
            "SELECT (SELECT COUNT(id) FROM com_pb_activity WHERE community_id = #{communityId} AND STATUS = 5)+(SELECT COUNT(id) FROM com_pb_dyn WHERE community_id = #{communityId} AND STATUS = 2) as num, '党建工作' as name FROM DUAL " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'社区活动' as name FROM com_act_activity WHERE community_id = #{communityId} AND STATUS = 5 ")
    List<PieElementVO> countAllCompletedWorkByCommunityId(@Param("communityId")Long communityId);
    @Select("SELECT COUNT(id) as num,'随手拍' as name FROM com_act_easy_photo WHERE community_id = #{communityId} AND (STATUS = 1 or STATUS = 2)  " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'微心愿' as name FROM com_act_micro_wish WHERE community_id = #{communityId} AND (STATUS = 1 or STATUS = 2 or STATUS = 3 or STATUS = 4) " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'一起议' as name FROM com_act_discuss WHERE community_id = #{communityId} " +
            "UNION ALL " +
            "SELECT COUNT(id) as num,'邻里圈' as name FROM com_act_neighbor_circle WHERE community_id = #{communityId} AND STATUS = 1 " +
            "UNION ALL " +
            "SELECT (SELECT COUNT(id) FROM com_pb_activity WHERE community_id = #{communityId} AND (STATUS = 1 or STATUS = 2 or STATUS = 3 or STATUS = 4) )+(SELECT COUNT(id) FROM com_pb_dyn WHERE community_id = #{communityId} AND STATUS = 1) as num ,'党建工作' as name FROM DUAL " +
            "UNION ALL " +
            "SELECT COUNT(id),'社区活动' as name FROM com_act_activity WHERE community_id = #{communityId} AND (STATUS = 1 or STATUS = 2 or STATUS = 3 or STATUS = 4)  ")
    List<PieElementVO> countAllNoneCompletedWorkByCommunityId(@Param("communityId")Long communityId);
    @Select(" SELECT AVG(b.t)AS avgTime " +
            "  FROM (SELECT  TIMESTAMPDIFF(MINUTE,create_at,feedback_at) AS t  FROM com_act_easy_photo WHERE community_id = #{communityId} and STATUS = 4 " +
            "  UNION ALL SELECT  TIMESTAMPDIFF(MINUTE,create_at,finish_at) AS t  FROM com_act_micro_wish WHERE community_id = #{communityId} and STATUS = 6 " +
            "  )AS b ")
    Map<String, Object> countAvgByCommunityId(@Param("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbDynDAO.java
@@ -28,4 +28,6 @@
            "(SELECT COUNT(id) FROM com_pb_dyn WHERE community_id = #{communityId} AND STATUS = 2 AND #{start} < create_at AND create_at < #{end}) AS dyn " +
            "FROM DUAL")
    PbWorkVO countByTime(@Param("start")String start,@Param("end")String end, @Param("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ScreenWorkService.java
@@ -56,4 +56,6 @@
     * @return
     */
    R workCount(Long communityId);
    R dynamicWork(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java
@@ -2,16 +2,22 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.model.dtos.partybuilding.ComPbActivityDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.screen.*;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComActDynDO;
import com.panzhihua.service_community.service.ScreenWorkService;
import org.apache.commons.net.ntp.TimeStamp;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -26,20 +32,19 @@
    private static final Integer pageSize = 200;
    @Resource
    private ComActDAO comActDAO;
    @Resource
    private ComActNeighborCircleDAO comActNeighborCircleDAO;
    @Resource
    private ComActDynDAO comActDynDAO;
    @Resource
    private ComActMicroWishDAO comActMicroWishDAO;
    @Resource
    private ComActActivityDAO actActivityDAO;
    @Resource
    private ComActDiscussDAO comActDiscussDAO;
    @Resource
    private ComPbDynDAO comPbDynDAO;
    @Resource
    private ComActEasyPhotoDAO comActEasyPhotoDAO;
@@ -209,9 +214,6 @@
        return R.ok(comActEasyPhotoScreenVO);
    }
    private List<EasyPhotoPointVO> getList(Map<String, Long> dealMap) {
        Set<Map.Entry<String,Long>> entrySet = dealMap.entrySet();
@@ -229,63 +231,109 @@
    @Override
    public R workCount(Long communityId) {
        ComActWorkScreenVO comActWorkScreenVO = new ComActWorkScreenVO();
        comActWorkScreenVO.setAvgTime("1小时");
        comActWorkScreenVO.setTotalCompletedPoint(70);
        comActWorkScreenVO.setEveryDayNum("0.3");
        List<ActWorkCountVO> completetPoint = new ArrayList<>();
        ActWorkCountVO easyPhoto = new ActWorkCountVO();
        easyPhoto.setName("随手拍");
        easyPhoto.setNum(10);
        completetPoint.add(easyPhoto);
        ActWorkCountVO wish = new ActWorkCountVO();
        wish.setName("微心愿");
        wish.setNum(23);
        completetPoint.add(wish);
        ActWorkCountVO discuss = new ActWorkCountVO();
        discuss.setName("一起议");
        discuss.setNum(33);
        completetPoint.add(discuss);
        ActWorkCountVO neighbor = new ActWorkCountVO();
        neighbor.setName("邻里圈");
        neighbor.setNum(43);
        completetPoint.add(neighbor);
        ActWorkCountVO pbWork = new ActWorkCountVO();
        pbWork.setName("党建工作");
        pbWork.setNum(13);
        completetPoint.add(pbWork);
        ActWorkCountVO activity = new ActWorkCountVO();
        activity.setName("社区活动");
        activity.setNum(63);
        completetPoint.add(activity);
        comActWorkScreenVO.setCompletetPoint(completetPoint);
        //已完成
        comActWorkScreenVO.setCompletetList(comActNeighborCircleDAO.countAllCompletedWorkByCommunityId(communityId));
        List<ActWorkCountVO> completetPoint2 = new ArrayList<>();
        ActWorkCountVO easyPhoto2 = new ActWorkCountVO();
        easyPhoto2.setName("随手拍");
        easyPhoto2.setNum(10);
        completetPoint2.add(easyPhoto2);
        ActWorkCountVO wish2 = new ActWorkCountVO();
        wish2.setName("微心愿");
        wish2.setNum(23);
        completetPoint2.add(wish2);
        ActWorkCountVO discuss2 = new ActWorkCountVO();
        discuss2.setName("一起议");
        discuss2.setNum(33);
        completetPoint2.add(discuss2);
        ActWorkCountVO neighbor2 = new ActWorkCountVO();
        neighbor2.setName("邻里圈");
        neighbor2.setNum(43);
        completetPoint2.add(neighbor2);
        ActWorkCountVO pbWork2 = new ActWorkCountVO();
        pbWork2.setName("党建工作");
        pbWork2.setNum(13);
        completetPoint2.add(pbWork2);
        ActWorkCountVO activity2 = new ActWorkCountVO();
        activity2.setName("社区活动");
        activity2.setNum(63);
        completetPoint2.add(activity2);
        comActWorkScreenVO.setNonePoint(completetPoint2);
        //未完成
        comActWorkScreenVO.setNoneList(comActNeighborCircleDAO.countAllNoneCompletedWorkByCommunityId(communityId));
        comActWorkScreenVO.setTotalCompleted(comActWorkScreenVO.getCompletetList().stream().mapToInt(PieElementVO::getNum).sum());
        comActWorkScreenVO.setTotalNoneCompleted(comActWorkScreenVO.getNoneList().stream().mapToInt(PieElementVO::getNum).sum());
        //统计平均耗时、平均每天完成个数
        Map<String,Object> avgMap = comActNeighborCircleDAO.countAvgByCommunityId(communityId);
        comActWorkScreenVO.setAvgTime(avgMap.get("avgTime") == null?"0h":convertTimeStr(Double.valueOf(avgMap.get("avgTime").toString()).intValue()));
        ComActDO comActDO = comActDAO.selectById(communityId);
        BigDecimal days = new BigDecimal(DateUtil.betweenDay(comActDO.getCreateAt(),new Date(),false));
        BigDecimal num = new BigDecimal(comActWorkScreenVO.getTotalCompleted());
        BigDecimal rt = num.divide(days,1, RoundingMode.HALF_UP);
        comActWorkScreenVO.setEveryDayNum(rt.toString());
        return R.ok(comActWorkScreenVO);
    }
    private String convertTimeStr(int minute) {
        int hour = minute/60;
        int min = minute%60;
        StringBuilder timestr = new StringBuilder();
        if(hour > 0){
            timestr.append(hour).append("h");
        }
        if(min > 0){
            timestr.append(min).append("min");
        }
        return timestr.toString();
    }
    @Override
    public R dynamicWork(Long communityId){
        ComDynamicWorkScreenVO workScreenVO = new ComDynamicWorkScreenVO();
        String date = DateUtils.getDateFormatString(new Date(),moth_format_str);
        Map<String,Long> countMap = comActDynDAO.countByCommunityId(communityId,date);
        if(!countMap.isEmpty()){
            workScreenVO.setTotalNum(countMap.get("dynTotal")== null ? 0L : Long.valueOf(countMap.get("dynTotal").toString()));
            workScreenVO.setCurrentNum(countMap.get("currentNum")== null ? 0L : Long.valueOf(countMap.get("currentNum").toString()));
        }
        //计算平均每天动态
        DateScreenVO countAvg = comActDynDAO.countByAvgCommunityId(communityId);
        if(countAvg != null){
            int day = DateUtils.differentDays(countAvg.getStartTime(),countAvg.getEndTime());
            if(day > 0){
                workScreenVO.setCurrentAvgNum(workScreenVO.getTotalNum().intValue()/day);
            }
        }
        //查询最新的10条社区动态
        List<String> dynList = new ArrayList<>();
        List<ComActDynDO> actDynDOList = comActDynDAO.selectList(new QueryWrapper<ComActDynDO>().lambda().eq(ComActDynDO::getCommunityId,communityId).orderByDesc(ComActDynDO::getCreateAt).last("limit 10"));
        if(!actDynDOList.isEmpty()){
            actDynDOList.forEach(actDyn -> {
                dynList.add(actDyn.getTitle());
            });
        }
        workScreenVO.setDynList(dynList);
        //统计近半年数据
        List<DynamicWorkVO> list = new ArrayList<>();
        for(DynamicWorkVO dynamicWorkVO: listHalfYearByDyn()){
            DynamicWorkVO result = comActDynDAO.countByTime(dynamicWorkVO.getStart(),dynamicWorkVO.getEnd(),communityId);
            result.setMonth(dynamicWorkVO.getMonth());
            list.add(result);
        }
        workScreenVO.setList(list);
        return R.ok(workScreenVO);
    }
    private List<DynamicWorkVO> listHalfYearByDyn() {
        List<DynamicWorkVO> dateList = new ArrayList<>();
        Date now  = new Date();
        for(int i= 6;i>=1;i--){
            Date date = DateUtils.getDateM(now,-i);
            DateTime endDay = DateUtil.endOfMonth(date);
            int m = DateUtil.month(endDay);
//            if(m == 0){
//                m = 12;
//            }
//            m--;
            int day = DateUtil.dayOfMonth(endDay);
            int half = day/2;
            String month = DateUtil.format(date,moth_format_str);
            DynamicWorkVO dynamicWorkVO = new DynamicWorkVO();
            dynamicWorkVO.setMonth(monthStr[m]+"月上旬");
            dynamicWorkVO.setStart(month+ "-01 00:00:00");
            dynamicWorkVO.setEnd(month+ "-"+half+" 23:59:58");
            dateList.add(dynamicWorkVO);
            DynamicWorkVO dynamicWorkVO1 = new DynamicWorkVO();
            dynamicWorkVO1.setMonth(monthStr[m]+"月下旬");
            dynamicWorkVO1.setStart(month+ "-"+half+" 23:59:58");
            dynamicWorkVO1.setEnd(DateUtils.getDateFormatString(endDay,"yyyy-MM-dd HH:mm:ss"));
            dateList.add(dynamicWorkVO1);
        }
        return dateList;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/BigScreenApi.java
@@ -34,4 +34,14 @@
        return eventService.getScreenEventList(eventListDTO);
    }
    /**
     * 工作大屏-事件播报数据统计
     * @param communityId   社区id
     * @return  事件播报数据统计
     */
    @GetMapping("/work/event")
    public R eventWork(@RequestParam("communityId")Long communityId) {
        return eventService.eventWork(communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java
@@ -8,6 +8,9 @@
import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.vos.community.screen.event.EventListVO;
import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.common.model.vos.screen.DateScreenVO;
import com.panzhihua.common.model.vos.screen.EventDetailWorkVO;
import com.panzhihua.common.model.vos.screen.EventWorkVO;
import com.panzhihua.service_grid.model.dos.EventDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -115,5 +118,11 @@
     */
    IPage<EventSpecialPopulationVO> specialPopulationList(Page page, @Param("specialPopulationDTO") PageEventSpecialPopulationDTO specialPopulationDTO);
    Map<String,Long> countByCommunityId(@Param("communityId") Long communityId,@Param("nowDate")String nowDate);
    DateScreenVO countByAvgCommunityId(@Param("communityId") Long communityId);
    List<EventDetailWorkVO> getWorkScreenEventList(@Param("communityId") Long communityId);
    EventWorkVO countByTime(@Param("start")String start, @Param("end")String end, @Param("communityId")Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -273,4 +273,6 @@
     * @date 2021/6/10 17:00
     */
    Boolean updateLcUploadFlag(Long id);
    R eventWork(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1,5 +1,7 @@
package com.panzhihua.service_grid.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -17,7 +19,9 @@
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.screen.event.EventListVO;
import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.common.model.vos.screen.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.ExcelSelectListUtil;
import com.panzhihua.common.utlis.LngLatUtils;
import com.panzhihua.common.utlis.StringUtils;
@@ -63,6 +67,10 @@
    private EventGridDataService eventGridDataService;
    @Resource
    private EventResourceMapper eventResourceMapper;
    private final String moth_format_str = "yyyy-MM";
    private final String[] monthStr = new String[]{"一","二","三","四","五","六","七","八","九","十","十一","十二"};
    /**
     * 分页查找事件
@@ -2221,4 +2229,79 @@
        }
        return false;
    }
    public R eventWork(Long communityId){
        EventWorkScreenVO workScreenVO = new EventWorkScreenVO();
        String date = DateUtils.getDateFormatString(new Date(),moth_format_str);
        Map<String,Long> countMap = this.eventMapper.countByCommunityId(communityId,date);
        if(!countMap.isEmpty()){
            workScreenVO.setResolvedNum(countMap.get("resolvedNum")== null ? 0L : Long.valueOf(countMap.get("resolvedNum").toString()));
            workScreenVO.setPendingNum(countMap.get("pendingNum")== null ? 0L : Long.valueOf(countMap.get("pendingNum").toString()));
            workScreenVO.setPropagandaNum(countMap.get("propagandaNum")== null ? 0L : Long.valueOf(countMap.get("propagandaNum").toString()));
            workScreenVO.setCurrentNum(countMap.get("currentNum")== null ? 0L : Long.valueOf(countMap.get("currentNum").toString()));
        }
        //计算处理时间消耗的时间
        DateScreenVO countAvg = this.eventMapper.countByAvgCommunityId(communityId);
        if(countAvg != null){
            int second = (int) (countAvg.getStartTime().getTime() - countAvg.getEndTime().getTime())/1000;
            if(second > 0){
                second = second/workScreenVO.getResolvedNum().intValue();
                workScreenVO.setAvgCost(second);
            }
        }
        //查询最新事件轮播列表
        List<EventDetailWorkVO> eventList = this.eventMapper.getWorkScreenEventList(communityId);
        if(!eventList.isEmpty()){
            workScreenVO.setEventList(eventList);
        }
        //统计近半年数据
        List<EventWorkVO> list = new ArrayList<>();
        for(EventWorkVO eventWorkVO: listHalfYearByDyn()){
            EventWorkVO result = this.eventMapper.countByTime(eventWorkVO.getStart(),eventWorkVO.getEnd(),communityId);
            result.setMonth(eventWorkVO.getMonth());
            list.add(result);
        }
        workScreenVO.setList(list);
        return R.ok(workScreenVO);
    }
    private List<EventWorkVO> listHalfYearByDyn() {
        List<EventWorkVO> dateList = new ArrayList<>();
        Date now  = new Date();
        for(int i= 6;i>=1;i--){
            Date date = DateUtils.getDateM(now,-i);
            DateTime endDay = DateUtil.endOfMonth(date);
            int m = DateUtil.month(endDay);
//            if(m == 0){
//                m = 11;
//            }
//            m--;
            int day = DateUtil.dayOfMonth(endDay);
            int half = day/2;
            String month = DateUtil.format(date,moth_format_str);
            EventWorkVO eventWorkVO = new EventWorkVO();
            eventWorkVO.setMonth(monthStr[m]+"月上旬");
            eventWorkVO.setStart(month+ "-01 00:00:00");
            eventWorkVO.setEnd(month+ "-"+half+" 23:59:58");
            dateList.add(eventWorkVO);
            EventWorkVO eventWorkVO1 = new EventWorkVO();
            eventWorkVO1.setMonth(monthStr[m]+"月下旬");
            eventWorkVO1.setStart(month+ "-"+half+" 23:59:58");
            eventWorkVO1.setEnd(DateUtils.getDateFormatString(endDay,"yyyy-MM-dd HH:mm:ss"));
            dateList.add(eventWorkVO1);
        }
        return dateList;
    }
    public static void main(String[] args) {
        EventServiceImpl service = new EventServiceImpl();
        List<EventWorkVO> list = service.listHalfYearByDyn();
        System.out.println(list);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -980,4 +980,137 @@
            cmp.create_at DESC
    </select>
    <select id="countByCommunityId" resultType="Map">
        SELECT
            count( e.id ) AS resolvedNum,
            (
            SELECT
                count( e1.id )
            FROM
                `event` AS e1
                LEFT JOIN event_grid_data AS egd1 ON egd1.id = e1.grid_id
            WHERE
                egd1.grid_community_id = #{communityId}
                AND e1.event_category = 1
                AND e1.event_process_status = 1
                AND e1.event_status
                AND e1.event_deal_status = 1
            ) AS pendingNum,
            (
            SELECT
                count( e2.id )
            FROM
                `event` AS e2
                LEFT JOIN event_grid_data AS egd2 ON egd2.id = e2.grid_id
            WHERE
                egd2.grid_community_id = #{communityId}
                AND e2.event_category = 2
                AND e2.event_status = 2
            ) AS propagandaNum,
            (
            SELECT
                count( e3.id )
            FROM
                `event` AS e3
                LEFT JOIN event_grid_data AS egd3 ON egd3.id = e3.grid_id
            WHERE
                e3.event_status = 2
                AND e3.create_at LIKE CONCAT(#{nowDate},'%')) as currentNum
                FROM
                    `event` AS e
                    LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
                WHERE
                    egd.grid_community_id = #{communityId}
                    AND e.event_category = 1
                AND e.event_process_status = 2
            AND e.event_deal_status = 4
    </select>
    <select id="countByAvgCommunityId" resultType="com.panzhihua.common.model.vos.screen.DateScreenVO">
        SELECT
            e.create_at AS startTime,(
            SELECT
                e1.create_at
            FROM
                `event` AS e1
                LEFT JOIN event_grid_data AS egd1 ON egd1.id = e1.grid_id
            WHERE
                egd1.grid_community_id = #{communityId}
                AND e1.event_process_status = 2
            ORDER BY
                e1.create_at DESC
                LIMIT 1
            ) AS endTime
        FROM
            `event` AS e
            LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
        WHERE
            egd.grid_community_id = #{communityId}
            AND e.event_process_status = 2
        ORDER BY
            e.create_at ASC
            LIMIT 1
    </select>
    <select id="getWorkScreenEventList" resultType="com.panzhihua.common.model.vos.screen.EventDetailWorkVO">
        SELECT
            e.id,
            su.nick_name AS userName,
            su.image_url,
            e.create_at,
            e.event_type,
            e.event_process_status,
            e.event_deal_status,
            e.major,
            e.red_card,
            e.yellow_card,
            e.urgent,
            e.danger_level,
            e.event_des,
            e.happen_address,
            e.happent_address,
            e.happent_lat_lng
        FROM
            `event` AS e
            LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
            LEFT JOIN sys_user AS su ON su.user_id = e.grid_member_id
        WHERE
            egd.grid_community_id = #{communityId}
            AND e.event_status = 2
        ORDER BY
            e.create_at DESC
            LIMIT 10
    </select>
    <select id="countByTime" resultType="com.panzhihua.common.model.vos.screen.EventWorkVO">
        SELECT
        (
        SELECT
        COUNT( e.id )
        FROM
        `event` AS e
        LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
        WHERE
        egd.grid_community_id = #{communityId} and e.event_status = 2 AND e.create_at <![CDATA[<=]]> #{end}) AS eventTotal,
        (
        SELECT
        COUNT( e1.id )
        FROM
        `event` AS e1
        LEFT JOIN event_grid_data AS egd1 ON egd1.id = e1.grid_id
        WHERE
        egd1.grid_community_id = #{communityId} and e1.event_status = 2 AND #{start} <![CDATA[<=]]> e1.create_at AND e1.create_at <![CDATA[<=]]> #{end}) AS eventAdd,
        (
        SELECT
        COUNT( e2.id )
        FROM
        `event` AS e2
        LEFT JOIN event_grid_data AS egd2 ON egd2.id = e2.grid_id
        WHERE
        egd2.grid_community_id = #{communityId} and e2.event_process_status = 2 AND #{start} <![CDATA[<=]]> e2.create_at AND e2.create_at <![CDATA[<=]]> #{end}) AS eventSolve
        FROM
        DUAL
    </select>
</mapper>