From efb9a54946e0071ca7129d6aafc924fc4077e654 Mon Sep 17 00:00:00 2001 From: wang Date: Mon, 9 Feb 2026 13:51:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=88=90=E6=9C=AC=E5=88=A4=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/module/cost/dao/FirmReportsDao.java | 12 ++++++++++++ .../cost/service/FirmReportsService.java | 15 +++++++++++++++ .../system/employee/dao/EmployeeDao.java | 2 +- .../employee/service/EmployeeService.java | 16 +++++++++++++++- .../mapper/cost/FirmReportsMapper.xml | 11 +++++++++++ .../service/ServiceApplicationsMapper.xml | 18 ++++++++++++++++-- .../mapper/system/employee/EmployeeMapper.xml | 3 +++ .../base/common/code/UnexpectedErrorCode.java | 2 ++ 8 files changed, 75 insertions(+), 4 deletions(-) diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java index cead5ce..81cbb21 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java @@ -37,4 +37,16 @@ public interface FirmReportsDao extends BaseMapper { * @param idList */ void commit(ValidateList idList); + + /** + * 根据季度、年度和律所ID查询报表 + * + * @param declareQuarter 季度 + * @param declareYear 年度 + * @param firmId 律所ID + * @return FirmReportsEntity + */ + FirmReportsEntity selectList(@Param("declareQuarter") String declareQuarter, + @Param("declareYear") Integer declareYear, + @Param("firmId") Integer firmId); } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/service/FirmReportsService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/service/FirmReportsService.java index f2f43e3..4af33ce 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/service/FirmReportsService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/service/FirmReportsService.java @@ -2,6 +2,7 @@ package net.lab1024.sa.admin.module.cost.service; import java.time.LocalDateTime; import java.util.List; +import java.util.Optional; import net.lab1024.sa.admin.common.enums.ReviewEnum; import net.lab1024.sa.admin.module.cost.dao.FirmReportsDao; @@ -15,6 +16,8 @@ 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.UnexpectedErrorCode; +import net.lab1024.sa.base.common.code.UserErrorCode; import net.lab1024.sa.base.common.domain.RequestUser; import net.lab1024.sa.base.common.domain.ValidateList; import net.lab1024.sa.base.common.enumeration.UserTypeEnum; @@ -92,6 +95,12 @@ public class FirmReportsService { * 添加 */ public ResponseDTO add(FirmReportsAddForm addForm) { + // 使用lambda表达式和Optional来检查重复数据 + FirmReportsEntity existing = firmReportsDao.selectList(addForm.getDeclareQuarter(), addForm.getDeclareYear(), addForm.getFirmId()); + if (existing != null ) { + return ResponseDTO.userErrorParam(UnexpectedErrorCode.DATA_EXIST.getMsg()); + } + Long userId = AdminRequestUtil.getRequestUser().getUserId(); FirmReportsEntity firmReportsEntity = SmartBeanUtil.copy(addForm, FirmReportsEntity.class); firmReportsEntity.setUserId(userId); @@ -106,6 +115,12 @@ public class FirmReportsService { * */ public ResponseDTO update(FirmReportsUpdateForm updateForm) { + // 检查除当前记录外是否还存在相同季度、年度、律所的记录 + FirmReportsEntity existing = firmReportsDao.selectList(updateForm.getDeclareQuarter(), updateForm.getDeclareYear(), updateForm.getFirmId()); + if (existing != null && !existing.getId().equals(updateForm.getId())) { + return ResponseDTO.userErrorParam(UnexpectedErrorCode.DATA_EXIST.getMsg()); + } + FirmReportsEntity firmReportsEntity = SmartBeanUtil.copy(updateForm, FirmReportsEntity.class); firmReportsDao.updateById(firmReportsEntity); return ResponseDTO.ok(); diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java index b140533..8def4a3 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java @@ -25,7 +25,7 @@ public interface EmployeeDao extends BaseMapper { /** * 查询员工 */ - List selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag); + List selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag,@Param("departmentId") Long departmentId); /** * 更新单个 diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java index df465d3..a1be2ac 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; +import net.lab1024.sa.admin.module.letter.service.LetterService; import net.lab1024.sa.admin.module.system.department.dao.DepartmentDao; import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEntity; import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO; @@ -15,11 +16,15 @@ import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.sa.admin.module.system.employee.domain.form.*; import net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO; import net.lab1024.sa.admin.module.system.employee.manager.EmployeeManager; +import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee; import net.lab1024.sa.admin.module.system.login.service.LoginService; import net.lab1024.sa.admin.module.system.position.dao.PositionDao; import net.lab1024.sa.admin.module.system.position.domain.entity.PositionEntity; import net.lab1024.sa.admin.module.system.role.dao.RoleEmployeeDao; import net.lab1024.sa.admin.module.system.role.domain.vo.RoleEmployeeVO; +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.constant.StringConst; import net.lab1024.sa.base.common.domain.PageResult; @@ -68,6 +73,8 @@ public class EmployeeService { @Resource private PositionDao positionDao; + @Resource + RoleEmployeeService roleEmployeeService; public EmployeeEntity getById(Long employeeId) { return employeeDao.selectById(employeeId); @@ -429,7 +436,14 @@ public class EmployeeService { * 查询全部员工 */ public ResponseDTO> queryAllEmployee(Boolean disabledFlag) { - List employeeList = employeeDao.selectEmployeeByDisabledAndDeleted(disabledFlag, Boolean.FALSE); + //判断角色 + RequestEmployee requestUser = AdminRequestUtil.getRequestUser(); + List roleIdList = roleEmployeeService.getRoleIdList(requestUser.getEmployeeId()); + Long departmentId = null; + if (UserTypeEnum.CTO.getDesc().equals(roleIdList.get(0).getRoleCode())) { + departmentId = requestUser.getDepartmentId(); + } + List employeeList = employeeDao.selectEmployeeByDisabledAndDeleted(disabledFlag, Boolean.FALSE, departmentId); return ResponseDTO.ok(employeeList); } diff --git a/yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml b/yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml index ab42e6f..27c7e4b 100644 --- a/yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml +++ b/yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml @@ -60,4 +60,15 @@ ORDER BY t_firm_reports.update_time DESC + + + diff --git a/yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml b/yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml index 934ffe2..a8146b8 100644 --- a/yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml +++ b/yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml @@ -79,10 +79,24 @@ and activity_category_id = #{queryForm.activityCategoryId} - and association_audit_status = #{queryForm.associationAuditStatus} + + + and association_audit_status <= 1 + + + and association_audit_status = #{queryForm.associationAuditStatus} + + - and firm_audit_status = #{queryForm.firmAuditStatus} + + + and firm_audit_status <= 1 + + + and firm_audit_status = #{queryForm.firmAuditStatus} + + and activity_name_id = #{queryForm.activityNameId} diff --git a/yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml b/yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml index 748eb05..e8551c9 100644 --- a/yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml +++ b/yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml @@ -190,6 +190,9 @@ AND t_employee.deleted_flag = #{deletedFlag} + + AND t_employee.department_id = #{departmentId} + diff --git a/yun-base/src/main/java/net/lab1024/sa/base/common/code/UnexpectedErrorCode.java b/yun-base/src/main/java/net/lab1024/sa/base/common/code/UnexpectedErrorCode.java index c1517e7..4a418d3 100644 --- a/yun-base/src/main/java/net/lab1024/sa/base/common/code/UnexpectedErrorCode.java +++ b/yun-base/src/main/java/net/lab1024/sa/base/common/code/UnexpectedErrorCode.java @@ -26,6 +26,8 @@ public enum UnexpectedErrorCode implements ErrorCode { */ PAY_ORDER_ID_ERROR(20002, "付款单id发生了异常,请联系技术人员排查"), + + DATA_EXIST(20003, "当前年度的季度成本填报已存在,请勿重复填报"), ; private final int code;