From 053e49d9413adeec67977339429b0e281371bc8e Mon Sep 17 00:00:00 2001 From: liuchuang Date: Thu, 26 Dec 2019 19:45:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=8C=96=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AE=9E=E7=8E=B0=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/InterfaceLogBusinessTypeEnum.java | 3 +- .../gird/shibei/contants/ApiConstants.java | 2 +- .../controller/ApiPlatformItemController.java | 42 +++++ .../esua/epdc/feign/ItemFeignClient.java | 12 ++ .../fallback/ItemFeignClientFallback.java | 5 + .../elink/esua/epdc/service/ItemService.java | 12 ++ .../epdc/service/impl/ItemServiceImpl.java | 5 + .../src/main/resources/application.yml | 6 + .../epdc/dto/item/ItemHandleProcessDTO.java | 77 +++++++++ .../item/form/ItemPlatformProcessFormDTO.java | 45 ++++++ .../ItemGridPlatformHandleStatusEnum.java | 10 ++ .../epdc/enums/ItemHandleCategoryEnum.java | 18 ++- .../service/impl/EpdcEventsServiceImpl.java | 4 +- .../controller/EpdcAppItemController.java | 14 ++ .../item/dao/GridPlatformHandleLogDao.java | 24 +++ .../esua/epdc/modules/item/dao/ItemDao.java | 11 ++ .../modules/item/dao/ItemGridPlatformDao.java | 25 +++ .../item/dao/ItemHandleProcessDao.java | 12 ++ .../service/GridPlatformHandleLogService.java | 22 +++ .../item/service/ItemGridPlatformService.java | 22 +++ .../service/ItemHandleProcessService.java | 15 +- .../modules/item/service/ItemService.java | 11 ++ .../GridPlatformHandleLogServiceImpl.java | 11 ++ .../impl/ItemGridPlatformServiceImpl.java | 10 ++ .../impl/ItemHandleProcessServiceImpl.java | 7 + .../item/service/impl/ItemServiceImpl.java | 153 ++++++++++++++++-- .../mapper/item/GridPlatformHandleLogDao.xml | 8 + .../main/resources/mapper/item/ItemDao.xml | 10 +- .../mapper/item/ItemGridPlatformDao.xml | 21 ++- .../mapper/item/ItemHandleProcessDao.xml | 9 ++ 30 files changed, 588 insertions(+), 38 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiPlatformItemController.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemHandleProcessDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemPlatformProcessFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/InterfaceLogBusinessTypeEnum.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/InterfaceLogBusinessTypeEnum.java index fd19159f6..6624da539 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/InterfaceLogBusinessTypeEnum.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/InterfaceLogBusinessTypeEnum.java @@ -6,7 +6,8 @@ package com.elink.esua.epdc.commons.tools.enums; * @Description: 接口日志表业务类型枚举类 */ public enum InterfaceLogBusinessTypeEnum { - REPORT_ITEM("1", "项目上报网格化平台"); + REPORT_ITEM("1", "项目上报网格化平台"), + PULL_ITEM_HANDLE_PROCESS("2", "查询网格化平台处理情况"); private String value; diff --git a/esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/contants/ApiConstants.java b/esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/contants/ApiConstants.java index 866e2928b..9a426a2f6 100644 --- a/esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/contants/ApiConstants.java +++ b/esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/contants/ApiConstants.java @@ -32,6 +32,6 @@ public class ApiConstants { /** * 查询办理进度接口 */ - public static final String SearchCaseProcessByTaskId = "http://60.209.152.68:8083/SendToCityGrid/WebService.asmx/SearchCaseProcessByTaskId"; + public static final String SearchCaseProcessByTaskId = "http://60.209.152.68:8083/CityGridInterfaceServiceWebService1.0/WebService.asmx/SearchCaseProcessByTaskId"; } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiPlatformItemController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiPlatformItemController.java new file mode 100644 index 000000000..8a894908b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiPlatformItemController.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.item.form.ItemPlatformProcessFormDTO; +import com.elink.esua.epdc.service.ItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * + * 网格化平台回调 + * + * @Author:liuchuang + * @Date:2019/12/26 13:37 + */ + +@RestController +@RequestMapping("paltform/item") +public class ApiPlatformItemController { + + @Autowired + private ItemService itemService; + + /** + * + * 网格化平台处理情况回调 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/12/26 13:46 + */ + @PostMapping("report/callback") + public Result reportCallback(@RequestBody ItemPlatformProcessFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return itemService.reportCallback(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java index 715739794..85727dbfc 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java @@ -89,4 +89,16 @@ public interface ItemFeignClient { */ @GetMapping(value = "events/epdc-app/item/v2/progress/{itemId}", consumes = MediaType.APPLICATION_JSON_VALUE) Result> itemHandleV2Progress(@PathVariable String itemId); + + /** + * + * 网格化平台处理情况回调 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/12/26 13:49 + */ + @PostMapping(value = "events/epdc-app/item/report/callback", consumes = MediaType.APPLICATION_JSON_VALUE) + Result reportCallback(ItemPlatformProcessFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java index 02959101e..103e10773 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ItemFeignClientFallback.java @@ -55,4 +55,9 @@ public class ItemFeignClientFallback implements ItemFeignClient { public Result> itemHandleV2Progress(String itemId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "itemHandleV2Progress", itemId); } + + @Override + public Result reportCallback(ItemPlatformProcessFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "reportCallback", formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java index f1f8b0e36..8d8609449 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ItemService.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; import com.elink.esua.epdc.dto.item.form.ItemFormDTO; import com.elink.esua.epdc.dto.item.form.ItemOfMineFormDTO; +import com.elink.esua.epdc.dto.item.form.ItemPlatformProcessFormDTO; import com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO; import com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO; @@ -77,4 +78,15 @@ public interface ItemService { * @since 2019/12/24 9:18 */ Result> getItemHandleV2Progress(String itemId); + + /** + * + * 网格化平台处理情况回调 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/12/26 13:47 + */ + Result reportCallback(ItemPlatformProcessFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java index ffb624f2b..dade49da3 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java @@ -86,4 +86,9 @@ public class ItemServiceImpl implements ItemService { public Result> getItemHandleV2Progress(String itemId) { return itemFeignClient.itemHandleV2Progress(itemId); } + + @Override + public Result reportCallback(ItemPlatformProcessFormDTO formDto) { + return itemFeignClient.reportCallback(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml index eb99e115b..7cb97f9f8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml @@ -37,6 +37,12 @@ spring: alibaba: seata: tx-service-group: epdc-api-server-fescar-service-group + servlet: + multipart: + enabled: true + file-size-threshold: 0 + max-file-size: 10MB + max-request-size: 10MB management: endpoints: diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemHandleProcessDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemHandleProcessDTO.java new file mode 100644 index 000000000..8b4569db8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemHandleProcessDTO.java @@ -0,0 +1,77 @@ +package com.elink.esua.epdc.dto.item; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author:liuchuang + * @Date:2019/12/26 18:52 + */ +@Data +public class ItemHandleProcessDTO implements Serializable { + private static final long serialVersionUID = 3624085359608359124L; + + private String id; + + /** + * 项目ID + */ + private String itemId; + + /** + * 状态 + */ + private Integer state; + + /** + * 处理意见 + */ + private String handleAdvice; + + /** + * 处理意见(外部) + */ + private String outHandleAdvice; + + /** + * 操作人部门ID + */ + private long handlerDeptId; + + /** + * 操作人部门 + */ + private String handlerDept; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建者 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 修改者 + */ + private String updatedBy; + + /** + * 修改时间 + */ + private Date updatedTime; + + /** + * 是否已删除(0-未删除,1-已删除) + */ + private String delFlag; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemPlatformProcessFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemPlatformProcessFormDTO.java new file mode 100644 index 000000000..219f4979b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemPlatformProcessFormDTO.java @@ -0,0 +1,45 @@ +package com.elink.esua.epdc.dto.item.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * + * 网格化平台回调Form DTO + * + * @Author:liuchuang + * @Date:2019/12/26 13:41 + */ +@Data +public class ItemPlatformProcessFormDTO implements Serializable { + private static final long serialVersionUID = 5924056052088510097L; + + /** + * 任务号 + */ + @NotBlank(message = "任务号不能为空") + private String taskid; + /** + * 环节名称 + */ + @NotBlank(message = "环节名称不能为空") + private String itemname; + /** + * 操作人名称 + */ + private String username; + /** + * 操作人所属部门 + */ + private String deptname; + /** + * 操作时间 + */ + private String inserttime; + /** + * 操作备注 + */ + private String note; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java index 696991f6f..ec16212bf 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java @@ -30,6 +30,16 @@ public enum ItemGridPlatformHandleStatusEnum { this.name = name; } + public static Integer getValueByName(String name) { + ItemGridPlatformHandleStatusEnum[] enums = ItemGridPlatformHandleStatusEnum.values(); + for (ItemGridPlatformHandleStatusEnum anEnum : enums) { + if (anEnum.name.equals(name)) { + return anEnum.value; + } + } + return null; + } + public int getValue() { return value; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java index 64d4a8669..b25b09144 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java @@ -30,15 +30,17 @@ public enum ItemHandleCategoryEnum { List handleResultDTOS = new ArrayList<>(); for (ItemHandleCategoryEnum e: ItemHandleCategoryEnum.values()) { - ItemHandleResultDTO dto = new ItemHandleResultDTO(); - dto.setProcessResult(e.value); - dto.setProcessName(e.name); - if (selected && ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.value == e.value) { - dto.setSelect(true); - } else { - dto.setSelect(false); + if (e.getValue() != ItemHandleCategoryEnum.HANDLE_REPORT.getValue()) { + ItemHandleResultDTO dto = new ItemHandleResultDTO(); + dto.setProcessResult(e.value); + dto.setProcessName(e.name); + if (selected && ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.value == e.value) { + dto.setSelect(true); + } else { + dto.setSelect(false); + } + handleResultDTOS.add(dto); } - handleResultDTOS.add(dto); } return handleResultDTOS; } 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 86324a337..49636fc92 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 @@ -186,7 +186,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl { + /** + * + * 根据网格化平台项目关系表ID获取历史处理记录 + * + * @params [itemGridPlatformId] + * @return java.util.List + * @author liuchuang + * @since 2019/12/25 19:17 + */ + List selectListOfHandleProcessLogByItemGridPlatFormId(String itemGridPlatformId); + + /** + * + * 根据网格化平台项目关系表ID清空处理记录 + * + * @params [itemGridPlatformId] + * @return void + * @author liuchuang + * @since 2019/12/25 18:58 + */ + void deleteHandleProcessByItemGridPlatFormId(String itemGridPlatformId); + } 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 67a893971..6c09497b7 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java @@ -195,4 +195,15 @@ public interface ItemDao extends BaseDao { */ ItemStatisticsResultDTO selectOneItemStatistics(ItemStatisticsFormDTO formDTO); + /** + * + * 删除项目处理进度表历史记录 + * + * @params [ids] + * @return void + * @author liuchuang + * @since 2019/12/25 19:23 + */ + void deleteBatchItemHandleIds(List ids); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemGridPlatformDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemGridPlatformDao.java index b46a13fb0..3df41a73f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemGridPlatformDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemGridPlatformDao.java @@ -18,9 +18,12 @@ package com.elink.esua.epdc.modules.item.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.item.ItemGridPlatformDTO; import com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 网格化平台项目关系表 网格化平台项目关系表 * @@ -30,4 +33,26 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ItemGridPlatformDao extends BaseDao { + /** + * + * 查询已上报未结案项目 + * + * @params [] + * @return java.util.List + * @author liuchuang + * @since 2019/12/25 17:16 + */ + List selectListOfGridPlatformItemNotEnd(); + + /** + * + * 根据任务号查询上报信息 + * + * @params [taskId] + * @return com.elink.esua.epdc.dto.item.ItemGridPlatformDTO + * @author liuchuang + * @since 2019/12/26 14:01 + */ + ItemGridPlatformDTO selectOneOfItemGridPlatformByTaskId(String taskId); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java index 92845a960..cf5e948dc 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.modules.item.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; import org.apache.ibatis.annotations.Mapper; @@ -30,4 +31,15 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ItemHandleProcessDao extends BaseDao { + /** + * + * 保存处理进度 + * + * @params [dto] + * @return void + * @author liuchuang + * @since 2019/12/26 19:12 + */ + void insertItemHandleProcess(ItemHandleProcessDTO dto); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/GridPlatformHandleLogService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/GridPlatformHandleLogService.java index aa902b9bb..95a0e7183 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/GridPlatformHandleLogService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/GridPlatformHandleLogService.java @@ -92,4 +92,26 @@ public interface GridPlatformHandleLogService extends BaseService + * @author liuchuang + * @since 2019/12/25 19:17 + */ + List listOfHandleProcessLogByItemGridPlatFormId(String itemGridPlatformId); + + /** + * + * 根据网格化平台项目关系表ID清空处理记录 + * + * @params [itemGridPlatformId] + * @return void + * @author liuchuang + * @since 2019/12/25 18:56 + */ + void removeHandleProcessByItemGridPlatFormId(String itemGridPlatformId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemGridPlatformService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemGridPlatformService.java index cc5b5c311..a0b682bff 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemGridPlatformService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemGridPlatformService.java @@ -92,4 +92,26 @@ public interface ItemGridPlatformService extends BaseService + * @author liuchuang + * @since 2019/12/25 17:16 + */ + List listOfGridPlatformItemNotEnd(); + + /** + * + * 根据任务号查询上报信息 + * + * @params [taskId] + * @return com.elink.esua.epdc.dto.item.ItemGridPlatformDTO + * @author liuchuang + * @since 2019/12/26 14:00 + */ + ItemGridPlatformDTO getInfoByTaskId(String taskId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java index 36ce09c82..7d3493e49 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java @@ -18,11 +18,9 @@ package com.elink.esua.epdc.modules.item.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; -import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; -import java.util.List; -import java.util.Map; /** * 项目处理流程表 项目处理流程表 @@ -41,4 +39,15 @@ public interface ItemHandleProcessService extends BaseService { * @since 2019/12/25 13:28 */ Result queryItemHandle(); + + /** + * + * 网格化平台处理情况回调 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/12/26 13:52 + */ + Result reportCallback(ItemPlatformProcessFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/GridPlatformHandleLogServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/GridPlatformHandleLogServiceImpl.java index 802f8595f..feaf41d9a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/GridPlatformHandleLogServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/GridPlatformHandleLogServiceImpl.java @@ -101,4 +101,15 @@ public class GridPlatformHandleLogServiceImpl extends BaseServiceImpl listOfHandleProcessLogByItemGridPlatFormId(String itemGridPlatformId) { + return baseDao.selectListOfHandleProcessLogByItemGridPlatFormId(itemGridPlatformId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void removeHandleProcessByItemGridPlatFormId(String itemGridPlatformId) { + baseDao.deleteHandleProcessByItemGridPlatFormId(itemGridPlatformId); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java index ce312460c..84b845768 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java @@ -101,4 +101,14 @@ public class ItemGridPlatformServiceImpl extends BaseServiceImpl listOfGridPlatformItemNotEnd() { + return baseDao.selectListOfGridPlatformItemNotEnd(); + } + + @Override + public ItemGridPlatformDTO getInfoByTaskId(String taskId) { + return baseDao.selectOneOfItemGridPlatformByTaskId(taskId); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java index 0c677424d..79cbc79aa 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.modules.item.service.impl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao; import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; import com.elink.esua.epdc.modules.item.service.ItemHandleProcessService; @@ -42,4 +43,10 @@ public class ItemHandleProcessServiceImpl extends BaseServiceImpl implem itemHandleResultDTOS.add(itemHandleResultDTO1); ItemHandleResultDTO itemHandleResultDTO2 = new ItemHandleResultDTO(); - itemHandleResultDTO1.setProcessResult(ItemHandleCategoryEnum.HANDLE_REPORT.getValue()); - itemHandleResultDTO1.setProcessName(ItemHandleCategoryEnum.HANDLE_REPORT.getName()); - itemHandleResultDTO1.setSelect(false); + itemHandleResultDTO2.setProcessResult(ItemHandleCategoryEnum.HANDLE_REPORT.getValue()); + itemHandleResultDTO2.setProcessName(ItemHandleCategoryEnum.HANDLE_REPORT.getName()); + itemHandleResultDTO2.setSelect(false); itemHandleResultDTOS.add(itemHandleResultDTO2); resultDTO.setHandleResultDTOS(itemHandleResultDTOS); @@ -627,7 +630,9 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 结案 保存部门满意度评价 if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_ITEM_PROCESSED); - itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), SecurityUser.getDeptId()); + if (null != dto.getEvaluateDeptDTOS()) { + itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), SecurityUser.getDeptId()); + } } } // 记录处理记录 @@ -869,21 +874,37 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 接口请求返回实体,getReturnCode 1失败 0成功(非空) GridDto gridDto = shiBeiCityGridApi.newSendInputInfo(sendInputInfoFormDto); // 保存接口调用日志 - InterfaceLogEntity interfaceLogEntity = new InterfaceLogEntity(); - interfaceLogEntity.setReferenceId(dto.getId()); - interfaceLogEntity.setBusinessType(InterfaceLogBusinessTypeEnum.REPORT_ITEM.getValue()); - interfaceLogEntity.setInterfaceName(ApiConstants.newSendInputInfo); - if ("1".equals(gridDto.getReturnCode())) {//保存结果 1失败 0成功(非空) - interfaceLogEntity.setSuccessFlag(YesOrNoEnum.NO.value()); - } else if ("0".equals(gridDto.getReturnCode())) { - interfaceLogEntity.setSuccessFlag(YesOrNoEnum.YES.value()); + String successFlag = YesOrNoEnum.NO.value(); + if (NumConstant.ZERO_STR.equals(gridDto.getReturnCode())) { + successFlag = YesOrNoEnum.YES.value(); } - interfaceLogEntity.setCallMsgBody(XstreamUtil.objectToXml(sendInputInfoFormDto)); - interfaceLogEntity.setReturnMsgBody(XstreamUtil.objectToXml(gridDto)); - interfaceLogService.insert(interfaceLogEntity); + this.saveInterfaceLog(dto.getId(), InterfaceLogBusinessTypeEnum.REPORT_ITEM.getValue(), + ApiConstants.newSendInputInfo, successFlag, XstreamUtil.objectToXml(sendInputInfoFormDto), + XstreamUtil.objectToXml(gridDto)); return gridDto; } + /** + * + * 保存接口调用日志 + * + * @params [referenceId, businessType, interfaceName, successFlag, callMsgBody, returnMsgBody] + * @return void + * @author liuchuang + * @since 2019/12/26 11:08 + */ + private void saveInterfaceLog(String referenceId, String businessType, String interfaceName, + String successFlag, String callMsgBody, String returnMsgBody) { + InterfaceLogEntity interfaceLogEntity = new InterfaceLogEntity(); + interfaceLogEntity.setReferenceId(referenceId); + interfaceLogEntity.setBusinessType(businessType); + interfaceLogEntity.setInterfaceName(interfaceName); + interfaceLogEntity.setSuccessFlag(successFlag); + interfaceLogEntity.setCallMsgBody(callMsgBody); + interfaceLogEntity.setReturnMsgBody(returnMsgBody); + interfaceLogService.insert(interfaceLogEntity); + } + /** * @param itemEntity * @return com.elink.esua.gird.shibei.dto.form.SendInputInfoFormDto @@ -1000,12 +1021,110 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Override + @Transactional(rollbackFor = Exception.class) public Result queryItemHandle() { // 获取已上报网格平台未结案的项目 - + List gridPlatformDTOList = itemGridPlatformService.listOfGridPlatformItemNotEnd(); // 拉取处理情况 + for (ItemGridPlatformDTO dto: + gridPlatformDTOList) { + SearchCaseProcessByTaskIdDto searchResultDot = shiBeiCityGridApi.searchCaseProcessByTaskId(dto.getTaskid()); + String successFlag = YesOrNoEnum.NO.value(); + String returnMsgBody = ""; + if (null != searchResultDot) { + successFlag = YesOrNoEnum.YES.value(); + returnMsgBody = XstreamUtil.objectToXml(searchResultDot); + List progressList = searchResultDot.getRequest(); + if (null != progressList && progressList.size() > 0) { + // 删除已有处理记录 + this.removeOldHandleProcess(dto.getId()); + // 保存新的处理记录 + this.insertNewHandleProcess(progressList, dto.getReferenceId(), dto.getId()); + // 更新网格化平台当前处理状态 + } + } + // 保存接口调用日志 + this.saveInterfaceLog(dto.getReferenceId(), InterfaceLogBusinessTypeEnum.PULL_ITEM_HANDLE_PROCESS.getValue(), + ApiConstants.SearchCaseProcessByTaskId, successFlag, dto.getTaskid(), returnMsgBody); + } + + return new Result(); + } + + /** + * + * 删除历史网格化平台处理记录 + * + * @params [id] + * @return void + * @author liuchuang + * @since 2019/12/25 19:08 + */ + private void removeOldHandleProcess(String itemGridPlatformId) { + // 获取历史处理记录 + List oldLogs = gridPlatformHandleLogService.listOfHandleProcessLogByItemGridPlatFormId(itemGridPlatformId); + // 删除项目处理进度表历史记录 + baseDao.deleteBatchItemHandleIds(oldLogs); + // 删除网格化平台处理记录表记录 + gridPlatformHandleLogService.removeHandleProcessByItemGridPlatFormId(itemGridPlatformId); + } + + /** + * + * 保存新的网格化平台处理记录 + * + * @params [progressList] + * @return void + * @author liuchuang + * @since 2019/12/25 19:27 + */ + private void insertNewHandleProcess(List progressList, String itemId, String itemGridPlatformId) { + + try { + for (SearchCaseProcessByTaskIdItemDto dto: + progressList) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date insertTime = sdf.parse(dto.getInserttime()); + String itemHandleProcessId = UUID.randomUUID().toString().replaceAll("-", ""); + // 插入项目处理进度表 + ItemHandleProcessDTO itemHandleProcessDto = new ItemHandleProcessDTO(); + itemHandleProcessDto.setId(itemHandleProcessId); + itemHandleProcessDto.setItemId(itemId); + itemHandleProcessDto.setState(ItemGridPlatformHandleStatusEnum.getValueByName(dto.getItemname())); + itemHandleProcessDto.setHandleAdvice(dto.getNote()); + itemHandleProcessDto.setOutHandleAdvice(dto.getNote()); + itemHandleProcessDto.setHandlerDept(dto.getDeptname()); + itemHandleProcessDto.setCreatedTime(insertTime); + itemHandleProcessDto.setUpdatedTime(insertTime); + itemHandleProcessService.saveItemHandleProcess(itemHandleProcessDto); + + // 插入网格化平台处理记录表 + GridPlatformHandleLogEntity gridPlatformHandleLogEntity = new GridPlatformHandleLogEntity(); + gridPlatformHandleLogEntity.setItemGridPlatformId(itemGridPlatformId); + gridPlatformHandleLogEntity.setItemHandleProcessId(itemHandleProcessId); + gridPlatformHandleLogEntity.setStatus(ItemGridPlatformHandleStatusEnum.getValueByName(dto.getItemname())); + gridPlatformHandleLogEntity.setHandler(dto.getUsername()); + gridPlatformHandleLogEntity.setHandlingOpinions(dto.getNote()); + gridPlatformHandleLogEntity.setHandlingDept(dto.getDeptname()); + gridPlatformHandleLogEntity.setHandlingTime(insertTime); + gridPlatformHandleLogService.insert(gridPlatformHandleLogEntity); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public Result reportCallback(ItemPlatformProcessFormDTO formDto) { + // 获取上报项目信息 + ItemGridPlatformDTO platformDto = itemGridPlatformService.getInfoByTaskId(formDto.getTaskid()); + if (null == platformDto) { + return new Result(); + } - // 保存处理情况 + // 保存网格化平台处理记录 + SearchCaseProcessByTaskIdItemDto taskDto = ConvertUtils.sourceToTarget(formDto, SearchCaseProcessByTaskIdItemDto.class); + this.insertNewHandleProcess(Collections.singletonList(taskDto), platformDto.getReferenceId(), platformDto.getId()); return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/GridPlatformHandleLogDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/GridPlatformHandleLogDao.xml index c9b4e1aad..5963e7ccd 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/GridPlatformHandleLogDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/GridPlatformHandleLogDao.xml @@ -20,5 +20,13 @@ + + + + DELETE FROM epdc_grid_platform_handle_log WHERE ITEM_GRID_PLATFORM_ID = #{itemGridPlatformId} + + 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 32d7dc639..8d21b9a3c 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -129,7 +129,7 @@ item.CATEGORY_FULL_NAME as CATEGORY_NAME, img.IMG_URL, hp.CREATED_TIME AS handleTime, - hp.OUT_HANDLE_ADVICE, + hp.HANDLE_ADVICE AS OUT_HANDLE_ADVICE, CASE item.ITEM_STATE WHEN 0 THEN @@ -293,6 +293,7 @@ item.ID, item.EVENT_ID, + item.ISSUE_ID, item.ITEM_CONTENT, item.ITEM_STATE, item.CREATED_TIME, @@ -842,4 +843,11 @@ ) noticeTable ON pendingTable.keystr = noticeTable.keystr + + + DELETE FROM epdc_item_handle_process WHERE ID IN + + #{id} + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemGridPlatformDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemGridPlatformDao.xml index ea0a76dcf..156011a63 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemGridPlatformDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemGridPlatformDao.xml @@ -17,8 +17,9 @@ - SELECT + ID, REFERENCE_ID, TASKID, `STATUS` @@ -26,13 +27,23 @@ epdc_item_grid_platform WHERE DEL_FLAG = '0' - AND `status` IN - - #{status} - + AND `status` ]]> 60 ORDER BY CREATED_TIME + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml new file mode 100644 index 000000000..bda6c5fc4 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml @@ -0,0 +1,9 @@ + + + + + + INSERT INTO epdc_item_handle_process ( ID, ITEM_ID, STATE, HANDLE_ADVICE, OUT_HANDLE_ADVICE, HANDLER_DEPT, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME, DEL_FLAG ) + VALUES (#{id}, #{itemId}, #{state}, #{handleAdvice}, #{outHandleAdvice}, #{handlerDept}, 0, '网格化平台', #{createdTime}, '网格化平台', #{updatedTime}, '0') + +