1、日报补卡 2消息日报补卡
This commit is contained in:
@ -19,10 +19,11 @@ public class WgzAndBgtMessageConstant {
|
|||||||
public static final String LARGE_APPLY = "0"; //大类型-报名
|
public static final String LARGE_APPLY = "0"; //大类型-报名
|
||||||
public static final String LARGE_SALARY = "1"; //大类型-工资
|
public static final String LARGE_SALARY = "1"; //大类型-工资
|
||||||
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"; //小类型-退场
|
public static final String SMALL_EXIT = "2"; //小类型-退场
|
||||||
public static final String SMALL_LEAVE = "3"; //小类型-请假
|
public static final String SMALL_LEAVE = "3"; //小类型-请假
|
||||||
|
public static final String SMALL_DAILY = "4"; //小类型-日报补卡
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -61,6 +62,9 @@ public class WgzAndBgtMessageConstant {
|
|||||||
//【请假超时】17-18
|
//【请假超时】17-18
|
||||||
public static final String WGZ_SYSTEM_HEADLINE_TIMEOUT = "您【%s】的请假审批已超时未审核!";
|
public static final String WGZ_SYSTEM_HEADLINE_TIMEOUT = "您【%s】的请假审批已超时未审核!";
|
||||||
public static final String WGZ_SYSTEM_SUBHEADING_TIMEOUT = "您在【%s】的请假审批流程未走完,现已超时取消,请注意核对!";
|
public static final String WGZ_SYSTEM_SUBHEADING_TIMEOUT = "您在【%s】的请假审批流程未走完,现已超时取消,请注意核对!";
|
||||||
|
//【日报补卡】19-20
|
||||||
|
public static final String WGZ_SYSTEM_HEADLINE_DAILY = "您成功发送【%s】日的日报补卡!";
|
||||||
|
public static final String WGZ_SYSTEM_SUBHEADING_DAILY = "您在【%s】日的日报补卡已成功发起!";
|
||||||
/**
|
/**
|
||||||
* 务工者给包工头提示
|
* 务工者给包工头提示
|
||||||
*/
|
*/
|
||||||
@ -79,6 +83,9 @@ public class WgzAndBgtMessageConstant {
|
|||||||
//【工资结算】9-10
|
//【工资结算】9-10
|
||||||
public static final String WGZ_HEADLINE_PAYCALCULATION = "务工者【%s】正在向你发起工资结算!";
|
public static final String WGZ_HEADLINE_PAYCALCULATION = "务工者【%s】正在向你发起工资结算!";
|
||||||
public static final String WGZ__SUBHEADING_PAYCALCULATION = "务工者【%s】向你发起为期【%s】天,金额为【%s】圆整的工资结算操作!";
|
public static final String WGZ__SUBHEADING_PAYCALCULATION = "务工者【%s】向你发起为期【%s】天,金额为【%s】圆整的工资结算操作!";
|
||||||
|
//【日报补卡】11-12
|
||||||
|
public static final String WGZ_HEADLINE_DAILY = "务工者【%s】正在向你发起【%s】日的日报补卡!";
|
||||||
|
public static final String WGZ__SUBHEADING_DAILY = "务工者【%s】向你发起【%s】日的日报补卡,请注意查收处理!";
|
||||||
|
|
||||||
//务工者消息返回
|
//务工者消息返回
|
||||||
public static String wgzMessage(Map<String, String> mp, String type) {
|
public static String wgzMessage(Map<String, String> mp, String type) {
|
||||||
@ -125,6 +132,10 @@ public class WgzAndBgtMessageConstant {
|
|||||||
return String.format(WGZ_SYSTEM_HEADLINE_TIMEOUT,mp.get("data"));
|
return String.format(WGZ_SYSTEM_HEADLINE_TIMEOUT,mp.get("data"));
|
||||||
case "118":
|
case "118":
|
||||||
return String.format(WGZ_SYSTEM_SUBHEADING_TIMEOUT, mp.get("data"));
|
return String.format(WGZ_SYSTEM_SUBHEADING_TIMEOUT, mp.get("data"));
|
||||||
|
case "119":
|
||||||
|
return String.format(WGZ_SYSTEM_HEADLINE_DAILY,mp.get("data"));
|
||||||
|
case "120":
|
||||||
|
return String.format(WGZ_SYSTEM_SUBHEADING_DAILY, 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"));
|
||||||
@ -150,6 +161,11 @@ public class WgzAndBgtMessageConstant {
|
|||||||
return String.format(WGZ_HEADLINE_PAYCALCULATION, mp.get("userName"));
|
return String.format(WGZ_HEADLINE_PAYCALCULATION, mp.get("userName"));
|
||||||
case "210":
|
case "210":
|
||||||
return String.format(WGZ__SUBHEADING_PAYCALCULATION, mp.get("userName"),mp.get("num"),mp.get("money"));
|
return String.format(WGZ__SUBHEADING_PAYCALCULATION, mp.get("userName"),mp.get("num"),mp.get("money"));
|
||||||
|
//务工者向包工头发起日报补卡
|
||||||
|
case "211":
|
||||||
|
return String.format(WGZ_HEADLINE_DAILY, mp.get("userName"),mp.get("data"));
|
||||||
|
case "212":
|
||||||
|
return String.format(WGZ__SUBHEADING_DAILY, mp.get("userName"),mp.get("data"));
|
||||||
default:
|
default:
|
||||||
return "未知类型";
|
return "未知类型";
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@ import java.time.LocalDateTime;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("日报打卡请求对象")
|
@ApiModel("日报打卡请求对象")
|
||||||
public class WgzAppDailyClockReq implements Serializable {
|
public class WgzAppDailyClockReq implements Serializable {
|
||||||
|
@ApiModelProperty("日报状态(0正常 1补卡)")
|
||||||
|
private String status;
|
||||||
|
|
||||||
@ApiModelProperty("今日完成工作")
|
@ApiModelProperty("今日完成工作")
|
||||||
private String finishToday;
|
private String finishToday;
|
||||||
|
@ -106,6 +106,11 @@ public class WgzDailyClock implements Serializable {
|
|||||||
@ApiModelProperty("未审核|审核时间")
|
@ApiModelProperty("未审核|审核时间")
|
||||||
private LocalDateTime auditorTime;
|
private LocalDateTime auditorTime;
|
||||||
|
|
||||||
|
/** 日报状态(0正常 1补卡) */
|
||||||
|
@Excel(name = "日报状态(0正常 1补卡)" , readConverterExp = "0=正常,1=补卡")
|
||||||
|
@ApiModelProperty("日报状态(0正常 1补卡)")
|
||||||
|
private String status;
|
||||||
|
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/** 删除标志(0代表存在 2代表删除) */
|
||||||
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
|
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
|
||||||
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
||||||
|
@ -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.conditions.query.QueryWrapper;
|
||||||
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.ruoyi.bgt.domain.BgtMessage;
|
||||||
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.domain.dto.BgtDailyClockListDTO;
|
import com.ruoyi.bgt.domain.dto.BgtDailyClockListDTO;
|
||||||
import com.ruoyi.bgt.domain.dto.BgtDailyClockUpdateDTO;
|
import com.ruoyi.bgt.domain.dto.BgtDailyClockUpdateDTO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtDailyClockDetailVO;
|
import com.ruoyi.bgt.domain.vo.BgtDailyClockDetailVO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtDailyClockListVO;
|
import com.ruoyi.bgt.domain.vo.BgtDailyClockListVO;
|
||||||
|
import com.ruoyi.bgt.service.IBgtMessageService;
|
||||||
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.bgt.service.IBgtUserService;
|
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.domain.entity.BgtUser;
|
||||||
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;
|
||||||
@ -29,18 +33,29 @@ import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes;
|
|||||||
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
|
import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes;
|
||||||
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
|
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
|
||||||
import com.ruoyi.wgz.domain.WgzDailyClock;
|
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.mapper.WgzDailyClockMapper;
|
||||||
import com.ruoyi.wgz.service.IWgzDailyClockService;
|
import com.ruoyi.wgz.service.IWgzDailyClockService;
|
||||||
import com.ruoyi.wgz.service.IWgzLeaveService;
|
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.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.temporal.TemporalAdjusters;
|
import java.time.temporal.TemporalAdjusters;
|
||||||
import java.util.*;
|
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业务层处理
|
* 日报打卡Service业务层处理
|
||||||
*
|
*
|
||||||
@ -67,6 +82,15 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IBgtUserService iBgtUserService;
|
private IBgtUserService iBgtUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWgzUserService wgzUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWgzMessageService iWgzMessageService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBgtMessageService iBgtMessageService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WgzDailyClock queryById(Long id){
|
public WgzDailyClock queryById(Long id){
|
||||||
return getById(id);
|
return getById(id);
|
||||||
@ -196,6 +220,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public Boolean userDailyClock(WgzAppDailyClockReq req) {
|
public Boolean userDailyClock(WgzAppDailyClockReq req) {
|
||||||
//1、获取当前人、当前工的上下班时间范围
|
//1、获取当前人、当前工的上下班时间范围
|
||||||
Long appUserId = SecurityUtils.getAppUserId();
|
Long appUserId = SecurityUtils.getAppUserId();
|
||||||
@ -204,11 +229,48 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
|
|||||||
//1、组装数据
|
//1、组装数据
|
||||||
WgzDailyClock dc = new WgzDailyClock();
|
WgzDailyClock dc = new WgzDailyClock();
|
||||||
BeanUtils.copyProperties(req,dc);
|
BeanUtils.copyProperties(req,dc);
|
||||||
|
dc.setStatus(req.getStatus());
|
||||||
dc.setRecruitId(appUserId);
|
dc.setRecruitId(appUserId);
|
||||||
dc.setUserId(appUserId);
|
dc.setUserId(appUserId);
|
||||||
dc.setDilyTime(LocalDateTime.now());
|
dc.setDilyTime(LocalDateTime.now());
|
||||||
dc.setAuditorUserId(appById.getUserId());
|
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
|
@Override
|
||||||
|
@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
bgt_project_recruit as b
|
bgt_project_recruit as b
|
||||||
LEFT JOIN fbs_project_task as c ON (c.id = b.task_id)
|
LEFT JOIN fbs_project_task as c ON (c.id = b.task_id)
|
||||||
WHERE
|
WHERE
|
||||||
b.recruit_end_time <= DATE_FORMAT(now(),'%Y-%m-%d') AND
|
DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN b.recruit_begin_time AND b.recruit_end_time and
|
||||||
b.id not in (SELECT recruit_id FROM bgt_project_recruit_apply WHERE user_id = #{req.userId})and
|
b.id not in (SELECT recruit_id FROM bgt_project_recruit_apply WHERE user_id = #{req.userId})and
|
||||||
b.del_flag = 0
|
b.del_flag = 0
|
||||||
order by b.create_time desc
|
order by b.create_time desc
|
||||||
|
Reference in New Issue
Block a user