优化
This commit is contained in:
		@ -1,13 +1,14 @@
 | 
			
		||||
package com.ruoyi.wgz.service;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtLeaveUpdateDTO;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 | 
			
		||||
import com.ruoyi.common.core.page.TableDataInfo;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppCancelLeaveReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzLeave;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 | 
			
		||||
import com.ruoyi.common.core.page.TableDataInfo;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestBody;
 | 
			
		||||
 | 
			
		||||
@ -93,4 +94,10 @@ public interface IWgzLeaveService extends IServicePlus<WgzLeave> {
 | 
			
		||||
	 * 查看指定人、指定项目、指定日期是否请假
 | 
			
		||||
	 */
 | 
			
		||||
	WgzLeave FindAskForLeaveOrNotInfo(Long appUserId, Long recruitId, String date);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 包工头审核
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean bgtAudit(BgtLeaveUpdateDTO dto);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,40 +1,47 @@
 | 
			
		||||
package com.ruoyi.wgz.service.impl;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import cn.hutool.core.collection.CollectionUtil;
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
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.BgtProjectRecruit;
 | 
			
		||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtLeaveUpdateDTO;
 | 
			
		||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
 | 
			
		||||
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
 | 
			
		||||
import com.ruoyi.common.utils.PageUtils;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 | 
			
		||||
import com.ruoyi.common.core.page.TableDataInfo;
 | 
			
		||||
import com.ruoyi.common.enums.AuditStatus;
 | 
			
		||||
import com.ruoyi.common.utils.PageUtils;
 | 
			
		||||
import com.ruoyi.common.utils.SecurityUtils;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppCancelLeaveReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveReq;
 | 
			
		||||
import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzDailyClock;
 | 
			
		||||
import org.springframework.beans.BeanUtils;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzAttendance;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzLeave;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzMessage;
 | 
			
		||||
import com.ruoyi.wgz.mapper.WgzLeaveMapper;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzAttendanceService;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzLeaveService;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzMessageService;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzLeave;
 | 
			
		||||
import com.ruoyi.wgz.mapper.WgzLeaveMapper;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzLeaveService;
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.time.LocalTime;
 | 
			
		||||
import java.time.format.DateTimeFormatter;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 请假Service业务层处理
 | 
			
		||||
@ -50,6 +57,12 @@ public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeav
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IBgtProjectRecruitService iBgtProjectRecruitService;
 | 
			
		||||
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IWgzMessageService wgzMessageService;
 | 
			
		||||
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IWgzAttendanceService attendanceService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public WgzLeave queryById(Long id){
 | 
			
		||||
        return getById(id);
 | 
			
		||||
@ -195,4 +208,52 @@ public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeav
 | 
			
		||||
			.apply("date_format(start_time,'%Y-%m-%d') = {0}", date);
 | 
			
		||||
		return baseMapper.selectOne(apply);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	@Transactional(rollbackFor = Exception.class)
 | 
			
		||||
	public Boolean bgtAudit(BgtLeaveUpdateDTO dto) {
 | 
			
		||||
		WgzLeave wgzLeave = getById(dto.getId());
 | 
			
		||||
		BeanUtil.copyProperties(dto, wgzLeave);
 | 
			
		||||
		wgzLeave.setAuditorTime(LocalDateTime.now());
 | 
			
		||||
		BgtProjectRecruit recruit = iBgtProjectRecruitService.getById(wgzLeave.getRecruitId());
 | 
			
		||||
 | 
			
		||||
		//发消息
 | 
			
		||||
		HashMap<String, String> mp = new HashMap<>();
 | 
			
		||||
		mp.put("projectName",recruit.getRecruitName());
 | 
			
		||||
		mp.put("auditor",SecurityUtils.getUsername());
 | 
			
		||||
		Map<String, String> map = bgtMessage(mp, BGT_TYPE_LEAVE, AuditStatus.PASS.getCode().equals(dto.getAuditorType()));
 | 
			
		||||
		WgzMessage wgzMessage = new WgzMessage()
 | 
			
		||||
			.setSenderType(USERTYPE_BGT)
 | 
			
		||||
			.setRecipientType(USERTYPE_WGZ)
 | 
			
		||||
			.setRecipientId(wgzLeave.getUserId())
 | 
			
		||||
			.setHeadline(map.get(HEADLINE))
 | 
			
		||||
			.setSubheading(map.get(SUBHEADING))
 | 
			
		||||
			.setTableId(wgzLeave.getId())
 | 
			
		||||
			.setTableName(SqlHelper.table(WgzLeave.class).getTableName())
 | 
			
		||||
			.setMessageLargeType(LARGE_OTHER)
 | 
			
		||||
			.setMessageSmallType(SMALL_LEAVE);
 | 
			
		||||
		wgzMessageService.sendAMessage(wgzMessage);
 | 
			
		||||
 | 
			
		||||
		//考勤信息
 | 
			
		||||
		List<WgzAttendance> list = attendanceService.list(Wrappers.<WgzAttendance>lambdaQuery()
 | 
			
		||||
			.eq(WgzAttendance::getRecruitId, recruit.getId())
 | 
			
		||||
			.eq(WgzAttendance::getUserId, wgzLeave.getUserId())
 | 
			
		||||
			.eq(WgzAttendance::getDate, wgzLeave.getStartTime().toLocalDate()));
 | 
			
		||||
		if(CollectionUtil.isNotEmpty(list)){
 | 
			
		||||
			WgzAttendance wgzAttendance = list.get(0);
 | 
			
		||||
			wgzAttendance.setLeaveMarkId(wgzLeave.getId());
 | 
			
		||||
			wgzAttendance.setExceptionType("7");
 | 
			
		||||
			attendanceService.updateById(wgzAttendance);
 | 
			
		||||
		}else {
 | 
			
		||||
			WgzAttendance wgzAttendance = new WgzAttendance();
 | 
			
		||||
			wgzAttendance.setRecruitId(recruit.getId());
 | 
			
		||||
			wgzAttendance.setUserId(wgzLeave.getUserId());
 | 
			
		||||
			wgzAttendance.setLeaveMarkId(wgzLeave.getId());
 | 
			
		||||
			wgzAttendance.setDailyWage(recruit.getRecruitAmount());
 | 
			
		||||
			wgzAttendance.setDate(wgzLeave.getStartTime().toLocalDate());
 | 
			
		||||
			wgzAttendance.setExceptionType("7");
 | 
			
		||||
			attendanceService.save(wgzAttendance);
 | 
			
		||||
		}
 | 
			
		||||
		return updateById(wgzLeave);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 | 
			
		||||
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;
 | 
			
		||||
@ -34,7 +33,6 @@ import com.ruoyi.wgz.domain.WgzMessage;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzPayCalculation;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzPayCalculationFiles;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzUser;
 | 
			
		||||
import com.ruoyi.wgz.domain.*;
 | 
			
		||||
import com.ruoyi.wgz.mapper.WgzPayCalculationMapper;
 | 
			
		||||
import com.ruoyi.wgz.service.*;
 | 
			
		||||
import org.springframework.beans.BeanUtils;
 | 
			
		||||
@ -49,11 +47,9 @@ import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
 | 
			
		||||
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.SMALL_SYSTEM;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 工资结算Service业务层处理
 | 
			
		||||
 *
 | 
			
		||||
@ -214,8 +210,8 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"210")).
 | 
			
		||||
				setTableId(wgzPayCalculation.getId()).
 | 
			
		||||
				setTableName(SqlHelper.table(WgzPayCalculation.class).getTableName()).
 | 
			
		||||
				setMessageLargeType(BGT_LARGE).
 | 
			
		||||
				setMessageSmallType(BGT_TYPE_PAY);
 | 
			
		||||
				setMessageLargeType(BGT_LARGE_OTHER).
 | 
			
		||||
				setMessageSmallType(BGT_SMALL_PAY);
 | 
			
		||||
			if (!iBgtMessageService.sendAMessage(bgtMessage)){
 | 
			
		||||
				throw new RuntimeException("发送补卡消息失败!");
 | 
			
		||||
			}
 | 
			
		||||
@ -261,10 +257,10 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public Boolean appUpdate(BgtPayCalculationUpdateDTO dto) {
 | 
			
		||||
		WgzPayCalculation payCalculation = BeanUtil.copyProperties(dto, WgzPayCalculation.class);
 | 
			
		||||
		WgzPayCalculation payCalculation = getById(dto.getId());
 | 
			
		||||
		BeanUtil.copyProperties(dto, payCalculation);
 | 
			
		||||
		payCalculation.setAuditorTime(LocalDateTime.now());
 | 
			
		||||
 | 
			
		||||
		//发消息
 | 
			
		||||
		//发消息
 | 
			
		||||
		HashMap<String, String> mp = new HashMap<>();
 | 
			
		||||
		mp.put("projectName",iBgtProjectRecruitService.getById(payCalculation.getRecruitId()).getRecruitName());
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 | 
			
		||||
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;
 | 
			
		||||
@ -37,10 +36,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.time.format.DateTimeFormatter;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -207,8 +206,8 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
 | 
			
		||||
				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"208")).
 | 
			
		||||
				setTableId(wgzReissueacard.getId()).
 | 
			
		||||
				setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()).
 | 
			
		||||
				setMessageLargeType(BGT_LARGE).
 | 
			
		||||
				setMessageSmallType(BGT_TYPE_MAKE_UP);
 | 
			
		||||
				setMessageLargeType(BGT_TYPE_SIGN_UP).
 | 
			
		||||
				setMessageSmallType(BGT_SMALL_MAKE_UP);
 | 
			
		||||
			if (!iBgtMessageService.sendAMessage(bgtMessage)){
 | 
			
		||||
				throw new RuntimeException("发送补卡消息失败!");
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user