diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java index c5b50f4..a556620 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java @@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.temporal.Temporal; import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.stream.Collectors; @@ -80,11 +81,11 @@ public class CalSalaryBatch { calcData(deadline, thisMonth, true); } - public List calcData(LocalDate deadline, LocalDate thisMonth, boolean save){ + public List calcData(Temporal deadline, LocalDate thisMonth, boolean save){ List psSalaryList = new ArrayList<>(); //删除该月历史数据 - psSalaryMapper.delete(Wrappers.lambdaQuery().eq(PsSalary::getSalaryMonth,DateUtils.toString(thisMonth,"yyyy-MM"))); + psSalaryMapper.delete(Wrappers.lambdaQuery().eq(PsSalary::getSalaryMonth, DateUtils.toString(thisMonth,"yyyy-MM"))); log.info("查询所有员工"); List list = sysUserMapper.selectList(Wrappers.lambdaQuery().select(SysUser::getUserId).eq(SysUser::getStatus, 0)); log.info("查询所有员工{}", list.size()); @@ -93,7 +94,7 @@ public class CalSalaryBatch { //当月新签+当月之前未完成合同数 = 全部合同 - 完成时间在当月之前的 List contractInfos = psContractInfoMapper.selectList(Wrappers.lambdaQuery() .ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode()) - .and(wq -> wq.lt(PsContractInfo::getFinishDate, deadline).or().isNull(PsContractInfo::getFinishDate))); + .and(wq -> wq.le(PsContractInfo::getFinishDate, deadline).or().isNull(PsContractInfo::getFinishDate))); // List contractInfos = psContractInfoMapper.selectList(Wrappers.lambdaQuery() // .ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode()) diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryServiceImpl.java index 3832151..129c554 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryServiceImpl.java @@ -22,6 +22,8 @@ import com.pusong.business.mapper.PsSalaryMapper; import com.pusong.business.service.IPsSalaryService; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -54,7 +56,7 @@ public class PsSalaryServiceImpl implements IPsSalaryService { Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); if (bo.getStartDate().getTime() <= DateUtils.getFirstDayZeroTimeByMonth().getTime() && bo.getEndDate().getTime() >= DateUtils.getFirstDayZeroTimeByMonth().getTime()){ - LocalDate deadline = LocalDate.now(); + LocalDateTime deadline = bo.getEndDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDate thisMonth = LocalDate.now(); List psSalaries = calSalaryBatch.calcData(deadline, thisMonth, false); List adds = MapstructUtils.convert(psSalaries, PsSalaryVo.class);