diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java index 0368eca5f..b08800c87 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java @@ -48,6 +48,6 @@ public class EpdcEventsReviewFormDTO implements Serializable { /** *操作部门名称 */ - @NotNull(message = "操作部门名称不能为空") + @NotBlank(message = "操作部门名称不能为空") private String handleDeptName; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java index 04a4cd80a..4e826b84a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.dto.issue.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; @@ -36,17 +37,16 @@ public class IssueWaitHandleSubmitFormDTO implements Serializable { */ private List images; - /** - *操作部门ID + * 操作人部门ID */ - @NotNull(message = "操作部门ID不能为空") - private Long handleDeptId; + @NotNull(message = "操作人部门ID不能为空") + private Long handlerDeptId; /** - *操作部门名称 + * 操作人部门 */ - @NotNull(message = "操作部门名称不能为空") - private String handleDeptName; + @NotBlank(message = "操作人部门不能为空") + private String handlerDept; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/HandleResultDTOSFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/HandleResultDTOSFormDTO.java new file mode 100644 index 000000000..96f08ba09 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/HandleResultDTOSFormDTO.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.dto.item.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 获取处理方式FormDTO + * @Author wanggongfeng + * @Date 2020/05/15 15:04 + */ +@Data +public class HandleResultDTOSFormDTO implements Serializable { + private static final long serialVersionUID = -7871958578795227805L; + + /** + * 项目ID + */ + @NotBlank(message = "项目ID不能为空") + private String itemId; + /** + * 用户ID + */ + @NotNull(message = "操作人部门ID不能为空") + private Long deptId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemHandleSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemHandleSubmitFormDTO.java index ff89aa99b..c257f2745 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemHandleSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemHandleSubmitFormDTO.java @@ -64,19 +64,19 @@ public class ItemHandleSubmitFormDTO implements Serializable { private List evaluateDeptDTOS; /** - *操作部门ID + *部门键类型 */ - @NotNull(message = "操作部门ID不能为空") - private Long handleDeptId; + private String typeKey; /** - *操作部门名称 + *操作部门ID */ - @NotNull(message = "操作部门名称不能为空") - private String handleDeptName; + @NotNull(message = "操作人部门ID不能为空") + private Long handlerDeptId; /** - *部门键类型 + * 操作人部门 */ - private String typeKey; + @NotBlank(message = "操作人部门不能为空") + private String handlerDept; } 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 1493954b7..7aaaa6b1e 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 @@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.redis.RedisKeys; import com.elink.esua.epdc.commons.tools.redis.RedisUtils; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; +import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.EventIssueItemState; @@ -241,6 +242,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl imp handleEntity.setAdvice(dto.getAdvice()); handleEntity.setState(dto.getState()); handleEntity.setIssueId(dto.getId()); - handleEntity.setHandlerDeptId(dto.getHandleDeptId()); - handleEntity.setHandlerDept(dto.getHandleDeptName()); + UserDetail user = SecurityUser.getUser(); + /*handleEntity.setHandlerDeptId(user.getDeptId()); + handleEntity.setHandlerDept(user.getDeptName());*/ + handleEntity.setHandlerDeptId(dto.getHandlerDeptId()); + handleEntity.setHandlerDept(dto.getHandlerDept()); IssueEntity issueEntity = new IssueEntity(); issueEntity.setId(dto.getId()); @@ -233,8 +237,10 @@ public class IssueServiceImpl extends BaseServiceImpl imp itemHandleProcessEntity.setState(EventIssueItemState.ITEM_HANDLING); itemHandleProcessEntity.setHandleAdvice(dto.getAdvice()); itemHandleProcessEntity.setOutHandleAdvice(dto.getAdvice()); - itemHandleProcessEntity.setHandlerDeptId(dto.getHandleDeptId()); - itemHandleProcessEntity.setHandlerDept(dto.getHandleDeptName()); + /*itemHandleProcessEntity.setHandlerDeptId(user.getDeptId()); + itemHandleProcessEntity.setHandlerDept(user.getDeptName());*/ + itemHandleProcessEntity.setHandlerDeptId(dto.getHandlerDeptId()); + itemHandleProcessEntity.setHandlerDept(dto.getHandlerDept()); itemHandleProcessService.insert(itemHandleProcessEntity); /** @@ -248,8 +254,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp // 插入项目部门关联表 ItemDeptEntity itemDeptEntity = new ItemDeptEntity(); - itemDeptEntity.setDeptId(dto.getHandleDeptId()); - itemDeptEntity.setCreatedDeptId(dto.getHandleDeptId()); + itemDeptEntity.setDeptId(dto.getHandlerDeptId()); + itemDeptEntity.setCreatedDeptId(dto.getHandlerDeptId()); itemDeptEntity.setItemId(itemEntity.getId()); itemDeptService.insert(itemDeptEntity); 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 914006d57..e08f95f47 100755 --- 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 @@ -23,13 +23,14 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; 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.form.KpiMetaDataOfEventsFormDTO; import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; +import com.elink.esua.epdc.dto.item.form.HandleResultDTOSFormDTO; import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO; import com.elink.esua.epdc.dto.item.result.ItemContentForPCEndResultDTO; import com.elink.esua.epdc.dto.item.result.ItemDetailForPCEndResultDTO; @@ -86,6 +87,20 @@ public class ItemController { return new Result().ok(data); } + /** + * 获取可操作处理 + * + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wanggongfeng + * @Date: 2020/05/15 15:04 + */ + @PostMapping("getHandleResultDTOS") + public Result getHandleResultDTOS(@RequestBody HandleResultDTOSFormDTO dto) { + ItemDetailForPCEndResultDTO data = itemService.getHandleResultDTOS(dto); + return new Result().ok(data); + } + @PostMapping public Result save(@RequestBody ItemDTO dto) { //效验数据 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 64c89d7a2..5cccb4397 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -95,6 +95,16 @@ public interface ItemService extends BaseService { */ ItemDetailForPCEndResultDTO getItemDetailById(String id); + /** + * 获取可操作处理 + * + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wanggongfeng + * @Date: 2020/05/15 15:04 + */ + ItemDetailForPCEndResultDTO getHandleResultDTOS(HandleResultDTOSFormDTO dto); + /** * 默认保存 * 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 5d17a5052..1ded52b7d 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -322,7 +322,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem public ItemDetailForPCEndResultDTO getItemDetailById(String id) { // 详情 ItemDetailForPCEndResultDTO resultDTO = baseDao.selectOneOfItemDetailForPCEnd(id); - UserDetail user = SecurityUser.getUser(); + /*UserDetail user = SecurityUser.getUser(); // 获取已流转部门 List itemDeptDTOS = itemDeptService.listOfItemDept(id, user.getDeptId()); // 获取可操作处理和可流转部门 @@ -337,7 +337,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem break; case OrganizationTypeConstant.ORG_TYPE_STREET_PARTY: resultDTO = this.getHandleCategoryAndCirculationDeptOfStreet(resultDTO, itemDeptDTOS); - } + }*/ //获取项目基本信息 ItemEntity entity = this.selectById(id); // 获取项目处理进度 @@ -351,6 +351,29 @@ public class ItemServiceImpl extends BaseServiceImpl implem return resultDTO; } + @Override + public ItemDetailForPCEndResultDTO getHandleResultDTOS(HandleResultDTOSFormDTO dto) { + // 详情 + ItemDetailForPCEndResultDTO resultDTO = new ItemDetailForPCEndResultDTO(); + UserDetail user = SecurityUser.getUser(); + // 获取已流转部门 + List itemDeptDTOS = itemDeptService.listOfItemDept(dto.getItemId(), dto.getDeptId()); + // 获取可操作处理和可流转部门 + switch (user.getTypeKey()) { + case OrganizationTypeConstant.ORG_TYPE_GRID_PARTY: + resultDTO = this.getHandleCategoryAndCirculationDeptOfGrid(resultDTO, itemDeptDTOS); + break; + case OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY: + case OrganizationTypeConstant.ORG_TYPE_STREET_DEPT: + case OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT: + resultDTO = this.getHandleCategory(resultDTO); + break; + case OrganizationTypeConstant.ORG_TYPE_STREET_PARTY: + resultDTO = this.getHandleCategoryAndCirculationDeptOfStreet(resultDTO, itemDeptDTOS); + } + return resultDTO; + } + /** * 项目详情-网格-可做操作和可流转部门 * @@ -580,7 +603,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Transactional(rollbackFor = Exception.class) public Result modifyHandleResult(ItemHandleSubmitFormDTO dto) { try { - Result deptMessage = adminFeignClient.getSysDeptInfo(dto.getHandleDeptId()); + Result deptMessage = adminFeignClient.getSysDeptInfo(dto.getHandlerDeptId()); if( null == deptMessage.getData()){ throw new RenException("未查到该部门相关信息"); } @@ -601,8 +624,10 @@ public class ItemServiceImpl extends BaseServiceImpl implem informationFormDTO.setRelBusinessContent("项目:" + entity.getItemContent()); ItemHandleProcessEntity handleProcessEntity = new ItemHandleProcessEntity(); - handleProcessEntity.setHandlerDeptId(dto.getHandleDeptId()); - handleProcessEntity.setHandlerDept(dto.getHandleDeptName()); + /*handleProcessEntity.setHandlerDeptId(user.getDeptId()); + handleProcessEntity.setHandlerDept(user.getDeptName());*/ + handleProcessEntity.setHandlerDeptId(dto.getHandlerDeptId()); + handleProcessEntity.setHandlerDept(dto.getHandlerDept()); handleProcessEntity.setItemId(dto.getId()); handleProcessEntity.setHandleAdvice(dto.getHandleAdvice()); handleProcessEntity.setOutHandleAdvice(dto.getOutHandleAdvice()); @@ -616,13 +641,13 @@ public class ItemServiceImpl extends BaseServiceImpl implem handleProcessEntity.setState(EventIssueItemState.ITEM_HANDLING); // 获取已流转部门信息 - List oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandleDeptId()); + List oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandlerDeptId()); // 删除已流转协助部门 - itemDeptService.modifyItemDepts(dto.getHandleDeptId(), dto.getId()); + itemDeptService.modifyItemDepts(dto.getHandlerDeptId(), dto.getId()); // 记录处理记录 itemHandleProcessService.insert(handleProcessEntity); // 新增流转协助部门 - itemDeptService.saveItemDepts(dto.getHandleDeptId(), dto, handleProcessEntity.getId()); + itemDeptService.saveItemDepts(dto.getHandlerDeptId(), dto, handleProcessEntity.getId()); List circulationDeptResultDTOS = dto.getDeptResultDTOS(); List newDeptIds = new ArrayList<>(); for (ItemCirculationDeptResultDTO circulationDto : @@ -671,7 +696,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_ITEM_PROCESSED); if (null != dto.getEvaluateDeptDTOS()) { - itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), dto.getHandleDeptId()); + itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), dto.getHandlerDeptId()); } } } @@ -690,8 +715,8 @@ public class ItemServiceImpl extends BaseServiceImpl implem itemInfoDto.setBusinessType(dto.getHandleCategory()); itemInfoDto.setAssociatedBusinessId(dto.getId()); itemInfoDto.setAssociatedBusinessContent(entity.getItemContent()); - itemInfoDto.setHandleDeptId(dto.getHandleDeptId()); - itemInfoDto.setHandleDept(dto.getHandleDeptName()); + itemInfoDto.setHandleDeptId(dto.getHandlerDeptId()); + itemInfoDto.setHandleDept(dto.getHandlerDept()); itemInfoDto.setHandleAdvice(dto.getHandleAdvice()); itemInfoDto.setReadFlag(ItemInformationConstant.READ_FLAG_NO); // 回应处理 @@ -743,7 +768,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 关闭和结案处理 } else { // 查询已吹哨部门 - List oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandleDeptId()); + List oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandlerDeptId()); // 遍历被吹哨部门插入项目消息表 for (Long itemDeptId : oldDeptIds) { // 通知部门Id(被吹哨部门) @@ -759,12 +784,12 @@ public class ItemServiceImpl extends BaseServiceImpl implem newsTask.insertUserInformation(informationFormDTO); // 发送菜单消息-待处理项目 - if (entity.getGridId().equals(dto.getHandleDeptId())) { + if (entity.getGridId().equals(dto.getHandlerDeptId())) { // 网格长操作-发送菜单消息 this.sendItemHandleMenuNotice(entity.getGridId(), null); } else { // 吹哨部门操作-发送菜单消息 - this.sendWhistlingDeptItemHandleMenuNotice(Collections.singletonList(dto.getHandleDeptId()), null); + this.sendWhistlingDeptItemHandleMenuNotice(Collections.singletonList(dto.getHandlerDeptId()), null); } //项目外部处理意见图片保存 if (dto.getOutHandleImages() != null && dto.getOutHandleImages().size() > 0) { @@ -831,7 +856,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 如果当前流转协助是网格发起,判断其街道党工委是否已将该项目流转协助 if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(dto.getTypeKey())) { - Result completeDept = adminFeignClient.getCompleteDept(dto.getHandleDeptId()); + Result completeDept = adminFeignClient.getCompleteDept(dto.getHandlerDeptId()); if (!completeDept.success()) { return new Result().error("获取机构信息失败,请稍后重试"); } @@ -1299,7 +1324,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem } } else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ - deptId = baseDao.queryDeptIdList(dto.getId(),dto.getHandleDeptId()); + deptId = baseDao.queryDeptIdList(dto.getId(),dto.getHandlerDeptId()); if (deptId != null && deptId.size() > 0){ issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,dto.getTypeKey());//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID } @@ -1322,7 +1347,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem */ private void superiorDeptSmsHandle(ItemHandleSubmitFormDTO dto){ List deptId = new ArrayList<>(); - Long queryDePtId = dto.getHandleDeptId(); + Long queryDePtId = dto.getHandlerDeptId(); while (true){ List createdDeptId = baseDao.queryParentDeptId(dto.getId(),queryDePtId); if (createdDeptId != null && createdDeptId.size() > 0){