补卡审核

This commit is contained in:
zt
2025-03-06 16:50:44 +08:00
parent c286edf99f
commit 8d566adaa6
2 changed files with 101 additions and 73 deletions

View File

@ -1,5 +1,6 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtMessage;
import com.ruoyi.bgt.domain.dto.BgtMessageDetailDTO;
import com.ruoyi.bgt.domain.dto.BgtMessageMyListDTO;
import com.ruoyi.bgt.domain.vo.BgtMessageCountVO;
@ -13,9 +14,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* 消息Controller
@ -49,5 +48,14 @@ public class AppBgtMessageController extends BaseController {
return iBgtMessageService.queryDetailPageList(dto);
}
@ApiOperation("已读")
@PutMapping("/read/{id}")
public AjaxResult<Boolean> read(@PathVariable(value = "id") Long id) {
BgtMessage bgtMessage = new BgtMessage();
bgtMessage.setId(id);
bgtMessage.setReadStatus("1");
return AjaxResult.success(iBgtMessageService.updateById(bgtMessage));
}
}

View File

@ -72,72 +72,71 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
@Autowired
private IWgzUserService wgzUserService;
@Override
public WgzReissueacard queryById(Long id){
return getById(id);
}
@Override
public WgzReissueacard queryById(Long id) {
return getById(id);
}
@Override
public TableDataInfo<WgzReissueacard> queryPageList(WgzReissueacardQueryBo bo) {
Page<WgzReissueacard> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public TableDataInfo<WgzReissueacard> queryPageList(WgzReissueacardQueryBo bo) {
Page<WgzReissueacard> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<WgzReissueacard> queryList(WgzReissueacardQueryBo bo) {
return list(buildQueryWrapper(bo));
}
@Override
public List<WgzReissueacard> queryList(WgzReissueacardQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<WgzReissueacard> buildQueryWrapper(WgzReissueacardQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WgzReissueacard> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getRecruitId() != null, WgzReissueacard::getRecruitId, bo.getRecruitId());
lqw.eq(bo.getUserId() != null, WgzReissueacard::getUserId, bo.getUserId());
lqw.eq(bo.getAttendanceId() != null, WgzReissueacard::getAttendanceId, bo.getAttendanceId());
lqw.eq(StrUtil.isNotBlank(bo.getType()), WgzReissueacard::getType, bo.getType());
lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), WgzReissueacard::getRecruitName, bo.getRecruitName());
lqw.eq(StrUtil.isNotBlank(bo.getRawTime()), WgzReissueacard::getRawTime, bo.getRawTime());
lqw.eq(bo.getNowTime() != null, WgzReissueacard::getNowTime, bo.getNowTime());
lqw.eq(StrUtil.isNotBlank(bo.getReason()), WgzReissueacard::getReason, bo.getReason());
lqw.eq(bo.getAuditorUserId() != null, WgzReissueacard::getAuditorUserId, bo.getAuditorUserId());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzReissueacard::getAuditorType, bo.getAuditorType());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzReissueacard::getAuditorOpinion, bo.getAuditorOpinion());
lqw.eq(bo.getAuditorTime() != null, WgzReissueacard::getAuditorTime, bo.getAuditorTime());
return lqw;
}
private LambdaQueryWrapper<WgzReissueacard> buildQueryWrapper(WgzReissueacardQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WgzReissueacard> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getRecruitId() != null, WgzReissueacard::getRecruitId, bo.getRecruitId());
lqw.eq(bo.getUserId() != null, WgzReissueacard::getUserId, bo.getUserId());
lqw.eq(bo.getAttendanceId() != null, WgzReissueacard::getAttendanceId, bo.getAttendanceId());
lqw.eq(StrUtil.isNotBlank(bo.getType()), WgzReissueacard::getType, bo.getType());
lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), WgzReissueacard::getRecruitName, bo.getRecruitName());
lqw.eq(StrUtil.isNotBlank(bo.getRawTime()), WgzReissueacard::getRawTime, bo.getRawTime());
lqw.eq(bo.getNowTime() != null, WgzReissueacard::getNowTime, bo.getNowTime());
lqw.eq(StrUtil.isNotBlank(bo.getReason()), WgzReissueacard::getReason, bo.getReason());
lqw.eq(bo.getAuditorUserId() != null, WgzReissueacard::getAuditorUserId, bo.getAuditorUserId());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzReissueacard::getAuditorType, bo.getAuditorType());
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzReissueacard::getAuditorOpinion, bo.getAuditorOpinion());
lqw.eq(bo.getAuditorTime() != null, WgzReissueacard::getAuditorTime, bo.getAuditorTime());
return lqw;
}
@Override
public Boolean insert(WgzReissueacard bo) {
WgzReissueacard add = BeanUtil.toBean(bo, WgzReissueacard.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean insert(WgzReissueacard bo) {
WgzReissueacard add = BeanUtil.toBean(bo, WgzReissueacard.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(WgzReissueacard bo) {
WgzReissueacard update = BeanUtil.toBean(bo, WgzReissueacard.class);
validEntityBeforeSave(update);
return updateById(update);
}
@Override
public Boolean update(WgzReissueacard bo) {
WgzReissueacard update = BeanUtil.toBean(bo, WgzReissueacard.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(WgzReissueacard entity) {
//TODO 做一些数据校验,如唯一约束
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(WgzReissueacard entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
/**
* APP相关
@ -162,7 +161,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
String rawTime = "";
if (attendanceInfo.getClockInTime() == null) {
rawTime = "缺卡";
}else{
} else {
rawTime = attendanceInfo.getClockInTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
//5、组装补卡申请数据
@ -182,19 +181,19 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Map<String, String> mp = new HashMap<>();
mp.put("projectName", recruit.getRecruitName());
mp.put("userName", byId.getUsername());
mp.put("data",String.valueOf(req.getNowTime()));
mp.put("data", String.valueOf(req.getNowTime()));
if (insert > 0) {
WgzMessage wgzMessage = new WgzMessage().
setSenderType(USERTYPE_SYSTEM).
setRecipientType(USERTYPE_WGZ).
setRecipientId(appUserId).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"109")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"110")).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp, "109")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "110")).
setTableId(wgzReissueacard.getId()).
setTableName(SqlHelper.table(WgzReissueacard.class).getTableName()).
setMessageLargeType(LARGE_OTHER).
setMessageSmallType(SMALL_CARD);
if (!iWgzMessageService.sendAMessage(wgzMessage)){
if (!iWgzMessageService.sendAMessage(wgzMessage)) {
throw new RuntimeException("系统补卡消息发送失败!");
}
BgtMessage bgtMessage = new BgtMessage().
@ -202,13 +201,13 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
setSenderId(appUserId).
setRecipientType(USERTYPE_BGT).
setRecipientId(recruit.getUserId()).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"207")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"208")).
setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp, "207")).
setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "208")).
setTableId(wgzReissueacard.getId()).
setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
setMessageLargeType(BGT_TYPE_SIGN_UP).
setMessageSmallType(BGT_SMALL_MAKE_UP);
if (!iBgtMessageService.sendAMessage(bgtMessage)){
if (!iBgtMessageService.sendAMessage(bgtMessage)) {
throw new RuntimeException("发送补卡消息失败!");
}
return true;
@ -223,7 +222,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Page<WgzAppReplacementCardRecordReq> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(req.getPageNum());
queryDTOPage.setSize(req.getPageSize());
return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage,userId));
return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage, userId));
}
@Override
@ -232,7 +231,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
Page<BgtReissueacardListDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
return PageUtils.buildDataInfo(baseMapper.appQueryPageList(queryDTOPage,dto));
return PageUtils.buildDataInfo(baseMapper.appQueryPageList(queryDTOPage, dto));
}
@Override
@ -241,10 +240,31 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
WgzReissueacard byId = getById(dto.getId());
BeanUtil.copyProperties(dto, byId);
boolean b = updateById(byId);
//修改考勤标记
WgzAttendance attendance = iWgzAttendanceService.getById(byId.getAttendanceId());
String exceptionType = attendance.getExceptionType();
if ("0".equals(byId.getType())) { //上班补卡
exceptionType = exceptionType.replace("\\b1\\b", "5");
exceptionType = exceptionType.replace("\\b3\\b", "5");
attendance.setExceptionType(exceptionType);
attendance.setLate(1);
attendance.setMissedIn(1);
} else {
exceptionType = exceptionType.replace("\\b2\\b", "6");
exceptionType = exceptionType.replace("\\b4\\b", "6");
attendance.setExceptionType(exceptionType);
attendance.setEarlyLeave(1);
attendance.setMissedOut(1);
}
iWgzAttendanceService.updateById(attendance);
//发消息
HashMap<String, String> mp = new HashMap<>();
mp.put("projectName",iBgtProjectRecruitService.getById(byId.getRecruitId()).getRecruitName());
mp.put("auditor",SecurityUtils.getUsername());
mp.put("projectName", iBgtProjectRecruitService.getById(byId.getRecruitId()).getRecruitName());
mp.put("auditor", SecurityUtils.getUsername());
Map<String, String> map = bgtMessage(mp, BGT_TYPE_MAKE_UP, true);
WgzMessage wgzMessage = new WgzMessage()
.setSenderType(USERTYPE_BGT)