| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.entity.TDept; |
| | | import com.ruoyi.system.mapper.OaApprovalApplicationsMapper; |
| | | import com.ruoyi.system.model.OaApprovalApplications; |
| | | import com.ruoyi.system.query.ApprovalTodoListQuery; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationsService; |
| | | import com.ruoyi.system.service.TDeptService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @since 2025-09-15 |
| | | */ |
| | | @Service |
| | | @RequiredArgsConstructor(onConstructor_ = {@Lazy}) |
| | | public class OaApprovalApplicationsServiceImpl extends ServiceImpl<OaApprovalApplicationsMapper, OaApprovalApplications> implements OaApprovalApplicationsService { |
| | | private final ISysUserService sysUserService; |
| | | private final TDeptService deptService; |
| | | @Override |
| | | public PageInfo<OaApprovalApplications> pageListAudit(ApprovalTodoListQuery query) { |
| | | PageInfo<OaApprovalApplications> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<OaApprovalApplications> list = this.baseMapper.pageListAudit(query,pageInfo); |
| | | pageInfo.setRecords( list); |
| | | return pageInfo; |
| | | } |
| | | |
| | | @Override |
| | | public void assembleApplicationDetail(OaApprovalApplications app) { |
| | | //查询申请人名称 |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(app.getApplicantUserId())); |
| | | if (Objects.nonNull(sysUser)) { |
| | | app.setApplicantName(sysUser.getNickName()); |
| | | } |
| | | //查询部门信息 |
| | | TDept dept = deptService.getById(app.getDeptId()); |
| | | if (Objects.nonNull(dept)) { |
| | | app.setDeptName(dept.getDeptName()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public String generateApplicationCode(String prefix) { |
| | | String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); |
| | | |
| | | // 查询当天已生成的申请单号数量 |
| | | Long count = this.lambdaQuery() |
| | | .likeRight(OaApprovalApplications::getApplicationCode, prefix) |
| | | .ge(OaApprovalApplications::getCreateTime, LocalDate.now().atStartOfDay()) |
| | | .lt(OaApprovalApplications::getCreateTime, LocalDate.now().plusDays(1).atStartOfDay()) |
| | | .count(); |
| | | |
| | | // 生成4位序号,从0001开始 |
| | | int sequence = (count != null ? count.intValue() : 0) + 1; |
| | | String sequenceStr = String.format("%04d", sequence); |
| | | |
| | | return prefix + dateStr + sequenceStr; |
| | | } |
| | | } |