优化总体考勤情况
This commit is contained in:
@ -32,6 +32,11 @@ public class BgtProjectRecruitApply implements Serializable {
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/** 任务ID */
|
||||
@Excel(name = "任务ID")
|
||||
@ApiModelProperty("任务ID")
|
||||
private Long taskId;
|
||||
|
||||
/** 招工ID */
|
||||
@Excel(name = "招工ID")
|
||||
@ApiModelProperty("招工ID")
|
||||
|
@ -29,4 +29,7 @@ public class BgtAttendanceDayDTO {
|
||||
|
||||
@ApiModelProperty("考勤类型(1出勤 2缺勤 3迟到)")
|
||||
private Integer attendanceType;
|
||||
|
||||
@ApiModelProperty("任务ID")
|
||||
private Long taskId;
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectR
|
||||
|
||||
Page<BgtProjectRecruitApplyVO> dayAttendanceList(@Param("page")Page<BgtAttendanceDayDTO> queryDTOPage,@Param("dto") BgtAttendanceDayDTO dto);
|
||||
|
||||
Page<BgtProjectRecruitApplyVO> todayAttendanceList(@Param("page")Page<BgtAttendanceDayDTO> queryDTOPage,@Param("dto") BgtAttendanceDayDTO dto);
|
||||
// 获取指定项目下的所有成员(分页)
|
||||
Page<WgzAppUnderwayRes> underwayPage (@Param("page") Page<WgzAppUnderwayReq> page,@Param("req") WgzAppUnderwayReq req);
|
||||
|
||||
|
@ -47,6 +47,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.*;
|
||||
|
||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
|
||||
@ -309,8 +310,20 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
Page<BgtAttendanceDayDTO> queryDTOPage = new Page<>();
|
||||
queryDTOPage.setCurrent(dto.getPageNum());
|
||||
queryDTOPage.setSize(dto.getPageSize());
|
||||
Page<BgtProjectRecruitApplyVO> queryVOPage = baseMapper.dayAttendanceList(queryDTOPage, dto);
|
||||
|
||||
// 获取当前时间
|
||||
LocalTime currentTime = LocalTime.now();
|
||||
// 定义目标时间12:10 12点才会录入当天所有人的考勤数据
|
||||
LocalTime targetTime = LocalTime.of(12, 10);
|
||||
// 判断当前时间是否在12:10之后
|
||||
Page<BgtProjectRecruitApplyVO> queryVOPage;
|
||||
if (currentTime.isAfter(targetTime)) {
|
||||
queryVOPage = baseMapper.dayAttendanceList(queryDTOPage, dto);
|
||||
} else {
|
||||
queryVOPage = baseMapper.todayAttendanceList(queryDTOPage, dto);
|
||||
}
|
||||
return PageUtils.buildDataInfo(queryVOPage);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,11 +16,9 @@ import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.ProjectTaskStatus;
|
||||
import com.ruoyi.common.exception.BaseException;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -83,13 +81,14 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
@Override
|
||||
public Boolean insert(BgtProjectTaskProgress bo) {
|
||||
validEntityBeforeSave(bo);
|
||||
if(bo.getProgress() == 100){
|
||||
//更改任务状态
|
||||
fbsProjectTaskService.lambdaUpdate().set(FbsProjectTask::getStatus, ProjectTaskStatus.COMPLETE.getCode())
|
||||
.eq(FbsProjectTask::getId, bo.getTaskId()).update();
|
||||
//批量退场
|
||||
recruitApplyService.quitBatch(bo.getTaskId());
|
||||
}
|
||||
//应该审核之后
|
||||
// if(bo.getProgress() == 100){
|
||||
// //更改任务状态
|
||||
// fbsProjectTaskService.lambdaUpdate().set(FbsProjectTask::getStatus, ProjectTaskStatus.COMPLETE.getCode())
|
||||
// .eq(FbsProjectTask::getId, bo.getTaskId()).update();
|
||||
// //批量退场
|
||||
// recruitApplyService.quitBatch(bo.getTaskId());
|
||||
// }
|
||||
bo.setUploaderId(SecurityUtils.getAppUserId());
|
||||
return save(bo);
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package com.ruoyi.task;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
@ -80,6 +79,20 @@ public class BusinessTask
|
||||
Console.log("招工拒绝任务结束,此次拒绝任务个数:"+recruitList.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* 务工者同意并到了进场时间修改状态为进场
|
||||
*/
|
||||
public void entry()
|
||||
{
|
||||
Console.log("开始招工进场任务");
|
||||
recruitApplyService.<BgtProjectRecruitApply>lambdaUpdate()
|
||||
.eq(BgtProjectRecruitApply::getEntryTime, LocalDate.now())
|
||||
.eq(BgtProjectRecruitApply::getStatus,RecruitApplyStatus.WGZ_PASS.getCode())
|
||||
.set(BgtProjectRecruitApply::getStatus,RecruitApplyStatus.BGT_REFUSE.getCode())
|
||||
.update();
|
||||
Console.log("招工进场任务结束!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上班缺卡
|
||||
|
@ -69,8 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
WHEN wa.late =1 THEN '迟到'
|
||||
WHEN wa.early_leave =1 THEN '早退'
|
||||
WHEN wa.missed_in = 0 OR wa.missed_out = 0 THEN '出勤'
|
||||
WHEN wa.missed_in =1 and missed_out = 1 THEN '缺勤'
|
||||
ELSE '未知状态'
|
||||
ELSE '缺勤'
|
||||
END AS attendance_status
|
||||
from wgz_attendance wa
|
||||
left join wgz_user wu on wa.user_id = wu.user_id
|
||||
@ -89,6 +88,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="todayAttendanceList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO">
|
||||
SELECT bpra.id,
|
||||
bpra.entry_time,
|
||||
wu.user_id,
|
||||
wu.phone,
|
||||
wu.score,
|
||||
wu.avatar_name,
|
||||
wu.username,
|
||||
wu.type_of_work,
|
||||
bpr.recruit_name,
|
||||
fpt.task_name,
|
||||
CASE
|
||||
WHEN wa.leave_mark_id IS NOT NULL THEN '请假'
|
||||
WHEN wa.late = 1 THEN '迟到'
|
||||
WHEN wa.early_leave = 1 THEN '早退'
|
||||
WHEN wa.missed_in = 0 OR wa.missed_out = 0 THEN '出勤'
|
||||
ELSE '缺勤'
|
||||
END AS attendance_status
|
||||
FROM bgt_project_recruit_apply bpra
|
||||
LEFT JOIN wgz_user wu ON bpra.user_id = wu.user_id
|
||||
LEFT JOIN wgz_attendance wa ON wa.user_id = wu.user_id AND wa.recruit_id = bpra.recruit_id AND wa.date = #{dto.date}
|
||||
LEFT JOIN bgt_project_recruit bpr ON bpr.id = bpra.recruit_id
|
||||
LEFT JOIN fbs_project_task fpt ON fpt.id = bpr.task_id
|
||||
WHERE bpra.recruit_id IN (SELECT id
|
||||
FROM bgt_project_recruit
|
||||
WHERE task_id = #{dto.taskId});
|
||||
</select>
|
||||
|
||||
<select id="underwayPage" resultType="com.ruoyi.wgz.bo.res.WgzAppUnderwayRes">
|
||||
SELECT
|
||||
a.entry_time,
|
||||
|
Reference in New Issue
Block a user