From 4a6020e732fed627b7cc45112cb6e265d079cda4 Mon Sep 17 00:00:00 2001 From: yanyan Date: Wed, 2 Jul 2025 14:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/dept/service/DeptServiceImpl.java | 1 + .../notice/controller/NoticeController.java | 29 +++++- .../notice/service/NoticeServiceImpl.java | 90 +++++++++++++++++-- .../templates/system/notice/add.html | 20 ++++- .../templates/system/notice/edit.html | 14 ++- .../templates/system/role/dataScope.html | 2 +- .../templates/system/role/roleNew.html | 2 +- 7 files changed, 143 insertions(+), 15 deletions(-) diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java index 28142a52..186650da 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java @@ -175,6 +175,7 @@ public class DeptServiceImpl implements IDeptService ztrees = ztrees.stream() .peek(i -> i.setpId(Objects.equals(i.getZone(), 1) || Objects.equals(i.getZone(), 2) ? String.valueOf(i.getZone()) : i.getpId())) + .peek(i -> i.setpId(Objects.equals(i.getZone(), 15) ? "1" : i.getpId())) .collect(Collectors.toList()); diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java index 156c13d7..5b519bc6 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java @@ -3,17 +3,22 @@ package com.zdxt.auth.project.system.notice.controller; import java.text.DateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; +import com.zdxt.auth.common.utils.StringUtils; +import com.zdxt.auth.common.utils.text.Convert; import com.zdxt.auth.framework.web.controller.BaseController; import com.zdxt.auth.framework.web.domain.AjaxResult; import com.zdxt.auth.framework.web.page.TableDataInfo; +import com.zdxt.auth.project.system.dept.service.IDeptService; import com.zdxt.auth.project.system.notice.domain.Notice; import com.zdxt.auth.project.system.notice.service.INoticeService; import com.zdxt.common.ZDResponse; +import com.zdxt.domain.auth.Dept; import com.zdxt.log.aspectj.lang.annotation.Log; import com.zdxt.log.aspectj.lang.enums.BusinessType; +import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -35,6 +40,9 @@ public class NoticeController extends BaseController @Autowired private INoticeService noticeService; + @Autowired + private IDeptService deptService; + @RequiresPermissions("system:notice:view") @GetMapping() public String notice() @@ -59,8 +67,11 @@ public class NoticeController extends BaseController * 新增公告 */ @GetMapping("/add") - public String add() + public String add(ModelMap mmap) { + Dept dept = new Dept(); + dept.setZoneList(Arrays.asList(1,2,3,4)); + mmap.put("posts", deptService.selectDeptList(dept)); return prefix + "/add"; } @@ -106,7 +117,17 @@ public class NoticeController extends BaseController @GetMapping("/edit/{noticeId}") public String edit(@PathVariable("noticeId") String noticeId, ModelMap mmap) { - mmap.put("notice", noticeService.selectNoticeById(noticeId)); + Notice notice = noticeService.selectNoticeById(noticeId); + Dept dept = new Dept(); + dept.setZoneList(Arrays.asList(1,2,3,4)); + List depts = deptService.selectDeptList(dept); + if (StringUtils.isNotEmpty(notice.getBureauDeptIds()) && CollectionUtils.isNotEmpty(depts)) { + List strings = Arrays.asList(notice.getBureauDeptIds().split(",")); + depts = depts.stream() + .peek(i -> i.setRemark(strings.contains(i.getDeptId()) ? "0" : "1")).collect(Collectors.toList()); + } + mmap.put("posts", depts); + mmap.put("notice", notice); return prefix + "/edit"; } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java index 94e9032d..0788d1b6 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java @@ -2,16 +2,22 @@ package com.zdxt.auth.project.system.notice.service; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.zdxt.auth.common.utils.StringUtils; import com.zdxt.auth.dto.ZdxtFileBean; import com.zdxt.auth.feign.FileUploadApi; import com.zdxt.auth.feign.ZdxtFileCommonApi; +import com.zdxt.auth.project.system.dept.mapper.DeptMapper; +import com.zdxt.auth.project.system.dept.service.IDeptService; +import com.zdxt.common.annotation.DataScope; import com.zdxt.common.zdxtFile.AttFileRespDTO; import com.zdxt.common.zdxtFile.FilePreviewUtilBean; import com.zdxt.common.zdxtFile.ZdxtFileCommon; +import com.zdxt.domain.auth.Dept; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zdxt.auth.common.utils.security.ShiroUtils; @@ -22,7 +28,7 @@ import org.springframework.web.multipart.MultipartFile; /** * 公告 服务层实现 - * + * * @author ruoyi * @date 2018-06-25 */ @@ -32,6 +38,9 @@ public class NoticeServiceImpl implements INoticeService @Autowired private NoticeMapper noticeMapper; + @Autowired + private DeptMapper deptMapper; + @Autowired private ZdxtFileCommonApi zdxtFileCommonApi; @@ -40,7 +49,7 @@ public class NoticeServiceImpl implements INoticeService /** * 查询公告信息 - * + * * @param noticeId 公告ID * @return 公告信息 */ @@ -64,7 +73,7 @@ public class NoticeServiceImpl implements INoticeService /** * 查询公告列表 - * + * * @param notice 公告信息 * @return 公告集合 */ @@ -75,6 +84,7 @@ public class NoticeServiceImpl implements INoticeService } @Override + @DataScope public List selectNoticeListNoPermission(Notice notice) { List list = noticeMapper.selectNoticeList(notice); @@ -92,7 +102,7 @@ public class NoticeServiceImpl implements INoticeService /** * 新增公告 - * + * * @param notice 公告信息 * @return 结果 */ @@ -101,6 +111,23 @@ public class NoticeServiceImpl implements INoticeService { notice.setNoticeId(IdUtil.fastSimpleUUID()); notice.setCreateBy(ShiroUtils.getLoginName()); + //通过部门id获取部门名称 + if (StringUtils.isNotEmpty(notice.getBureauDeptIds())) { + StringBuilder deptNames = null; + String[] strings = Convert.toStrArray(notice.getBureauDeptIds()); + for (String string : strings) { + Dept dept = deptMapper.selectDeptById(string); + if (Objects.nonNull(dept)) { + if (deptNames == null) { + deptNames = new StringBuilder(""); + deptNames.append(dept.getDeptName()); + } else { + deptNames.append(",").append(dept.getDeptName()); + } + } + } + notice.setBureauDeptNames(deptNames.toString()); + } return noticeMapper.insertNotice(notice); } @@ -109,6 +136,23 @@ public class NoticeServiceImpl implements INoticeService String busId = IdUtil.fastSimpleUUID(); notice.setNoticeId(busId); notice.setCreateBy(ShiroUtils.getLoginName()); + //通过部门id获取部门名称 + if (StringUtils.isNotEmpty(notice.getBureauDeptIds())) { + StringBuilder deptNames = null; + String[] strings = Convert.toStrArray(notice.getBureauDeptIds()); + for (String string : strings) { + Dept dept = deptMapper.selectDeptById(string); + if (Objects.nonNull(dept)) { + if (deptNames == null) { + deptNames = new StringBuilder(""); + deptNames.append(dept.getDeptName()); + } else { + deptNames.append(",").append(dept.getDeptName()); + } + } + } + notice.setBureauDeptNames(deptNames.toString()); + } // 上传文件,并在附件表中添加记录 if (ObjectUtil.isNotEmpty(files)) { for (MultipartFile file : files) { @@ -122,7 +166,7 @@ public class NoticeServiceImpl implements INoticeService /** * 修改公告 - * + * * @param notice 公告信息 * @return 结果 */ @@ -130,6 +174,23 @@ public class NoticeServiceImpl implements INoticeService public int updateNotice(Notice notice) { notice.setUpdateBy(ShiroUtils.getLoginName()); + //通过部门id获取部门名称 + if (StringUtils.isNotEmpty(notice.getBureauDeptIds())) { + StringBuilder deptNames = null; + String[] strings = Convert.toStrArray(notice.getBureauDeptIds()); + for (String string : strings) { + Dept dept = deptMapper.selectDeptById(string); + if (Objects.nonNull(dept)) { + if (deptNames == null) { + deptNames = new StringBuilder(""); + deptNames.append(dept.getDeptName()); + } else { + deptNames.append(",").append(dept.getDeptName()); + } + } + } + notice.setBureauDeptNames(deptNames.toString()); + } return noticeMapper.updateNotice(notice); } @@ -143,13 +204,30 @@ public class NoticeServiceImpl implements INoticeService } } } + //通过部门id获取部门名称 + if (StringUtils.isNotEmpty(notice.getBureauDeptIds())) { + StringBuilder deptNames = null; + String[] strings = Convert.toStrArray(notice.getBureauDeptIds()); + for (String string : strings) { + Dept dept = deptMapper.selectDeptById(string); + if (Objects.nonNull(dept)) { + if (deptNames == null) { + deptNames = new StringBuilder(""); + deptNames.append(dept.getDeptName()); + } else { + deptNames.append(",").append(dept.getDeptName()); + } + } + } + notice.setBureauDeptNames(deptNames.toString()); + } notice.setUpdateBy(ShiroUtils.getLoginName()); return noticeMapper.updateNotice(notice); } /** * 删除公告对象 - * + * * @param ids 需要删除的数据ID * @return 结果 */ diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/system/notice/add.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/system/notice/add.html index 513da40e..6509641c 100644 --- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/system/notice/add.html +++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/system/notice/add.html @@ -4,6 +4,7 @@ +
@@ -16,8 +17,13 @@
+ + +
- +
注:多部门请用,分隔
@@ -57,10 +63,15 @@ +