Browse Source

大屏事件统计

ftature/screen
lichao 2 years ago
parent
commit
dcf12e77fb
  1. 24
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/ScreenIssueCensusDTO.java
  2. 19
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java
  3. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  4. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  5. 23
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  6. 45
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

24
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/ScreenIssueCensusDTO.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.issue;
import com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO;
import lombok.Data;
import springfox.documentation.service.ApiListing;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 大屏统计
* @Author LC
* @Date 2019/9/6 15:58
*/
@Data
public class ScreenIssueCensusDTO implements Serializable {
private static final long serialVersionUID = 8931053684837605978L;
private String date;
private Integer count;
}

19
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java

@ -29,10 +29,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO;
import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO;
import com.elink.esua.epdc.dto.issue.*;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.modules.issue.excel.IssueExcel;
import com.elink.esua.epdc.modules.issue.service.IssueService;
@ -41,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -238,4 +236,17 @@ public class IssueController {
IssueContentDetailDTO data = issueService.getIssueContentDetail(id);
return new Result<IssueContentDetailDTO>().ok(data);
}
/**
* @Description: 锦水大屏月度统计
* @param id:
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.issue.IssueContentDetailDTO>
* @Author: lichao
* @Date: 2023/9/6 15:06
*/
@GetMapping("screenJinShui/issueCensus")
public Result<List<ScreenIssueCensusDTO>> screenIssueCensus(@RequestParam String startDate, @RequestParam String endDate, @RequestParam String type) {
List<ScreenIssueCensusDTO> result = issueService.screenIssueCensus(startDate,endDate,type);
return new Result<List<ScreenIssueCensusDTO>>().ok(result);
}
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -19,10 +19,7 @@ package com.elink.esua.epdc.modules.issue.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO;
import com.elink.esua.epdc.dto.issue.*;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
@ -217,4 +214,10 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* @Date 13:49 2022-01-10
**/
List<EditProgressResultDTO> selectListEditIssueProgress(@Param("issueId") String issueId);
List<ScreenIssueCensusDTO> screenIssueCensusForMonth(@Param("startDate")String startDate, @Param("endDate")String endDate);
List<ScreenIssueCensusDTO> screenIssueCensusForQuarter(@Param("startDate")String startDate, @Param("endDate")String endDate);
List<ScreenIssueCensusDTO> screenIssueCensusForYear(@Param("startDate")String startDate, @Param("endDate")String endDate);
}

8
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java

@ -23,11 +23,8 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.*;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO;
import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
@ -37,6 +34,7 @@ import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -308,4 +306,6 @@ public interface IssueService extends BaseService<IssueEntity> {
PageData<IssueWaitHandleOrClosedDTO> screenJinShuiList(Map<String, Object> params);
List<ScreenIssueCensusDTO> screenIssueCensus(String startDate, String endDate, String type);
}

23
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -760,4 +760,27 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
}
@Override
public List<ScreenIssueCensusDTO> screenIssueCensus(String startDate, String endDate, String type) {
List<ScreenIssueCensusDTO> result = new ArrayList<>();
// type 月份 季度 年份
if (type.equals("month")){
result = baseDao.screenIssueCensusForMonth(startDate,endDate);
}else if (type.equals("quarter")){
result = baseDao.screenIssueCensusForQuarter(startDate,endDate);
}else if (type.equals("year")){
result = baseDao.screenIssueCensusForYear(startDate,endDate);
}
return result;
}
}

45
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -718,4 +718,49 @@
AND hd.ISSUE_ID = #{issueId}
ORDER BY hd.CREATED_TIME DESC
</select>
<select id="screenIssueCensusForMonth" resultType="com.elink.esua.epdc.dto.issue.ScreenIssueCensusDTO">
SELECT
DATE_FORMAT(issue.CREATED_TIME,'%Y-%m') AS date,
COUNT(*) AS count
FROM
epdc_issue issue
WHERE
STR_TO_DATE(issue.CREATED_TIME, '%Y-%m') BETWEEN STR_TO_DATE(#{startDate}, '%Y-%m') AND STR_TO_DATE(#{endDate}, '%Y-%m')
AND issue.DEL_FLAG = '0'
GROUP BY
date
</select>
<select id="screenIssueCensusForQuarter" resultType="com.elink.esua.epdc.dto.issue.ScreenIssueCensusDTO">
SELECT
CONCAT(YEAR(issue.CREATED_TIME), '-第',QUARTER(issue.CREATED_TIME),'季度') AS date,
COUNT(*) AS count
FROM
epdc_issue issue
WHERE
STR_TO_DATE(issue.CREATED_TIME, '%Y-%m') BETWEEN STR_TO_DATE(#{startDate}, '%Y-%m') AND STR_TO_DATE(#{endDate}, '%Y-%m')
AND issue.DEL_FLAG = '0'
GROUP BY
date
</select>
<select id="screenIssueCensusForYear" resultType="com.elink.esua.epdc.dto.issue.ScreenIssueCensusDTO">
SELECT
YEAR(issue.CREATED_TIME) AS date,
COUNT(*) AS count
FROM
epdc_issue issue
WHERE
YEAR(issue.CREATED_TIME) BETWEEN CAST(#{startDate} as SIGNED) AND CAST(#{endDate} as SIGNED)
AND issue.DEL_FLAG = '0'
GROUP BY
date
</select>
</mapper>

Loading…
Cancel
Save