From 734c6dbaa92918eaa2eb7ba52f2b1ae34ed73d9c Mon Sep 17 00:00:00 2001 From: yujt Date: Mon, 25 May 2020 09:37:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2/EpdcAppWorkEventItemV2Controller.java | 58 ++++++++++++ .../modules/item/service/ItemService.java | 29 ++++-- .../item/service/impl/ItemServiceImpl.java | 89 ++++++++++++------- 3 files changed, 138 insertions(+), 38 deletions(-) create mode 100644 epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/controller/v2/EpdcAppWorkEventItemV2Controller.java diff --git a/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/controller/v2/EpdcAppWorkEventItemV2Controller.java b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/controller/v2/EpdcAppWorkEventItemV2Controller.java new file mode 100644 index 0000000..0d9482c --- /dev/null +++ b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/controller/v2/EpdcAppWorkEventItemV2Controller.java @@ -0,0 +1,58 @@ +package com.elink.esua.epdc.modules.item.controller.v2; + +import com.elink.esua.epdc.commons.api.version.ApiVersion; +import com.elink.esua.epdc.commons.tools.constant.Constant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.result.ItemCirculationDeptResultDTO; +import com.elink.esua.epdc.dto.item.result.ItemHandleResultDTO; +import com.elink.esua.epdc.modules.item.service.ItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 工作端事件 迭代接口 v2 + * + * @author zy + * @date 2020/05/06 + */ + +@ApiVersion(2) +@RestController("EpdcAppWorkEventItemV2Controller") +@RequestMapping(Constant.EPDC_APP + "work/event/item" + Constant.VERSION_CONTROL) +public class EpdcAppWorkEventItemV2Controller { + + @Autowired + private ItemService itemService; + + /** + * 获取可吹哨部门V2 + * + * @param: + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-05-06 + */ + @GetMapping("whistlingDept") + public Result> whistlingDept() { + List list = this.itemService.listWhistlingDept(); + return new Result>().ok(list); + } + + /** + * 获取当前部门可做操作V2 + * + * @param: + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-05-06 + */ + @GetMapping("handleCategory") + public Result> handleCategory() { + List list = this.itemService.listHandleCategory(); + return new Result>().ok(list); + } +} diff --git a/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index f9e200d..8cbdfbe 100755 --- a/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -373,35 +373,52 @@ public interface ItemService extends BaseService { List statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto); /** - * * 项目修改组织机构信息 * - * @params [dto] * @return void + * @params [dto] * @author liuchuang * @since 2020/3/7 1:23 */ void modifyOrganizationInfo(OrganizationModifyDTO dto); /** - * * 更新项目表党员群名称 * - * @params [groups] * @return void + * @params [groups] * @author liuchuang * @since 2020/3/7 12:50 */ void modifyPartyGroupName(List groups); /** - * * 修改分类信息 * - * @params [] * @return void + * @params [] * @author liuchuang * @since 2020/3/7 16:33 */ void modifyCategoryInfo(CategoryModifyDTO dto); + + /** + * 获取可吹哨部门V2 + * + * @param: + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-05-06 + */ + List listWhistlingDept(); + + /** + * 获取当前部门可做操作V2 + * + * @param: + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-05-06 + */ + List listHandleCategory(); } diff --git a/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 2810cc3..26ed79c 100755 --- a/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/epdc-cloud-events/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -795,10 +795,10 @@ public class ItemServiceImpl extends BaseServiceImpl implem } //居民端项目关闭、结案-短信通知 if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || - ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ + ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { List list = new ArrayList<>(); list.add(entity.getMobile()); - this.projectSmsNotification(dto,list); + this.projectSmsNotification(dto, list); } //工作端 根据不同的处理方式,进行短信通知 this.workProjectHandle(dto); @@ -1305,30 +1305,30 @@ public class ItemServiceImpl extends BaseServiceImpl implem * @Author: zy * @Date: 2020-01-09 */ - private void workProjectHandle(ItemHandleSubmitFormDTO dto){ + private void workProjectHandle(ItemHandleSubmitFormDTO dto) { UserDetail user = SecurityUser.getUser(); //获取当前登录人信息 List deptId = new ArrayList<>(); - if(ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()){ - List deptList = dto.getDeptResultDTOS(); - for (int i =0; i < deptList.size(); i++) { - ItemCirculationDeptResultDTO indexDto = (ItemCirculationDeptResultDTO)deptList.get(i); + if (ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()) { + List deptList = dto.getDeptResultDTOS(); + for (int i = 0; i < deptList.size(); i++) { + ItemCirculationDeptResultDTO indexDto = (ItemCirculationDeptResultDTO) deptList.get(i); deptId.add(indexDto.getDeptId()); } - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//吹哨处理 a吹b 向b部门下的,所有人员发送短信 - if (user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_STREET_PARTY)){ //如果是街道做吹哨处理, 做回应处理 + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId, user.getTypeKey());//吹哨处理 a吹b 向b部门下的,所有人员发送短信 + if (user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_STREET_PARTY)) { //如果是街道做吹哨处理, 做回应处理 this.superiorDeptSmsHandle(dto); } - } else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || - ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ - deptId = baseDao.queryDeptIdList(dto.getId(),user.getDeptId()); - if (deptId != null && deptId.size() > 0){ - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID + } else if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || + ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { + deptId = baseDao.queryDeptIdList(dto.getId(), user.getDeptId()); + if (deptId != null && deptId.size() > 0) { + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId, user.getTypeKey());//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID } - } else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ - if (!user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY)){//回应 + } else if (ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()) { + if (!user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY)) {//回应 this.superiorDeptSmsHandle(dto); } - }else if(ItemHandleCategoryEnum.HANDLE_REPORT.getValue() == dto.getHandleCategory()){ //上报网格化平台 + } else if (ItemHandleCategoryEnum.HANDLE_REPORT.getValue() == dto.getHandleCategory()) { //上报网格化平台 this.superiorDeptSmsHandle(dto); } } @@ -1341,25 +1341,26 @@ public class ItemServiceImpl extends BaseServiceImpl implem * @Author: zy * @Date: 2020-01-14 */ - private void superiorDeptSmsHandle(ItemHandleSubmitFormDTO dto){ + private void superiorDeptSmsHandle(ItemHandleSubmitFormDTO dto) { UserDetail user = SecurityUser.getUser(); //获取当前登录人信息 List deptId = new ArrayList<>(); Long queryDePtId = user.getDeptId(); - while (true){ - List createdDeptId = baseDao.queryParentDeptId(dto.getId(),queryDePtId); - if (createdDeptId != null && createdDeptId.size() > 0){ - for(Long ll : createdDeptId){ + while (true) { + List createdDeptId = baseDao.queryParentDeptId(dto.getId(), queryDePtId); + if (createdDeptId != null && createdDeptId.size() > 0) { + for (Long ll : createdDeptId) { deptId.add(ll); queryDePtId = ll; } - }else{ + } else { break; } } if (deptId != null && deptId.size() > 0) { - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//做回应处理,向部门下的所有人员发送短信 + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId, user.getTypeKey());//做回应处理,向部门下的所有人员发送短信 } } + /** * @Description: 居民端:项目处理,发送短信 * @Param: [dto] @@ -1368,17 +1369,18 @@ public class ItemServiceImpl extends BaseServiceImpl implem * @Author: zy * @Date: 2020-01-08 */ - public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles){ + public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles) { // 审核操作发送短信 SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); sms.setMobiles(userMobiles); if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory()) { // 关闭 sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_CLOSED); - }else if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ //结案 + } else if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { //结案 sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_SETTLE); } issueOverseeResultsTask.sendSmsNotice(sms); } + /** * @param * @return com.elink.esua.epdc.commons.tools.utils.Result> @@ -1457,17 +1459,16 @@ public class ItemServiceImpl extends BaseServiceImpl implem } /** - * * 组织机构信息处理 * - * @params [dto, eventsList] * @return java.util.List + * @params [dto, eventsList] * @author liuchuang * @since 2020/3/7 1:17 */ private List handleOrganizationInfo(OrganizationModifyDTO dto, List itemList) { List entities = new ArrayList<>(); - for (ItemDTO item: itemList) { + for (ItemDTO item : itemList) { ItemEntity entity = new ItemEntity(); if (StringUtils.isNotEmpty(item.getParentDeptIds()) && StringUtils.isNotEmpty(item.getParentDeptNames())) { List parentDeptIds = Arrays.asList(item.getParentDeptIds().split(",")); @@ -1517,18 +1518,42 @@ public class ItemServiceImpl extends BaseServiceImpl implem } } + @Override + public List listWhistlingDept() { + UserDetail user = SecurityUser.getUser(); + Result> roleIdList = adminFeignClient.getRoleIdList(user.getId()); + if (!roleIdList.success() || roleIdList.getData().isEmpty()) { + throw new RenException("获取角色Id列表失败"); + } + + //可流转部门 + List deptResultDTOS = handleRoleCategoryService.listItemCirculationDeptResultDTO(roleIdList.getData()); + return deptResultDTOS; + } + + @Override + public List listHandleCategory() { + UserDetail user = SecurityUser.getUser(); + Result> roleIdList = adminFeignClient.getRoleIdList(user.getId()); + if (!roleIdList.success() || roleIdList.getData().isEmpty()) { + throw new RenException("获取角色Id列表失败"); + } + //可处理操作 + List handleResultDTOS = handleRoleCategoryService.listItemHandleResultDTO(roleIdList.getData()); + return handleResultDTOS; + } + /** - * * 分类信息处理 * - * @params [dto, eventsList] * @return java.util.List + * @params [dto, eventsList] * @author liuchuang * @since 2020/3/7 17:00 */ private List handleCategoryInfo(CategoryModifyDTO dto, List itemList) { List entities = new ArrayList<>(); - for (ItemDTO item: itemList) { + for (ItemDTO item : itemList) { if (StringUtils.isNotEmpty(item.getCategoryFullName())) { List categoryFullName = Arrays.asList(item.getCategoryFullName().split("-")); int index = categoryFullName.indexOf(dto.getOldCategoryName());