| package com.ruoyi.alarmpoints.tube.service.impl; | 
|   | 
| import java.util.List; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.ruoyi.alarmpoints.tube.domain.ArdTubes; | 
| import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails; | 
| import com.ruoyi.alarmpoints.tube.domain.ArdTubesParam; | 
| import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper; | 
| import com.ruoyi.alarmpoints.tube.mapper.ArdTubesMapper; | 
| import com.ruoyi.alarmpoints.tube.service.IArdTubesService; | 
| import com.ruoyi.common.annotation.DataScope; | 
| import com.ruoyi.common.utils.DateUtils; | 
| import com.ruoyi.common.utils.SecurityUtils; | 
| import com.ruoyi.common.utils.StringUtils; | 
| import com.ruoyi.common.utils.uuid.IdUtils; | 
| import com.ruoyi.utils.result.Results; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import javax.annotation.Resource; | 
|   | 
| /** | 
|  * 管线管理Service业务层处理 | 
|  * | 
|  * @author 刘苏义 | 
|  * @date 2023-03-13 | 
|  */ | 
| @Service | 
| public class ArdTubesServiceImpl implements IArdTubesService { | 
|     @Resource | 
|     private ArdTubesMapper ardTubesMapper; | 
|     @Resource | 
|     private ArdTubesDetailsMapper ardTubesDetailsMapper; | 
|   | 
|     /** | 
|      * 查询管线管理 | 
|      * | 
|      * @param id 管线管理主键 | 
|      * @return 管线管理 | 
|      */ | 
|     @Override | 
|     public ArdTubes selectArdTubesById(String id) { | 
|         return ardTubesMapper.selectArdTubesById(id); | 
|     } | 
|   | 
|     /** | 
|      * 查询管线管理列表 | 
|      * | 
|      * @param ardTubes 管线管理 | 
|      * @return 管线管理 | 
|      */ | 
|     @Override | 
|     @DataScope(deptAlias = "d", userAlias = "u") | 
|     public List<ArdTubes> selectArdTubesList(ArdTubes ardTubes) { | 
|   | 
|         List<ArdTubes> tubes = ardTubesMapper.selectArdTubesList(ardTubes); | 
|         for (ArdTubes tube : tubes) { | 
|             ArdTubesDetails tubesDetails = new ArdTubesDetails(); | 
|             tubesDetails.setTubeId(tube.getId()); | 
|             List<ArdTubesDetails> ardTubesDetails = ardTubesDetailsMapper.selectArdTubesDetailsList(tubesDetails); | 
|             tube.setChildCount(ardTubesDetails.size()); | 
|             ardTubesMapper.updateArdTubes(tube); | 
|         } | 
|         return tubes; | 
|     } | 
|   | 
|     /** | 
|      * 新增管线管理 | 
|      * | 
|      * @param ardTubes 管线管理 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int insertArdTubes(ArdTubes ardTubes) { | 
|         ardTubes.setId(IdUtils.simpleUUID()); | 
|         ardTubes.setChildCount(0); | 
|         ardTubes.setUserId(SecurityUtils.getUserId()); | 
|         ardTubes.setCreateBy(SecurityUtils.getUsername()); | 
|         ardTubes.setCreateTime(DateUtils.getNowDate()); | 
|         return ardTubesMapper.insertArdTubes(ardTubes); | 
|     } | 
|   | 
|     /** | 
|      * 修改管线管理 | 
|      * | 
|      * @param ardTubes 管线管理 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int updateArdTubes(ArdTubes ardTubes) { | 
|   | 
|         ardTubes.setUpdateBy(SecurityUtils.getUsername()); | 
|         ardTubes.setUpdateTime(DateUtils.getNowDate()); | 
|         return ardTubesMapper.updateArdTubes(ardTubes); | 
|     } | 
|   | 
|     /** | 
|      * 批量删除管线管理 | 
|      * | 
|      * @param ids 需要删除的管线管理主键 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int deleteArdTubesByIds(String[] ids) { | 
|         for (String id : ids) { | 
|             ArdTubesDetails tubesDetails = new ArdTubesDetails(); | 
|             tubesDetails.setTubeId(id); | 
|             List<ArdTubesDetails> ardTubesDetails = ardTubesDetailsMapper.selectArdTubesDetailsList(tubesDetails); | 
|             if (ardTubesDetails.size() > 0) { | 
|                 for (ArdTubesDetails tubesDetail : ardTubesDetails) { | 
|                     int i = ardTubesDetailsMapper.deleteArdTubesDetailsById(tubesDetail.getId()); | 
|                 } | 
|             } | 
|         } | 
|         return ardTubesMapper.deleteArdTubesByIds(ids); | 
|     } | 
|   | 
|     /** | 
|      * 删除管线管理信息 | 
|      * | 
|      * @param id 管线管理主键 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int deleteArdTubesById(String id) { | 
|         ArdTubesDetails tubesDetails = new ArdTubesDetails(); | 
|         tubesDetails.setTubeId(id); | 
|         List<ArdTubesDetails> ardTubesDetails = ardTubesDetailsMapper.selectArdTubesDetailsList(tubesDetails); | 
|         if (ardTubesDetails.size() > 0) { | 
|             for (ArdTubesDetails tubesDetail : ardTubesDetails) { | 
|                 int i = ardTubesDetailsMapper.deleteArdTubesDetailsById(tubesDetail.getId()); | 
|             } | 
|         } | 
|         return ardTubesMapper.deleteArdTubesById(id); | 
|     } | 
|   | 
|     @Override | 
|     public Results tubeById(String id) { | 
|         ArdTubes ardTubes = ardTubesMapper.selectById(id); | 
|         if(ardTubes!=null){ | 
|             QueryWrapper<ArdTubesDetails> queryWrapper = new QueryWrapper<>(); | 
|             queryWrapper.eq("tube_id",id); | 
|             List<ArdTubesDetails> list = ardTubesDetailsMapper.selectList(queryWrapper); | 
|             ardTubes.setArdTubesDetails(list); | 
|         } | 
|         return Results.succeed(ardTubes); | 
|     } | 
|   | 
|     @Override | 
|     public Results tobeList(List<Long> deptList) { | 
|         QueryWrapper<ArdTubes> queryWrapper = new QueryWrapper<>(); | 
|         queryWrapper.in("dept_id",deptList); | 
|         List<ArdTubes> list = ardTubesMapper.selectList(queryWrapper); | 
|         if(list.size()>0){ | 
|             for (int i = 0; i < list.size(); i++) { | 
|                 ArdTubes ardTubes = list.get(i); | 
|                 QueryWrapper<ArdTubesDetails> detailsQueryWrapper = new QueryWrapper<>(); | 
|                 queryWrapper.eq("tube_id",ardTubes.getId()); | 
|                 List<ArdTubesDetails> details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); | 
|                 ardTubes.setArdTubesDetails(details); | 
|             } | 
|         } | 
|         return Results.succeed(list); | 
|     } | 
|   | 
|     @Override | 
|     public Results conditionList(ArdTubesParam ardTubesParam) { | 
|         QueryWrapper<ArdTubes> queryWrapper = new QueryWrapper<>(); | 
|         queryWrapper.in("dept_id",ardTubesParam.getDeptList()) | 
|                 .eq(!StringUtils.isBlank(ardTubesParam.getName()),"name",ardTubesParam.getName()) | 
|                 .eq(!StringUtils.isBlank(ardTubesParam.getType()),"type",ardTubesParam.getType()) | 
|                 .eq(!StringUtils.isBlank(ardTubesParam.getPipeDiameter()),"pipe_diameter",ardTubesParam.getPipeDiameter()) | 
|                 .eq(!StringUtils.isBlank(ardTubesParam.getColor()),"color",ardTubesParam.getColor()); | 
|         List<ArdTubes> list = ardTubesMapper.selectList(queryWrapper); | 
|         if(list.size()>0){ | 
|             for (int i = 0; i < list.size(); i++) { | 
|                 ArdTubes ardTubes = list.get(i); | 
|                 QueryWrapper<ArdTubesDetails> detailsQueryWrapper = new QueryWrapper<>(); | 
|                 queryWrapper.eq("tube_id",ardTubes.getId()); | 
|                 List<ArdTubesDetails> details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); | 
|                 ardTubes.setArdTubesDetails(details); | 
|             } | 
|         } | 
|         return Results.succeed(list); | 
|     } | 
|   | 
|   | 
| } |