|
|
|
@@ -105,4 +105,41 @@ public class DmReceptionManager extends BaseManagerImpl<DmReceptionQuery, DmRece |
|
|
|
return baseConverter.mapperDto(baseMapper.selectList(Wrappers.<DmReceptionPo>query().lambda() |
|
|
|
.eq(DmReceptionPo::getStatus,1))); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public int update(DmReceptionDto dto) { |
|
|
|
int row = super.update(dto); |
|
|
|
if (row > 0) { |
|
|
|
this.editReceptionVisitorMerge(dto.getId(),dto.getPriorities()); |
|
|
|
} |
|
|
|
return row; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void editReceptionVisitorMerge(Long receptionId, Long[][] visitorIds) { |
|
|
|
// 1.校验organizeIds是否为空 ? 删除不存在的,增加新增的 : 删除所有 |
|
|
|
if (ArrayUtil.isNotEmpty(visitorIds)) { |
|
|
|
// 1.计算所有visitorIds的总和 |
|
|
|
List<Long> visitorIdList = new ArrayList<>(); |
|
|
|
for (int p = 1; p < visitorIds.length; p++) { |
|
|
|
visitorIdList.addAll(Arrays.asList(visitorIds[p])); |
|
|
|
} |
|
|
|
// 2.删除所有任务相关数据 |
|
|
|
dmReceptionVisitorMergeMapper.delete(Wrappers.<DmReceptionVisitorMerge>query().lambda() |
|
|
|
.eq(DmReceptionVisitorMerge::getReceptionId, receptionId)); |
|
|
|
// 3.新增所有任务相关数据 |
|
|
|
List<DmReceptionVisitorMerge> receptionVisitorMerges = new ArrayList<DmReceptionVisitorMerge>(); |
|
|
|
for (int p = 1; p < visitorIds.length; p++) { |
|
|
|
int priority = p; |
|
|
|
List<Long> visitorList = new ArrayList<>(Arrays.asList(visitorIds[p])); |
|
|
|
// 1.存储接待模式与访客的关联数据 |
|
|
|
receptionVisitorMerges.addAll(visitorList.stream().filter(visitorId->visitorId!=null).map(visitorId -> new DmReceptionVisitorMerge(receptionId, visitorId, priority)) |
|
|
|
.collect(Collectors.toList())); |
|
|
|
} |
|
|
|
// 2.在数据库插入接待模式与访客的关联数据 |
|
|
|
if (receptionVisitorMerges.size() > 0) { |
|
|
|
dmReceptionVisitorMergeMapper.insertBatch(receptionVisitorMerges); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |