From 52d79c7e5a1fb4316f34886ec336f69f56d5edb2 Mon Sep 17 00:00:00 2001 From: lxp <1928192722@qq.com> Date: 星期六, 15 三月 2025 10:48:46 +0800 Subject: [PATCH] 工时管理日工时管理以及辅助工时配置 --- performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 41 +++++++++++++++++++++++++---------------- 1 files changed, 25 insertions(+), 16 deletions(-) diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java index e79587e..7eddef7 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java +++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java @@ -4,13 +4,11 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; -import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.User; @@ -25,6 +23,7 @@ import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.math3.analysis.function.Power; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -59,7 +58,10 @@ @Override public IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { auxiliaryOutputWorkingHoursDto.setWeekDay(weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : "")); - String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); + String dateTime1 = auxiliaryOutputWorkingHoursDto.getDateTime1(); + String dateTime2 = auxiliaryOutputWorkingHoursDto.getDateTime2(); + AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); + BeanUtils.copyProperties(auxiliaryOutputWorkingHoursDto, auxiliaryOutputWorkingHours); String week = auxiliaryOutputWorkingHoursDto.getWeek(); auxiliaryOutputWorkingHoursDto.setDateTime(null); auxiliaryOutputWorkingHoursDto.setWeek(null); @@ -68,31 +70,35 @@ //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� User user = userMapper.selectById(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString())); + List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, auxiliaryOutputWorkingHoursDto.getName())); + if(CollectionUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + + IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = null; - if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) { - String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, - QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) - .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) + .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59") .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); } map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); - } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) { - String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + } else if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isEmpty(week)) { auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, - QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) - .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids); + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) + .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59"), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); } map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); - } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) { + } else if (StringUtils.isEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, - QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); @@ -121,6 +127,9 @@ String endTime = ""; if(StringUtils.isNotEmpty(dateTime)) { List<String> list = JSONArray.parseArray(dateTime, String.class); + if(list.size() == 1) { + list = JSONArray.parseArray(list.get(0), String.class); + } startTime = list.get(0)+ " 00:00:00"; endTime = list.get(1)+ " 23:59:59"; } -- Gitblit v1.9.3