diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java index 6bb675c4..f13a3055 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java @@ -93,14 +93,18 @@ public class TicketSolutionServiceImpl extends ServiceImpl new SolutionMeasuresItemVO() .setName(ks.getValue().get(0).getDictionaryItemName()) - .setItems(ks.getValue().stream().map(v -> new SolutionMeasuresDataItemVO() - .setId(Long.valueOf(v.getId())) - .setName(v.getDescription()) - .setSuperintendent(v.getSuperintendent()) - .setScheduleDate(v.getScheduleDate()) - .setConfirmedDate(v.getConfirmedDate()) - .setRemark(v.getRemark()) - .setCreateUserId(v.getCreateUserId())).collect(Collectors.toList()) + .setItems(ks.getValue() + .stream() + .filter(v -> StrUtil.isNotBlank(v.getDescription())) + .map(v -> new SolutionMeasuresDataItemVO() + .setId(Long.valueOf(v.getId())) + .setName(v.getDescription()) + .setSuperintendent(v.getSuperintendent()) + .setScheduleDate(v.getScheduleDate()) + .setConfirmedDate(v.getConfirmedDate()) + .setRemark(v.getRemark()) + .setCreateUserId(v.getCreateUserId()) + ).collect(Collectors.toList()) )).collect(Collectors.toList()); } else { for (DictionaryItem it : initial) { @@ -215,9 +219,11 @@ public class TicketSolutionServiceImpl extends ServiceImpl Objects.equals(uid, userId)) && handleIds.stream().noneMatch(uid -> Objects.equals(uid, userId))) .throwMessage("无权修改解决方案"); + List initial = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_MEASURES, Constant.DEFAULT_LANGUAGE_CODE); List forAdd = new ArrayList<>(); List forUpdate = new ArrayList<>(); for (SolutionMeasuresItemVO solutionMeasuresItemVO : request.getSolutionMeasures()) { + initial.removeIf(it -> Objects.equals(it.getId(), solutionMeasuresItemVO.getId())); for (SolutionMeasuresDataItemVO solutionMeasuresDataItemVO : solutionMeasuresItemVO.getItems()) { TicketSolution solution = new TicketSolution() .setTicketId(request.getTicketId()) @@ -239,6 +245,17 @@ public class TicketSolutionServiceImpl extends ServiceImpl { + forAdd.add(new TicketSolution() + .setTicketId(request.getTicketId()) + .setDictionaryItemId(it.getId()) + .setDictionaryItemName(it.getName()) + .setCreateUserId(userId) + .setCreateTime(LocalDateTime.now()) + ); + }); + } List idForReserve = forUpdate.stream().map(TicketSolution::getId).collect(Collectors.toList()); List solutions = lambdaQuery().eq(TicketSolution::getTicketId, request.getTicketId()).orderByAsc(TicketSolution::getId).list(); if (!cqmIds.contains(userId)) { @@ -263,6 +280,12 @@ public class TicketSolutionServiceImpl extends ServiceImpl