修改消息xml的req请求参数
This commit is contained in:
		@ -128,4 +128,10 @@ public interface IWgzAttendanceService extends IServicePlus<WgzAttendance> {
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean addAMissingCardRecord (List<WgzAttendance> list);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 获取对应用户指定天数的工资结算日期
 | 
			
		||||
	 */
 | 
			
		||||
	LocalDate findByNumGetDate(Long userId, Long recruitId,Integer num);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,7 @@ import com.ruoyi.bgt.domain.BgtProjectRecruit;
 | 
			
		||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtAttendanceDTO;
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtAttendanceDetailDTO;
 | 
			
		||||
import com.ruoyi.bgt.domain.dto.BgtPayCalculationDetailListVO;
 | 
			
		||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
 | 
			
		||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceDetailVO;
 | 
			
		||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceVO;
 | 
			
		||||
@ -33,6 +34,7 @@ import com.ruoyi.wgz.bo.rests.WgzAppCardReplacementApplicationTwo;
 | 
			
		||||
import com.ruoyi.wgz.bo.rests.WgzAppPunchTheCalendarRecordThree;
 | 
			
		||||
import com.ruoyi.wgz.bo.rests.WgzAppPunchTheCalendarRecordTwo;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzAttendance;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzPayCalculation;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzUser;
 | 
			
		||||
import com.ruoyi.wgz.mapper.WgzAttendanceMapper;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzAttendanceService;
 | 
			
		||||
@ -666,4 +668,27 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
 | 
			
		||||
	public Boolean addAMissingCardRecord(List<WgzAttendance> list) {
 | 
			
		||||
		return super.saveBatch(list);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 获取对应用户指定天数的工资结算日期
 | 
			
		||||
	 * @param userId
 | 
			
		||||
	 * @param recruitId
 | 
			
		||||
	 * @param num 结算天数
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public LocalDate findByNumGetDate(Long userId, Long recruitId,Integer num) {
 | 
			
		||||
		LambdaQueryWrapper<WgzAttendance> wra = new LambdaQueryWrapper<>();
 | 
			
		||||
		wra.eq(WgzAttendance::getRecruitId, recruitId);
 | 
			
		||||
		wra.eq(WgzAttendance::getUserId, userId);
 | 
			
		||||
		wra.orderByAsc(WgzAttendance::getDate);
 | 
			
		||||
		// 使用 last 方法添加 limit 语句
 | 
			
		||||
		// 注意:num - 1 是因为 SQL 中的 limit 偏移量从 0 开始
 | 
			
		||||
		wra.last("LIMIT " + (num - 1) + ", 1");
 | 
			
		||||
 | 
			
		||||
		WgzAttendance attendance = baseMapper.selectOne(wra);
 | 
			
		||||
		if (attendance != null) {
 | 
			
		||||
			return attendance.getDate();
 | 
			
		||||
		}
 | 
			
		||||
		return null;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -157,7 +157,7 @@ public class WgzMessageServiceImpl extends ServicePlusImpl<WgzMessageMapper, Wgz
 | 
			
		||||
		Page<WgzAppGetMessageListReq> queryDTOPage = new Page<>();
 | 
			
		||||
		queryDTOPage.setCurrent(req.getPageNum());
 | 
			
		||||
		queryDTOPage.setSize(req.getPageSize());
 | 
			
		||||
		return PageUtils.buildDataInfo(baseMapper.userGetMessageList(queryDTOPage));
 | 
			
		||||
		return PageUtils.buildDataInfo(baseMapper.userGetMessageList(queryDTOPage,req));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -41,6 +41,7 @@ import org.springframework.stereotype.Service;
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
@ -86,6 +87,9 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IBgtMessageService iBgtMessageService;
 | 
			
		||||
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IWgzAttendanceService iWgzAttendanceService;
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
    public WgzPayCalculation queryById(Long id){
 | 
			
		||||
        return getById(id);
 | 
			
		||||
@ -171,13 +175,33 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
		SysUser user = SecurityUtils.getLoginUser().getUser();
 | 
			
		||||
		BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId());
 | 
			
		||||
		BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getId());
 | 
			
		||||
//		//2、结算数据之前,需要先获取以往结算的数据,然后得到剩余结算天数,再从剩余天数重新进行数据结算
 | 
			
		||||
//		//2.1、获取以往结算的数据
 | 
			
		||||
//		WgzPayCalculation wgzts = baseMapper.selectOne(Wrappers.<WgzPayCalculation>lambdaQuery().
 | 
			
		||||
//			eq(WgzPayCalculation::getUserId, user.getUserId()).
 | 
			
		||||
//			eq(WgzPayCalculation::getRecruitId, recruitApply.getId()).
 | 
			
		||||
//			orderByDesc(WgzPayCalculation::getCreateTime).
 | 
			
		||||
//			last("LIMIT 1")
 | 
			
		||||
//		);
 | 
			
		||||
//		if (wgzts != null) {
 | 
			
		||||
//			LocalDate cutOffTime = wgzts.getCutOffTime();
 | 
			
		||||
//			Integer num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null);
 | 
			
		||||
//		}
 | 
			
		||||
 | 
			
		||||
		//2、获取当前人一共考勤打卡了多少天,然后计算当前结算的天数得到具体是考勤打卡对应的哪一天
 | 
			
		||||
		Integer num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null);
 | 
			
		||||
		if (num < req.getNum()) {
 | 
			
		||||
			throw new RuntimeException("你的剩余考勤天数不满足你当前想要结算的天数!");
 | 
			
		||||
		}
 | 
			
		||||
		LocalDate byNumGetDate = iWgzAttendanceService.findByNumGetDate(user.getUserId(), recruitApply.getRecruitId(), req.getNum());
 | 
			
		||||
		//2、组装数据
 | 
			
		||||
		WgzPayCalculation wgzPayCalculation = new WgzPayCalculation();
 | 
			
		||||
		BeanUtils.copyProperties(req,wgzPayCalculation);
 | 
			
		||||
		wgzPayCalculation.
 | 
			
		||||
			setUserId(user.getUserId()).
 | 
			
		||||
			setUserName(user.getUserName()).
 | 
			
		||||
			setAuditorUserId(recruit.getUserId());
 | 
			
		||||
			setAuditorUserId(recruit.getUserId()).
 | 
			
		||||
			setCutOffTime(byNumGetDate);
 | 
			
		||||
		//3、获取附件信息并插入
 | 
			
		||||
		iWgzPayCalculationFilesService.saveBatch(req.getPayCalculation());
 | 
			
		||||
		//4、插入工资结算信息
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user