Browse Source

作息编辑bug处理

jingyuanchao 1 year ago
parent
commit
61a32edda9

+ 14 - 10
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysWorkTimeSetServiceImpl.java

@@ -263,8 +263,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         SysWorkTimeSet sysWorkTimeSet = sysWorkTimeSetMapper.selectById(id);
         if (sysWorkTimeSet != null) {
             sysWorkTimeSet.setDayOfWeeks(sysWorkTimeSetDayofweekMapper.selectList(new QueryWrapper<SysWorkTimeSetDayofweek>().eq("work_time_set_id", id)));
-            for (SysWorkTimeSetDayofweek day :
-                    sysWorkTimeSet.getDayOfWeeks()) {
+            for (SysWorkTimeSetDayofweek day : sysWorkTimeSet.getDayOfWeeks()) {
                 if (day.getDayOfWeek() == 1) {
                     day.setDayOfWeekText("星期天");
                 } else if (day.getDayOfWeek() == 2) {
@@ -365,6 +364,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         List<SysWorkTimeSet> insertList = new ArrayList<>();
         List<SysWorkTimeSet> updateList = new ArrayList<>();
         List<SysWorkTimeSet> list = sysWorkTimeSetMapper.selectByOrgIdList(orgIds);
+        List<SysWorkTimeSetDayofweek> dayOfWeekList = request.getDayOfWeeks();
         for (Long orgId : orgIds) {
             Optional<SysOrgVO> orgOptional = collect.stream().filter(o -> o.getId().equals(orgId)).findFirst();
             set = list.stream().filter(f -> ObjectUtil.equal(f.getOrgId(), orgId)).findFirst().orElse(null);
@@ -387,11 +387,11 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
                 updateList.add(set);
             }
             Long id = set.getId();
-            request.getDayOfWeeks().forEach(w -> {
-                w.setWorkTimeSetId(id);
-            });
-            dayOfWeeks.addAll(request.getDayOfWeeks());
-            set.setDayOfWeeks(request.getDayOfWeeks());
+
+            List<SysWorkTimeSetDayofweek> dayofweekList = BeanHelper.copyProperties(dayOfWeekList, SysWorkTimeSetDayofweek.class);
+            dayofweekList.forEach(r -> r.setWorkTimeSetId(id));
+            dayOfWeeks.addAll(dayofweekList);
+            set.setDayOfWeeks(dayofweekList);
             sets.add(set);
         }
 
@@ -533,9 +533,13 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
             final List<DateTime> dateTimeList = DateUtil.rangeToList(effectiveDate, cal.getTime(), DateField.DAY_OF_MONTH);
             List<SysWorkTime> workTimeEditDtoListAll = new ArrayList<>();
 
-            CompletableFuture.runAsync(() -> {
-                buildData(sets, effectiveDate, orgIds, dateTimeList, workTimeEditDtoListAll, list);
-            }, threadPoolTaskExecutor);
+            try {
+                CompletableFuture.runAsync(() -> {
+                    buildData(sets, effectiveDate, orgIds, dateTimeList, workTimeEditDtoListAll, list);
+                }, threadPoolTaskExecutor);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
         }
     }