优化
This commit is contained in:
		@ -628,6 +628,7 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
 | 
			
		||||
		LocalDate startDate = date.with(TemporalAdjusters.firstDayOfMonth());
 | 
			
		||||
		LocalDate endData = date.with(TemporalAdjusters.lastDayOfMonth());
 | 
			
		||||
		wrapper.between(WgzAttendance::getDate, startDate, endData);
 | 
			
		||||
		wrapper.orderByDesc(WgzAttendance::getDate);
 | 
			
		||||
		List<WgzAttendance> wgzAttendances = baseMapper.selectList(wrapper);
 | 
			
		||||
 | 
			
		||||
		//获取招工打卡时间
 | 
			
		||||
@ -670,14 +671,14 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
 | 
			
		||||
			if (wgzAttendance.getLate() == 1) {
 | 
			
		||||
				WgzAttendanceRecordVO LateRecordVO = BeanUtil.copyProperties(recordVO, WgzAttendanceRecordVO.class);
 | 
			
		||||
				LateRecordVO.setTime(clockInTime.toLocalTime());
 | 
			
		||||
				LateRecordVO.setMinutes(DataUtil.getMinutes(clockInTime, beginWorkTime));
 | 
			
		||||
				LateRecordVO.setMinutes(Math.abs(DataUtil.getMinutes(clockInTime, beginWorkTime)));
 | 
			
		||||
				lateRecords.add(LateRecordVO);
 | 
			
		||||
			}
 | 
			
		||||
			//统计早退天数
 | 
			
		||||
			if (wgzAttendance.getEarlyLeave() == 1) {
 | 
			
		||||
				WgzAttendanceRecordVO earlyLeaveRecordVO = BeanUtil.copyProperties(recordVO, WgzAttendanceRecordVO.class);
 | 
			
		||||
				earlyLeaveRecordVO.setTime(clockOutTime.toLocalTime());
 | 
			
		||||
				earlyLeaveRecordVO.setMinutes(DataUtil.getMinutes(clockOutTime, endWorkTime));
 | 
			
		||||
				earlyLeaveRecordVO.setMinutes(Math.abs(DataUtil.getMinutes(clockOutTime, endWorkTime)));
 | 
			
		||||
				earlyLeaveRecords.add(earlyLeaveRecordVO);
 | 
			
		||||
			}
 | 
			
		||||
			//统计缺卡天数
 | 
			
		||||
@ -694,6 +695,7 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
 | 
			
		||||
		}
 | 
			
		||||
		//出勤数据
 | 
			
		||||
		bgtAttendanceDetailVO.setDayNum(records.stream().mapToDouble(WgzAttendanceRecordVO::getDay).sum());
 | 
			
		||||
		bgtAttendanceDetailVO.setRecords(records);
 | 
			
		||||
		//迟到数据
 | 
			
		||||
		bgtAttendanceDetailVO.setLateNum(lateRecords.size());
 | 
			
		||||
		bgtAttendanceDetailVO.setLateMinute(lateRecords.stream().mapToInt(WgzAttendanceRecordVO::getMinutes).sum());
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,6 @@ package com.ruoyi.wgz.service.impl;
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
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;
 | 
			
		||||
@ -22,6 +21,7 @@ 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;
 | 
			
		||||
import com.ruoyi.common.enums.AuditStatus;
 | 
			
		||||
import com.ruoyi.common.utils.PageUtils;
 | 
			
		||||
import com.ruoyi.common.utils.SecurityUtils;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
 | 
			
		||||
@ -34,7 +34,6 @@ 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;
 | 
			
		||||
@ -53,7 +52,6 @@ import java.util.*;
 | 
			
		||||
 | 
			
		||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
 | 
			
		||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 日报打卡Service业务层处理
 | 
			
		||||
@ -330,8 +328,38 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public Boolean appUpdate(BgtDailyClockUpdateDTO dto) {
 | 
			
		||||
		WgzDailyClock dailyClock = BeanUtil.copyProperties(dto, WgzDailyClock.class);
 | 
			
		||||
		dailyClock.setAuditorTime(LocalDateTime.now());
 | 
			
		||||
 | 
			
		||||
		WgzDailyClock dailyClock = getById(dto.getId());
 | 
			
		||||
		if(dailyClock.getAuditorUserId() == null){
 | 
			
		||||
			throw new RuntimeException("日报数据不存在!");
 | 
			
		||||
		}
 | 
			
		||||
		BeanUtil.copyProperties(dto,dailyClock);
 | 
			
		||||
		if(AuditStatus.getAudit().contains(dto.getAuditorType())){
 | 
			
		||||
			dailyClock.setAuditorTime(LocalDateTime.now());
 | 
			
		||||
 | 
			
		||||
			//补卡需要发消息
 | 
			
		||||
			if("1".equals(dailyClock.getStatus())){
 | 
			
		||||
 | 
			
		||||
				BgtProjectRecruit recruit = iBgtProjectRecruitService.getById(dailyClock.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_REPORT_MAKE_UP, AuditStatus.PASS.getCode().equals(dto.getAuditorType()));
 | 
			
		||||
				WgzMessage wgzMessage = new WgzMessage()
 | 
			
		||||
					.setSenderType(USERTYPE_BGT)
 | 
			
		||||
					.setSenderId(SecurityUtils.getAppUserId())
 | 
			
		||||
					.setRecipientType(USERTYPE_WGZ)
 | 
			
		||||
					.setRecipientId(dailyClock.getUserId())
 | 
			
		||||
					.setHeadline(map.get(HEADLINE))
 | 
			
		||||
					.setSubheading(map.get(SUBHEADING))
 | 
			
		||||
					.setTableId(dailyClock.getId())
 | 
			
		||||
					.setTableName(SqlHelper.table(WgzDailyClock.class).getTableName())
 | 
			
		||||
					.setMessageLargeType(LARGE_OTHER)
 | 
			
		||||
					.setMessageSmallType(SMALL_DAILY);
 | 
			
		||||
				iWgzMessageService.sendAMessage(wgzMessage);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		return updateById(dailyClock);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user