假期问题修复

This commit is contained in:
2025-02-23 19:22:59 +08:00
parent 54f615111f
commit 11918241bb
11 changed files with 222 additions and 143 deletions

View File

@@ -8,6 +8,7 @@ import java.util.concurrent.TimeUnit;
import com.alibaba.excel.util.DateUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.oa.domain.vo.SysHolidayVo;
import com.ruoyi.oa.domain.vo.SysOaHolidayListVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
@@ -141,4 +142,9 @@ public class SysOaHolidayController extends BaseController {
public R<Void> updateHolidayStatusByDate(Integer type, @NotNull(message = "起始日期不能为空") Date startDate, @NotNull(message = "结束日期不能为空")Date endDate){
return toAjax(iSysOaHolidayService.updateHolidayStatusByDate(type, startDate, endDate));
}
@GetMapping("/queryList")
public R<List<SysHolidayVo>> queryList(SysOaHolidayBo bo){
return R.ok(iSysOaHolidayService.queryVoList(bo));
}
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.oa.domain.vo;
import com.ruoyi.oa.domain.SysOaHoliday;
import lombok.Data;
import java.util.List;
@Data
public class SysHolidayVo {
private String holidayName;
private String holidayType;
private List<SysOaHoliday> holidayVoList;
private String holidayTimeString;
}

View File

@@ -1,9 +1,13 @@
package com.ruoyi.oa.mapper;
import com.ruoyi.oa.domain.SysOaHoliday;
import com.ruoyi.oa.domain.bo.SysOaHolidayBo;
import com.ruoyi.oa.domain.vo.SysHolidayVo;
import com.ruoyi.oa.domain.vo.SysOaHolidayVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import java.util.List;
/**
* 休假管理Mapper接口
*
@@ -12,4 +16,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
*/
public interface SysOaHolidayMapper extends BaseMapperPlus<SysOaHolidayMapper, SysOaHoliday, SysOaHolidayVo> {
List<SysHolidayVo> queryVoList(SysOaHolidayBo bo);
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.vo.SysHolidayVo;
import com.ruoyi.oa.domain.vo.SysOaHolidayListVo;
import com.ruoyi.oa.domain.vo.SysOaHolidayVo;
import com.ruoyi.oa.domain.bo.SysOaHolidayBo;
@@ -71,4 +72,5 @@ public interface ISysOaHolidayService {
Boolean updateHolidayStatusByDate(Integer type, Date startDate, Date endDate);
List<SysHolidayVo> queryVoList(SysOaHolidayBo bo);
}

View File

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.oa.domain.vo.SysHolidayVo;
import com.ruoyi.oa.domain.vo.SysOaHolidayListVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -17,6 +18,7 @@ import com.ruoyi.oa.domain.SysOaHoliday;
import com.ruoyi.oa.mapper.SysOaHolidayMapper;
import com.ruoyi.oa.service.ISysOaHolidayService;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.ZoneId;
@@ -157,7 +159,7 @@ public class SysOaHolidayServiceImpl implements ISysOaHolidayService {
Date endDate = DateUtils.addDays(result.getHolidayTime(), days - 1);
VoList.add(new SysOaHolidayListVo(result.getHolidayId(), result.getName(), result.getHolidayTime(), endDate, days, result.getType()));
}
System.out.println(VoList);
return VoList;
}
@@ -197,6 +199,33 @@ public class SysOaHolidayServiceImpl implements ISysOaHolidayService {
}
/**
* 按照节假日分类方式查找列表
* @param bo
* @return list列表
*/
@Override
public List<SysHolidayVo> queryVoList(SysOaHolidayBo bo) {
List<SysHolidayVo> list = baseMapper.queryVoList(bo);
for (SysHolidayVo sysHolidayVo : list) {
List<SysOaHoliday> holidayVoList = sysHolidayVo.getHolidayVoList();
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < holidayVoList.size(); i++) {
// 格式化日期
System.out.println(holidayVoList.get(i).getHolidayTime());
String formattedDate = SDF.format(holidayVoList.get(i).getHolidayTime());
sb.append(formattedDate);
// 在每个日期后面加逗号(最后一个日期后面可选)
if (i < holidayVoList.size() - 1) {
sb.append(",");
}
}
sysHolidayVo.setHolidayTimeString( sb.toString());
}
return list;
}
}