完成请假模块

This commit is contained in:
2025-02-19 18:33:38 +08:00
parent f855833966
commit 8c58c1798d
18 changed files with 348 additions and 33 deletions

View File

@ -1,8 +1,7 @@
package com.ruoyi.wgz.service;
import com.ruoyi.wgz.bo.req.WgzAppJobListingReq;
import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes;
import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes;
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
import com.ruoyi.wgz.domain.WgzDailyClock;
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
@ -67,5 +66,5 @@ public interface IWgzDailyClockService extends IServicePlus<WgzDailyClock> {
/**
* 日报日历
*/
WfzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req);
WgzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req);
}

View File

@ -1,11 +1,13 @@
package com.ruoyi.wgz.service;
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveRes;
import com.ruoyi.wgz.bo.req.WgzAppCancelLeaveReq;
import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq;
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveReq;
import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes;
import com.ruoyi.wgz.domain.WgzLeave;
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
@ -68,5 +70,15 @@ public interface IWgzLeaveService extends IServicePlus<WgzLeave> {
/*
* 提交请假申请
*/
Boolean userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveRes req);
Boolean userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveReq req);
/*
* 历史请假申请记录
*/
TableDataInfo<WgzAppLeaveHistoryListPageRes> userLeaveHistoryListPage(@Validated WgzAppLeaveHistoryListPageReq req);
/*
* 取消请假申请
*/
Boolean userCancelLeave(@Validated @RequestBody WgzAppCancelLeaveReq req);
}

View File

@ -5,10 +5,9 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes;
import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes;
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@ -108,7 +107,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
*/
@Override
public WfzUserDailyCalendarRes userDailyCalendar(WgzAppUserDailyCalendarRes req) {
public WgzUserDailyCalendarRes userDailyCalendar(WgzAppUserDailyCalendarRes req) {
//1、获取当月的所有日期
LocalDate currentDate = LocalDate.now();
LocalDate firstDayOfMonth = currentDate.with(TemporalAdjusters.firstDayOfMonth());
@ -144,6 +143,6 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
}
});
});
return new WfzUserDailyCalendarRes().setDailyCalendar(fh);
return new WgzUserDailyCalendarRes().setDailyCalendar(fh);
}
}

View File

@ -2,11 +2,24 @@ package com.ruoyi.wgz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveRes;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.wgz.bo.req.WgzAppCancelLeaveReq;
import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq;
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveReq;
import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes;
import com.ruoyi.wgz.domain.WgzDailyClock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -15,7 +28,10 @@ import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
import com.ruoyi.wgz.domain.WgzLeave;
import com.ruoyi.wgz.mapper.WgzLeaveMapper;
import com.ruoyi.wgz.service.IWgzLeaveService;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -28,6 +44,11 @@ import java.util.Collection;
*/
@Service
public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeave> implements IWgzLeaveService {
@Autowired
private IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
@Autowired
private IBgtProjectRecruitService iBgtProjectRecruitService;
@Override
public WgzLeave queryById(Long id){
@ -102,8 +123,45 @@ public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeav
*/
@Override
public Boolean userSubmitLeave(WgzAppSubmitLeaveRes req) {
//1、
return null;
@Transactional
public Boolean userSubmitLeave(WgzAppSubmitLeaveReq req) {
//1、现获取用户的唯一标识
Long appUserId = SecurityUtils.getAppUserId();
//2、根据唯一标识获取到当前用户的招工
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
//3、根据招工id获取到具体招工信息
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getId());
//4、获取上下班时间 是从appById中获取但是表中还未创建字段先省略
LocalTime s = LocalTime.of(9, 0);
LocalTime x = LocalTime.of(18, 0);
//5、组装请假对象数据 并插入
WgzLeave wgzLeave = new WgzLeave().
setRecruitId(by.getId()).
setSubject(appById.getRecruitName()).
setLeaveType(req.getLeaveType()).
setStartTime(req.getStartTime()).
setEndTime(req.getEndTime()).
setReason(req.getReason()).
setAuditorUserId(appById.getUserId()).
setWorkingTime(s).
setClosingTime(x);
return baseMapper.insert(wgzLeave)>0;
}
@Override
public TableDataInfo<WgzAppLeaveHistoryListPageRes> userLeaveHistoryListPage(WgzAppLeaveHistoryListPageReq req) {
Page<WgzAppLeaveHistoryListPageRes> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(req.getPageNum());
queryDTOPage.setSize(req.getPageSize());
return PageUtils.buildDataInfo(baseMapper.userLeaveHistoryListPage(queryDTOPage));
}
@Override
public Boolean userCancelLeave(WgzAppCancelLeaveReq req) {
WgzLeave wgzLeave = new WgzLeave().
setId(req.getId()).
setAuditorType("4").
setCancelLeave(LocalDateTime.now());
return baseMapper.updateById(wgzLeave)>0;
}
}