diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRoutePointVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRoutePointVo.java index 9d42dcda..f3d4d648 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRoutePointVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRoutePointVo.java @@ -41,13 +41,22 @@ public class InspectionRoutePointVo implements Serializable { */ @ExcelProperty(value = "巡检路线id") private Long routeId; + /** + * 巡检路线名称 + */ + @ExcelProperty(value = "巡检路线名称") + private Long routeName; /** * 巡检点id */ @ExcelProperty(value = "巡检点id") private Long pointId; - + /** + * 巡检点名称 + */ + @ExcelProperty(value = "巡检点名称") + private String pointName; /** * 开始时间 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRouteVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRouteVo.java index d533d1a1..0916f209 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRouteVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/InspectionRouteVo.java @@ -9,6 +9,7 @@ import org.dromara.property.domain.InspectionRoute; import java.io.Serial; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -57,6 +58,8 @@ public class InspectionRouteVo implements Serializable { */ @ExcelProperty(value = "搜索值") private String searchValue; - - + /** + * 巡检点 + */ + List inspectionRoutePointVoList; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java index b57b6b20..e7838ac5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java @@ -67,9 +67,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //将排班人员信息添加到排班信息中 AttendanceArrangementVo vo = baseMapper.selectVoById(id); vo.setUserGroupList(userGroupList); - - - return baseMapper.selectVoById(id); + return vo; } /** @@ -318,8 +316,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS // // 2. 根据日历的开始时间和结束时间查询出每一天的排班信息 // // 2.1 循环日历的开始时间和结束时间,判断 calendarStartDate 在哪些排班中 // List result = new ArrayList<>(); -// -// // //查询所有排班信息 // List arrangementList1 = baseMapper.selectList(); // //取出排班的开始时间和结束时间 @@ -335,25 +331,16 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS // if (count >= startDateList.size() || count >= endDateList.size()){ // continue; // } -// -// -// //// // 查询指定日期在哪些排班中 //// List arrangementList = baseMapper.selectList( //// Wrappers.lambdaQuery() //// .between(AttendanceArrangement::getStartDate, date.atStartOfDay(ZoneId.systemDefault()).toInstant(), //// date.atStartOfDay(ZoneId.systemDefault()).plusDays(1).toInstant().minusSeconds(1))); -// -// // // 查询指定日期在哪些排班中 // List arrangementList = baseMapper.selectList( // Wrappers.lambdaQuery() // .between(AttendanceArrangement::getStartDate, startDateList.get(count).atStartOfDay(ZoneId.systemDefault()).toInstant(), // endDateList.get(count).atStartOfDay(ZoneId.systemDefault()).plusDays(1).toInstant().minusSeconds(1))); -// -// -// -// //// //根据arrangementList查询出排班的id //// List scheduleIdList = arrangementList.stream().map(AttendanceArrangement::getId).toList(); //// //根据排班的id查询出排班的人员详细信息 @@ -407,7 +394,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS // count++; // } return TableDataInfo.build(result); - } @@ -511,6 +497,10 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS */ private void validEntityBeforeSave(AttendanceArrangement entity) { //TODO 做一些数据校验,如唯一约束 + //新增时判断在该时间段内是否有排班 + + + } /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java index 35c9f725..cca2a186 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java @@ -156,7 +156,7 @@ public class DepotLogServiceImpl implements IDepotLogService { } depotLogVo.setAssetName(CollUtil.isNotEmpty(assetNamesByIds)?assetNamesByIds.get(depotLogVo.getAssetId()):null); - depotLogVo.setDepotName(CollUtil.isNotEmpty(depotNamesByIds)?depotNamesByIds.get(depotLogVo.getDepotName()):null); + depotLogVo.setDepotName(CollUtil.isNotEmpty(depotNamesByIds)?depotNamesByIds.get(depotLogVo.getDepotId()):null); depotLogVo.setUserName(CollUtil.isNotEmpty(userNamesByIds)?userNamesByIds.get(depotLogVo.getUserId()):remoteUserService.selectNicknameById(depotLogVo.getUserId())); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionRouteServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionRouteServiceImpl.java index 70fb07b3..dc65dc1a 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionRouteServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionRouteServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.property.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -12,7 +14,11 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.property.domain.InspectionRoute; import org.dromara.property.domain.InspectionRoutePoint; import org.dromara.property.domain.bo.InspectionRouteBo; +import org.dromara.property.domain.bo.InspectionRoutePointBo; +import org.dromara.property.domain.vo.InspectionPointVo; +import org.dromara.property.domain.vo.InspectionRoutePointVo; import org.dromara.property.domain.vo.InspectionRouteVo; +import org.dromara.property.mapper.InspectionPointMapper; import org.dromara.property.mapper.InspectionRouteMapper; import org.dromara.property.mapper.InspectionRoutePointMapper; import org.dromara.property.service.IInspectionRouteService; @@ -37,6 +43,7 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { private final InspectionRouteMapper baseMapper; private final InspectionRoutePointMapper routePointMapper; + private final InspectionPointMapper pointMapper; /** * 查询巡检路线 @@ -45,8 +52,11 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { * @return 巡检路线 */ @Override - public InspectionRouteVo queryById(Long id){ - return baseMapper.selectVoById(id); + public InspectionRouteVo queryById(Long id) { + InspectionRouteVo inspectionRouteVo= baseMapper.selectVoById(id); + List inspectionPointVoList = pointMapper.selectVoList(); + processingData(inspectionRouteVo,inspectionPointVoList); + return inspectionRouteVo; } /** @@ -60,6 +70,11 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { public TableDataInfo queryPageList(InspectionRouteBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List inspectionPointVoList = pointMapper.selectVoList(); + result.getRecords().stream().forEach(s->{ + processingData(s,inspectionPointVoList); + }); + return TableDataInfo.build(result); } @@ -84,6 +99,20 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { return lqw; } + /** + * 处理数据 + */ + private void processingData(InspectionRouteVo inspectionRouteVo, List inspectionPointVoList) { + LambdaQueryWrapper routePointLambdaQueryWrapper = new LambdaQueryWrapper<>(); + routePointLambdaQueryWrapper.eq(InspectionRoutePoint::getRouteId, inspectionRouteVo.getId()); + List inspectionRoutePointVoList = routePointMapper.selectVoList(routePointLambdaQueryWrapper); + inspectionRoutePointVoList.stream().forEach(s->{ + InspectionPointVo inspectionPointVo = inspectionPointVoList.stream().filter(vo -> vo.getId() != null && vo.getId().equals(s.getPointId())).findFirst().orElse(null); + s.setPointName(ObjectUtil.isNotEmpty(inspectionPointVo)? inspectionPointVo.getPointName():null); + }); + inspectionRouteVo.setInspectionRoutePointVoList(inspectionRoutePointVoList); + } + /** * 新增巡检路线 * @@ -99,12 +128,12 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { if (flag) { bo.setId(add.getId()); List routePointList = bo.getInspectionRoutePointBoList().stream() - .map(pointBo -> { - InspectionRoutePoint point = MapstructUtils.convert(pointBo, InspectionRoutePoint.class); - point.setRouteId(add.getId()); - return point; - }) - .collect(Collectors.toList()); + .map(pointBo -> { + InspectionRoutePoint point = MapstructUtils.convert(pointBo, InspectionRoutePoint.class); + point.setRouteId(add.getId()); + return point; + }) + .collect(Collectors.toList()); routePointMapper.insertBatch(routePointList); } return flag; @@ -120,17 +149,36 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(InspectionRouteBo bo) { InspectionRoute update = MapstructUtils.convert(bo, InspectionRoute.class); - validEntityBeforeSave(update); + validEntityBeforeUpdate(bo); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ - private void validEntityBeforeSave(InspectionRoute entity){ + private void validEntityBeforeSave(InspectionRoute entity) { //TODO 做一些数据校验,如唯一约束 } + /** + * 保存前的数据校验 + */ + private void validEntityBeforeUpdate(InspectionRouteBo bo) { + //TODO 做一些数据校验,如唯一约束 + LambdaQueryWrapper routePointLambdaQueryWrapper = new LambdaQueryWrapper<>(); + routePointLambdaQueryWrapper.eq(InspectionRoutePoint::getRouteId, bo.getId()); + routePointMapper.delete(routePointLambdaQueryWrapper); + List routePointList = bo.getInspectionRoutePointBoList().stream() + .map(pointBo -> { + InspectionRoutePoint point = MapstructUtils.convert(pointBo, InspectionRoutePoint.class); + point.setRouteId(bo.getId()); + return point; + }) + .collect(Collectors.toList()); + routePointMapper.insertBatch(routePointList); + + } + /** * 校验并批量删除巡检路线信息 * @@ -141,7 +189,7 @@ public class InspectionRouteServiceImpl implements IInspectionRouteService { @Override @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;