Browse Source

fix:成本判重

master
wang 2 months ago
parent
commit
efb9a54946
  1. 12
      yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java
  2. 15
      yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/service/FirmReportsService.java
  3. 2
      yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java
  4. 16
      yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java
  5. 11
      yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml
  6. 18
      yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml
  7. 3
      yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml
  8. 2
      yun-base/src/main/java/net/lab1024/sa/base/common/code/UnexpectedErrorCode.java

12
yun-admin/src/main/java/net/lab1024/sa/admin/module/cost/dao/FirmReportsDao.java

@ -37,4 +37,16 @@ public interface FirmReportsDao extends BaseMapper<FirmReportsEntity> {
* @param idList * @param idList
*/ */
void commit(ValidateList<Integer> idList); void commit(ValidateList<Integer> 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);
} }

15
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.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Optional;
import net.lab1024.sa.admin.common.enums.ReviewEnum; import net.lab1024.sa.admin.common.enums.ReviewEnum;
import net.lab1024.sa.admin.module.cost.dao.FirmReportsDao; 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.domain.vo.RoleVO;
import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService; import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService;
import net.lab1024.sa.admin.util.AdminRequestUtil; 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.RequestUser;
import net.lab1024.sa.base.common.domain.ValidateList; import net.lab1024.sa.base.common.domain.ValidateList;
import net.lab1024.sa.base.common.enumeration.UserTypeEnum; import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
@ -92,6 +95,12 @@ public class FirmReportsService {
* 添加 * 添加
*/ */
public ResponseDTO<String> add(FirmReportsAddForm addForm) { public ResponseDTO<String> 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(); Long userId = AdminRequestUtil.getRequestUser().getUserId();
FirmReportsEntity firmReportsEntity = SmartBeanUtil.copy(addForm, FirmReportsEntity.class); FirmReportsEntity firmReportsEntity = SmartBeanUtil.copy(addForm, FirmReportsEntity.class);
firmReportsEntity.setUserId(userId); firmReportsEntity.setUserId(userId);
@ -106,6 +115,12 @@ public class FirmReportsService {
* *
*/ */
public ResponseDTO<String> update(FirmReportsUpdateForm updateForm) { public ResponseDTO<String> 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); FirmReportsEntity firmReportsEntity = SmartBeanUtil.copy(updateForm, FirmReportsEntity.class);
firmReportsDao.updateById(firmReportsEntity); firmReportsDao.updateById(firmReportsEntity);
return ResponseDTO.ok(); return ResponseDTO.ok();

2
yun-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java

@ -25,7 +25,7 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
/** /**
* 查询员工 * 查询员工
*/ */
List<EmployeeVO> selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag); List<EmployeeVO> selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag,@Param("departmentId") Long departmentId);
/** /**
* 更新单个 * 更新单个

16
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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; 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.dao.DepartmentDao;
import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEntity; import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEntity;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO; 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.form.*;
import net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO; 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.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.login.service.LoginService;
import net.lab1024.sa.admin.module.system.position.dao.PositionDao; 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.position.domain.entity.PositionEntity;
import net.lab1024.sa.admin.module.system.role.dao.RoleEmployeeDao; 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.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.code.UserErrorCode;
import net.lab1024.sa.base.common.constant.StringConst; import net.lab1024.sa.base.common.constant.StringConst;
import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.PageResult;
@ -68,6 +73,8 @@ public class EmployeeService {
@Resource @Resource
private PositionDao positionDao; private PositionDao positionDao;
@Resource
RoleEmployeeService roleEmployeeService;
public EmployeeEntity getById(Long employeeId) { public EmployeeEntity getById(Long employeeId) {
return employeeDao.selectById(employeeId); return employeeDao.selectById(employeeId);
@ -429,7 +436,14 @@ public class EmployeeService {
* 查询全部员工 * 查询全部员工
*/ */
public ResponseDTO<List<EmployeeVO>> queryAllEmployee(Boolean disabledFlag) { public ResponseDTO<List<EmployeeVO>> queryAllEmployee(Boolean disabledFlag) {
List<EmployeeVO> employeeList = employeeDao.selectEmployeeByDisabledAndDeleted(disabledFlag, Boolean.FALSE); //判断角色
RequestEmployee requestUser = AdminRequestUtil.getRequestUser();
List<RoleVO> roleIdList = roleEmployeeService.getRoleIdList(requestUser.getEmployeeId());
Long departmentId = null;
if (UserTypeEnum.CTO.getDesc().equals(roleIdList.get(0).getRoleCode())) {
departmentId = requestUser.getDepartmentId();
}
List<EmployeeVO> employeeList = employeeDao.selectEmployeeByDisabledAndDeleted(disabledFlag, Boolean.FALSE, departmentId);
return ResponseDTO.ok(employeeList); return ResponseDTO.ok(employeeList);
} }

11
yun-admin/src/main/resources/mapper/cost/FirmReportsMapper.xml

@ -60,4 +60,15 @@
ORDER BY t_firm_reports.update_time DESC ORDER BY t_firm_reports.update_time DESC
</select> </select>
<!-- 根据季度、年度和律所ID查询报表 -->
<select id="selectList" resultType="net.lab1024.sa.admin.module.cost.domain.entity.FirmReportsEntity">
SELECT *
FROM t_firm_reports
WHERE del_flag = 0
AND declare_quarter = #{declareQuarter}
AND declare_year = #{declareYear}
AND firm_id = #{firmId}
LIMIT 1
</select>
</mapper> </mapper>

18
yun-admin/src/main/resources/mapper/service/ServiceApplicationsMapper.xml

@ -79,10 +79,24 @@
and activity_category_id = #{queryForm.activityCategoryId} and activity_category_id = #{queryForm.activityCategoryId}
</if> </if>
<if test="queryForm.associationAuditStatus != null and queryForm.associationAuditStatus != ''"> <if test="queryForm.associationAuditStatus != null and queryForm.associationAuditStatus != ''">
and association_audit_status = #{queryForm.associationAuditStatus} <choose>
<when test="queryForm.associationAuditStatus == 1">
and association_audit_status &lt;= 1
</when>
<otherwise>
and association_audit_status = #{queryForm.associationAuditStatus}
</otherwise>
</choose>
</if> </if>
<if test="queryForm.firmAuditStatus != null and queryForm.firmAuditStatus != ''"> <if test="queryForm.firmAuditStatus != null and queryForm.firmAuditStatus != ''">
and firm_audit_status = #{queryForm.firmAuditStatus} <choose>
<when test="queryForm.firmAuditStatus == 1">
and firm_audit_status &lt;= 1
</when>
<otherwise>
and firm_audit_status = #{queryForm.firmAuditStatus}
</otherwise>
</choose>
</if> </if>
<if test="queryForm.activityNameId != null and queryForm.activityNameId != ''"> <if test="queryForm.activityNameId != null and queryForm.activityNameId != ''">
and activity_name_id = #{queryForm.activityNameId} and activity_name_id = #{queryForm.activityNameId}

3
yun-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml

@ -190,6 +190,9 @@
<if test="deletedFlag != null"> <if test="deletedFlag != null">
AND t_employee.deleted_flag = #{deletedFlag} AND t_employee.deleted_flag = #{deletedFlag}
</if> </if>
<if test="departmentId != null and departmentId != ''">
AND t_employee.department_id = #{departmentId}
</if>
</where> </where>
</select> </select>

2
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发生了异常,请联系技术人员排查"), PAY_ORDER_ID_ERROR(20002, "付款单id发生了异常,请联系技术人员排查"),
DATA_EXIST(20003, "当前年度的季度成本填报已存在,请勿重复填报"),
; ;
private final int code; private final int code;

Loading…
Cancel
Save