1、日报补卡 2消息日报补卡

This commit is contained in:
2025-03-05 17:37:09 +08:00
parent 0e156418d9
commit d3add5b113
5 changed files with 88 additions and 3 deletions

View File

@ -19,6 +19,8 @@ import java.time.LocalDateTime;
@Accessors(chain = true)
@ApiModel("日报打卡请求对象")
public class WgzAppDailyClockReq implements Serializable {
@ApiModelProperty("日报状态0正常 1补卡")
private String status;
@ApiModelProperty("今日完成工作")
private String finishToday;

View File

@ -106,6 +106,11 @@ public class WgzDailyClock implements Serializable {
@ApiModelProperty("未审核|审核时间")
private LocalDateTime auditorTime;
/** 日报状态0正常 1补卡 */
@Excel(name = "日报状态0正常 1补卡" , readConverterExp = "0=正常,1=补卡")
@ApiModelProperty("日报状态0正常 1补卡")
private String status;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")

View File

@ -6,15 +6,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.ruoyi.bgt.domain.BgtMessage;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtDailyClockListDTO;
import com.ruoyi.bgt.domain.dto.BgtDailyClockUpdateDTO;
import com.ruoyi.bgt.domain.vo.BgtDailyClockDetailVO;
import com.ruoyi.bgt.domain.vo.BgtDailyClockListVO;
import com.ruoyi.bgt.service.IBgtMessageService;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.constants.WgzAndBgtMessageConstant;
import com.ruoyi.common.core.domain.entity.BgtUser;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
@ -29,18 +33,29 @@ import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes;
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
import com.ruoyi.wgz.domain.WgzDailyClock;
import com.ruoyi.wgz.domain.WgzMessage;
import com.ruoyi.wgz.domain.WgzReissueacard;
import com.ruoyi.wgz.domain.WgzUser;
import com.ruoyi.wgz.mapper.WgzDailyClockMapper;
import com.ruoyi.wgz.service.IWgzDailyClockService;
import com.ruoyi.wgz.service.IWgzLeaveService;
import com.ruoyi.wgz.service.IWgzMessageService;
import com.ruoyi.wgz.service.IWgzUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import static com.ruoyi.common.constants.BgtMessageConstant.BGT_SMALL_MAKE_UP;
import static com.ruoyi.common.constants.BgtMessageConstant.BGT_TYPE_SIGN_UP;
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
/**
* 日报打卡Service业务层处理
*
@ -67,6 +82,15 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
@Autowired
private IBgtUserService iBgtUserService;
@Autowired
private IWgzUserService wgzUserService;
@Autowired
private IWgzMessageService iWgzMessageService;
@Autowired
private IBgtMessageService iBgtMessageService;
@Override
public WgzDailyClock queryById(Long id){
return getById(id);
@ -196,6 +220,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
}
@Override
@Transactional
public Boolean userDailyClock(WgzAppDailyClockReq req) {
//1、获取当前人、当前工的上下班时间范围
Long appUserId = SecurityUtils.getAppUserId();
@ -204,11 +229,48 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
//1、组装数据
WgzDailyClock dc = new WgzDailyClock();
BeanUtils.copyProperties(req,dc);
dc.setStatus(req.getStatus());
dc.setRecruitId(appUserId);
dc.setUserId(appUserId);
dc.setDilyTime(LocalDateTime.now());
dc.setAuditorUserId(appById.getUserId());
return baseMapper.insert(dc) > 0;
int insert = baseMapper.insert(dc);
//2、插入成功且状态为1那么就需要发送消息给【补日报】的人和上级【招工】
if ( insert > 0 && req.getStatus().equals("1")){
WgzUser byId = wgzUserService.findByUserId(appUserId);
Map<String, String> mp = new HashMap<>();
mp.put("data",String.valueOf(LocalDate.now()));
WgzMessage wgzMessage = new WgzMessage().
setSenderType(USERTYPE_SYSTEM).
setRecipientType(USERTYPE_WGZ).
setRecipientId(appUserId).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"119")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"120")).
setTableId(dc.getId()).
setTableName(SqlHelper.table(WgzDailyClock.class).getTableName()).
setMessageLargeType(LARGE_OTHER).
setMessageSmallType(SMALL_DAILY);
if (!iWgzMessageService.sendAMessage(wgzMessage)){
throw new RuntimeException("系统日报补卡消息发送失败!");
}
BgtMessage bgtMessage = new BgtMessage().
setSenderType(USERTYPE_WGZ).
setSenderId(appUserId).
setRecipientType(USERTYPE_BGT).
setRecipientId(appById.getUserId()).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"211")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"212")).
setTableId(dc.getId()).
setTableName(SqlHelper.table(WgzDailyClock.class).getTableName()).
setMessageLargeType(BGT_TYPE_SIGN_UP).
setMessageSmallType(BGT_SMALL_MAKE_UP);
if (!iBgtMessageService.sendAMessage(bgtMessage)){
throw new RuntimeException("发送日报补卡消息失败!");
}
return true;
}else{
return false;
}
}
@Override