| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package cn.com.goldenwater.dcproj.utils;
- import cn.com.goldenwater.dcproj.dto.BisInspTaskDthDayDto;
- import java.time.LocalDate;
- import java.time.format.DateTimeFormatter;
- import java.util.Calendar;
- import java.util.Optional;
- public class TaskDateUtils {
- /**
- * 设置时间
- *
- * @param bisInspTaskDthDayDto
- */
- public static void setDate(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- // 1. 判断 时间类别
- String timeType = Optional.ofNullable(bisInspTaskDthDayDto).map(BisInspTaskDthDayDto::getTimeType).orElse("");
- if(timeType.contains("_")){
- //自定义时间段
- String[] dateStr = timeType.split("_");
- if( 2 == dateStr.length){
- bisInspTaskDthDayDto.setSttm(dateStr[0]);
- bisInspTaskDthDayDto.setEntm(dateStr[1]);
- return ;
- }
- }
- Calendar sttm = Calendar.getInstance();
- switch (timeType) {
- // 近一个月
- case "1":
- sttm.add(Calendar.MONTH, -1);
- break;
- // 近三个月
- case "2":
- sttm.add(Calendar.MONTH, -3);
- break;
- // 近半年
- case "3":
- sttm.add(Calendar.MONTH, -6);
- break;
- // 近一年
- case "4":
- sttm.add(Calendar.YEAR, -1);
- break;
- // 今年
- case "6":
- sttm.set(Integer.parseInt(DateUtils.getToday("yyyy")), Calendar.JANUARY, 1);
- break; // 今年
- case "7":
- // 按年度
- break;
- default:
- return;
- }
- bisInspTaskDthDayDto.setSttm(DateUtils.Calendar2Str(sttm, "yyyy-MM-dd"));
- bisInspTaskDthDayDto.setEntm(DateUtils.getToday("yyyy-MM-dd"));
- if("7".equals(timeType)){
- // 福建省 督查首页 按年份统计
- String year = bisInspTaskDthDayDto.getYear();
- DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- LocalDate startDate = null ;
- if(StringUtils.isNotBlank(year)){
- try {
- startDate = LocalDate.parse(year+"-01-01", dtf);
- } catch (Exception e) {
- startDate = LocalDate.now().withMonth(1).withDayOfMonth(1);
- }
- }
- if(null == startDate){
- startDate = LocalDate.now().withMonth(1).withDayOfMonth(1);
- }
- LocalDate endDate = startDate.plusYears(1L).minusDays(1L) ;
- bisInspTaskDthDayDto.setSttm(startDate.format(dtf));
- bisInspTaskDthDayDto.setEntm(endDate.format(dtf));
- bisInspTaskDthDayDto.setYear(String.valueOf(startDate.getYear()));
- }
- }
- }
|