上下班缺卡定时任务
This commit is contained in:
@ -283,7 +283,7 @@ public class WgzAppController {
|
|||||||
/**
|
/**
|
||||||
* 【考勤打卡】【打卡日历】 打卡日历记录
|
* 【考勤打卡】【打卡日历】 打卡日历记录
|
||||||
*/
|
*/
|
||||||
@ApiOperation("【考勤打卡】【打卡日历】 打卡日历记录)")
|
@ApiOperation("【考勤打卡】【打卡日历】 打卡日历记录")
|
||||||
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userPunchTheCalendarRecord')")
|
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userPunchTheCalendarRecord')")
|
||||||
@GetMapping("/WgzAppUserPunchTheCalendarRecord")
|
@GetMapping("/WgzAppUserPunchTheCalendarRecord")
|
||||||
public AjaxResult<WgzAppPunchTheCalendarRecordRes> userPunchTheCalendarRecord() {
|
public AjaxResult<WgzAppPunchTheCalendarRecordRes> userPunchTheCalendarRecord() {
|
||||||
|
@ -31,5 +31,6 @@ public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectR
|
|||||||
List<BgtProjectRecruitApplyVO> todayAttendanceList(@Param("dto") BgtAttendanceDayDTO dto);
|
List<BgtProjectRecruitApplyVO> todayAttendanceList(@Param("dto") BgtAttendanceDayDTO dto);
|
||||||
|
|
||||||
// 获取指定项目下的所有成员(分页)
|
// 获取指定项目下的所有成员(分页)
|
||||||
Page<WgzAppUnderwayRes> underwayPage (@Param("page") Page<WgzAppUnderwayReq> page);
|
Page<WgzAppUnderwayRes> underwayPage (@Param("page") Page<WgzAppUnderwayReq> page,@Param("req") WgzAppUnderwayReq req);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -326,14 +326,13 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<WgzAppUnderwayRes> userUnderway(WgzAppUnderwayReq req) {
|
public TableDataInfo<WgzAppUnderwayRes> userUnderway(WgzAppUnderwayReq req) {
|
||||||
req.setUserId(SecurityUtils.getAppUserId());
|
req.setUserId(SecurityUtils.getAppUserId());
|
||||||
Page<WgzAppUnderwayReq> pe = new Page<>();
|
Page<WgzAppUnderwayReq> pe = new Page<>();
|
||||||
pe.setCurrent(req.getPageNum());
|
pe.setCurrent(req.getPageNum());
|
||||||
pe.setSize(req.getPageSize());
|
pe.setSize(req.getPageSize());
|
||||||
return PageUtils.buildDataInfo(baseMapper.underwayPage(pe));
|
return PageUtils.buildDataInfo(baseMapper.underwayPage(pe,req));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,6 +14,7 @@ public class WgzAndBgtMessageConstant {
|
|||||||
public static final String LARGE_OTHER = "2"; //大类型-其它
|
public static final String LARGE_OTHER = "2"; //大类型-其它
|
||||||
public static final String SMALL_CARD = "0"; //小类型-补卡
|
public static final String SMALL_CARD = "0"; //小类型-补卡
|
||||||
public static final String SMALL_SYSTEM = "1"; //小类型-系统
|
public static final String SMALL_SYSTEM = "1"; //小类型-系统
|
||||||
|
public static final String SMALL_EXIT = "2"; //小类型-退场
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,6 +44,12 @@ public class WgzAndBgtMessageConstant {
|
|||||||
//【工资结算】11-12
|
//【工资结算】11-12
|
||||||
public static final String WGZ_SYSTEM_HEADLINE_PAYCALCULATION = "您正在申请【%s】项目,为期【%s】天的工资结算操作!";
|
public static final String WGZ_SYSTEM_HEADLINE_PAYCALCULATION = "您正在申请【%s】项目,为期【%s】天的工资结算操作!";
|
||||||
public static final String WGZ_SYSTEM_SUBHEADING_PAYCALCULATION = "您已成功发起为期【%s】天,金额为【%s】的工资结算操作,请耐心等待回复!";
|
public static final String WGZ_SYSTEM_SUBHEADING_PAYCALCULATION = "您已成功发起为期【%s】天,金额为【%s】的工资结算操作,请耐心等待回复!";
|
||||||
|
//【上班缺卡】13-14
|
||||||
|
public static final String WGZ_SYSTEM_HEADLINE_GOONDUTY = "您在【%s】有一次上班缺卡!";
|
||||||
|
public static final String WGZ_SYSTEM_SUBHEADING_GOONDUTY = "您在【%s】当天有一条上班缺卡,请注意核对!";
|
||||||
|
//【下班缺卡】15-16
|
||||||
|
public static final String WGZ_SYSTEM_HEADLINE_OFFDUTY = "您在【%s】有一次下班缺卡!";
|
||||||
|
public static final String WGZ_SYSTEM_SUBHEADING_OFFDUTY = "您在【%s】当天有一条下班缺卡,请注意核对!";
|
||||||
/**
|
/**
|
||||||
* 务工者给包工头提示
|
* 务工者给包工头提示
|
||||||
*/
|
*/
|
||||||
@ -94,7 +101,15 @@ public class WgzAndBgtMessageConstant {
|
|||||||
case "111":
|
case "111":
|
||||||
return String.format(WGZ_SYSTEM_HEADLINE_PAYCALCULATION,mp.get("projectName"), mp.get("num"));
|
return String.format(WGZ_SYSTEM_HEADLINE_PAYCALCULATION,mp.get("projectName"), mp.get("num"));
|
||||||
case "112":
|
case "112":
|
||||||
return String.format(WGZ_SYSTEM_SUBHEADING_PAYCALCULATION, mp.get("num"),mp.get("money"));
|
return String.format(WGZ_SYSTEM_SUBHEADING_PAYCALCULATION, mp.get("num"),mp.get("money")); //系统工资结算申请提示
|
||||||
|
case "113":
|
||||||
|
return String.format(WGZ_SYSTEM_HEADLINE_GOONDUTY,mp.get("data"));
|
||||||
|
case "114":
|
||||||
|
return String.format(WGZ_SYSTEM_SUBHEADING_GOONDUTY, mp.get("data"));
|
||||||
|
case "115":
|
||||||
|
return String.format(WGZ_SYSTEM_HEADLINE_OFFDUTY,mp.get("data"));
|
||||||
|
case "116":
|
||||||
|
return String.format(WGZ_SYSTEM_SUBHEADING_OFFDUTY, mp.get("data"));
|
||||||
//务工者向包工头申请报名
|
//务工者向包工头申请报名
|
||||||
case "201":
|
case "201":
|
||||||
return String.format(WGZ_HEADLINE_APPLY, mp.get("userName"), mp.get("post"));
|
return String.format(WGZ_HEADLINE_APPLY, mp.get("userName"), mp.get("post"));
|
||||||
|
@ -88,4 +88,9 @@ public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> {
|
|||||||
* 任务详情-务工人员
|
* 任务详情-务工人员
|
||||||
*/
|
*/
|
||||||
AppTaskDetailRecruitVO recruit(Long id);
|
AppTaskDetailRecruitVO recruit(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询所有在进行中的任务
|
||||||
|
*/
|
||||||
|
List<FbsProjectTask> findOngoingTask();
|
||||||
}
|
}
|
||||||
|
@ -264,4 +264,11 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
|||||||
appTaskDetailVO.setApplyList(recruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
appTaskDetailVO.setApplyList(recruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
||||||
return appTaskDetailVO;
|
return appTaskDetailVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<FbsProjectTask> findOngoingTask() {
|
||||||
|
LambdaQueryWrapper<FbsProjectTask> wra = new LambdaQueryWrapper<FbsProjectTask>().eq(FbsProjectTask::getStatus, "1");
|
||||||
|
return baseMapper.selectList(wra);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,24 +3,35 @@ package com.ruoyi.task;
|
|||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.lang.Console;
|
import cn.hutool.core.lang.Console;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
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.BgtProjectRecruit;
|
||||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
||||||
|
import com.ruoyi.common.constants.WgzAndBgtMessageConstant;
|
||||||
import com.ruoyi.common.enums.RecruitApplyStatus;
|
import com.ruoyi.common.enums.RecruitApplyStatus;
|
||||||
|
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||||
|
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||||
|
import com.ruoyi.wgz.domain.WgzAttendance;
|
||||||
|
import com.ruoyi.wgz.domain.WgzMessage;
|
||||||
|
import com.ruoyi.wgz.service.IWgzAttendanceService;
|
||||||
|
import com.ruoyi.wgz.service.IWgzMessageService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务定时任务
|
* 业务定时任务
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Component("businessTask")
|
@Component("businessTask")
|
||||||
public class BusinessTask
|
public class BusinessTask
|
||||||
{
|
{
|
||||||
@ -29,6 +40,19 @@ public class BusinessTask
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBgtProjectRecruitApplyService recruitApplyService;
|
private IBgtProjectRecruitApplyService recruitApplyService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IFbsProjectTaskService iFbsProjectTaskService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWgzMessageService iWgzMessageService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWgzAttendanceService iWgzAttendanceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 招工任务招工时间结束自动拒绝未选择的务工者
|
* 招工任务招工时间结束自动拒绝未选择的务工者
|
||||||
*/
|
*/
|
||||||
@ -49,4 +73,148 @@ public class BusinessTask
|
|||||||
Console.log("招工拒绝任务结束,此次拒绝任务个数:"+recruitList.size());
|
Console.log("招工拒绝任务结束,此次拒绝任务个数:"+recruitList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上班缺卡
|
||||||
|
*/
|
||||||
|
public void workCardShortage(){
|
||||||
|
//1、获取所有正在进行中的任务
|
||||||
|
List<FbsProjectTask> ongoingTask = iFbsProjectTaskService.findOngoingTask();
|
||||||
|
//2、获取所有招工信息
|
||||||
|
List<Long> taskIds = new ArrayList<>();
|
||||||
|
for (FbsProjectTask fbsProjectTask : ongoingTask) {
|
||||||
|
taskIds.add(fbsProjectTask.getId());
|
||||||
|
}
|
||||||
|
List<BgtProjectRecruit> applyList = recruitService.list(
|
||||||
|
Wrappers.<BgtProjectRecruit>lambdaQuery()
|
||||||
|
.in(BgtProjectRecruit::getTaskId, taskIds)
|
||||||
|
);
|
||||||
|
//3、获取每个招工下面的员工,然后判断他们是否上班缺卡
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
List<WgzAttendance> lists = new ArrayList<>();
|
||||||
|
List<WgzMessage> messages = new ArrayList<>();
|
||||||
|
Map<String, String> mp = new HashMap<>();
|
||||||
|
mp.put("data",now.toString());
|
||||||
|
for (BgtProjectRecruit recruit : applyList) {
|
||||||
|
List<BgtProjectRecruitApply> recruitApply = iBgtProjectRecruitApplyService.list(
|
||||||
|
Wrappers.<BgtProjectRecruitApply>lambdaQuery()
|
||||||
|
.eq(BgtProjectRecruitApply::getRecruitId, recruit.getId())
|
||||||
|
);
|
||||||
|
for (BgtProjectRecruitApply by : recruitApply) {
|
||||||
|
int count = iWgzAttendanceService.count(
|
||||||
|
Wrappers.<WgzAttendance>lambdaQuery()
|
||||||
|
.eq(WgzAttendance::getUserId, by.getUserId())
|
||||||
|
.eq(WgzAttendance::getRecruitId, by.getRecruitId())
|
||||||
|
.eq(WgzAttendance::getDate, now)
|
||||||
|
);
|
||||||
|
//表示有上班缺卡,添加缺卡信息
|
||||||
|
if (count == 0) {
|
||||||
|
//添加缺卡信息
|
||||||
|
WgzAttendance attendance = new WgzAttendance()
|
||||||
|
.setRecruitId(by.getRecruitId())
|
||||||
|
.setUserId(by.getUserId())
|
||||||
|
.setDailyWage(recruit.getRecruitAmount())
|
||||||
|
.setDate(now)
|
||||||
|
.setMissedIn(1)
|
||||||
|
.setExceptionType("3,");
|
||||||
|
lists.add(attendance);
|
||||||
|
//添加消息提醒
|
||||||
|
WgzMessage wgzMessage = new WgzMessage().
|
||||||
|
setSenderType(USERTYPE_SYSTEM).
|
||||||
|
setRecipientType(USERTYPE_WGZ).
|
||||||
|
setRecipientId(by.getUserId()).
|
||||||
|
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"113")).
|
||||||
|
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"114")).
|
||||||
|
// setTableId(apply.getId()).
|
||||||
|
// setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
|
||||||
|
setMessageLargeType(LARGE_OTHER).
|
||||||
|
setMessageSmallType(SMALL_SYSTEM);
|
||||||
|
messages.add(wgzMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//4、批量添加缺卡信息
|
||||||
|
Boolean b = iWgzAttendanceService.addAMissingCardRecord(lists);
|
||||||
|
if (!b){
|
||||||
|
log.error("批量添加上班缺卡信息失败!");
|
||||||
|
}
|
||||||
|
//5、批量添加缺卡消息
|
||||||
|
boolean b1 = iWgzMessageService.saveBatch(messages);
|
||||||
|
if (!b1){
|
||||||
|
log.error("批量添加上班缺卡消息失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下班缺卡
|
||||||
|
*/
|
||||||
|
public void missingCard(){
|
||||||
|
//1、获取所有正在进行中的任务
|
||||||
|
List<FbsProjectTask> ongoingTask = iFbsProjectTaskService.findOngoingTask();
|
||||||
|
//2、获取所有招工信息
|
||||||
|
List<Long> taskIds = new ArrayList<>();
|
||||||
|
for (FbsProjectTask fbsProjectTask : ongoingTask) {
|
||||||
|
taskIds.add(fbsProjectTask.getId());
|
||||||
|
}
|
||||||
|
List<BgtProjectRecruit> applyList = recruitService.list(
|
||||||
|
Wrappers.<BgtProjectRecruit>lambdaQuery()
|
||||||
|
.in(BgtProjectRecruit::getTaskId, taskIds)
|
||||||
|
);
|
||||||
|
//3、获取每个招工下面的员工,然后判断他们是否上班缺卡
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
List<WgzAttendance> lists = new ArrayList<>();
|
||||||
|
List<WgzMessage> messages = new ArrayList<>();
|
||||||
|
Map<String, String> mp = new HashMap<>();
|
||||||
|
mp.put("data",now.toString());
|
||||||
|
for (BgtProjectRecruit recruit : applyList) {
|
||||||
|
List<BgtProjectRecruitApply> recruitApply = iBgtProjectRecruitApplyService.list(
|
||||||
|
Wrappers.<BgtProjectRecruitApply>lambdaQuery()
|
||||||
|
.eq(BgtProjectRecruitApply::getRecruitId, recruit.getId())
|
||||||
|
);
|
||||||
|
for (BgtProjectRecruitApply by : recruitApply) {
|
||||||
|
WgzAttendance one = iWgzAttendanceService.getOne(
|
||||||
|
Wrappers.<WgzAttendance>lambdaQuery()
|
||||||
|
.eq(WgzAttendance::getUserId, by.getUserId())
|
||||||
|
.eq(WgzAttendance::getRecruitId, by.getRecruitId())
|
||||||
|
.eq(WgzAttendance::getDate, now)
|
||||||
|
.isNull(WgzAttendance::getLeaveMarkId)
|
||||||
|
.isNull(WgzAttendance::getClockOutTime)
|
||||||
|
);
|
||||||
|
//表示有下班缺卡,添加缺卡信息
|
||||||
|
if (one != null) {
|
||||||
|
//添加缺卡信息
|
||||||
|
WgzAttendance attendance = new WgzAttendance()
|
||||||
|
.setId(one.getId())
|
||||||
|
.setMissedOut(1)
|
||||||
|
.setExceptionType("4,");
|
||||||
|
lists.add(attendance);
|
||||||
|
//添加消息提醒
|
||||||
|
WgzMessage wgzMessage = new WgzMessage().
|
||||||
|
setSenderType(USERTYPE_SYSTEM).
|
||||||
|
setRecipientType(USERTYPE_WGZ).
|
||||||
|
setRecipientId(by.getUserId()).
|
||||||
|
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"115")).
|
||||||
|
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"116")).
|
||||||
|
// setTableId(apply.getId()).
|
||||||
|
// setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
|
||||||
|
setMessageLargeType(LARGE_OTHER).
|
||||||
|
setMessageSmallType(SMALL_SYSTEM);
|
||||||
|
messages.add(wgzMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//4、批量添加缺卡信息
|
||||||
|
boolean b = iWgzAttendanceService.updateBatchById(lists);
|
||||||
|
if (!b){
|
||||||
|
log.error("批量修改下班缺卡消息失败!");
|
||||||
|
}
|
||||||
|
//5、批量添加缺卡消息
|
||||||
|
boolean b1 = iWgzMessageService.saveBatch(messages);
|
||||||
|
if (!b1){
|
||||||
|
log.error("批量添加下班缺卡消息失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import com.ruoyi.common.bo.PageReq;
|
|||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import io.swagger.v3.oas.annotations.Hidden;
|
import io.swagger.v3.oas.annotations.Hidden;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
@ -16,11 +18,11 @@ import java.time.LocalDateTime;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("项目进行中请求对象")
|
@ApiModel("项目进行中请求对象")
|
||||||
public class WgzAppUnderwayReq extends PageReq {
|
|
||||||
|
public class WgzAppUnderwayReq extends PageReq implements Serializable {
|
||||||
@ApiModelProperty("1进行中 2已完成")
|
@ApiModelProperty("1进行中 2已完成")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "务工者唯一标识",hidden = true)
|
@ApiModelProperty(value = "务工者唯一标识",hidden = true)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
}
|
}
|
||||||
|
@ -123,4 +123,9 @@ public interface IWgzAttendanceService extends IServicePlus<WgzAttendance> {
|
|||||||
*/
|
*/
|
||||||
BgtAttendanceDetailVO bgtAttendanceDetail(BgtAttendanceDetailDTO dto);
|
BgtAttendanceDetailVO bgtAttendanceDetail(BgtAttendanceDetailDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加缺卡记录
|
||||||
|
*/
|
||||||
|
Boolean addAMissingCardRecord (List<WgzAttendance> list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -631,4 +631,10 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean addAMissingCardRecord(List<WgzAttendance> list) {
|
||||||
|
return super.saveBatch(list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,14 +92,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
LEFT JOIN bgt_project_recruit as b on(a.recruit_id = b.id and b.del_flag = 0 )
|
LEFT JOIN bgt_project_recruit as b on(a.recruit_id = b.id and b.del_flag = 0 )
|
||||||
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
|
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
|
||||||
<where>
|
<where>
|
||||||
<if test="page.userId!=null and dto.userId!=0 ">
|
<if test="req.userId!=null and req.userId!=0 ">
|
||||||
a.user_id = #{page.userId} AND
|
a.user_id = #{req.userId} AND
|
||||||
</if>
|
</if>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="page.type!=null and page.type!='' and page.type=='1'">
|
<when test="req.type!=null and req.type!='' and req.type == 1">
|
||||||
a.status IN ('3', '5') AND
|
a.status IN ('3', '5') AND
|
||||||
</when>
|
</when>
|
||||||
<when test="page.type!=null and page.type!='' and page.type=='2'">
|
<when test="req.type!=null and req.type!='' and req.type == 2">
|
||||||
a.status IN ('6') AND
|
a.status IN ('6') AND
|
||||||
</when>
|
</when>
|
||||||
</choose>
|
</choose>
|
||||||
|
@ -63,6 +63,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
|
LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
|
||||||
LEFT JOIN wgz_user as f ON f.id = e.user_id
|
LEFT JOIN wgz_user as f ON f.id = e.user_id
|
||||||
</if>
|
</if>
|
||||||
|
<if test="page.largeType == '3' and page.smallType == '1'">
|
||||||
|
LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
|
||||||
|
LEFT JOIN wgz_user as f ON f.id = e.user_id
|
||||||
|
</if>
|
||||||
|
<if test="page.largeType == '3'">
|
||||||
|
LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
|
||||||
|
LEFT JOIN wgz_user as f ON f.id = e.user_id
|
||||||
|
</if>
|
||||||
<where>
|
<where>
|
||||||
a.recipient_type = "1" AND
|
a.recipient_type = "1" AND
|
||||||
a.recipient_id = #{page.recipientId} AND
|
a.recipient_id = #{page.recipientId} AND
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
Reference in New Issue
Block a user