|
|
@@ -277,13 +277,16 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public AjaxResult add(SysWorkTimeSet request) {
|
|
|
+ if(DateUtil.endOfDay(DateTime.now()).after(request.getEffectiveDate()))
|
|
|
+ {
|
|
|
+ return error("作息模板的生效日期必须大于今天");
|
|
|
+ }
|
|
|
List<Long> orgIds = request.getOrgIds();
|
|
|
- for (Long oid :
|
|
|
- orgIds) {
|
|
|
- List<SysWorkTimeSet> sysWorkTimeSets = baseMapper.selectList(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getOrgId, oid).eq(SysWorkTimeSet::getEffectiveDate, request.getEffectiveDate()));
|
|
|
+ for (Long oid : orgIds) {
|
|
|
+ List<SysWorkTimeSet> sysWorkTimeSets = baseMapper.selectList(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getOrgId, oid));
|
|
|
//如果id为空表示是新增,需要判断是否存在相同机构相同时间的模板
|
|
|
if (request.getId() == null && sysWorkTimeSets.size() > 0) {
|
|
|
- return error("机构'" + orgService.getById(oid).getName() + "'已存在选择时间的作息模板");
|
|
|
+ return error("机构'" + orgService.getById(oid).getName() + "'已存在作息模板,一个机构只允许同时存在一个作息模板");
|
|
|
}
|
|
|
}
|
|
|
int year = Calendar.getInstance().get(Calendar.YEAR);
|
|
|
@@ -372,7 +375,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
|
|
|
map.put("effectiveDate", effectiveDate);
|
|
|
map.put("lastDayOfNextMonth", DateUtil.format(cal.getTime(), "yyyy-MM-dd"));
|
|
|
map.put("orgIds", orgIds);
|
|
|
- //objectMapper.deleteOrgWorkTimeByMonth(map);
|
|
|
+ sysWorkTimeMapper.deleteOrgWorkTimeByMonth(map);
|
|
|
//获取不需要生成的日期
|
|
|
List<SysWorkTime> list = new ArrayList<>();
|
|
|
if (checkDataResult != null && checkDataResult == 0) {
|
|
|
@@ -660,14 +663,15 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
|
|
|
List<SysWorkTime> workTimeNewVos = list.stream().filter(w -> w.getOrgId().equals(dayMap.getKey())).collect(Collectors.toList());
|
|
|
//去掉workTimeEditDtos中机构与日期在workTimeNewVos中存在的数据
|
|
|
List<SysWorkTime> 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;
|
|
|
- }
|
|
|
-
|
|
|
+ //自动生成时覆盖手打维护的作息,谁后生成谁生效
|
|
|
+// 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;
|
|
|
+// }
|
|
|
+ list1 = workTimeEditDtos;
|
|
|
batch(dayMap.getKey(), date, list1);
|
|
|
}
|
|
|
|