From 47350935176939ea4559b4c618329657033dc6bc Mon Sep 17 00:00:00 2001 From: lichao <326994889@qq.com> Date: Wed, 31 May 2023 16:56:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=A7=A3=E5=86=B3=E7=BB=9F=E8=AE=A1=E3=80=81=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E8=B6=8B=E5=8A=BF=20=20=E5=A4=84=E7=90=86=EF=BC=9A?= =?UTF-8?q?=E5=8F=96=E5=87=BA&=E7=AC=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResolveTotalLineDetailResultDTO.java | 35 +++++ .../result/ResolveTotalLineResultDTO.java | 36 ++++++ .../item/result/ResolveTotalPieResultDTO.java | 30 +++++ .../controller/ItemScreenCountController.java | 27 ++++ .../esua/epdc/modules/item/dao/ItemDao.java | 23 ++++ .../modules/item/service/ItemService.java | 18 +++ .../item/service/impl/ItemServiceImpl.java | 69 ++++++++++ .../main/resources/mapper/item/ItemDao.xml | 120 +++++++++++++++++- 8 files changed, 354 insertions(+), 4 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineDetailResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalPieResultDTO.java diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineDetailResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineDetailResultDTO.java new file mode 100644 index 000000000..ebe49918e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineDetailResultDTO.java @@ -0,0 +1,35 @@ +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 大屏-解决趋势-SQL返回值DTO + * @Author wgf + * @Date 2022-10-11 + */ +@Data +public class ResolveTotalLineDetailResultDTO implements Serializable { + private static final long serialVersionUID = -2494874960456321677L; + + /** + * 时间 + */ + private String time; + + /** + * 解决 + */ + private String jj; + + /** + * 基本解决 + */ + private String jbjj; + + /** + * 未解决 + */ + private String wjj; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineResultDTO.java new file mode 100644 index 000000000..6348b54fe --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalLineResultDTO.java @@ -0,0 +1,36 @@ +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 大屏-极倔趋势-返回值DTO + * @Author wgf + * @Date 2022-10-11 + */ +@Data +public class ResolveTotalLineResultDTO implements Serializable { + private static final long serialVersionUID = -2494874960456321677L; + + /** + * 横坐标 + */ + private List xValue; + + /** + * 解决 + */ + private List jjArr; + + /** + * 基本解决 + */ + private List jbjjArr; + + /** + * 未解决 + */ + private List wjjArr; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalPieResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalPieResultDTO.java new file mode 100644 index 000000000..1f4da884d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ResolveTotalPieResultDTO.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 大屏-解决统计-返回值DTO + * @Author wgf + * @Date 2022-10-10 + */ +@Data +public class ResolveTotalPieResultDTO implements Serializable { + private static final long serialVersionUID = -2494874960456321677L; + + /** + * 名称 + */ + private String name; + + /** + * 值 + */ + private String value; + + /** + * 占比 + */ + private String proportion; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemScreenCountController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemScreenCountController.java index e09fb1c5e..d5498719d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemScreenCountController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemScreenCountController.java @@ -117,5 +117,32 @@ public class ItemScreenCountController { } + /** + * @Description: 大屏-解决统计 + * @param formDTO: + * @Return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lichao + * @Date: 2023/5/31 13:54 + */ + @GetMapping("resolveTotal") + public Result> resolveTotal(ScreenTotalFormDTO formDTO) { + List list = itemService.resolveTotal(formDTO); + return new Result>().ok(list); + } + + /** + * @Description: 大屏-解决趋势 + * @param formDTO: + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lichao + * @Date: 2023/5/31 13:54 + */ + @GetMapping("resolveTrend") + public Result resolveTrend(ScreenTotalFormDTO formDTO) { + ResolveTotalLineResultDTO list = itemService.resolveTrend(formDTO); + return new Result().ok(list); + } + + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java index 07b3e3d5d..198cbec31 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java @@ -502,6 +502,14 @@ public interface ItemDao extends BaseDao { */ List evaluationTotal(ScreenTotalFormDTO formDTO); + /** + * 解决统计 + * + * @param formDTO + * @return + */ + ListresolveTotal(ScreenTotalFormDTO formDTO); + /** * 满意度趋势-日数据 * @@ -510,6 +518,14 @@ public interface ItemDao extends BaseDao { */ List getEvaluationDataListByDays(ScreenTotalFormDTO formDTO); + /** + * 解决趋势-日数据 + * + * @param formDTO + * @return + */ + List getResolveDataListByDays(ScreenTotalFormDTO formDTO); + /** * 满意度趋势-月数据 * @@ -517,6 +533,13 @@ public interface ItemDao extends BaseDao { * @return */ List getEvaluationDataListByMonths(ScreenTotalFormDTO formDTO); + /** + * 解决趋势-月数据 + * + * @param formDTO + * @return + */ + List getResolveDataListByMonths(ScreenTotalFormDTO formDTO); List getItemStatisListPage(Map params); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index 2e318f841..dc389b3fb 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -783,4 +783,22 @@ public interface ItemService extends BaseService { Result changeRepeat(ItemChangeRepeatDTO dto); Result changeCategory(ItemChangeCategoryDTO dto); + + /** + * @Description: 解决统计 + * @param formDTO: + * @Return java.util.List + * @Author: lichao + * @Date: 2023/5/31 16:06 + */ + List resolveTotal(ScreenTotalFormDTO formDTO); + + /** + * @Description: 解决趋势 + * @param formDTO: + * @Return com.elink.esua.epdc.dto.item.result.ResolveTotalLineResultDTO + * @Author: lichao + * @Date: 2023/5/31 16:06 + */ + ResolveTotalLineResultDTO resolveTrend(ScreenTotalFormDTO formDTO); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 45a29c87f..1e937b1d3 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -2240,6 +2240,11 @@ public class ItemServiceImpl extends BaseServiceImpl implem */ private SendEventResultDto reportCaseNew(ItemHandleSubmitFormDTO dto) throws Exception { ItemEntity entity = baseDao.selectById(dto.getId()); + // 删除& 符号 + if (StringUtils.isNotBlank(entity.getIssueAddress()) && entity.getIssueAddress().contains("&")){ + String address = entity.getIssueAddress().replace("&", "-"); + entity.setIssueAddress(address); + } // 组装上报信息 SendEventFormDto sendEventFormDto = packageSendEventEntity(entity, dto); // 接口请求返回实体,getCode 1失败 0成功(非空) @@ -5185,6 +5190,70 @@ public class ItemServiceImpl extends BaseServiceImpl implem return new Result(); } + @Override + public List resolveTotal(ScreenTotalFormDTO formDTO) { + List list = baseDao.resolveTotal(formDTO); + + return list; + } + + @Override + public ResolveTotalLineResultDTO resolveTrend(ScreenTotalFormDTO formDTO) { + ResolveTotalLineResultDTO resultDTO = new ResolveTotalLineResultDTO(); + + // 时间数组 + List timeArr = new ArrayList<>(); + // 解决数组 + List jjArr = new ArrayList<>(); + // 未解决数组 + List wjjArr = new ArrayList<>(); + // 基本解决数组 + List jbjjArr = new ArrayList<>(); + + List dataList = new ArrayList<>(); + if (formDTO.getYearMonth().length() > 4) { + String[] arr = formDTO.getYearMonth().split("-"); + // 按日统计 + timeArr = YearMonthUtils.getMonthFullDay(Integer.parseInt(arr[0]), Integer.parseInt(arr[1])); + formDTO.setTimeArr(timeArr); + dataList = baseDao.getResolveDataListByDays(formDTO); + + } else { + // 按月统计 + timeArr = YearMonthUtils.getMonthBetween(formDTO.getYearMonth() + "-01", formDTO.getYearMonth() + "-12"); + formDTO.setTimeArr(timeArr); + dataList = baseDao.getResolveDataListByMonths(formDTO); + + } + + for (int i = 0; i < timeArr.size(); i++) { + Boolean flag = false; // 是否完成该时间赋值 + for (ResolveTotalLineDetailResultDTO dto : dataList) { + if (timeArr.get(i).equals(dto.getTime())) { + jjArr.add(dto.getJj()); + jbjjArr.add(dto.getJbjj()); + wjjArr.add(dto.getWjj()); + flag = true; + break; + } + } + // 判断该时间是否赋值 + if (!flag) { + jjArr.add("0"); + jbjjArr.add("0"); + wjjArr.add("0"); + } + } + + // 组装数据 + resultDTO.setXValue(timeArr); + resultDTO.setWjjArr(wjjArr); + resultDTO.setJjArr(jbjjArr); + resultDTO.setJjArr(jjArr); + + return resultDTO; + } + /** * 重新上报 * diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml index b300c1717..bd00c5af1 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -2889,10 +2889,10 @@ + + + + + UPDATE From 10a6048dcb6a3ca422d537bc55da42253dd6caa6 Mon Sep 17 00:00:00 2001 From: lichao <326994889@qq.com> Date: Thu, 1 Jun 2023 10:31:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A4=A7=E5=B1=8Fexcel=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=EF=BC=9A=E8=A7=A3=E5=86=B3=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/EventStatisticsResultDTO.java | 12 +++++ .../screen/dao/ScreenDeptEventStatDao.java | 7 +++ .../screen/excel/ScreenDataExportExcel.java | 5 ++ .../impl/ScreenDeptEventStatServiceImpl.java | 24 +++++++++ .../mapper/screen/ScreenDeptEventStatDao.xml | 52 +++++++++++++++++++ 5 files changed, 100 insertions(+) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java index d3835c073..4943bde87 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java @@ -1,5 +1,7 @@ package com.elink.esua.epdc.dto.screen.result; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; @@ -110,4 +112,14 @@ public class EventStatisticsResultDTO implements Serializable { private Integer gridCommunityDealNum; private Integer peopleNum; + + /** + * 解决数 + */ + private Integer resolveCount; + + /** + * 解决率 + */ + private String resolveRatio; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java index ae3e8e070..905c36947 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java @@ -93,6 +93,13 @@ public interface ScreenDeptEventStatDao extends BaseDao getSatisfiedInfo(EventStatisticsFormDTO formDTO); + /** + * 导出满意数满意率 + * @param formDTO + * @return + */ + List getResolveInfo(EventStatisticsFormDTO formDTO); + /** * 导出按时办结信息 * @param formDTO diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java index c4d74d481..3d50f93a4 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java @@ -65,4 +65,9 @@ public class ScreenDataExportExcel { @ColumnWidth(20) @ExcelProperty(value = "街道以下、部门办理诉求数", order = 18) private Integer gridCommunityDealNum; + @ExcelProperty(value = "解决数", order = 19) + private Integer resolveCount; + @ColumnWidth(20) + @ExcelProperty(value = "解决率", order = 20) + private String resolveRatio; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java index fa790d076..066182d5b 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java @@ -242,6 +242,9 @@ public class ScreenDeptEventStatServiceImpl extends BaseServiceImpl getResolveInfo(EventStatisticsFormDTO formDTO, List resultDTOList) { + List resultDto = baseDao.getResolveInfo(formDTO); + // 组装满意度信息 + for (EventStatisticsResultDTO totalDto : resultDTOList) { + for (EvaluationInfoResultDTO childDto : resultDto) { + if (totalDto.getDeptId().equals(childDto.getDeptId())) { + totalDto.setResolveCount(childDto.getValue()); + totalDto.setResolveRatio(childDto.getProportion()); + break; + } + } + } + return resultDTOList; + } + /** * 获取按期办结信息 * diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml index e6ae84dbc..1a765a51d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml @@ -294,6 +294,58 @@ + +