diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java index 8fa6f286..0caa2349 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java @@ -121,4 +121,13 @@ public interface NoticeDao extends BaseDao { * @Date 09:46 2020-05-19 **/ List selectListV2AppNotice(EpdcNoticeListV2FormDTO formDto); + + /** + * 根据主键ID, 查询通知的部门id + * @param noticeId + * @return java.util.List + * @Author zhangyong + * @Date 09:43 2020-06-02 + **/ + List selectListNoticeDeptIdInfo(String noticeId); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java index 4fc18211..52f51025 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java @@ -122,14 +122,39 @@ public class NoticeServiceImpl extends BaseServiceImpl public NoticeDTO get(String id) { NoticeEntity entity = baseDao.selectById(id); NoticeDTO dto = ConvertUtils.sourceToTarget(entity, NoticeDTO.class); - /*if(StringUtils.isNotBlank(dto.getAllDeptIds())){ - String[] idsShow = dto.getAllDeptIds().split(","); - List ids = Arrays.asList(idsShow); - dto.setAllDeptIdsShow(ids.subList(1,ids.size())); - }*/ + + // 通知部门回显 + List listNoticeDeptId = baseDao.selectListNoticeDeptIdInfo(dto.getId()); + dto.setAllDeptIdsShow(this.getParentAllDeptInfo(listNoticeDeptId)); return dto; } + /** + * 根据部门id, 查询所有的父级id, 最后拼接起来 + * @param listDeptId + * @return java.util.List + * @Author zhangyong + * @Date 09:55 2020-06-02 + **/ + private List getParentAllDeptInfo(List listDeptId){ + // [0,1,2,3] + List allDeptIdsShowList = new ArrayList<>(); + for (Long list : listDeptId){ + // 查询父级部门 + Result parentAndAllDept = adminFeignClient.getParentAndAllDept(list.toString()); + ParentAndAllDeptDTO parentAndAllDeptDTO = parentAndAllDept.getData(); + String allDeptIds = parentAndAllDeptDTO.getAllDeptIds(); + String[] deptIdsShow = allDeptIds.split(","); + Long[] allDeptIdsShowLong = new Long[deptIdsShow.length]; + // 从第一级开始保存 + for (int i = 0; i <= deptIdsShow.length -1; i++){ + allDeptIdsShowLong[i] = Long.valueOf(deptIdsShow[i]); + } + allDeptIdsShowList.add(allDeptIdsShowLong); + } + return allDeptIdsShowList; + } + @Override @Transactional(rollbackFor = Exception.class) public void save(NoticeDTO dto) { diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml index 46e22240..29ebb686 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml @@ -116,4 +116,13 @@ en.RELEASE_TIME DESC LIMIT #{pageIndex},#{pageSize} + +