|
|
@@ -8,6 +8,7 @@ import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
@@ -553,4 +554,103 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
|
|
|
public int deleteSysWorkTimeSetById(Long id) {
|
|
|
return sysWorkTimeSetMapper.deleteById(id);
|
|
|
}
|
|
|
+// /**
|
|
|
+// * 生成下个月的作息
|
|
|
+// */
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void generateNextMonth() {
|
|
|
+// Calendar calendar = Calendar.getInstance();
|
|
|
+// calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
|
|
|
+// System.out.println("============================ work_time_job 1================== : " + calendar.getTime());
|
|
|
+//
|
|
|
+// calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+// calendar.add(Calendar.MONTH, 1);
|
|
|
+// Integer year = calendar.get(Calendar.YEAR);
|
|
|
+// generateWorkTime(year, calendar.get(Calendar.MONTH));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void generateWorkTime(int year, int month) {
|
|
|
+// Calendar calendar = Calendar.getInstance();
|
|
|
+// calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
|
|
|
+// calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+// calendar.set(Calendar.MONTH, month);
|
|
|
+// calendar.set(Calendar.YEAR, year);
|
|
|
+// System.out.println("============================ work_time_job 1================== : " + calendar.getTime());
|
|
|
+// List<SysWorkTimeSet> workTimes = this.list(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getYear,year));
|
|
|
+// Map<Long,List<SysWorkTimeSet>> group= workTimes.stream()
|
|
|
+// .sorted(Comparator.comparing(SysWorkTimeSet::getEffectiveDate).reversed())
|
|
|
+// .collect(Collectors.groupingBy(w->w.getOrgId()));
|
|
|
+//
|
|
|
+// final Date date = com.xunmei.common.core.utils.DateHelper.getDate(calendar.getTime());
|
|
|
+// System.out.println("============================ work_time_job 2================== : " + date);
|
|
|
+// final com.xunmei.common.core.utils.DateHelper dateTime = new com.xunmei.common.core.utils.DateHelper(date);
|
|
|
+// final Date start = dateTime.monthStart();
|
|
|
+// final Date end = dateTime.monthEnd();
|
|
|
+// final List<DateTime> dateTimeList = DateUtil.rangeToList(start, end, DateField.DAY_OF_MONTH);
|
|
|
+// System.out.println(JSON.toJSONString(dateTimeList));
|
|
|
+//// HolidayDto holidayDto = new HolidayDto();
|
|
|
+//// holidayDto.setYear(year);
|
|
|
+//// List<Holiday> holidayList = this.holidayService.all(holidayDto);
|
|
|
+//// List<Date> holidayDates = null;
|
|
|
+//// if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(holidayList)) {
|
|
|
+//// holidayDates = holidayList.stream().map(p -> p.getYmdDate()).collect(Collectors.toList());
|
|
|
+//// }
|
|
|
+// List<SysWorkTime> workTimeEditDtoList = new ArrayList<>();
|
|
|
+// for (DateTime time : dateTimeList) {
|
|
|
+// Date date1 = time.toJdkDate();
|
|
|
+// System.out.println("date1:"+date1);
|
|
|
+// for(Long orgId:group.keySet()) {
|
|
|
+// Optional<SysWorkTimeSet> ws= group.get(orgId).stream().filter(w->date1.after(w.getEffectiveDate())||DateUtil.isSameDay(date1,w.getEffectiveDate())).findFirst();
|
|
|
+// if(!ws.isPresent()){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// SysWorkTimeSet set=ws.get();
|
|
|
+// List<SysWorkTimeSetDayofweek> temp=ws.get().getDayOfWeeks();
|
|
|
+// int i = time.dayOfWeek();
|
|
|
+// SysWorkTimeSetDayofweek dayOfWeekSet = temp.stream().filter(e->e.getDayOfWeek().equals(i)).findFirst().get();
|
|
|
+// boolean isEnable = ObjectUtil.isNotNull(dayOfWeekSet) && dayOfWeekSet.getIsWorkday();
|
|
|
+// WorkTimeEditDto dto = new WorkTimeEditDto();
|
|
|
+// dto.setDate(time);
|
|
|
+// dto.setOrgId(orgId);
|
|
|
+// dto.setIsEnable(isEnable);
|
|
|
+// if (ObjectUtil.isNull(dayOfWeekSet) || !dayOfWeekSet.getIsWorkday()) {
|
|
|
+// Optional<WorkTimeSetDayOfWeek> firstWorkDay = set.getDayOfWeeks().stream().filter(f -> f.getIsWorkday()).findFirst();
|
|
|
+// if (firstWorkDay.isPresent()) {
|
|
|
+// dayOfWeekSet = firstWorkDay.get();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// //dto.setIsEnable(dayOfWeekSet.getIsWorkday());
|
|
|
+// workTimeEditDtoList.add(dto);
|
|
|
+// dto.setWorkTime(dayOfWeekSet.getWorkTime());
|
|
|
+// dto.setWorkOffTime(dayOfWeekSet.getWorkOffTime());
|
|
|
+// dto.setOpenTime(dayOfWeekSet.getOpenTime());
|
|
|
+// dto.setCloseTime(dayOfWeekSet.getCloseTime());
|
|
|
+// dto.setNoonbreakStart(dayOfWeekSet.getNoonbreakStart());
|
|
|
+// dto.setNoonbreakEnd(dayOfWeekSet.getNoonbreakEnd());
|
|
|
+// workTimeEditDtoList.add(dto);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// Map<Long,List<WorkTimeEditDto>> groupDay= workTimeEditDtoList.stream().collect(Collectors.groupingBy(w->w.getOrgId()));
|
|
|
+// //获取所有机构下个月的按日配置的作息
|
|
|
+// List<WorkTimeNewVo> list = new ArrayList<>();
|
|
|
+// list = objectMapper.getNextMonthWorkTime(DateUtil.format(start, "yyyy-MM"));
|
|
|
+// for(Long orgId:groupDay.keySet()){
|
|
|
+// List<WorkTimeEditDto> workTimeEditDtos = groupDay.get(orgId);
|
|
|
+// List<WorkTimeNewVo> workTimeNewVos = list.stream().filter(w -> w.getOrgId().equals(orgId)).collect(Collectors.toList());
|
|
|
+// //去掉workTimeEditDtos中机构与日期在workTimeNewVos中存在的数据
|
|
|
+// List<WorkTimeEditDto> list1 = null;
|
|
|
+// if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(workTimeNewVos)){
|
|
|
+// list1 = workTimeEditDtos.stream().filter(s -> {
|
|
|
+// return workTimeNewVos.stream().noneMatch(f -> f.getOrgId().equals(s.getOrgId()) && f.getYmdDate().equals(s.getDate()));
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+// }else{
|
|
|
+// list1 = workTimeEditDtos;
|
|
|
+// }
|
|
|
+//
|
|
|
+// batch(orgId, date, list1);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
}
|