From 1fc8e7308b655cd3d9e1fd0110bd25576d2809ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cwangzihua=E2=80=9D?= Date: Tue, 13 Jan 2026 11:20:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=89=BF=E8=AF=BA=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notice/controller/NoticeController.java | 8 ++ .../notice/service/NoticeEmployeeService.java | 28 +++++++ .../oa/notice/service/NoticeService.java | 7 +- .../letter/controller/LetterController.java | 7 ++ .../letter/domain/form/LetterQueryForm.java | 5 +- .../module/letter/service/LetterService.java | 80 ++++++++++++++++++- .../service/ServiceApplicationsService.java | 2 +- 7 files changed, 130 insertions(+), 7 deletions(-) diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java index d54b60c..d7dd647 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java @@ -5,6 +5,7 @@ import cn.hutool.extra.servlet.ServletUtil; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import net.lab1024.sa.admin.constant.AdminSwaggerTagConst; +import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity; import net.lab1024.sa.admin.module.business.oa.notice.domain.form.*; import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.*; import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeEmployeeService; @@ -137,4 +138,11 @@ public class NoticeController { public ResponseDTO> queryViewRecord(@RequestBody @Valid NoticeViewRecordQueryForm noticeViewRecordQueryForm) { return ResponseDTO.ok(noticeEmployeeService.queryViewRecord(noticeViewRecordQueryForm)); } + + @Operation(summary = "【员工】通知公告-查询 查看记录 @author 卓大") + @PostMapping("/oa/notice/employee/getOne") + public ResponseDTO queryViewOne() { + return ResponseDTO.ok(noticeEmployeeService.queryViewOne()); + } + } \ No newline at end of file diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java index 8208a74..370de53 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java @@ -4,14 +4,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum; import net.lab1024.sa.admin.module.business.oa.notice.dao.NoticeDao; +import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity; import net.lab1024.sa.admin.module.business.oa.notice.domain.form.NoticeEmployeeQueryForm; import net.lab1024.sa.admin.module.business.oa.notice.domain.form.NoticeViewRecordQueryForm; import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.*; import net.lab1024.sa.admin.module.system.department.service.DepartmentService; import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.sa.admin.module.system.employee.service.EmployeeService; +import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee; +import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO; +import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService; +import net.lab1024.sa.admin.util.AdminRequestUtil; +import net.lab1024.sa.base.common.code.UserErrorCode; import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; import org.springframework.stereotype.Service; @@ -19,6 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; @@ -45,6 +53,8 @@ public class NoticeEmployeeService { @Resource private EmployeeService employeeService; + @Resource + private RoleEmployeeService roleEmployeeService; /** * 查询我的 通知、公告清单 @@ -152,4 +162,22 @@ public class NoticeEmployeeService { List noticeViewRecordList = noticeDao.queryNoticeViewRecordList(page, noticeViewRecordQueryForm); return SmartPageUtil.convert2PageResult(page, noticeViewRecordList); } + + public NoticeEntity queryViewOne() { + List noticeEntities = noticeDao.selectList(null); + RequestEmployee requestUser = AdminRequestUtil.getRequestUser(); + List roles = roleEmployeeService.getRoleIdList(requestUser.getEmployeeId()); + if (roles.isEmpty()) { + return null; + } + + String roleCode = roles.get(0).getRoleCode(); + if (UserTypeEnum.USER.getDesc().equals(roleCode)) { + NoticeEntity noticeEntity = noticeEntities.stream().filter(a -> a.getDocumentNumber().equals("001")).collect(Collectors.toList()).get(0); + return noticeEntity; + }else { + NoticeEntity noticeEntity = noticeEntities.stream().filter(a -> a.getDocumentNumber().equals("002")).collect(Collectors.toList()).get(0); + return noticeEntity; + } + } } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java index fd090cc..4dad28a 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java @@ -244,11 +244,10 @@ public class NoticeService { return noticeDao.queryById(noticeId); } - public NoticeEntity getOne() { + public List getOne() { //获取第一条承诺书 - NoticeEntity noticeEntity = noticeDao.selectOne( - new LambdaQueryWrapper() - .last("limit 1")); + List noticeEntity = noticeDao.selectList( + new LambdaQueryWrapper()); return noticeEntity; } } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java index 6b84f76..c028477 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/controller/LetterController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.letter.controller; +import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity; import net.lab1024.sa.admin.module.letter.domain.form.LetterAddForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryFormNoPage; @@ -48,4 +49,10 @@ public class LetterController { public ResponseDTO add() { return ResponseDTO.ok(letterService.add()); } + + @Operation(summary = "签署承诺书详情 @author wzh") + @GetMapping("/letter/detail/{letterId}") + public ResponseDTO detail(@PathVariable Long letterId) { + return ResponseDTO.ok(letterService.detail(letterId)); + } } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryForm.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryForm.java index 9d6df90..32e1b17 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryForm.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/domain/form/LetterQueryForm.java @@ -15,5 +15,8 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = false) public class LetterQueryForm extends PageParam { - + /** + * 用户id + */ + private Long userId; } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java index 7a5cf10..d0cafde 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/letter/service/LetterService.java @@ -1,6 +1,7 @@ package net.lab1024.sa.admin.module.letter.service; import java.util.List; +import java.util.stream.Collectors; import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity; import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeService; @@ -10,8 +11,15 @@ import net.lab1024.sa.admin.module.letter.domain.form.LetterAddForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryForm; import net.lab1024.sa.admin.module.letter.domain.form.LetterQueryFormNoPage; import net.lab1024.sa.admin.module.letter.domain.vo.LetterVO; +import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEntity; +import net.lab1024.sa.admin.module.system.department.service.DepartmentService; +import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.sa.admin.module.system.employee.service.EmployeeService; +import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO; +import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService; +import net.lab1024.sa.admin.module.system.role.service.RoleService; import net.lab1024.sa.admin.util.AdminRequestUtil; +import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; import net.lab1024.sa.base.common.domain.PageResult; @@ -40,6 +48,10 @@ public class LetterService { private EmployeeService employeeService; @Resource private NoticeService noticeService; + @Resource + private DepartmentService departmentService; + @Resource + private RoleEmployeeService roleEmployeeService; /** * 分页查询 */ @@ -76,7 +88,17 @@ public class LetterService { Long userId = AdminRequestUtil.getRequestUser().getUserId(); LetterEntity letterEntity = new LetterEntity(); letterEntity.setUserId(userId); - NoticeEntity one = noticeService.getOne(); + List list = noticeService.getOne(); + //查询用户角色 + RoleVO roleVO = roleEmployeeService.getRoleIdList(userId).get(0); + NoticeEntity one = new NoticeEntity(); + if (UserTypeEnum.USER.getDesc().equals(roleVO.getRoleCode())){ + one = list.stream().filter(a -> a.getDocumentNumber().equals("001")).collect(Collectors.toList()).get(0); + }else { + one = list.stream().filter(a -> a.getDocumentNumber().equals("002")).collect(Collectors.toList()).get(0); + + } + if (one != null) { letterEntity.setNoticeId(one.getNoticeId()); } @@ -86,4 +108,60 @@ public class LetterService { } return true; } + + public NoticeEntity detail(Long letterId) { + LetterEntity letterEntity = letterDao.selectById(letterId); + //签约人的信息 + Long userId = letterEntity.getUserId(); + EmployeeEntity employeeEntity = employeeService.getById(userId); + //签约人的部门信息 + DepartmentEntity departmentEntity = departmentService.queryByFirmId(employeeEntity.getDepartmentId()); + //承诺书内容 + NoticeEntity noticeEntity = noticeService.queryById(letterEntity.getNoticeId()); + + //查询用户角色 + RoleVO roleVO = roleEmployeeService.getRoleIdList(userId).get(0); + //如果是user + if (UserTypeEnum.USER.getDesc().equals(roleVO.getRoleCode())){ + //替换 内容 - 律师个人承诺书 + String contentHtml = noticeEntity.getContentHtml(); + String contentText = noticeEntity.getContentText(); + + // 获取当前年份 + String year = String.valueOf(letterEntity.getCreateTime().getYear()); + + contentHtml = contentHtml.replace("我自愿", employeeEntity.getActualName()+"自愿"); + contentHtml = contentHtml.replace("申报年度", "申报"+year + "年度"); + contentText = contentText.replace("我自愿", employeeEntity.getActualName()+"自愿"); + contentText = contentText.replace("申报年度", "申报"+year + "年度"); + // 替换模板中的占位符 - 律师个人承诺书 + contentHtml = contentHtml.replace("承诺人(签字):              日期:  ", "承诺人(签字):" + employeeEntity.getActualName() + "       日期:" + letterEntity.getCreateTime().toLocalDate().toString()); + contentText = contentText.replace("承诺人(签字): 日期: ", "承诺人(签字):" + employeeEntity.getActualName() + " 日期:" + letterEntity.getCreateTime().toLocalDate().toString()); + + noticeEntity.setContentHtml(contentHtml); + noticeEntity.setContentText(contentText); + }else { + //替换 内容 - 律师事务所承诺书 + String contentHtml = noticeEntity.getContentHtml(); + String contentText = noticeEntity.getContentText(); + + // 获取当前年份 + String year = String.valueOf(letterEntity.getCreateTime().getYear()); + + // 替换模板中的占位符 - 律师事务所承诺书 + contentHtml = contentHtml.replace("律师事务所", departmentEntity.getDepartmentName() + "律师事务所"); + contentHtml = contentHtml.replace("年度", year + "年度"); + contentHtml = contentHtml.replace("主任(签字):", "主任(签字):" + employeeEntity.getActualName()); + contentHtml = contentHtml.replace("日期", " 日期:" + letterEntity.getCreateTime().toLocalDate().toString()); + + contentText = contentText.replace("律师事务所", departmentEntity.getDepartmentName() + "律师事务所"); + contentText = contentText.replace("年度", year + "年度"); + contentText = contentText.replace("主任(签字):", "主任(签字):" + employeeEntity.getActualName()); + contentText = contentText.replace("日期", " 日期:" + letterEntity.getCreateTime().toLocalDate()); + + noticeEntity.setContentHtml(contentHtml); + noticeEntity.setContentText(contentText); + } + return noticeEntity; + } } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java index 0de284a..2797ac8 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java @@ -1134,7 +1134,7 @@ public class ServiceApplicationsService { * 服务上报统计 * @return */ - public PageResult getServiceReportStatistics(ServiceApplicationsQueryForm queryForm) { + public PageResult getServiceReportStatistics(ServiceApplicationsQueryForm queryForm) { Page page = SmartPageUtil.convert2PageQuery(queryForm); // 如果没有指定季度,则使用年度范围,否则使用季度范围 if (queryForm.getQuarter() == null ) {