Browse Source

Merge branch 'feature/bssb_screen' into feature/shenyan_shangbao

# Conflicts:
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
feature/dangjian
zhangyuan 3 years ago
parent
commit
2b2c33bbc3
  1. 7
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
  2. 13
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java
  3. 31
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemWhistle2GovFormDTO.java
  4. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealSuperviseResultDTO.java
  5. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealWhistleFeedbackResultDTO.java
  6. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealWhistleReportRejectResultDTO.java
  7. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java
  8. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java
  9. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java
  10. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java
  11. 166
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  12. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  13. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java
  14. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  15. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java
  16. 144
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  17. 72
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java
  18. 42
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenController.java
  19. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java
  20. 38
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java
  21. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenDeptEventStatService.java
  22. 24
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java
  23. 1
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/logback-spring.xml
  24. 179
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  25. 79
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml
  26. 2
      esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java

7
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java

@ -72,6 +72,11 @@ public class ItemDTO implements Serializable {
*/ */
private String issueContent; private String issueContent;
/**
* 议题内容
*/
private String itemContent;
/** /**
* *
*/ */
@ -125,7 +130,7 @@ public class ItemDTO implements Serializable {
/** /**
* 议题位置纬度 * 议题位置纬度
*/ */
private Double issusLatitude; private Double issueLatitude;
/** /**
* 议题位置经度 * 议题位置经度

13
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java

@ -112,5 +112,18 @@ public class ItemPendingHandleDTO implements Serializable {
* 属事网格 * 属事网格
*/ */
private String gridName; private String gridName;
/**
* 诉求类型
*/
private String peopleFlagName;
/**
* 项目状态
*/
private String itemStateName;
/**
* 流程状态
*/
private String processState;
} }

31
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemWhistle2GovFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* 吹哨给市平台
*
* @author zhy
* @date 2022/10/24 14:11
*/
@Data
public class ItemWhistle2GovFormDTO implements Serializable {
private static final long serialVersionUID = -5395350316792859552L;
/**
* 项目ID
*/
@NotBlank(message = "项目ID不能为空")
private String id;
/**
* 处理意见内部
*/
@Size(min = 1, max = 500, message = "处理意见在500字以内")
private String reason;
}

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealSuperviseResultDTO.java

@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class AppealSuperviseResultDTO { public class AppealSuperviseResultDTO {
@ -11,6 +13,7 @@ public class AppealSuperviseResultDTO {
/** /**
* 诉求标识 * 诉求标识
*/ */
@NotBlank(message = "诉求ID不能为空")
@JsonProperty("sqid") @JsonProperty("sqid")
private String sqid; private String sqid;

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealWhistleFeedbackResultDTO.java

@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class AppealWhistleFeedbackResultDTO { public class AppealWhistleFeedbackResultDTO {
@ -11,6 +13,7 @@ public class AppealWhistleFeedbackResultDTO {
/** /**
* 唯一标识 * 唯一标识
*/ */
@NotBlank(message = "诉求ID不能为空")
@JsonProperty("sqid") @JsonProperty("sqid")
private String sqid; private String sqid;

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/AppealWhistleReportRejectResultDTO.java

@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class AppealWhistleReportRejectResultDTO { public class AppealWhistleReportRejectResultDTO {
@ -11,6 +13,7 @@ public class AppealWhistleReportRejectResultDTO {
/** /**
* 唯一标识 * 唯一标识
*/ */
@NotBlank(message = "诉求ID不能为空")
@JsonProperty("sqid") @JsonProperty("sqid")
private String sqid; private String sqid;

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java

@ -27,4 +27,7 @@ public class EventStatisticsFormDTO implements Serializable {
private String peopleFlag = ""; private String peopleFlag = "";
private String sort = ""; private String sort = "";
private String sortType = "desc"; private String sortType = "desc";
private String mobile;
private String category;
private String evaluationScore;
} }

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java

@ -54,4 +54,6 @@ public class EventStatisticsResultDTO implements Serializable {
private Integer developClosedCount; private Integer developClosedCount;
@JsonIgnore @JsonIgnore
private Integer lawClosedCount; private Integer lawClosedCount;
private Integer responseCount;
} }

5
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java

@ -54,6 +54,11 @@ public enum ItemGridPlatformHandleStatusEnum {
HANDLE_XFPJ(1105, "下发评价"), HANDLE_XFPJ(1105, "下发评价"),
HANDLE_CYSQ(1106, "初验申请"), HANDLE_CYSQ(1106, "初验申请"),
//**********市级青诉即办平台状态**********
HANDLE_QSJB_DB(2018, "诉求督办"),
HANDLE_QSJB_BH(2020, "吹哨驳回"),
HANDLE_QSJB_FK(2021, "吹哨反馈"),
HANDLE_OTHER(999, "派遣中"); HANDLE_OTHER(999, "派遣中");

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java

@ -17,6 +17,10 @@ public enum ItemHandleCategoryEnum {
HANDLE_I_HANDLE_GRID(12, "响应拟办"),// 等同于网格回应 2022.9.4需求变更 HANDLE_I_HANDLE_GRID(12, "响应拟办"),// 等同于网格回应 2022.9.4需求变更
HANDLE_I_HANDLE_COMMUNITY(13, "直接办理"),// 等同于社区回应 2022.9.4需求变更 HANDLE_I_HANDLE_COMMUNITY(13, "直接办理"),// 等同于社区回应 2022.9.4需求变更
HANDLE_I_HANDLE_COMMUNITY_REJECT(14, "社区驳回"),// 2022.9.4需求变更 HANDLE_I_HANDLE_COMMUNITY_REJECT(14, "社区驳回"),// 2022.9.4需求变更
/**
* 吹哨市平台
*/
HANDLE_I_HANDLE_GOV_WHISTLE(16, "吹哨上报"),
HANDLE_CIRCULATION_ASSISTANCE(1, "吹哨"), HANDLE_CIRCULATION_ASSISTANCE(1, "吹哨"),
HANDLE_CLOSE(5, "不予受理"), // 之前的关闭 2022.9.4需求变更 HANDLE_CLOSE(5, "不予受理"), // 之前的关闭 2022.9.4需求变更
HANDLE_CLOSE_APPLY(6, "不予受理申请"), // 2022.9.7需求变更 HANDLE_CLOSE_APPLY(6, "不予受理申请"), // 2022.9.7需求变更

166
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -110,6 +110,20 @@ public class ItemController {
return new Result<PageData<ItemPendingHandleDTO>>().ok(page); return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
} }
/**
* 在党群E家流转中尚未报到区平台的项目列表
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @author zhy
* @date 2022/10/24 15:15
*/
@GetMapping("epdcpage")
public Result<PageData<ItemPendingHandleDTO>> epdcPage(@RequestParam Map<String, Object> params) {
PageData<ItemPendingHandleDTO> page = itemService.listEpdcItems(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/** /**
* 项目驳回列表 * 项目驳回列表
* *
@ -211,7 +225,6 @@ public class ItemController {
} }
/** /**
* 项目内容详情 * 项目内容详情
* *
@ -295,14 +308,14 @@ public class ItemController {
} }
/** /**
* @Description: 项目管理已超时表格查询 * @Description: 项目管理已超时表格查询
* @Param: [params] * @Param: [params]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemTimeoutDTO>> * @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemTimeoutDTO>>
* @Author: wk * @Author: wk
* @Date: 2020/6/15 * @Date: 2020/6/15
*/ */
@GetMapping("itemOutPage") @GetMapping("itemOutPage")
public Result<PageData<ItemTimeOutDTO>> itemOutPage(@RequestParam Map<String, Object> params){ public Result<PageData<ItemTimeOutDTO>> itemOutPage(@RequestParam Map<String, Object> params) {
PageData<ItemTimeOutDTO> page = itemTimeoutService.listOfItemsForPCEnd(params); PageData<ItemTimeOutDTO> page = itemTimeoutService.listOfItemsForPCEnd(params);
return new Result<PageData<ItemTimeOutDTO>>().ok(page); return new Result<PageData<ItemTimeOutDTO>>().ok(page);
} }
@ -310,54 +323,58 @@ public class ItemController {
/** /**
* @Description: 项目管理超时项目单条数据查询 * @Description: 项目管理超时项目单条数据查询
* @Param: [params] * @Param: [params]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemTimeoutDTO>> * @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemTimeoutDTO>>
* @Author: wk * @Author: wk
* @Date: 2020/6/15 * @Date: 2020/6/15
*/ */
@GetMapping("itemOut/{id}") @GetMapping("itemOut/{id}")
public Result<ItemTimeOutDTO> itemOutById(@PathVariable("id") String id){ public Result<ItemTimeOutDTO> itemOutById(@PathVariable("id") String id) {
ItemTimeOutDTO returnDto = itemTimeoutService.selectItemTimeOutById(id); ItemTimeOutDTO returnDto = itemTimeoutService.selectItemTimeOutById(id);
return new Result<ItemTimeOutDTO>().ok(returnDto); return new Result<ItemTimeOutDTO>().ok(returnDto);
} }
/** /**
* 项目管理 - 导出 * 项目管理 - 导出
*
* @param params * @param params
* @param response * @param response
* @throws Exception * @throws Exception
*/ */
@GetMapping("unexport") @GetMapping("unexport")
public void unexport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void unexport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ItemPendingHandleDTO> list= itemService.unExportList(params); List<ItemPendingHandleDTO> list = itemService.unExportList(params);
ExcelUtils.exportExcelToTarget(response, "null", list, StayItemExcel.class); ExcelUtils.exportExcelToTarget(response, "null", list, StayItemExcel.class);
} }
/** /**
* 项目管理 - 驳回导出 * 项目管理 - 驳回导出
*
* @param params * @param params
* @param response * @param response
* @throws Exception * @throws Exception
*/ */
@GetMapping("rejectUnexport") @GetMapping("rejectUnexport")
public void rejectUnexport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void rejectUnexport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ItemPendingHandleDTO> list= itemService.rejectUnexport(params); List<ItemPendingHandleDTO> list = itemService.rejectUnexport(params);
ExcelUtils.exportExcelToTarget(response, "null", list, StayItemExcel.class); ExcelUtils.exportExcelToTarget(response, "null", list, StayItemExcel.class);
} }
/** /**
* 项目管理 - 已超时 -导出 * 项目管理 - 已超时 -导出
*
* @param params * @param params
* @param response * @param response
* @throws Exception * @throws Exception
*/ */
@GetMapping("itemOutexport") @GetMapping("itemOutexport")
public void itemOutExport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void itemOutExport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ItemTimeOutDTO> list= itemTimeoutService.itemOutExportList(params); List<ItemTimeOutDTO> list = itemTimeoutService.itemOutExportList(params);
ExcelUtils.exportExcelToTarget(response, "已超时", list, ItemTimeoutNewExcel.class); ExcelUtils.exportExcelToTarget(response, "已超时", list, ItemTimeoutNewExcel.class);
} }
/**
* 项目管理 - 已超时 -导出
/**
* 项目管理 - 已超时 -导出
*
* @throws Exception * @throws Exception
*/ */
@GetMapping("itemTimeOut") @GetMapping("itemTimeOut")
@ -368,51 +385,51 @@ public class ItemController {
/** /**
* @describe: 北尚诉求列表 * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>>
* @author wangtong * @describe: 北尚诉求列表
* @date 2022/9/3 15:39 * @author wangtong
* @params [dto] * @date 2022/9/3 15:39
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>> * @params [dto]
*/ */
@GetMapping("getItemAppealPage") @GetMapping("getItemAppealPage")
public Result<PageData<ItemAppealPageResultDTO>> getItemAppealPage(@RequestParam Map<String, Object> params){ public Result<PageData<ItemAppealPageResultDTO>> getItemAppealPage(@RequestParam Map<String, Object> params) {
PageData<ItemAppealPageResultDTO> page = itemService.getItemAppealPage(params); PageData<ItemAppealPageResultDTO> page = itemService.getItemAppealPage(params);
return new Result<PageData<ItemAppealPageResultDTO>>().ok(page); return new Result<PageData<ItemAppealPageResultDTO>>().ok(page);
} }
/** /**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>>
* @describe: 北尚诉求列表(不满意列表) * @describe: 北尚诉求列表(不满意列表)
* @author wgf * @author wgf
* @date 2022/10/10 08:39 * @date 2022/10/10 08:39
* @params [dto] * @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>>
*/ */
@GetMapping("getItemAppealPageUnsatisfactory") @GetMapping("getItemAppealPageUnsatisfactory")
public Result<PageData<ItemAppealPageResultDTO>> getItemAppealPageUnsatisfactory(@RequestParam Map<String, Object> params){ public Result<PageData<ItemAppealPageResultDTO>> getItemAppealPageUnsatisfactory(@RequestParam Map<String, Object> params) {
PageData<ItemAppealPageResultDTO> page = itemService.getItemAppealPageUnsatisfactory(params); PageData<ItemAppealPageResultDTO> page = itemService.getItemAppealPageUnsatisfactory(params);
return new Result<PageData<ItemAppealPageResultDTO>>().ok(page); return new Result<PageData<ItemAppealPageResultDTO>>().ok(page);
} }
/** /**
* @describe: 北尚诉求详情 * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>>
* @author wangtong * @describe: 北尚诉求详情
* @date 2022/9/3 16:06 * @author wangtong
* @params [id] * @date 2022/9/3 16:06
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>> * @params [id]
*/ */
@GetMapping("getItemAppealDetail/{id}") @GetMapping("getItemAppealDetail/{id}")
public Result<ItemAppealDetailResultDTO> getItemAppealDetail(@PathVariable("id") String id){ public Result<ItemAppealDetailResultDTO> getItemAppealDetail(@PathVariable("id") String id) {
return itemService.getItemAppealDetail(id); return itemService.getItemAppealDetail(id);
} }
/** /**
* @describe: 获取社区结案审批列表 * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @author wangtong * @describe: 获取社区结案审批列表
* @date 2022/9/4 17:44 * @author wangtong
* @params [params] * @date 2022/9/4 17:44
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>> * @params [params]
*/ */
@GetMapping("getExaminePage") @GetMapping("getExaminePage")
public Result<PageData<ItemExaminePageResultDTO>> getExaminePage(@RequestParam Map<String, Object> params) { public Result<PageData<ItemExaminePageResultDTO>> getExaminePage(@RequestParam Map<String, Object> params) {
PageData<ItemExaminePageResultDTO> page = itemService.getExaminePage(params); PageData<ItemExaminePageResultDTO> page = itemService.getExaminePage(params);
@ -421,12 +438,12 @@ public class ItemController {
/** /**
* @describe: 社区审批结案申请 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 社区审批结案申请
* @date 2022/9/5 10:18 * @author wangtong
* @params [formDto] * @date 2022/9/5 10:18
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params [formDto]
*/ */
@PostMapping("examineCase") @PostMapping("examineCase")
public Result examineCase(@RequestBody ExamineCaseFormDTO formDto) { public Result examineCase(@RequestBody ExamineCaseFormDTO formDto) {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDto);
@ -434,11 +451,11 @@ public class ItemController {
} }
/** /**
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 接受网格化平台项目处理结果结案/驳回 * @describe: 接受网格化平台项目处理结果结案/驳回
* @author wangtong * @author wangtong
* @date 2022/9/6 17:03 * @date 2022/9/6 17:03
* @params [formDto] * @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/ */
@PostMapping("pushItemProcess") @PostMapping("pushItemProcess")
public Result pushItemProcess(@RequestBody AcceptPlantformProcessDTO formDto) { public Result pushItemProcess(@RequestBody AcceptPlantformProcessDTO formDto) {
@ -451,7 +468,7 @@ public class ItemController {
* 逻辑同方法 getItemAppealPage * 逻辑同方法 getItemAppealPage
*/ */
@GetMapping("getItemStatisListPage") @GetMapping("getItemStatisListPage")
public Result<PageData<ItemStatisListPageResultDTO>> getItemStatisListPage(@RequestParam Map<String, Object> params){ public Result<PageData<ItemStatisListPageResultDTO>> getItemStatisListPage(@RequestParam Map<String, Object> params) {
PageData<ItemStatisListPageResultDTO> page = itemService.getItemStatisListPage(params); PageData<ItemStatisListPageResultDTO> page = itemService.getItemStatisListPage(params);
return new Result<PageData<ItemStatisListPageResultDTO>>().ok(page); return new Result<PageData<ItemStatisListPageResultDTO>>().ok(page);
} }
@ -461,16 +478,16 @@ public class ItemController {
* 逻辑同方法 getItemAppealDetail * 逻辑同方法 getItemAppealDetail
*/ */
@GetMapping("getItemStatisListDetail/{id}") @GetMapping("getItemStatisListDetail/{id}")
public Result<ItemAppealDetailResultDTO> getItemStatisListDetail(@PathVariable("id") String id){ public Result<ItemAppealDetailResultDTO> getItemStatisListDetail(@PathVariable("id") String id) {
return itemService.getItemAppealDetail(id); return itemService.getItemAppealDetail(id);
} }
/** /**
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 接受网格化平台项目难点堵点 * @describe: 接受网格化平台项目难点堵点
* @author wgf * @author wgf
* @date 2022/10/14 09:03 * @date 2022/10/14 09:03
* @params [formDto] * @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/ */
@PostMapping("pushItemDifficulty") @PostMapping("pushItemDifficulty")
public Result pushItemDifficulty(@RequestBody AcceptItemDifficultyOutFormDTO formDto) { public Result pushItemDifficulty(@RequestBody AcceptItemDifficultyOutFormDTO formDto) {
@ -480,54 +497,69 @@ public class ItemController {
/** /**
* 根据经纬度查询部门下附近项目数据 * 根据经纬度查询部门下附近项目数据
*
* @param params * @param params
* @return * @return
*/ */
@GetMapping("getItemListByAddress") @GetMapping("getItemListByAddress")
public Result<List<ItemListByAddressResultDTO>> getItemListByAddress(@RequestParam Map<String, Object> params){ public Result<List<ItemListByAddressResultDTO>> getItemListByAddress(@RequestParam Map<String, Object> params) {
return new Result<List<ItemListByAddressResultDTO>>().ok(itemService.getItemListByAddress(params)); return new Result<List<ItemListByAddressResultDTO>>().ok(itemService.getItemListByAddress(params));
} }
/** /**
* 接受市平台诉求督办 * 吹哨上报-吹哨给市级青诉即办平台
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:13
*/
@PostMapping("whistle")
public Result whistle2Gov(@RequestBody ItemWhistle2GovFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return itemService.whistle2Gov(formDTO);
}
/**
* 市级青诉即办平台对区诉求进行在线督办
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:13 * @date 2022/10/21 16:13
*/ */
@PostMapping("gov/case/supervise") @PostMapping("gov/case/supervise")
public Result supervise(@RequestBody AppealSuperviseResultDTO formDto) { public Result supervise(@RequestBody AppealSuperviseResultDTO formDTO) {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDTO);
return itemService.supervise(formDto); return itemService.supervise(formDTO);
} }
/** /**
* 接受市平台吹哨驳回 * 平台驳回上报的吹哨诉求
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:13 * @date 2022/10/21 16:13
*/ */
@PostMapping("gov/case/whistle/reportreject") @PostMapping("gov/case/whistle/reportreject")
public Result reportReject(@RequestBody AppealWhistleReportRejectResultDTO formDto) { public Result reportReject(@RequestBody AppealWhistleReportRejectResultDTO formDTO) {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDTO);
return itemService.reportReject(formDto); return itemService.reportReject(formDTO);
} }
/** /**
* 接受市平台吹哨反馈 * 市级平台向区平台反馈吹哨诉求的处置结果
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:13 * @date 2022/10/21 16:13
*/ */
@PostMapping("gov/case/whistle/feedback") @PostMapping("gov/case/whistle/feedback")
public Result feedback(@RequestBody AppealWhistleFeedbackResultDTO formDto) { public Result feedback(@RequestBody AppealWhistleFeedbackResultDTO formDTO) {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDTO);
return itemService.feedback(formDto); return itemService.feedback(formDTO);
} }
/** /**

12
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -160,6 +160,8 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/ */
List<ItemPendingHandleDTO> selectListOfPendingHandleItems(Map<String, Object> params); List<ItemPendingHandleDTO> selectListOfPendingHandleItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO); List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO);
List<ItemPendingHandleDTO> itemPageList(Map<String, Object> params); List<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);
@ -459,6 +461,16 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/ */
String getSqid(@Param("itemId") String itemId); String getSqid(@Param("itemId") String itemId);
/**
* 根据诉求ID查询项目信息
*
* @param sqid
* @return java.lang.String
* @author zhy
* @date 2022/9/19 10:51
*/
ItemEntity getItemBySqid(@Param("sqid") String sqid);
/** /**
* 获取市平台诉求ID * 获取市平台诉求ID
* *

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java

@ -274,4 +274,8 @@ public class ItemEntity extends BaseEpdcEntity {
*/ */
private String isDifficulty; private String isDifficulty;
/**
* 是否市平台督办0否1是
*/
private String isWhistle;
} }

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java

@ -66,6 +66,17 @@ public interface ItemService extends BaseService<ItemEntity> {
* @Date: 2019/9/12 18:17 * @Date: 2019/9/12 18:17
*/ */
PageData<ItemPendingHandleDTO> listOfItemsForPCEnd(Map<String, Object> params); PageData<ItemPendingHandleDTO> listOfItemsForPCEnd(Map<String, Object> params);
/**
* 在党群E家流转中尚未报到区平台的项目列表
*
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>
* @author zhy
* @date 2022/10/25 10:34
*/
PageData<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO); List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO);
PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params); PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);
@ -677,35 +688,45 @@ public interface ItemService extends BaseService<ItemEntity> {
List<ItemListByAddressResultDTO> getItemListByAddress(Map<String, Object> params); List<ItemListByAddressResultDTO> getItemListByAddress(Map<String, Object> params);
/**
* 吹哨上报-吹哨给市级青诉即办平台
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:16
*/
Result whistle2Gov(ItemWhistle2GovFormDTO formDTO);
/** /**
* 接受市平台诉求督办 * 接受市平台诉求督办
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:16 * @date 2022/10/21 16:16
*/ */
Result supervise(AppealSuperviseResultDTO formDto); Result supervise(AppealSuperviseResultDTO formDTO);
/** /**
* 接受市平台吹哨驳回 * 接受市平台吹哨驳回
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:16 * @date 2022/10/21 16:16
*/ */
Result reportReject(AppealWhistleReportRejectResultDTO formDto); Result reportReject(AppealWhistleReportRejectResultDTO formDTO);
/** /**
* 接受市平台吹哨反馈 * 接受市平台吹哨反馈
* *
* @param formDto * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy * @author zhy
* @date 2022/10/21 16:16 * @date 2022/10/21 16:16
*/ */
Result feedback(AppealWhistleFeedbackResultDTO formDto); Result feedback(AppealWhistleFeedbackResultDTO formDTO);
/** /**

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java

@ -19,7 +19,9 @@ package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO;
/** /**
* 青岛市青诉即办平台接入 * 青岛市青诉即办平台接入
@ -77,7 +79,7 @@ public interface PushToCityGridService {
* @author zhy * @author zhy
* @date 2022/9/19 9:51 * @date 2022/9/19 9:51
*/ */
void appealWhistleReport(); void appealWhistleReport(ItemWhistle2GovFormDTO itemDTO);
/** /**
* 吹哨驳回 * 吹哨驳回

144
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -369,6 +369,15 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
@Override
public PageData<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params) {
IPage<ItemPendingHandleDTO> page = getPage(params);
List<ItemPendingHandleDTO> list = baseDao.listEpdcItems(params);
Map<String, Long> map = listItemHandleDept();
list.forEach(item -> item.setItemHandleDeptId(map.get(item.getId())));
return new PageData<>(list, page.getTotal());
}
@Override @Override
public PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params) { public PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params) {
IPage<ItemPendingHandleDTO> page = getPage(params); IPage<ItemPendingHandleDTO> page = getPage(params);
@ -799,7 +808,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
throw new RenException("未查到用户相关部门信息。"); throw new RenException("未查到用户相关部门信息。");
} }
ParentAndAllDeptDTO deptMsg = deptDTO.getData(); ParentAndAllDeptDTO deptMsg = deptDTO.getData();
logger.info("获取完部门数据:" + deptMsg);
ItemEntity entity = new ItemEntity(); ItemEntity entity = new ItemEntity();
entity.setUserId(user.getId().toString()); entity.setUserId(user.getId().toString());
entity.setNickName(user.getUsername()); entity.setNickName(user.getUsername());
@ -822,7 +831,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
entity.setIssueLongitude(formDto.getLongitude()); entity.setIssueLongitude(formDto.getLongitude());
entity.setIssueLatitude(formDto.getLatitude()); entity.setIssueLatitude(formDto.getLatitude());
baseDao.insert(entity); baseDao.insert(entity);
logger.info("成功插入关联项目:" + entity);
return new Result().ok(entity.getId()); return new Result().ok(entity.getId());
} }
@ -1765,7 +1774,6 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
itemInformationService.insert(itemInfoEachDto); itemInformationService.insert(itemInfoEachDto);
} }
// 关闭和结案处理 // 关闭和结案处理
} else { } else {
log.info("处理项目-查询已吹哨部门"); log.info("处理项目-查询已吹哨部门");
@ -2760,9 +2768,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
returnMsgBody = processHistory.toString(); returnMsgBody = processHistory.toString();
List<EventProcessResultDto> progressList = processHistory.getHISTORY(); List<EventProcessResultDto> progressList = processHistory.getHISTORY();
if (null != progressList && progressList.size() > 0) { if (null != progressList && progressList.size() > 0) {
// 删除已有的<网格化平台处理记录>
//22.9.22 之前是全删全中曾逻辑 现在不在删除历史数据 只是增加历史数据时间之后的新数据 //22.9.22 之前是全删全中曾逻辑 现在不在删除历史数据 只是增加历史数据时间之后的新数据
//this.removeOldHandleProcess(dto.getId());
// 保存新的处理记录 // 保存新的处理记录
this.insertNewHandleProcess(progressList, dto.getReferenceId(), dto.getId()); this.insertNewHandleProcess(progressList, dto.getReferenceId(), dto.getId());
// 查询最新处理情况 // 查询最新处理情况
@ -2820,7 +2826,13 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
wrapper.eq("created_by", "网格化平台"); wrapper.eq("created_by", "网格化平台");
wrapper.eq("del_flag", NumConstant.ZERO_STR); wrapper.eq("del_flag", NumConstant.ZERO_STR);
// 任何主动在流程表里插入的网格化操作都应该在过滤列表中,为了能够正常拉取网格化流程数据 // 任何主动在流程表里插入的网格化操作都应该在过滤列表中,为了能够正常拉取网格化流程数据
wrapper.notIn("state", ItemGridPlatformHandleStatusEnum.HANDLE_BH.getValue(), ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue()); wrapper.notIn("state",
ItemGridPlatformHandleStatusEnum.HANDLE_BH.getValue(),
ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue(),
ItemHandleCategoryEnum.HANDLE_I_HANDLE_GOV_WHISTLE.getValue(),
ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_BH.getValue(),
ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_FK.getValue(),
ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_DB.getValue());
wrapper.orderByDesc("created_time"); wrapper.orderByDesc("created_time");
wrapper.last("limit 1"); wrapper.last("limit 1");
ItemHandleProcessEntity processEntity = itemHandleProcessDao.selectOne(wrapper); ItemHandleProcessEntity processEntity = itemHandleProcessDao.selectOne(wrapper);
@ -3910,7 +3922,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
} }
if ("0".equals(formDto.getState())) { if ("0".equals(formDto.getState())) {
ItemEntity item = baseDao.selectById(itemPlat.getReferenceId()); ItemEntity item = baseDao.selectById(itemPlat.getReferenceId());
log.info("根据id查询数据");
itemHandleProcessDto.setState(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue()); itemHandleProcessDto.setState(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
//判断最后一条处理进展是吹哨还是结案,结案:取第一条处置意见;吹哨:取平台处置意见 //判断最后一条处理进展是吹哨还是结案,结案:取第一条处置意见;吹哨:取平台处置意见
if ("1".equals(item.getPeopleFlag()) || "2".equals(item.getPeopleFlag())) { if ("1".equals(item.getPeopleFlag()) || "2".equals(item.getPeopleFlag())) {
@ -3960,10 +3972,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
itemHandleProcessDto.setUpdatedTime(new Date()); itemHandleProcessDto.setUpdatedTime(new Date());
itemHandleProcessService.saveItemHandleProcess(itemHandleProcessDto); itemHandleProcessService.saveItemHandleProcess(itemHandleProcessDto);
if(StringUtils.isNotBlank(firstHandleId)){ if (StringUtils.isNotBlank(firstHandleId)) {
// 插入第一级结案申请时的图片 // 插入第一级结案申请时的图片
List<ImgEntity> imageList = imgDao.selectListByRefeId(firstHandleId); List<ImgEntity> imageList = imgDao.selectListByRefeId(firstHandleId);
for(ImgEntity imgEntity : imageList){ for (ImgEntity imgEntity : imageList) {
imgEntity.setId(null); imgEntity.setId(null);
imgEntity.setReferenceId(itemHandleProcessDto.getId()); imgEntity.setReferenceId(itemHandleProcessDto.getId());
imgDao.insert(imgEntity); imgDao.insert(imgEntity);
@ -4078,7 +4090,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
//入参集合为空或者集合里时间参数都为空时 //入参集合为空或者集合里时间参数都为空时
if (params.isEmpty() || ( if (params.isEmpty() || (
(!params.containsKey("startTime") || StringUtils.isEmpty(params.get("startTime").toString())) (!params.containsKey("startTime") || StringUtils.isEmpty(params.get("startTime").toString()))
&& (!params.containsKey("endTime") || StringUtils.isEmpty(params.get("endTime").toString()))) && (!params.containsKey("endTime") || StringUtils.isEmpty(params.get("endTime").toString())))
) { ) {
DateTime dateTime = new DateTime(new Date()); DateTime dateTime = new DateTime(new Date());
Date d = dateTime.plusDays(-1).toDate(); Date d = dateTime.plusDays(-1).toDate();
@ -4095,7 +4107,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
// 返回值 // 返回值
List<CategoryAnalysisPieResultDTO> resultList = new ArrayList<CategoryAnalysisPieResultDTO>(); List<CategoryAnalysisPieResultDTO> resultList = new ArrayList<CategoryAnalysisPieResultDTO>();
if("0".equals(formDTO.getIsElse())){ if ("0".equals(formDTO.getIsElse())) {
// 城市综合 // 城市综合
// 定义初始【城市综合】5大类 // 定义初始【城市综合】5大类
List<String> cityCompre = new ArrayList<>(); List<String> cityCompre = new ArrayList<>();
@ -4108,37 +4120,37 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisSecond(formDTO); List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisSecond(formDTO);
// 其他总数 // 其他总数
Integer elseValue = 0; Integer elseValue = 0;
for(CategoryAnalysisPieResultDTO dto : list){ for (CategoryAnalysisPieResultDTO dto : list) {
if(cityCompre.contains(dto.getName())){ if (cityCompre.contains(dto.getName())) {
String newName = dto.getName(); String newName = dto.getName();
dto.setName(newName.replace("城市综合-","")); dto.setName(newName.replace("城市综合-", ""));
resultList.add(dto); resultList.add(dto);
}else{ } else {
elseValue += Integer.parseInt(dto.getValue()); elseValue += Integer.parseInt(dto.getValue());
} }
} }
// 定义【其 // 定义【其
CategoryAnalysisPieResultDTO elseCategory = new CategoryAnalysisPieResultDTO(); CategoryAnalysisPieResultDTO elseCategory = new CategoryAnalysisPieResultDTO();
elseCategory.setCode("其"); elseCategory.setCode("其");
elseCategory.setName("其"); elseCategory.setName("其");
elseCategory.setValue(elseValue.toString()); elseCategory.setValue(elseValue.toString());
resultList.add(elseCategory); resultList.add(elseCategory);
}else{ } else {
// 其他 // 其他
// 总数 // 总数
Integer total = 0; Integer total = 0;
List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisFirst(formDTO); List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisFirst(formDTO);
for(CategoryAnalysisPieResultDTO dto1 : list){ for (CategoryAnalysisPieResultDTO dto1 : list) {
total += Integer.parseInt(dto1.getValue()); total += Integer.parseInt(dto1.getValue());
} }
for(CategoryAnalysisPieResultDTO dto2 : list){ for (CategoryAnalysisPieResultDTO dto2 : list) {
if(!"城市综合".equals(dto2.getName())){ if (!"城市综合".equals(dto2.getName())) {
BigDecimal value = BigDecimal.valueOf(Integer.parseInt(dto2.getValue())); BigDecimal value = BigDecimal.valueOf(Integer.parseInt(dto2.getValue()));
BigDecimal totalBig = BigDecimal.valueOf(total); BigDecimal totalBig = BigDecimal.valueOf(total);
BigDecimal proportion = value .divide(totalBig,2, RoundingMode.HALF_UP); BigDecimal proportion = value.divide(totalBig, 2, RoundingMode.HALF_UP);
dto2.setProportion(proportion + "%"); dto2.setProportion(proportion + "%");
resultList.add(dto2); resultList.add(dto2);
@ -4264,7 +4276,49 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
} }
@Override @Override
public Result supervise(AppealSuperviseResultDTO formDto){ public Result whistle2Gov(ItemWhistle2GovFormDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
ItemEntity item = baseDao.selectById(formDTO.getId());
if (item == null) {
return new Result().error("未查到相关项目,项目ID:" + formDTO.getId());
}
// 吹哨上报
pushToCityGridService.appealWhistleReport(formDTO);
// 吹哨后记录流程,如果吹市中心失败,删掉流程即可正常操作
process.setItemId(item.getId());
process.setState(ItemHandleCategoryEnum.HANDLE_I_HANDLE_GOV_WHISTLE.getValue());
process.setHandleAdvice(formDTO.getReason());
process.setOutHandleAdvice(formDTO.getReason());
process.setHandlerDept(SecurityUser.getUser().getDeptName());
process.setHandlerDeptId(SecurityUser.getDeptId());
itemHandleProcessDao.insert(process);
return new Result();
}
@Override
public Result supervise(AppealSuperviseResultDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
ItemEntity item = baseDao.getItemBySqid(formDTO.getSqid());
// 变更为市平台吹哨项目
item.setIsWhistle(NumConstant.ONE_STR);
updateById(item);
if (item == null) {
return new Result().error("未查到相关项目,诉求ID:" + formDTO.getSqid());
}
process.setItemId(item.getId());
process.setState(ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_DB.getValue());
process.setHandleAdvice(formDTO.getDbnr());
process.setOutHandleAdvice(formDTO.getDbnr());
process.setHandlerDept("青诉即办平台");
process.setHandlerDeptId(1L);
process.setGridPartyname(formDTO.getDbr());
itemHandleProcessDao.insert(process);
// 更新创建时间
process.setCreatedTime(DateUtils.parse(formDTO.getDbsj(), DateUtils.DATE_TIME_PATTERN));
itemHandleProcessDao.updateById(process);
return new Result(); return new Result();
} }
/** /**
@ -4705,12 +4759,50 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Override @Override
public Result reportReject(AppealWhistleReportRejectResultDTO formDto){ public Result reportReject(AppealWhistleReportRejectResultDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
ItemEntity item = baseDao.getItemBySqid(formDTO.getSqid());
if (item == null) {
return new Result().error("未查到相关项目,诉求ID:" + formDTO.getSqid());
}
process.setItemId(item.getId());
process.setState(ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_DB.getValue());
process.setHandleAdvice(formDTO.getBhyy());
process.setOutHandleAdvice(formDTO.getBhyy());
process.setHandlerDept("青诉即办平台");
process.setHandlerDeptId(1L);
process.setGridPartyid(formDTO.getBhrId());
process.setGridPartyname(formDTO.getBhr());
itemHandleProcessDao.insert(process);
// 更新创建时间
process.setCreatedTime(DateUtils.parse(formDTO.getBhsj(), DateUtils.DATE_TIME_PATTERN));
itemHandleProcessDao.updateById(process);
return new Result(); return new Result();
} }
@Override @Override
public Result feedback(AppealWhistleFeedbackResultDTO formDto){ public Result feedback(AppealWhistleFeedbackResultDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
ItemEntity item = baseDao.getItemBySqid(formDTO.getSqid());
if (item == null) {
return new Result().error("未查到相关项目,诉求ID:" + formDTO.getSqid());
}
process.setItemId(item.getId());
process.setState(ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_DB.getValue());
process.setHandleAdvice(formDTO.getCljg());
process.setOutHandleAdvice(formDTO.getCljg());
process.setHandlerDept("青诉即办平台");
process.setHandlerDeptId(1L);
process.setGridPartyid(formDTO.getClrId());
process.setGridPartyname(formDTO.getClr());
process.setGridUnitid(formDTO.getCldwId());
process.setGridUnitname(formDTO.getCldw());
itemHandleProcessDao.insert(process);
// 更新创建时间
process.setCreatedTime(DateUtils.parse(formDTO.getFksj(), DateUtils.DATE_TIME_PATTERN));
itemHandleProcessDao.updateById(process);
return new Result(); return new Result();
} }
} }

72
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java

@ -36,10 +36,13 @@ import com.elink.esua.epdc.dto.epdc.result.SysDeptAreaCodeResultDTO;
import com.elink.esua.epdc.dto.events.PushToCityGridCaseClosedDTO; import com.elink.esua.epdc.dto.events.PushToCityGridCaseClosedDTO;
import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO;
import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum; import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum;
import com.elink.esua.epdc.gird.city.api.CityGridApi; import com.elink.esua.epdc.gird.city.api.CityGridApi;
import com.elink.esua.epdc.gird.shibei.contants.ApiConstants; import com.elink.esua.epdc.gird.shibei.contants.ApiConstants;
import com.elink.esua.epdc.modules.events.dao.ImgDao;
import com.elink.esua.epdc.modules.events.entity.ImgEntity;
import com.elink.esua.epdc.modules.feign.AdminFeignClient; import com.elink.esua.epdc.modules.feign.AdminFeignClient;
import com.elink.esua.epdc.modules.item.dao.ItemDao; import com.elink.esua.epdc.modules.item.dao.ItemDao;
import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao; import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao;
@ -63,7 +66,7 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.stream.Collectors;
/** /**
* 青岛市青诉即办平台接入 * 青岛市青诉即办平台接入
@ -93,6 +96,9 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
private ItemGridPlatformDao itemGridPlatformDao; private ItemGridPlatformDao itemGridPlatformDao;
@Resource @Resource
private AdminFeignClient adminFeignClient; private AdminFeignClient adminFeignClient;
@Resource
private ImgDao imgDao;
/** /**
* 初验申请工作人员ID * 初验申请工作人员ID
*/ */
@ -102,8 +108,6 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
*/ */
private static final String CY_MEMBER_ID = "e192cbe297be47ec84cbcad888d2f0cb"; private static final String CY_MEMBER_ID = "e192cbe297be47ec84cbcad888d2f0cb";
@Override @Override
public void appealDispatch(ItemHandleProcessDTO formDTO) { public void appealDispatch(ItemHandleProcessDTO formDTO) {
List<ItemHandleProcessDTO> list = new ArrayList<>(); List<ItemHandleProcessDTO> list = new ArrayList<>();
@ -298,32 +302,56 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
} }
@Override @Override
public void appealWhistleReport() { public void appealWhistleReport(ItemWhistle2GovFormDTO itemDTO) {
// 昨天 if (null != itemDTO && StringUtils.isNotBlank(itemDTO.getId())) {
String date = DateUtils.format(DateUtils.addDateDays(new Date(), -1)); ItemDTO itemEntity = itemService.get(itemDTO.getId());
// state=吹哨上报的流程数据
List<ItemHandleProcessDTO> list = itemHandleProcessDao.listProcessByStateAndDate(String.valueOf(ItemGridPlatformHandleStatusEnum.HANDLE_OTHER.getValue()), date);
// 拼接数据
list.forEach(item -> {
AppealWhistleReportResultDTO dto = new AppealWhistleReportResultDTO(); AppealWhistleReportResultDTO dto = new AppealWhistleReportResultDTO();
dto.setSqid(getSqid(item.getItemId())); dto.setSqid(itemEntity.getSqid());
dto.setJjcd(CityPushEnum.JJCD_YB.getCode()); dto.setJjcd(CityPushEnum.JJCD_YB.getCode());
dto.setSqly(CityPushEnum.SQLY_WX.getCode()); dto.setSqly(CityPushEnum.SQLY_WX.getCode());
// todo dto.setSqlx(itemEntity.getCategoryCodeOrigin());
dto.setSqlx("");
dto.setSbqs(CityPushEnum.SBQS_SB.getCode()); dto.setSbqs(CityPushEnum.SBQS_SB.getCode());
dto.setSqrlxfs(""); dto.setSqrlxfs(itemEntity.getMobile());
dto.setSqzynr(""); dto.setSqzynr(itemEntity.getItemContent());
dto.setSqdz(""); dto.setSqdz(itemEntity.getIssueAddress());
dto.setSqxy(""); dto.setSqxy(itemEntity.getIssueLongitude()+","+itemEntity.getIssueLatitude());
dto.setSqdjrq(""); dto.setSqdjrq(DateUtils.format(new Date()));
dto.setSqzp(""); List<ImgEntity> list = imgDao.selectListByRefeId(itemDTO.getId());
dto.setSbsm(""); if (!list.isEmpty()) {
dto.setSqzp(list.stream().map(ImgEntity::getImgUrl).collect(Collectors.joining(",")));
}
dto.setSbsm(itemDTO.getReason());
// 组装好直接推送 // 组装好直接推送
cityGridApi.sendItemToCity(dto, PushToCityGridConstant.APPEAL_WHISTLE_REPORT, "吹哨上报"); String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.APPEAL_WHISTLE_REPORT, "吹哨上报");
}); saveLog(itemEntity.getId(), "", "吹哨上报", PushToCityGridConstant.APPEAL_WHISTLE_REPORT, JSONObject.toJSONString(dto), result);
} else {
// 昨天
String date = DateUtils.format(DateUtils.addDateDays(new Date(), -1));
// state=吹哨上报的流程数据
List<ItemHandleProcessDTO> list = itemHandleProcessDao.listProcessByStateAndDate(String.valueOf(ItemGridPlatformHandleStatusEnum.HANDLE_OTHER.getValue()), date);
// 拼接数据
list.forEach(item -> {
AppealWhistleReportResultDTO dto = new AppealWhistleReportResultDTO();
dto.setSqid(getSqid(item.getItemId()));
dto.setJjcd(CityPushEnum.JJCD_YB.getCode());
dto.setSqly(CityPushEnum.SQLY_WX.getCode());
// todo
dto.setSqlx("");
dto.setSbqs(CityPushEnum.SBQS_SB.getCode());
dto.setSqrlxfs("");
dto.setSqzynr("");
dto.setSqdz("");
dto.setSqxy("");
dto.setSqdjrq("");
dto.setSqzp("");
dto.setSbsm("");
// 组装好直接推送
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.APPEAL_WHISTLE_REPORT, "吹哨上报");
saveLog(item.getItemId(), item.getId(), "吹哨上报", PushToCityGridConstant.APPEAL_WHISTLE_REPORT, JSONObject.toJSONString(dto), result);
});
}
} }
/** /**

42
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenController.java

@ -17,7 +17,14 @@
package com.elink.esua.epdc.modules.screen.controller; package com.elink.esua.epdc.modules.screen.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.excel.handler.FreezeAndFilter;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.dto.events.form.ItemDailyStatisFormDTO; import com.elink.esua.epdc.dto.events.form.ItemDailyStatisFormDTO;
@ -26,9 +33,12 @@ import com.elink.esua.epdc.dto.screen.form.EventStatisticsFormDTO;
import com.elink.esua.epdc.dto.screen.result.BarCategoryResultDTO; import com.elink.esua.epdc.dto.screen.result.BarCategoryResultDTO;
import com.elink.esua.epdc.dto.screen.result.EfficiencyEvaluationResultDTO; import com.elink.esua.epdc.dto.screen.result.EfficiencyEvaluationResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO; import com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO;
import com.elink.esua.epdc.modules.screen.excel.ScreenDataExportExcel;
import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventEfficiencyService; import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventEfficiencyService;
import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventStatService; import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventStatService;
import com.elink.esua.epdc.modules.screen.service.ScreenService; import com.elink.esua.epdc.modules.screen.service.ScreenService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -36,13 +46,18 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/** /**
* 大屏接口 * 大屏接口
* @author Administrator * @author Administrator
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("screen") @RequestMapping("screen")
public class ScreenController { public class ScreenController {
@ -83,4 +98,31 @@ public class ScreenController {
} }
@PostMapping("export")
public void export(@RequestBody EventStatisticsFormDTO formDTO, HttpServletResponse response) {
ExcelWriter excelWriter = null;
List<ScreenDataExportExcel> exportList = new ArrayList<>();
try {
String fileName = "大屏数据导出.xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), ScreenDataExportExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("表格").build();
List<EventStatisticsResultDTO> list = screenDeptEventStatService.getScreenExportData(formDTO);
AtomicInteger i = new AtomicInteger(1);
if (CollectionUtils.isNotEmpty(list)) {
exportList = list.stream().map(item -> {
ScreenDataExportExcel excel = ConvertUtils.sourceToTarget(item, ScreenDataExportExcel.class);
return excel;
}).collect(Collectors.toList());
}
excelWriter.write(exportList, writeSheet);
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
} }

9
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java

@ -73,5 +73,14 @@ public interface ScreenDeptEventStatDao extends BaseDao<ScreenDeptEventStatEntit
void deleteData(@Param("statDate") String statDate); void deleteData(@Param("statDate") String statDate);
/**
* 大屏导出数据
* @Param formDTO
* @Return {@link List< EventStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2022/10/21 16:42
*/
List<EventStatisticsResultDTO> getScreenExportData(EventStatisticsFormDTO formDTO);
} }

38
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenDataExportExcel.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.modules.screen.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import lombok.Data;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/4/13 10:46
*/
@Data
public class ScreenDataExportExcel {
@ColumnWidth(20)
@ExcelProperty(value = "部门",order = 1)
private String deptName;
@ColumnWidth(20)
@ExcelProperty(value = "问题总上报数",order = 2)
private Integer eventCount;
@ColumnWidth(20)
@ExcelProperty(value = {"分类", "发展诉求"},order = 3)
private Integer developCount;
@ColumnWidth(20)
@ExcelProperty(value = {"分类", "执法诉求"},order = 4)
private Integer lawCount;
@ColumnWidth(20)
@ExcelProperty(value = {"分类", "民生诉求"},order = 5)
private Integer livelihoodCount;
@ColumnWidth(20)
@ExcelProperty(value = "响应数",order = 6)
private Integer responseCount;
@ColumnWidth(20)
@ExcelProperty(value = "办结数",order = 7)
private Integer closedCount;
}

10
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenDeptEventStatService.java

@ -66,4 +66,14 @@ public interface ScreenDeptEventStatService extends BaseService<ScreenDeptEventS
*/ */
BarCategoryResultDTO getEventBar(EventStatisticsFormDTO formDTO); BarCategoryResultDTO getEventBar(EventStatisticsFormDTO formDTO);
/**
* 获取大屏导出数据
*
* @Param formDTO
* @Return {@link List< EventStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2022/10/21 16:59
*/
List<EventStatisticsResultDTO> getScreenExportData(EventStatisticsFormDTO formDTO);
} }

24
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java

@ -209,6 +209,30 @@ public class ScreenDeptEventStatServiceImpl extends BaseServiceImpl<ScreenDeptEv
return getBarCategoryResultDTO(result, list, formDTO.getPeopleFlag()); return getBarCategoryResultDTO(result, list, formDTO.getPeopleFlag());
} }
/**
* 获取大屏导出数据
*
* @param formDTO
* @Param formDTO
* @Return {@link List< EventStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2022/10/21 16:59
*/
@Override
public List<EventStatisticsResultDTO> getScreenExportData(EventStatisticsFormDTO formDTO) {
if (NumConstant.ONE_STR.equals(formDTO.getStatType())) {
//日期为当前日期前一天
formDTO.setStatDate(DateUtils.format(DateUtils.addDateDays(new Date(), -1), DateUtils.DATE_PATTERN));
} else if (NumConstant.TWO_STR.equals(formDTO.getStatType())) {
//日期为本月
formDTO.setStatDate(DateUtils.format(new Date(), DateUtils.DATE_PATTERN).substring(0, 7));
} else if (NumConstant.THREE_STR.equals(formDTO.getStatType())) {
//日期为本年
formDTO.setStatDate(DateUtils.format(new Date(), DateUtils.DATE_PATTERN).substring(0, 4));
}
return baseDao.getScreenExportData(formDTO);
}
private BarCategoryResultDTO getBarCategoryResultDTO(BarCategoryResultDTO result, List<EventStatisticsResultDTO> list, String peopleFlag) { private BarCategoryResultDTO getBarCategoryResultDTO(BarCategoryResultDTO result, List<EventStatisticsResultDTO> list, String peopleFlag) {
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
List<BarCategoryDTO> barList = list.stream().map(item -> { List<BarCategoryDTO> barList = list.stream().map(item -> {

1
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/logback-spring.xml

@ -137,6 +137,7 @@
<logger name="com.elink.esua.epdc.modules.comment.dao" level="DEBUG"/> <logger name="com.elink.esua.epdc.modules.comment.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.events.dao" level="DEBUG"/> <logger name="com.elink.esua.epdc.modules.events.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.issue.dao" level="DEBUG"/> <logger name="com.elink.esua.epdc.modules.issue.dao" level="DEBUG"/>
<logger name="com.elink.esua.epdc.modules.screen.dao" level="DEBUG"/>
<root level="INFO"> <root level="INFO">
<appender-ref ref="DEBUG_FILE"/> <appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/> <appender-ref ref="INFO_FILE"/>

179
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -614,21 +614,21 @@
</if> </if>
) temp ) temp
) )
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if> </if>
<if test="gridId != null and gridId != ''"> <if test="gridId != null and gridId != ''">
AND (item.GRID_ID = #{gridId} AND (item.GRID_ID = #{gridId}
OR find_in_set(#{gridId},item.ALL_DEPT_IDS)) OR find_in_set(#{gridId},item.ALL_DEPT_IDS))
</if> </if>
<if test="streetId != null and streetId != ''"> <if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},item.PARENT_DEPT_IDS) AND (find_in_set(#{streetId},item.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},item.ALL_DEPT_IDS)) OR find_in_set(#{streetId},item.ALL_DEPT_IDS))
</if> </if>
<if test="communityId != null and communityId != ''"> <if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},item.PARENT_DEPT_IDS) AND (find_in_set(#{communityId},item.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},item.ALL_DEPT_IDS)) OR find_in_set(#{communityId},item.ALL_DEPT_IDS))
</if> </if>
<if test="itemCode != null and itemCode != ''"> <if test="itemCode != null and itemCode != ''">
AND item.ITEM_CODE like concat('%', #{itemCode}, '%') AND item.ITEM_CODE like concat('%', #{itemCode}, '%')
</if> </if>
@ -645,6 +645,142 @@
item.CREATED_TIME DESC item.CREATED_TIME DESC
</select> </select>
<select id="listEpdcItems" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO">
SELECT
item.ID,
item.ITEM_CONTENT,
item.ITEM_CODE,
item.CREATED_TIME,
item.NICK_NAME,
item.MOBILE,
item.ITEM_STATE,
item.grid AS gridName,
CASE item.PEOPLE_FLAG WHEN '0' THEN '民生诉求' WHEN '1' THEN '发展诉求' WHEN '2' THEN '执法诉求' ELSE '' END AS peopleFlagName,
CASE item.ITEM_STATE WHEN '0' THEN '处理中' WHEN '10' THEN '已结案' ELSE '' END AS itemStateName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-', 1) AS streetName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-' ,- 1) AS communityName,
CASE item.EVALUATION_SCORE
WHEN 0 THEN '不满意'
WHEN 1 THEN '基本满意'
WHEN 2 THEN '非常满意'
ELSE ''
END AS evaluationScore,
eve.APPROVE_NUM,
eve.OPPOSE_NUM,
eve.COMMENT_NUM,
eve.BROWSE_NUM,
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8) then '1'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 6 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=8) then '2'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 6) then '3' else '' end as isRemind,
(case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8) then '红灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 6 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=8) then '黄灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 6) then '绿灯' else '' end) as lamp,
(
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8)
then concat('超时',
case when (getworkminute(item.CREATED_TIME,now()) - 480) &lt; 60
then concat((getworkminute(item.CREATED_TIME,now()) - 480),'分钟')
else concat((ROUND(getworkminute(item.CREATED_TIME,now()) / 60,1) - 8),'小时') end)
else
concat('剩余',
case when (480 - getworkminute(item.CREATED_TIME,now())) &lt; 60
then concat((480 - getworkminute(item.CREATED_TIME,now())),'分钟')
else concat((8 - ROUND((getworkminute(item.CREATED_TIME,now()) / 60),1)),'小时') end)
end
) as remainTime,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS participantsNum,
process.state AS processState,
(case when d.ID is not null then '1' else '0' end) as isDelay
FROM epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID AND eve.DEL_FLAG = '0'
left join epdc_item_fusing_delay_record d on d.ITEM_ID = item.ID and d.DEL_FLAG = '0'
left join (
select b.ID,b.ITEM_ID,b.CREATED_TIME,b.state
from epdc_item_handle_process b
where b.DEL_FLAG = '0'
and b.CREATED_TIME = (
SELECT
max(CREATED_TIME)
from epdc_item_handle_process
where b.ITEM_ID = ITEM_ID
and DEL_FLAG = '0'
)
and (b.HANDLER_DEPT != '网格化平台' or (b.HANDLER_DEPT = '网格化平台' and b.STATE in (1060,1065)))
) process on process.ITEM_ID = item.ID
WHERE item.DEL_FLAG = '0'
and (process.state is not null and process.state not in (11,15))
and item.IS_PEOPLE = '1'
<if test="typeKey != null and typeKey != '' and typeKey == 'grid_party'">
and (process.state != 0 or process.state is null)
</if>
<if test="peopleFlag != null and peopleFlag != ''">
AND item.PEOPLE_FLAG = #{peopleFlag}
</if>
<if test="serialNum != null and serialNum != ''">
and item.SERIAL_NUM like '%${serialNum}%'
</if>
<if test="itemState != null and itemState != ''">
AND item.ITEM_STATE = #{itemState}
</if>
<if test="associatedType != null and associatedType != ''">
AND item.ITEM_STATE in (0,10)
</if>
<if test="keyword != null and keyword != ''">
AND item.ITEM_CONTENT like concat('%', trim(#{keyword}), '%')
</if>
AND item.ID IN (
SELECT
temp.ITEM_ID
FROM
( SELECT dept.ITEM_ID FROM epdc_item_dept dept WHERE dept.DEL_FLAG = '0'
<if test="deptIdList != null">
AND dept.DEPT_ID IN
<foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
<if test="districtDeptId != null and districtDeptId != ''">
AND dept.DEPT_ID = #{districtDeptId}
</if>
) temp
)
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (item.GRID_ID = #{gridId}
OR find_in_set(#{gridId},item.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},item.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},item.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},item.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},item.ALL_DEPT_IDS))
</if>
<if test="itemCode != null and itemCode != ''">
AND item.ITEM_CODE like concat('%', #{itemCode}, '%')
</if>
<if test="itemContent != null and itemContent != ''">
AND item.ITEM_CONTENT like concat('%', #{itemContent}, '%')
</if>
<if test="nickName != null and nickName != ''">
AND item.NICK_NAME like concat('%', #{nickName}, '%')
</if>
<if test="mobile != null and mobile != ''">
AND item.MOBILE like concat('%', #{mobile}, '%')
</if>
ORDER BY
item.CREATED_TIME DESC
</select>
<select id="firstCheckPage" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO"> <select id="firstCheckPage" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO">
SELECT SELECT
item.ID, item.ID,
@ -2382,6 +2518,18 @@
AND id = #{itemId} AND id = #{itemId}
</select> </select>
<select id="getItemBySqid" resultType="com.elink.esua.epdc.modules.item.entity.ItemEntity">
SELECT
ID
FROM
epdc_item
WHERE
DEL_FLAG = '0'
AND SQID = #{sqid}
ORDER BY CREATED_TIME DESC
LIMIT 1
</select>
<select id="listItemHandleDept" resultType="com.elink.esua.epdc.dto.item.ItemHandleProcessDTO"> <select id="listItemHandleDept" resultType="com.elink.esua.epdc.dto.item.ItemHandleProcessDTO">
SELECT SELECT
b.ID, b.ID,
@ -2600,6 +2748,7 @@
and item.EVENT_ID is null and item.EVENT_ID is null
and item.ISSUE_ID is null and item.ISSUE_ID is null
and SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1) != '其他' and SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1) != '其他'
and SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',2) != '城市综合'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if> </if>

79
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml

@ -242,4 +242,83 @@
GROUP BY a.id GROUP BY a.id
ORDER BY a.sort ORDER BY a.sort
</select> </select>
<select id="getScreenExportData" resultType="com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO">
SELECT a.id AS deptId,
a.`name` AS deptName,
a.pid,
a.pids,
a.type_key AS deptLevel,
a.sort AS deptSort,
IFNULL(SUM(b.eventCount), 0) AS 'eventCount',
IFNULL(SUM(b.closedCount), 0) AS 'closedCount',
IFNULL(SUM(b.livelihoodCount), 0) AS 'livelihoodCount',
IFNULL(SUM(b.developCount), 0) AS 'developCount',
IFNULL(SUM(b.lawCount), 0) AS 'lawCount',
IFNULL(SUM(b.responseCount), 0) AS 'responseCount'
FROM meta_sys_dept a
LEFT JOIN (
SELECT a.ALL_DEPT_IDS,
COUNT(a.ID) AS 'eventCount',
CASE WHEN a.ITEM_STATE = '10' THEN COUNT(a.ID) END AS 'closedCount',
CASE a.PEOPLE_FLAG WHEN '0' THEN COUNT(a.ID) END AS 'livelihoodCount',
CASE a.PEOPLE_FLAG WHEN '1' THEN COUNT(a.ID) END AS 'developCount',
CASE a.PEOPLE_FLAG WHEN '2' THEN COUNT(a.ID) END AS 'lawCount',
COUNT(c.ITEM_ID) AS 'responseCount'
FROM epdc_item a
LEFT JOIN (
SELECT h.id,
h.item_id,
h.created_time,
h.state
FROM epdc_item ei
INNER JOIN epdc_item_handle_process h ON ei.id = h.item_id
WHERE ei.is_people = '1'
AND ei.del_flag = '0'
AND ei.event_id IS NULL
AND ei.issue_id IS NULL
AND h.del_flag = '0'
AND h.created_time = (SELECT max(created_time)
FROM epdc_item_handle_process
WHERE h.item_id = item_id AND del_flag = '0')
AND h.STATE != 1001
GROUP BY h.item_id
ORDER BY h.item_id
) c ON c.ITEM_ID = a.ID
WHERE a.DEL_FLAG = '0'
AND a.PEOPLE_FLAG IS NOT NULL
AND a.IS_PEOPLE = '1'
AND a.EVENT_ID is null
AND a.ISSUE_ID is null
<if test='"1" == statType'>
AND DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') &lt;= #{statDate}
</if>
<if test='"2" == statType'>
AND DATE_FORMAT(a.CREATED_TIME, '%Y-%m') = #{statDate}
</if>
<if test='"3" == statType'>
AND DATE_FORMAT(a.CREATED_TIME, '%Y') = #{statDate}
</if>
<if test='"4" == statType'>
AND DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') &gt;= #{startDate}
AND DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') &lt;= #{endDate}
</if>
<if test="mobile != null and mobile != ''">
AND a.MOBILE LIKE CONCAT('%', #{mobile}, '%')
</if>
<if test="category != null and category != ''">
AND a.CATEGORY_FULL_CODE LIKE CONCAT('%', #{category}, '%')
</if>
<if test="evaluationScore != null and evaluationScore != ''">
AND a.EVALUATION_SCORE = #{category}
</if>
GROUP BY ALL_DEPT_IDS
) b ON b.ALL_DEPT_IDS LIKE CONCAT('%', a.id, '%')
WHERE a.del_flag = '0'
AND a.pid = #{deptId}
AND a.type_key != 'street_dept'
AND a.type_key != 'district_dept'
GROUP BY a.id
ORDER BY a.sort
</select>
</mapper> </mapper>

2
esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java

@ -10,6 +10,8 @@ public enum ItemStateCodeEnum {
JMZP("居民上报照片", "0"), JMZP("居民上报照片", "0"),
WGZP("网格办理照片", "1"), WGZP("网格办理照片", "1"),
SQZP("社区办理照片", "2"), SQZP("社区办理照片", "2"),
JDZP("街道办理照片", "4"),
QZP("市北区办理照片", "5"),
CZZP("处置照片", "3"); CZZP("处置照片", "3");

Loading…
Cancel
Save