diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java index 0f43e7e75..26819ecb2 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java @@ -133,6 +133,6 @@ public class NoticeDTO implements Serializable { /** * 所有部门列表 */ - private List allDeptIdsShow; + private List allDeptIdsShow; } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java index 2688a9229..c480ab591 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -315,6 +315,9 @@ public class NewsServiceImpl extends BaseServiceImpl implem gridIdList.add(deptOptions[NumConstant.THREE]); } } + if (CollUtil.isEmpty(gridIdList)) { + throw new RenException("请选择至少一个最低机构部门"); + } return gridIdList; } 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 3d9ff3466..f4b02fe68 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 @@ -70,8 +70,8 @@ public class NoticeServiceImpl extends BaseServiceImpl @Override public PageData page(Map params) { - String noticeTitle= (String) params.get("noticeTitle"); - params.put("noticeTitle",noticeTitle.trim()); + String noticeTitle = (String) params.get("noticeTitle"); + params.put("noticeTitle", noticeTitle.trim()); QueryWrapper wrapper = this.getWrapper(params) .eq(FieldConstant.CREATED_BY, SecurityUser.getUserId()); @@ -92,7 +92,7 @@ public class NoticeServiceImpl extends BaseServiceImpl private QueryWrapper getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); String noticeTitle = ((String) params.get("noticeTitle")); - if(StringUtils.isNotBlank(noticeTitle)){ + if (StringUtils.isNotBlank(noticeTitle)) { noticeTitle.trim(); } QueryWrapper wrapper = new QueryWrapper<>(); @@ -105,11 +105,11 @@ 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())){ + /*if(StringUtils.isNotBlank(dto.getAllDeptIds())){ String[] idsShow = dto.getAllDeptIds().split(","); List ids = Arrays.asList(idsShow); dto.setAllDeptIdsShow(ids.subList(1,ids.size())); - } + }*/ return dto; } @@ -135,49 +135,28 @@ public class NoticeServiceImpl extends BaseServiceImpl */ private void saveOrUpdate(NoticeDTO dto) { UserDetail user = SecurityUser.getUser(); + // 通知所属部门(发布者所在部门) + Long noticeDeptId = user.getDeptId(); dto.setCreatorName(user.getRealName()); + NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class); + entity.setDeptId(noticeDeptId); + entity.setDeptName(user.getDeptName()); - List allDeptIds = dto.getAllDeptIdsShow(); - // notice所属部门id - Long noticeDeptId = 0L; - if(allDeptIds != null && allDeptIds.size() != 0){ - // 塞入全部部门ids,names - noticeDeptId = Long.valueOf(allDeptIds.get(allDeptIds.size() - 1)); - Result parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(noticeDeptId)); - if (!parentResult.success() || parentResult.getData() == null) { - throw new RenException("获取部门信息失败"); - }else { - ParentAndAllDeptDTO deptDTO = parentResult.getData(); - entity.setAllDeptIds(deptDTO.getAllDeptIds()); - entity.setAllDeptNames(deptDTO.getAllDeptNames()); - entity.setParentDeptIds(deptDTO.getParentDeptIds()); - entity.setParentDeptNames(deptDTO.getParentDeptNames()); - //赋值deptid name 最小组织 - String[] newAllDeptIds=deptDTO.getAllDeptIds().split(","); - entity.setDeptId(Long.parseLong(newAllDeptIds[newAllDeptIds.length-1])); - - String[] newAllDeptNames=deptDTO.getAllDeptNames().split("-"); - entity.setDeptName(newAllDeptNames[newAllDeptNames.length-1]); - } - }else { - throw new RenException("所属部门不能为空"); - } - if (!user.getDeptIdList().contains(noticeDeptId)) { - throw new RenException("您没有操作此部门的数据权限"); - } - List noticeGridList = new ArrayList<>(); - if(allDeptIds.size() == 3){ - noticeGridList.add(noticeDeptId); - } - if (CollUtil.isEmpty(noticeGridList)) { - Result> adminResult = adminFeignClient.listGridIdByDeptPid(noticeDeptId); - if (!adminResult.success() || CollUtil.isEmpty(adminResult.getData())) { - throw new RenException("获取部门信息失败"); - } - noticeGridList = adminResult.getData(); + // 塞入全部部门ids,names + Result parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(noticeDeptId)); + if (!parentResult.success() || parentResult.getData() == null) { + throw new RenException("获取用户部门信息失败"); + } else { + ParentAndAllDeptDTO deptDTO = parentResult.getData(); + entity.setAllDeptIds(deptDTO.getAllDeptIds()); + entity.setAllDeptNames(deptDTO.getAllDeptNames()); + entity.setParentDeptIds(deptDTO.getParentDeptIds()); + entity.setParentDeptNames(deptDTO.getParentDeptNames()); } + List noticeGridList = getAllGridId(dto.getAllDeptIdsShow()); + boolean isSave = true; if (StringUtils.isNotBlank(dto.getId())) { isSave = false; @@ -196,6 +175,27 @@ public class NoticeServiceImpl extends BaseServiceImpl this.noticeDepartmentService.save(entity.getId(), noticeGridList); } + /** + * 处理前端选中的部门,取出所有网格id + * + * @param allDeptIdsShow + * @return java.util.List + * @author work@yujt.net.cn + * @date 2020/1/28 16:12 + */ + private List getAllGridId(List allDeptIdsShow) { + List gridIdList = Lists.newArrayList(); + for (Long[] deptOptions : allDeptIdsShow) { + if (deptOptions.length == NumConstant.FOUR) { + gridIdList.add(deptOptions[NumConstant.THREE]); + } + } + if (CollUtil.isEmpty(gridIdList)) { + throw new RenException("请选择至少一个最低机构部门"); + } + return gridIdList; + } + @Override @Transactional(rollbackFor = Exception.class) public void delete(String[] ids) { @@ -227,7 +227,7 @@ public class NoticeServiceImpl extends BaseServiceImpl @Override public Result getNoticeDetailById(String noticeId) { EpdcNoticeDetailResultDTO dto = this.baseDao.selectOneAppNotice(noticeId); - dto.setNoticeContent("
"+dto.getNoticeContent()+"
"); + dto.setNoticeContent("
" + dto.getNoticeContent() + "
"); return new Result().ok(dto); }