Просмотр исходного кода

2022-1-11 修改一体机打卡,抛出数据匹配不上返回null异常。

chaiyunlong лет назад: 3
Родитель
Сommit
e0474b72aa

+ 8 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java

@@ -346,14 +346,20 @@ public class LabSubjectManagerService {
         //设置
         List<SysDictData> dictDatas = DictUtils.getDictCache("lab_onepc_outcheck");
 
+        Optional.ofNullable(dictDatas).orElseGet(Collections::emptyList)
+                .stream().forEach(a->{
+                    a.setDictValue("10");
+        });
+
         List<String> newDictDatas = new ArrayList<>();
         if(StringUtils.isNotBlank(subject.getCheckOut())){
             newDictDatas = Optional.ofNullable(subject.getCheckOut()).map(b -> b.split(",")).map(b -> Arrays.asList(b))
-                    .orElseGet(null).stream().map(b -> Optional.ofNullable(dictDatas).filter(a -> a.size() > 0)
+                    .orElse(new ArrayList <>()).stream().map(b -> Optional.ofNullable(dictDatas).filter(a -> a.size() > 0)
                             .orElseGet(Collections::emptyList).stream()
-                            .filter(a -> b.equals(a.getDictValue())).findFirst().orElseGet(null))
+                            .filter(a -> b.equals(a.getDictValue())).findFirst().orElse(new SysDictData()))
                     .map(SysDictData::getDictLabel).collect(Collectors.toList());
         }
+        newDictDatas.removeIf(x->StringUtils.isEmpty(x));
 
         //离开检查
         subSimpleVO.setOutCheck(newDictDatas);