This commit is contained in:
zt
2025-03-11 11:03:37 +08:00
parent 1261d872aa
commit d48aa9aa67
4 changed files with 17 additions and 8 deletions

View File

@ -20,7 +20,7 @@ public class BgtProjectRecruitApplyUserDTO {
@NotNull(message = "招工任务Id不能为空") @NotNull(message = "招工任务Id不能为空")
private Long recruitId; private Long recruitId;
@ApiModelProperty("选择状态0选择 1选择") @ApiModelProperty("选择状态0选择 1选择")
private Integer status; private Integer status;
@ApiModelProperty("务工者名字") @ApiModelProperty("务工者名字")

View File

@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.google.errorprone.annotations.Var;
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo; import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
import com.ruoyi.bgt.domain.BgtMessage; import com.ruoyi.bgt.domain.BgtMessage;
import com.ruoyi.bgt.domain.BgtProjectRecruit; import com.ruoyi.bgt.domain.BgtProjectRecruit;
@ -23,6 +22,7 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.domain.dto.AnnexDTO; import com.ruoyi.common.domain.dto.AnnexDTO;
import com.ruoyi.common.enums.RecruitApplyStatus; import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.common.enums.RecruitStatus;
import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.exception.BaseException;
import com.ruoyi.common.service.IAnnexService; import com.ruoyi.common.service.IAnnexService;
import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.PageUtils;
@ -42,7 +42,6 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import springfox.documentation.builders.ValidationResult;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.time.LocalDate; import java.time.LocalDate;
@ -209,12 +208,19 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
if(LocalDate.now().isAfter(recruit.getRecruitEndTime())){ if(LocalDate.now().isAfter(recruit.getRecruitEndTime())){
throw new BaseException("该岗位已过期"); throw new BaseException("该岗位已过期");
} }
if(RecruitStatus.OVERDUE.getCode().equals(recruit.getStatus())){
throw new BaseException("该岗位已过期");
}
if(RecruitStatus.FULL.getCode().equals(recruit.getStatus())){
throw new BaseException("该岗位已招满");
}
recruitApply.setEntryTime(dto.getEntryTime()); recruitApply.setEntryTime(dto.getEntryTime());
recruitApply.setStatus(RecruitApplyStatus.BGT_PASS.getCode()); recruitApply.setStatus(RecruitApplyStatus.BGT_PASS.getCode());
dto.getEntryMaterials().addAll(dto.getInsurances()); dto.getEntryMaterials().addAll(dto.getInsurances());
for (AnnexDTO annexDTO : dto.getEntryMaterials()) { for (AnnexDTO annexDTO : dto.getEntryMaterials()) {
annexDTO.setRecruitId(recruitApply.getRecruitId()); annexDTO.setRecruitId(recruitApply.getRecruitId());
annexDTO.setUserId(recruitApply.getUserId());
} }
annexService.insertBatch(dto.getEntryMaterials()); annexService.insertBatch(dto.getEntryMaterials());
//发消息 //发消息

View File

@ -21,6 +21,7 @@ import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.RecruitApplyStatus; import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.common.enums.RecruitStatus;
import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.exception.BaseException;
import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
@ -153,7 +154,9 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
userDTO.setPageNum(1); userDTO.setPageNum(1);
userDTO.setPageSize(3); userDTO.setPageSize(3);
userDTO.setRecruitId(vo.getId()); userDTO.setRecruitId(vo.getId());
if(RecruitStatus.PROGRESS.getCode().equals(vo.getStatus())){
userDTO.setStatus(0);
}
TableDataInfo<BgtProjectRecruitApplyVO> page = bgtProjectRecruitApplyService.recruitApplyList(userDTO); TableDataInfo<BgtProjectRecruitApplyVO> page = bgtProjectRecruitApplyService.recruitApplyList(userDTO);
vo.setApplyList(page.getRows()); vo.setApplyList(page.getRows());
} }

View File

@ -202,9 +202,9 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
date = taskEndTime; date = taskEndTime;
} }
LocalDate startTime = date.minusDays(7); LocalDate startTime = date.minusDays(7);
if (taskBeginTime!=null &&taskBeginTime.isAfter(startTime)){ // if (taskBeginTime!=null &&taskBeginTime.isAfter(startTime)){
startTime = taskBeginTime; // startTime = taskBeginTime;
} // }
List<BgtDayAttendanceCountVO> countVOS = attendanceService.countDayByTaskId(id, startTime, date); List<BgtDayAttendanceCountVO> countVOS = attendanceService.countDayByTaskId(id, startTime, date);
// 补充缺失的天数 // 补充缺失的天数
List<BgtDayAttendanceCountVO> bgtDayAttendanceCountVOS = DataUtil.fillMissingDates(countVOS, startTime, date); List<BgtDayAttendanceCountVO> bgtDayAttendanceCountVOS = DataUtil.fillMissingDates(countVOS, startTime, date);
@ -212,7 +212,7 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
Integer totalNum = attendanceService.dayTotalNum(id, date); Integer totalNum = attendanceService.dayTotalNum(id, date);
appTaskDetailVO.setTotalNum(totalNum); appTaskDetailVO.setTotalNum(totalNum);
//计算到岗率 //计算到岗率
if(totalNum!=0 && bgtDayAttendanceCountVOS.size()>0){ if(totalNum!=0 && CollectionUtil.isNotEmpty(bgtDayAttendanceCountVOS)){
BgtDayAttendanceCountVO bgtDayAttendanceCountVO = bgtDayAttendanceCountVOS.get(bgtDayAttendanceCountVOS.size() - 1); BgtDayAttendanceCountVO bgtDayAttendanceCountVO = bgtDayAttendanceCountVOS.get(bgtDayAttendanceCountVOS.size() - 1);
int rate = new BigDecimal(bgtDayAttendanceCountVO.getReportToDutyNum()).divide(new BigDecimal(totalNum), 2, RoundingMode.HALF_UP) int rate = new BigDecimal(bgtDayAttendanceCountVO.getReportToDutyNum()).divide(new BigDecimal(totalNum), 2, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100)).intValue(); .multiply(new BigDecimal(100)).intValue();