diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index c8b2350e16..6701fc7bee 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.baomidou.mybatisplus.extension.api.R; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; @@ -32,10 +34,13 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.excel.CustomerAgencyExcel; import com.epmet.service.CustomerAgencyService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Map; @@ -242,4 +247,19 @@ public class CustomerAgencyController { public Result staffInAgencyList(@LoginUser TokenDto tokenDTO) { return new Result().ok(customerAgencyService.staffInAgencyList(tokenDTO.getUserId())); } -} \ No newline at end of file + + /** + * @Description 对外接口,根据customerId返回Element UI中Tree结构的agency列表 + * @param customerId + * @return com.epmet.commons.tools.utils.Result + * @Author liushaowen + * @Date 2020/11/6 13:51 + */ + @PostMapping("getAgencyElementTree") + public Result getAgencyElementTree(String customerId){ + if (StringUtils.isBlank(customerId)){ + throw new RenException("customerId不能为空"); + } + return new Result().ok(customerAgencyService.getAgencyElementTree(customerId)); + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index eeeecf60db..19b2e338b4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -175,4 +175,14 @@ public interface CustomerAgencyDao extends BaseDao { * @Description 查询工作人员所属组织信息 **/ AgencyResultDTO selectAgencyByStaffId(@Param("staffId") String staffId); -} \ No newline at end of file + + /** + * @Description 返回elementTree结构的agency树 + * @param customerId + * @param pid + * @return java.util.List + * @Author liushaowen + * @Date 2020/11/6 14:57 + */ + List getAgencyElementTree(@Param("customerId") String customerId,@Param("pid") String pid); +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index b7a556c5b0..aecfd85109 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -213,4 +213,13 @@ public interface CustomerAgencyService extends BaseService * @Description 工作端-查询当前人员所属组织及所有下级组织 **/ StaffInAgencyListResultDTO staffInAgencyList(String staffId); -} \ No newline at end of file + + /** + * @Description 运营端-返回element ui - tree 结构agency列表 + * @param customerId + * @return com.epmet.dto.result.AgencyElementTreeResultDTO + * @Author liushaowen + * @Date 2020/11/6 14:02 + */ + AgencyElementTreeResultDTO getAgencyElementTree(String customerId); +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index db160cba61..9838fdd95f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -994,4 +994,31 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyList = baseDao.getAgencyElementTree(customerId, "0"); + Set defaultKeys = new HashSet<>(); + traversalAgencyList(agencyList,0,defaultKeys); + AgencyElementTreeResultDTO dto = new AgencyElementTreeResultDTO(); + dto.setList(agencyList); + dto.setDefaultKeys(defaultKeys); + return dto; + } + private void traversalAgencyList(List agencyList,int times,Set set){ + if (agencyList.size() > 0 && times < 2){ + for (AgencyElementTreeResultDTO.Agency list : agencyList) { + set.add(list.getId()); + times++; + traversalAgencyList(list.getChildren(),times,set); + } + } + } + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 4e295b44cf..7326a91f31 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -290,4 +290,12 @@ AND csa.user_id = #{staffId} - \ No newline at end of file + + + + + + +