From 687725982888e5addb2c5bcaa70980d31ff1c981 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.com> Date: Mon, 10 Jan 2022 17:48:17 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E3=80=90=E7=BC=96=E8=BE=91=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=91=E5=B7=B2=E5=AE=8C=E6=88=90=EF=BC=8C=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=BF=9B=E5=B1=95=20-=20=E9=A1=B5=E9=9D=A2=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issue/result/EditProgressResultDTO.java | 93 +++++++++++++++++++ .../esua/epdc/modules/issue/dao/IssueDao.java | 10 ++ .../modules/issue/service/IssueService.java | 12 +++ .../issue/service/impl/IssueServiceImpl.java | 5 + .../item/controller/ItemController.java | 14 +++ .../esua/epdc/modules/item/dao/ItemDao.java | 23 +++-- .../modules/item/service/ItemService.java | 11 +++ .../item/service/impl/ItemServiceImpl.java | 54 +++++++++++ .../main/resources/mapper/issue/IssueDao.xml | 31 +++++++ .../main/resources/mapper/item/ItemDao.xml | 36 +++++++ 10 files changed, 283 insertions(+), 6 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java new file mode 100644 index 00000000..8a170e82 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java @@ -0,0 +1,93 @@ +package com.elink.esua.epdc.dto.issue.result; + +import com.elink.esua.epdc.dto.item.ItemDeptDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * 编辑 议题、项目处理进度(后台用) + * + * @Author:liuchuang + * @Date:2019/11/21 15:08 + */ +@Data +public class EditProgressResultDTO implements Serializable { + private static final long serialVersionUID = 2739821096656995025L; + + /** + * 处理进展类型: 事件 init + * 议题 issue + * issue-project + * 项目 project + */ + private String handleType; + + /** + * 处理进度ID + */ + private String id; + + /** + * 状态 + */ + private Integer state; + + /** + * 操作人部门 + */ + private String handlerDept; + + /** + * 时间 + */ + private String createdTime; + + /** + * 项目处理意见(内部意见)(项目有) + */ + private String advice; + + /** + * 回复居民意见(外部意见) + */ + private String outAdvice; + + /** + * 吹哨部门 + */ + private List itemDeptDTOS; + + /** + * 处理图片(内部处理图片) + */ + private List images; + + /** + * 回复居民图片(外部处理图片) + */ + // todo 回复居民图片(外部处理图片) + private List outImages; + + /** + * 事件ID + */ +// private String eventId; + + /** + * 事件内容 + */ + private String eventContent; + + /** + * 议题ID + */ +// private String issueId; + + /** + * 项目ID + */ +// private String itemId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java index 5fe7c87b..5dac83a9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java @@ -204,4 +204,14 @@ public interface IssueDao extends BaseDao { * @since 2020/3/7 12:54 */ void updateBatchPartyGroupName(@Param("groups") List groups); + + /** + * 业务端-议题处理进度,返回需要编辑的字段 + * + * @param issueId + * @return java.util.List + * @Author zhangyong + * @Date 13:49 2022-01-10 + **/ + List selectListEditIssueProgress(@Param("issueId") String issueId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java index 63ff5996..586b60bb 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java @@ -294,4 +294,16 @@ public interface IssueService extends BaseService { * @since 2020/9/16 10:31 */ int selectIssueCountByEventId(String eventId); + + /** + * 业务端-议题处理进度,返回需要编辑的字段 + * + * @param issueId + * @return java.util.List + * @Author zhangyong + * @Date 13:49 2022-01-10 + **/ + List listEditIssueProgress(String issueId); + + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index eedd2537..c65f23a9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -739,4 +739,9 @@ public class IssueServiceImpl extends BaseServiceImpl imp } } } + + @Override + public List listEditIssueProgress(String issueId) { + return baseDao.selectListEditIssueProgress(issueId); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java index 373e1d3b..20bb0e55 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java @@ -28,6 +28,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO; +import com.elink.esua.epdc.dto.issue.result.EditProgressResultDTO; import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; import com.elink.esua.epdc.dto.item.ItemTopFormDTO; @@ -236,4 +237,17 @@ public class ItemController { return itemService.modifyItemTopFlag(formDto); } + /** + * 获取处理进展列表信息 + * + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 13:39 2022-01-10 + **/ + @GetMapping("getProcessProgress/{id}") + public Result> getProcessProgress(@PathVariable("id") String id){ + List data = itemService.getProcessProgress(id); + return new Result>().ok(data); + } } 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 3c7df5a8..544b8751 100644 --- 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 @@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.item.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.result.EditProgressResultDTO; import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; import com.elink.esua.epdc.dto.item.ItemTopFormDTO; @@ -208,14 +209,14 @@ public interface ItemDao extends BaseDao { */ void deleteBatchItemHandleIds(@Param("ids") List ids); - /** - * @Description: 根据项目id,查询当前登录人所在部门,以外的该项目关联的所有部门id + /** + * @Description: 根据项目id,查询当前登录人所在部门,以外的该项目关联的所有部门id * @Param: [itemId] 项目id * @Param: [deptId] 部门id - * @return: java.util.List - * @Author: zy - * @Date: 2020-01-09 - */ + * @return: java.util.List + * @Author: zy + * @Date: 2020-01-09 + */ List queryDeptIdList(String itemId, Long deptId); /** @@ -289,4 +290,14 @@ public interface ItemDao extends BaseDao { * @since 2020/9/22 9:52 */ void updateItemTopFlagById(@Param("formDto") ItemTopFormDTO formDto); + + /** + * 业务端-项目处理进度,返回需要编辑的字段 + * + * @param itemId + * @return java.util.List + * @Author zhangyong + * @Date 13:49 2022-01-10 + **/ + List selectListOfEditItemHandleProgressByWork(@Param("itemId") String itemId); } 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 cca95279..49502b6f 100644 --- 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 @@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; 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.issue.result.EditProgressResultDTO; import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; import com.elink.esua.epdc.dto.item.ItemTopFormDTO; @@ -418,4 +419,14 @@ public interface ItemService extends BaseService { * @since 2020/9/22 9:45 */ Result modifyItemTopFlag(ItemTopFormDTO formDto); + + /** + * 获取处理进展列表信息 + * + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 13:39 2022-01-10 + **/ + List getProcessProgress(String id); } 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 6595a51b..57c38214 100644 --- 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 @@ -46,7 +46,9 @@ import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; 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.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.dto.issue.result.EditProgressResultDTO; import com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO; import com.elink.esua.epdc.dto.item.*; import com.elink.esua.epdc.dto.item.form.*; @@ -1592,4 +1594,56 @@ public class ItemServiceImpl extends BaseServiceImpl implem return new Result(); } + + @Override + public List getProcessProgress(String id) { + //获取项目基本信息 + ItemEntity entity = this.selectById(id); + + // 获取项目处理进度 + List result = baseDao.selectListOfEditItemHandleProgressByWork(id); + // 项目处理表中第一条数据,为 议题转项目 + this.firstDataHandleType(result, "issue-project"); + + // 获取议题处理进度 + List issueList = issueService.listEditIssueProgress(entity.getIssueId()); + // 议题处理表中第一条数据,为 事件审核通过 + this.firstDataHandleType(issueList, "init"); + result.addAll(issueList); + + // 事件信息 + EditProgressResultDTO eventInfo = this.packageEventInfo(entity.getEventId()); + result.add(eventInfo); + + return result; + } + + private void firstDataHandleType(List list, String typeName) { + for (int i = NumConstant.ZERO; i < list.size(); i++) { + if (i == list.size() - NumConstant.ONE ) { + list.get(i).setHandleType(typeName); + } + } + } + + /** + * 组装事件信息 + * + * @param eventId + * @return com.elink.esua.epdc.dto.issue.result.EditProgressResultDTO + * @Author zhangyong + * @Date 17:09 2022-01-10 + **/ + private EditProgressResultDTO packageEventInfo(String eventId) { + EditProgressResultDTO result = new EditProgressResultDTO(); + Result event = issueService.getEventDetail(eventId); + result.setCreatedTime(event.getData().getDistributeTime()); + result.setOutAdvice(event.getData().getAdvice()); + result.setOutAdvice(event.getData().getAdvice()); + result.setEventContent(event.getData().getContent()); + result.setHandleType("init"); + // 不显示状态 + result.setState(NumConstant.ONE_HUNDRED); + return result; + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml index 125bff9f..52d8690a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml @@ -659,4 +659,35 @@ + + + + + + + + + + + + + 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 16710afe..27a87a57 100644 --- 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 @@ -1052,4 +1052,40 @@ WHERE ID = #{formDto.itemId} + + + + + + + + + + + + + + + + + + From 0360ecd57252859b398419ffd539bbd9cf98970c Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.com> Date: Wed, 12 Jan 2022 16:39:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E6=88=90=20=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=BF=9B=E5=B1=95=E7=BC=96=E8=BE=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/ProcessProgressConstant.java | 37 +++++ .../com/elink/esua/epdc/dto/ImagesDTO.java | 13 ++ .../epdc/dto/events/BatchHandleImagesDTO.java | 47 ++++++ .../dto/events/EventRelationshipIdDTO.java | 44 ++++++ .../issue/result/EditProgressResultDTO.java | 26 +--- .../modules/events/dao/EpdcEventsDao.java | 9 ++ .../esua/epdc/modules/events/dao/ImgDao.java | 11 ++ .../events/service/EpdcEventsService.java | 10 ++ .../modules/events/service/ImgService.java | 22 +++ .../service/impl/EpdcEventsServiceImpl.java | 4 + .../events/service/impl/ImgServiceImpl.java | 12 ++ .../item/controller/ItemController.java | 13 ++ .../modules/item/service/ItemService.java | 10 ++ .../item/service/impl/ItemServiceImpl.java | 139 ++++++++++++++++-- .../resources/mapper/events/EpdcEventsDao.xml | 12 ++ .../main/resources/mapper/events/ImgDao.xml | 10 ++ .../main/resources/mapper/issue/IssueDao.xml | 8 +- .../main/resources/mapper/item/ItemDao.xml | 17 ++- 18 files changed, 409 insertions(+), 35 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/ImagesDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/BatchHandleImagesDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventRelationshipIdDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/ImgDao.xml diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java new file mode 100644 index 00000000..01623eec --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java @@ -0,0 +1,37 @@ +package com.elink.esua.epdc.constant; + +/** + * 处理进展常量 + * + * @author work@yujt.net.cn + * @date 2022/01/21 10:30 + */ +public interface ProcessProgressConstant { + + /** + * 事件 + */ + String EVENT = "event"; + + /** + * 事件转议题 + */ + String EVENT_ISSUE = "event-issue"; + + /** + * 议题 + */ + String ISSUE = "issue"; + + /** + * 议题转项目 + */ + String ISSUE_PROJECT = "issue-project"; + + /** + * 项目 + */ + String PROJECT = "project"; + + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/ImagesDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/ImagesDTO.java new file mode 100644 index 00000000..fa7774aa --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/ImagesDTO.java @@ -0,0 +1,13 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ImagesDTO implements Serializable { + + private String name; + + private String url; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/BatchHandleImagesDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/BatchHandleImagesDTO.java new file mode 100644 index 00000000..cca00e02 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/BatchHandleImagesDTO.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.events; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 图片批处理 + **/ +@Data +public class BatchHandleImagesDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 引用 ID + */ + private String referenceId; + + /** + * 图片类型 + */ + private String imgType; + + /** + * 图片URL + */ + private List images; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventRelationshipIdDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventRelationshipIdDTO.java new file mode 100644 index 00000000..a1d76a66 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventRelationshipIdDTO.java @@ -0,0 +1,44 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.events; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class EventRelationshipIdDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 事件 ID + */ + private String eventId; + + /** + * 议题 ID + */ + private String issueId; + + /** + * 项目 ID + */ + private String itemId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java index 8a170e82..f73aa941 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java @@ -1,9 +1,11 @@ package com.elink.esua.epdc.dto.issue.result; +import com.elink.esua.epdc.dto.ImagesDTO; import com.elink.esua.epdc.dto.item.ItemDeptDTO; import lombok.Data; import java.io.Serializable; +import java.util.Date; import java.util.List; /** @@ -18,10 +20,7 @@ public class EditProgressResultDTO implements Serializable { private static final long serialVersionUID = 2739821096656995025L; /** - * 处理进展类型: 事件 init - * 议题 issue - * issue-project - * 项目 project + * 处理进展类型: 事件、议题、项目 : ProcessProgressConstant */ private String handleType; @@ -43,7 +42,7 @@ public class EditProgressResultDTO implements Serializable { /** * 时间 */ - private String createdTime; + private Date createdTime; /** * 项目处理意见(内部意见)(项目有) @@ -63,31 +62,20 @@ public class EditProgressResultDTO implements Serializable { /** * 处理图片(内部处理图片) */ - private List images; + private List images; /** * 回复居民图片(外部处理图片) */ - // todo 回复居民图片(外部处理图片) - private List outImages; + private List outImages; /** * 事件ID */ -// private String eventId; + private String eventId; /** * 事件内容 */ private String eventContent; - - /** - * 议题ID - */ -// private String issueId; - - /** - * 项目ID - */ -// private String itemId; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java index af35c15c..639d04cd 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java @@ -205,4 +205,13 @@ public interface EpdcEventsDao extends BaseDao { */ void rejectEventsImgInfo(@Param("relationId") String relationId); + /** + * 查询事件关联的 议题id、项目id + * + * @param eventId + * @return com.elink.esua.epdc.dto.events.EventRelationshipIdDTO + * @Author zhangyong + * @Date 16:54 2022-01-11 + **/ + EventRelationshipIdDTO getEventRelationshipId(@Param("eventId") String eventId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/ImgDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/ImgDao.java index 7af17568..66928f05 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/ImgDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/ImgDao.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.events.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.modules.events.entity.ImgEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 党建系统图片表 党建系统图片表 @@ -30,4 +31,14 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ImgDao extends BaseDao { + /** + * 图片删除 + * + * @param referenceId + * @param imgType + * @return void + * @Author zhangyong + * @Date 15:25 2022-01-12 + **/ + void modifyImagesByReferenceIdAndImgType(@Param("referenceId") String referenceId, @Param("imgType") String imgType); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java index b558afc4..2d2bf042 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java @@ -264,4 +264,14 @@ public interface EpdcEventsService extends BaseService { * @since 2020/9/2 15:06 */ List listOfEventTags(); + + /** + * 查询事件关联的 议题id、项目id + * + * @param eventId + * @return com.elink.esua.epdc.dto.events.EventRelationshipIdDTO + * @Author zhangyong + * @Date 16:54 2022-01-11 + **/ + EventRelationshipIdDTO getEventRelationshipId(String eventId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/ImgService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/ImgService.java index c432b4ad..7db467b3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/ImgService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/ImgService.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.modules.events.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.dto.events.BatchHandleImagesDTO; import com.elink.esua.epdc.modules.events.entity.ImgEntity; import java.util.List; @@ -48,4 +49,25 @@ public interface ImgService extends BaseService { * @Date: 2019/9/8 17:12 */ boolean saveImages(List images, String referenceId, String imgType); + + /** + * 图片删除 + * + * @param referenceId + * @param imgType + * @return void + * @Author zhangyong + * @Date 15:25 2022-01-12 + **/ + void modifyImagesByReferenceIdAndImgType(String referenceId, String imgType); + + /** + * 图片批量删除 + * + * @param images + * @return void + * @Author zhangyong + * @Date 15:25 2022-01-12 + **/ + void modifyBatchImagesByReferenceIdAndImgType(List images); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index 171fb302..424f1e01 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -808,4 +808,8 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl implement return insertBatch(imgEntities); } + @Override + public void modifyImagesByReferenceIdAndImgType(String referenceId, String imgType) { + baseDao.modifyImagesByReferenceIdAndImgType(referenceId, imgType); + } + + @Override + public void modifyBatchImagesByReferenceIdAndImgType(List images) { + for (BatchHandleImagesDTO image : images) { + baseDao.modifyImagesByReferenceIdAndImgType(image.getReferenceId(), image.getImgType()); + } + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java index 20bb0e55..db395b86 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java @@ -250,4 +250,17 @@ public class ItemController { List data = itemService.getProcessProgress(id); return new Result>().ok(data); } + + /** + * 编辑 处理进展列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 09:25 2022-01-11 + **/ + @PostMapping("editProcessProgressList") + public Result editProcessProgressList(@RequestBody List formDto) { + return itemService.editProcessProgressList(formDto); + } } 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 49502b6f..f0cf2a37 100644 --- 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 @@ -429,4 +429,14 @@ public interface ItemService extends BaseService { * @Date 13:39 2022-01-10 **/ List getProcessProgress(String id); + + /** + * 编辑 处理进展列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 09:25 2022-01-11 + **/ + Result editProcessProgressList(List 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 57c38214..a9d7affb 100644 --- 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 @@ -24,6 +24,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant; +import com.elink.esua.epdc.commons.tools.convert.DateConverter; import com.elink.esua.epdc.commons.tools.enums.InterfaceLogBusinessTypeEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; @@ -44,7 +45,9 @@ import com.elink.esua.epdc.constant.*; import com.elink.esua.epdc.constants.MenuCodeConstant; import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; +import com.elink.esua.epdc.dto.events.BatchHandleImagesDTO; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; +import com.elink.esua.epdc.dto.events.EventRelationshipIdDTO; import com.elink.esua.epdc.dto.events.form.GroupFormDTO; import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; @@ -55,6 +58,7 @@ import com.elink.esua.epdc.dto.item.form.*; import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum; import com.elink.esua.epdc.enums.ItemHandleCategoryEnum; +import com.elink.esua.epdc.constant.ProcessProgressConstant; import com.elink.esua.epdc.gird.shibei.api.ShiBeiCityGridApi; import com.elink.esua.epdc.gird.shibei.constant.CommonConstants; import com.elink.esua.epdc.gird.shibei.contants.ApiConstants; @@ -68,6 +72,7 @@ import com.elink.esua.epdc.gird.shibei.util.XstreamUtil; import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.events.dao.ImgDao; +import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity; import com.elink.esua.epdc.modules.events.entity.ImgEntity; import com.elink.esua.epdc.modules.events.service.EpdcEventsService; import com.elink.esua.epdc.modules.events.service.ImgService; @@ -76,6 +81,9 @@ import com.elink.esua.epdc.modules.feign.ContentSecurityFeignClient; import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.interfacelog.entity.InterfaceLogEntity; import com.elink.esua.epdc.modules.interfacelog.service.InterfaceLogService; +import com.elink.esua.epdc.modules.issue.entity.IssueEntity; +import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity; +import com.elink.esua.epdc.modules.issue.service.IssueHandleService; import com.elink.esua.epdc.modules.issue.service.IssueService; import com.elink.esua.epdc.modules.item.dao.GridPlatformHandleLogDao; import com.elink.esua.epdc.modules.item.dao.ItemDao; @@ -170,6 +178,9 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Autowired private ContentSecurityFeignClient contentSecurityFeign; + @Autowired + private IssueHandleService issueHandleService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -1603,12 +1614,12 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 获取项目处理进度 List result = baseDao.selectListOfEditItemHandleProgressByWork(id); // 项目处理表中第一条数据,为 议题转项目 - this.firstDataHandleType(result, "issue-project"); + this.firstDataHandleType(result, ProcessProgressConstant.ISSUE_PROJECT); // 获取议题处理进度 List issueList = issueService.listEditIssueProgress(entity.getIssueId()); - // 议题处理表中第一条数据,为 事件审核通过 - this.firstDataHandleType(issueList, "init"); + // 议题处理表中第一条数据,为 事件审核通过,即转议题 + this.firstDataHandleType(issueList, ProcessProgressConstant.EVENT_ISSUE); result.addAll(issueList); // 事件信息 @@ -1637,13 +1648,123 @@ public class ItemServiceImpl extends BaseServiceImpl implem private EditProgressResultDTO packageEventInfo(String eventId) { EditProgressResultDTO result = new EditProgressResultDTO(); Result event = issueService.getEventDetail(eventId); - result.setCreatedTime(event.getData().getDistributeTime()); - result.setOutAdvice(event.getData().getAdvice()); - result.setOutAdvice(event.getData().getAdvice()); + DateConverter converter = new DateConverter(); + result.setCreatedTime(converter.parseDate(event.getData().getDistributeTime(), DateUtils.DATE_TIME_PATTERN)); + result.setAdvice(event.getData().getAdvice()); result.setEventContent(event.getData().getContent()); - result.setHandleType("init"); - // 不显示状态 - result.setState(NumConstant.ONE_HUNDRED); + result.setHandleType(ProcessProgressConstant.EVENT); + result.setEventId(eventId); return result; } + + /** + * 组装要新增的图片信息 + * + * @param referenceId, imgType, images + * @return com.elink.esua.epdc.dto.events.BatchHandleImagesDTO + * @Author zhangyong + * @Date 15:41 2022-01-12 + **/ + private BatchHandleImagesDTO packageImagesInfo(String referenceId, String imgType, List images) { + BatchHandleImagesDTO result = new BatchHandleImagesDTO(); + result.setReferenceId(referenceId); + result.setImgType(imgType); + List urls = new ArrayList<>(); + for (ImagesDTO image : images) { + urls.add(image.getUrl()); + } + result.setImages(urls); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result editProcessProgressList(List formDto) { + if (null == formDto || NumConstant.ZERO == formDto.size()) { + return new Result(); + } + List itemHandleProcessEntities = new ArrayList<>(); + List issueHandleEntities = new ArrayList<>(); + EpdcEventsEntity eventEntity = new EpdcEventsEntity(); + // 图片批量处理 + List batchHandleImages = new ArrayList<>(); + Date issueToProjectTime = null; + Date eventToIssueTime = null; + Date distributeTime = null; + String eventId = ""; + + for (EditProgressResultDTO dto : formDto) { + // 1、组装 项目处理进展表 信息 + if (ProcessProgressConstant.PROJECT.equals(dto.getHandleType()) || ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType())) { + ItemHandleProcessEntity entity = new ItemHandleProcessEntity(); + entity.setCreatedTime(dto.getCreatedTime()); + entity.setHandleAdvice(dto.getAdvice()); + entity.setOutHandleAdvice(dto.getOutAdvice()); + entity.setId(dto.getId()); + itemHandleProcessEntities.add(entity); + if (ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType())) { + issueToProjectTime = dto.getCreatedTime(); + } + // 组装 项目图片 信息 + batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE, dto.getImages())); + batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_OUT_HANDLE, dto.getOutImages())) ; + } + + // 2、组装 议题处理进展 信息 + if (ProcessProgressConstant.ISSUE.equals(dto.getHandleType()) || ProcessProgressConstant.EVENT_ISSUE.equals(dto.getHandleType())) { + IssueHandleEntity entity = new IssueHandleEntity(); + entity.setCreatedTime(dto.getCreatedTime()); + entity.setAdvice(dto.getAdvice()); + entity.setId(dto.getId()); + issueHandleEntities.add(entity); + if (ProcessProgressConstant.EVENT_ISSUE.equals(dto.getHandleType())) { + eventToIssueTime = dto.getCreatedTime(); + } + // 组装 议题图片 信息 + batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_BIZ_ISSUE_HANDLE, dto.getImages())); + } + // 3、组装 事件表 信息 + if (ProcessProgressConstant.EVENT.equals(dto.getHandleType())) { + eventEntity.setCreatedTime(dto.getCreatedTime()); + eventEntity.setAdvice(dto.getAdvice()); + eventEntity.setId(dto.getEventId()); + + distributeTime = dto.getCreatedTime(); + eventId = dto.getEventId(); + } + } + + // 4、处理图片 + imgService.modifyBatchImagesByReferenceIdAndImgType(batchHandleImages); + for (BatchHandleImagesDTO insertImage : batchHandleImages) { + imgService.saveImages(insertImage.getImages(), insertImage.getReferenceId(), insertImage.getImgType()); + } + + EventRelationshipIdDTO relationshipId = epdcEventsService.getEventRelationshipId(eventId); + + if (NumConstant.ZERO < itemHandleProcessEntities.size()) { + itemHandleProcessService.updateBatchById(itemHandleProcessEntities); + // 5、处理项目表 + ItemEntity itemEntity = new ItemEntity(); + itemEntity.setCreatedTime(issueToProjectTime); + itemEntity.setLastHandleTime(formDto.get(NumConstant.ZERO).getCreatedTime()); + itemEntity.setDistributeTime(distributeTime); + itemEntity.setId(relationshipId.getItemId()); + baseDao.updateById(itemEntity); + } + + if (NumConstant.ZERO < issueHandleEntities.size()) { + issueHandleService.updateBatchById(issueHandleEntities); + // 6、处理议题表 + IssueEntity issueEntity = new IssueEntity(); + issueEntity.setCreatedTime(eventToIssueTime); + issueEntity.setDistributeTime(distributeTime); + issueEntity.setId(relationshipId.getIssueId()); + issueService.updateById(issueEntity); + } + + // 7、处理事件表 + epdcEventsService.updateById(eventEntity); + return new Result(); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml index 1d845155..5503835d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml @@ -389,4 +389,16 @@ where REFERENCE_ID=#{relationId} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/ImgDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/ImgDao.xml new file mode 100644 index 00000000..835ebcb8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/ImgDao.xml @@ -0,0 +1,10 @@ + + + + + + + update epdc_img set DEL_FLAG = 1 where REFERENCE_ID = #{referenceId} and IMG_TYPE = #{imgType} + + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml index 52d8690a..3e08cb1b 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml @@ -667,8 +667,9 @@ - - + + + @@ -1078,11 +1083,15 @@ hp.HANDLER_DEPT, hp.STATE, itemDept.DEPT_NAME, - img.IMG_URL + img.IMG_URL, + img.ID as imageId, + outImg.IMG_URL AS OUT_IMG_URL, + outImg.ID as outImageId FROM epdc_item_handle_process hp LEFT JOIN epdc_item_dept itemDept ON hp.ID = itemDept.ITEM_HANDLE_ID - LEFT JOIN epdc_img img ON hp.ID = img. REFERENCE_ID AND IMG_TYPE = 'itemHandle' AND img.DEL_FLAG = '0' + LEFT JOIN epdc_img img ON hp.ID = img. REFERENCE_ID AND img.IMG_TYPE = 'itemHandle' AND img.DEL_FLAG = '0' + LEFT JOIN epdc_img outImg ON hp.ID = outImg.REFERENCE_ID AND outImg.IMG_TYPE = 'itemOutHandle' AND outImg.DEL_FLAG = '0' WHERE hp.DEL_FLAG = '0' AND hp.ITEM_ID = #{itemId} ORDER BY createdTime DESC From 8032aa13ac48b43fc46507b593c9c210fb1ac729 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.com> Date: Thu, 20 Jan 2022 15:17:14 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=BF=9B=E5=B1=95=E7=BC=96=E8=BE=91=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=20=E6=BB=A1=E6=84=8F=E5=BA=A6=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/ProcessProgressConstant.java | 5 ++ .../issue/result/EditProgressResultDTO.java | 5 ++ .../epdc/dto/item/ItemPendingHandleDTO.java | 9 ++++ .../item/service/impl/ItemServiceImpl.java | 54 ++++++++++++++++--- .../main/resources/mapper/item/ItemDao.xml | 7 +++ 5 files changed, 74 insertions(+), 6 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java index 01623eec..dce3d923 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java @@ -33,5 +33,10 @@ public interface ProcessProgressConstant { */ String PROJECT = "project"; + /** + * 项目满意度评价 + */ + String PROJECT_EVALUATION = "project-evaluation"; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java index f73aa941..ee003658 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java @@ -78,4 +78,9 @@ public class EditProgressResultDTO implements Serializable { * 事件内容 */ private String eventContent; + + /** + * 项目 满意度评价得分 + */ + private Integer evaluationScore; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java index 80922b16..a44664e9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java @@ -65,4 +65,13 @@ public class ItemPendingHandleDTO implements Serializable { */ private String topFlag; + /** + * 列表所属网格 + */ + private String grid; + + /** + * 项目状态(处理中、已关闭、已结案) + */ + private String itemState; } 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 a9d7affb..6b71ff3c 100644 --- 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 @@ -1608,17 +1608,23 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Override public List getProcessProgress(String id) { - //获取项目基本信息 + // 获取项目基本信息 ItemEntity entity = this.selectById(id); // 获取项目处理进度 List result = baseDao.selectListOfEditItemHandleProgressByWork(id); - // 项目处理表中第一条数据,为 议题转项目 + // 项目处理表中第一条数据(创建时间,升序),为 议题转项目 this.firstDataHandleType(result, ProcessProgressConstant.ISSUE_PROJECT); + // 获取项目评价满意度 + if (null != entity.getEvaluationTime()) { + result.add(this.packageItemEvaluation(entity)); + result.sort(Comparator.comparing(EditProgressResultDTO::getCreatedTime).reversed()); + } + // 获取议题处理进度 List issueList = issueService.listEditIssueProgress(entity.getIssueId()); - // 议题处理表中第一条数据,为 事件审核通过,即转议题 + // 议题处理表中第一条数据(创建时间,升序),为 事件审核通过,即转议题 this.firstDataHandleType(issueList, ProcessProgressConstant.EVENT_ISSUE); result.addAll(issueList); @@ -1629,6 +1635,16 @@ public class ItemServiceImpl extends BaseServiceImpl implem return result; } + private EditProgressResultDTO packageItemEvaluation(ItemEntity entity) { + EditProgressResultDTO result = new EditProgressResultDTO(); + result.setHandleType(ProcessProgressConstant.PROJECT_EVALUATION); + result.setCreatedTime(entity.getEvaluationTime()); + result.setAdvice(entity.getEvaluationContent()); + result.setEvaluationScore(entity.getEvaluationScore()); + result.setState(entity.getItemState()); + return result; + } + private void firstDataHandleType(List list, String typeName) { for (int i = NumConstant.ZERO; i < list.size(); i++) { if (i == list.size() - NumConstant.ONE ) { @@ -1688,14 +1704,18 @@ public class ItemServiceImpl extends BaseServiceImpl implem EpdcEventsEntity eventEntity = new EpdcEventsEntity(); // 图片批量处理 List batchHandleImages = new ArrayList<>(); + List itemDeptEntities = new ArrayList<>(); Date issueToProjectTime = null; Date eventToIssueTime = null; Date distributeTime = null; String eventId = ""; + EditProgressResultDTO projectEvaluation = null; for (EditProgressResultDTO dto : formDto) { - // 1、组装 项目处理进展表 信息 - if (ProcessProgressConstant.PROJECT.equals(dto.getHandleType()) || ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType())) { + if (ProcessProgressConstant.PROJECT.equals(dto.getHandleType()) + || ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType()) + || ProcessProgressConstant.PROJECT_EVALUATION.equals(dto.getHandleType())) { + // 1、组装 项目处理进展表 信息 ItemHandleProcessEntity entity = new ItemHandleProcessEntity(); entity.setCreatedTime(dto.getCreatedTime()); entity.setHandleAdvice(dto.getAdvice()); @@ -1707,7 +1727,18 @@ public class ItemServiceImpl extends BaseServiceImpl implem } // 组装 项目图片 信息 batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE, dto.getImages())); - batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_OUT_HANDLE, dto.getOutImages())) ; + batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_OUT_HANDLE, dto.getOutImages())); + // 如果是吹哨,还要处理 项目部门关系表 + if (NumConstant.ZERO == dto.getState() && null != dto.getItemDeptDTOS() && dto.getItemDeptDTOS().size() > NumConstant.ZERO) { + ItemDeptEntity itemDeptEntity = new ItemDeptEntity(); + itemDeptEntity.setId(dto.getItemDeptDTOS().get(NumConstant.ZERO).getId()); + itemDeptEntity.setCreatedTime(dto.getCreatedTime()); + itemDeptEntities.add((itemDeptEntity)); + } + // 如果是 项目满意度评价,还需要修改 epdc_item 表中相关字段 + if (ProcessProgressConstant.PROJECT_EVALUATION.equals(dto.getHandleType())) { + projectEvaluation = dto; + } } // 2、组装 议题处理进展 信息 @@ -1744,12 +1775,23 @@ public class ItemServiceImpl extends BaseServiceImpl implem if (NumConstant.ZERO < itemHandleProcessEntities.size()) { itemHandleProcessService.updateBatchById(itemHandleProcessEntities); + itemDeptService.updateBatchById(itemDeptEntities); // 5、处理项目表 ItemEntity itemEntity = new ItemEntity(); itemEntity.setCreatedTime(issueToProjectTime); itemEntity.setLastHandleTime(formDto.get(NumConstant.ZERO).getCreatedTime()); itemEntity.setDistributeTime(distributeTime); itemEntity.setId(relationshipId.getItemId()); + if (null != projectEvaluation) { + if (NumConstant.FIVE == formDto.get(NumConstant.ZERO).getState()) { + // 最后一条记录为 结案 且 有满意度评价,最后一次处理时间为 满意度评价时间 + itemEntity.setLastHandleTime(projectEvaluation.getCreatedTime()); + } + itemEntity.setEvaluationScore(projectEvaluation.getEvaluationScore()); + itemEntity.setEvaluationContent(projectEvaluation.getAdvice()); + itemEntity.setEvaluationTime(projectEvaluation.getCreatedTime()); + } + baseDao.updateById(itemEntity); } 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 040355b9..af0361fe 100644 --- 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 @@ -443,6 +443,8 @@ item.ITEM_CODE, item.CREATED_TIME, item.NICK_NAME, + item.GRID, + item.ITEM_STATE, CASE item.EVALUATION_SCORE WHEN 0 THEN '不满意' WHEN 1 THEN '基本满意' @@ -465,6 +467,9 @@ AND item.ITEM_STATE = #{itemState} + + AND item.ITEM_CONTENT = trim(#{itemContent}) + AND item.ITEM_STATE in (0,10) @@ -1063,6 +1068,7 @@ + @@ -1083,6 +1089,7 @@ hp.HANDLER_DEPT, hp.STATE, itemDept.DEPT_NAME, + itemDept.ID AS ITEM_DEPT_ID, img.IMG_URL, img.ID as imageId, outImg.IMG_URL AS OUT_IMG_URL, From 7b667ba5d3e51c74d64036cf516be37f6e861668 Mon Sep 17 00:00:00 2001 From: liuchuang <123456> Date: Thu, 20 Jan 2022 17:26:58 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E7=AB=AF-=E5=85=9A=E7=BE=A41+1=E8=AF=9D=E9=A2=98=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2=E6=85=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/EpdcPartyTopicCommentDTO.java | 14 +++++++ .../elink/esua/epdc/dao/PartyTopicDao.java | 15 +++++++- .../service/impl/PartyTopicServiceImpl.java | 18 +++++++++ .../main/resources/mapper/PartyTopicDao.xml | 38 +++++++++++++++---- 4 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcPartyTopicCommentDTO.java diff --git a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcPartyTopicCommentDTO.java b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcPartyTopicCommentDTO.java new file mode 100644 index 00000000..6b83d671 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcPartyTopicCommentDTO.java @@ -0,0 +1,14 @@ +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class EpdcPartyTopicCommentDTO implements Serializable { + private static final long serialVersionUID = -5791171173141680409L; + + private String topicId; + private List commentList; +} diff --git a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/dao/PartyTopicDao.java b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/dao/PartyTopicDao.java index b1ae0f12..8f3fb58e 100644 --- a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/dao/PartyTopicDao.java +++ b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/dao/PartyTopicDao.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.PartyTopicDTO; import com.elink.esua.epdc.dto.form.MyPartyTopicFormDTO; import com.elink.esua.epdc.dto.form.PartyGroupTopicTopFormDTO; import com.elink.esua.epdc.dto.form.PartyTopicFormDTO; +import com.elink.esua.epdc.dto.result.EpdcPartyTopicCommentDTO; import com.elink.esua.epdc.dto.result.PartyTopicDetailResultDTO; import com.elink.esua.epdc.dto.result.TopicList; import com.elink.esua.epdc.entity.PartyTopicEntity; @@ -32,7 +33,7 @@ import java.util.List; import java.util.Map; /** - * 话题表 + * 话题表 * * @author elink elink@elink-cn.com * @since v1.0.0 2020-05-29 @@ -65,6 +66,16 @@ public interface PartyTopicDao extends BaseDao { * @return java.util.List **/ List selectListOfPartyTopic(PartyTopicFormDTO formDto); + + /** + * 话题评论 + * + * @param topicIds + * @return java.util.List + * @author lc + * @since 2022/1/20 11:19 + */ + List selectTopicCommentsByTopicIds(@Param("topicIds") List topicIds); /** * @Description 更新评论数 * @Author songyunpeng @@ -144,4 +155,4 @@ public interface PartyTopicDao extends BaseDao { * @return void **/ void updateGridByDeptId(String newDeptName, Long deptId); -} \ No newline at end of file +} diff --git a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTopicServiceImpl.java b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTopicServiceImpl.java index e713aabe..256abeb0 100644 --- a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTopicServiceImpl.java @@ -40,6 +40,7 @@ import com.elink.esua.epdc.dto.PartyTopicUserAttitudeDTO; import com.elink.esua.epdc.dto.PartyUserGroupDTO; import com.elink.esua.epdc.dto.constant.PartyGroupConstant; import com.elink.esua.epdc.dto.form.*; +import com.elink.esua.epdc.dto.result.EpdcPartyTopicCommentDTO; import com.elink.esua.epdc.dto.result.PartyTopicDetailResultDTO; import com.elink.esua.epdc.dto.result.PartyTopicResultDTO; import com.elink.esua.epdc.dto.result.TopicList; @@ -59,8 +60,10 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.stream.Collectors; /** * 话题表 @@ -176,6 +179,21 @@ public class PartyTopicServiceImpl extends BaseServiceImpl topicLists = baseDao.selectListOfPartyTopic(formDto); + if (!CollectionUtils.isEmpty(topicLists)) { + // 获取话题评论 + List topicIds = topicLists.stream().map(TopicList::getId).collect(Collectors.toList()); + List topicCommentList = baseDao.selectTopicCommentsByTopicIds(topicIds); + for (TopicList topic: + topicLists) { + for (EpdcPartyTopicCommentDTO comment: + topicCommentList) { + if (topic.getId().equals(comment.getTopicId())) { + topic.setComments(comment.getCommentList()); + } + } + } + } + PartyTopicResultDTO partyTopicResultDTO = new PartyTopicResultDTO(); //获取当前用户在当前党群禁言状态 PartyUserGroupDTO userByGroupIdAndUserId = partyUserGroupService.getUserByGroupIdAndUserId(formDto.getPartyGroupId(), formDto.getUserId()); diff --git a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyTopicDao.xml b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyTopicDao.xml index d648e246..117b8da5 100644 --- a/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyTopicDao.xml +++ b/esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyTopicDao.xml @@ -183,11 +183,6 @@ if( t1.ATTITUDE_FLAG='0',1,0)likeFlag, t2.IMG_URL, - t3.ID as commentId, - t3.USERNAME as username, - t3.USER_FACE as commentUserFace, - t3.CONTENT as content, - t3.PARTY_MEMBER as commentPartyMember, t5.USER_ID as supportUserId, t5.NICKNAME as supportNickname, t5.USER_AVATAR as supportUserAvatar, @@ -198,7 +193,6 @@ left join (select * from epdc_party_topic_user_attitude)t1 on t.ID = t1.PARTY_TOPIC_ID and t1.DEL_FLAG='0' and t1.USER_ID = #{userId} left join epdc_party_topic_img t2 on t.ID = t2.REFERENCE_ID and t2.DEL_FLAG='0' - left join (select ID,USERNAME,USER_FACE,PARTY_MEMBER,CONTENT,TOPIC_ID,DEL_FLAG,CREATED_TIME from epdc_party_topic_comment order by CREATED_TIME desc) t3 on t.ID = t3.TOPIC_ID and t3.DEL_FLAG='0' left join epdc_party_topic_user_attitude t4 on t.ID = t4.PARTY_TOPIC_ID and t4.DEL_FLAG='0' left join (select epug.USER_ID,epug.NICKNAME,epug.USER_AVATAR,epug.DEL_FLAG from epdc_party_user_group epug where epug.DEL_FLAG='0' and epug.STATE ='0' group by epug.USER_ID)t5 on t4.USER_ID = t5.USER_ID left join epdc_party_user_group t6 on t6.USER_ID = t.USER_ID and t6.PARTY_GROUP_ID = t.PARTY_GROUP_ID and t6.DEL_FLAG = '0' and t6.STATE ='0' @@ -227,8 +221,36 @@ t1.TOP_TIME DESC, t1.CREATED_TIME DESC LIMIT #{pageIndex},#{pageSize}) tmp) - order by t.TOP_TIME DESC, t.CREATED_TIME desc,t3.CREATED_TIME,t4.CREATED_TIME + order by t.TOP_TIME DESC, t.CREATED_TIME desc,t4.CREATED_TIME + + + + + + + + + + + + +