feat(oa): 添加查询当前用户今日报工记录功能- 在 IOaProject口中ReportService 接新增 getTodayReportByCurrentUser 方法
- 在 OaProjectReportController 中新增 /today GET 接口用于获取今日报告- 在 OaProjectReportServiceImpl 中实现今日报告查询逻辑 -优化 ClearbuildQueryWrapper 方法,支持按用户 ID 查询 - 使用 LoginHelper 获取当前登录用户 ID 进行数据过滤
This commit is contained in:
@@ -190,4 +190,13 @@ public class OaProjectReportController extends BaseController {
|
||||
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate end) {
|
||||
return R.ok(iOaProjectReportService.getSummaryData(start,end));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录用户今日的报工记录
|
||||
*/
|
||||
@GetMapping("/today")
|
||||
public R<OaProjectReportVo> getTodayReport() {
|
||||
OaProjectReportVo todayReport = iOaProjectReportService.getTodayReportByCurrentUser();
|
||||
return R.ok(todayReport);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,4 +68,9 @@ public interface IOaProjectReportService {
|
||||
List<OaProjectReportVo> clearList(LocalDate start, LocalDate end);
|
||||
|
||||
List<OaProjectReportVo> getSummaryData(LocalDate start, LocalDate end);
|
||||
|
||||
/**
|
||||
* 查询当前登录用户今日的报工记录
|
||||
*/
|
||||
OaProjectReportVo getTodayReportByCurrentUser();
|
||||
}
|
||||
|
||||
@@ -95,6 +95,7 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService {
|
||||
private QueryWrapper<OaProjectReport> ClearbuildQueryWrapper(OaProjectReportBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
QueryWrapper<OaProjectReport> lqw = Wrappers.query();
|
||||
lqw.eq(bo.getUserId()!=null, "user_id", bo.getUserId());
|
||||
if (bo.getCreateTime() != null) {
|
||||
LocalDateTime start = bo.getCreateTime() // LocalDateTime / Date 都行
|
||||
.toInstant()
|
||||
@@ -230,4 +231,20 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService {
|
||||
return baseMapper.getSummaryData(start,end);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public OaProjectReportVo getTodayReportByCurrentUser() {
|
||||
// 检查今日是否已报工
|
||||
OaProjectReportBo checkBo = new OaProjectReportBo();
|
||||
checkBo.setUserId(LoginHelper.getUserId());
|
||||
checkBo.setCreateTime(new Date());
|
||||
QueryWrapper<OaProjectReport> queryWrapper = ClearbuildQueryWrapper(checkBo);
|
||||
// 查询今日报工记录
|
||||
OaProjectReport report = baseMapper.selectOne(queryWrapper);
|
||||
if (report == null) {
|
||||
return null;
|
||||
}
|
||||
// 转换为VO对象
|
||||
return baseMapper.selectVoByIdPlus(report.getReportId());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user