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_SALARY = "1"; //大类型-工资
 | 
			
		||||
	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_EXIT = "2"; //小类型-退场
 | 
			
		||||
	public static final  String SMALL_LEAVE = "3"; //小类型-请假
 | 
			
		||||
	public static final  String SMALL_DAILY = "4"; //小类型-日报补卡
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
@ -61,6 +62,9 @@ public class WgzAndBgtMessageConstant {
 | 
			
		||||
	//【请假超时】17-18
 | 
			
		||||
	public static final String WGZ_SYSTEM_HEADLINE_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
 | 
			
		||||
	public static final String WGZ_HEADLINE_PAYCALCULATION = "务工者【%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) {
 | 
			
		||||
@ -125,6 +132,10 @@ public class WgzAndBgtMessageConstant {
 | 
			
		||||
				return String.format(WGZ_SYSTEM_HEADLINE_TIMEOUT,mp.get("data"));
 | 
			
		||||
			case "118":
 | 
			
		||||
				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":
 | 
			
		||||
				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"));
 | 
			
		||||
			case "210":
 | 
			
		||||
				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:
 | 
			
		||||
				return "未知类型";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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代表删除)")
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user