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 selectArdTubesList(ArdTubes ardTubes) { List tubes = ardTubesMapper.selectArdTubesList(ardTubes); for (ArdTubes tube : tubes) { ArdTubesDetails tubesDetails = new ArdTubesDetails(); tubesDetails.setTubeId(tube.getId()); List 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 = 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 = 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 queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",id); List list = ardTubesDetailsMapper.selectList(queryWrapper); ardTubes.setArdTubesDetails(list); } return Results.succeed(ardTubes); } @Override public Results tobeList(List deptList) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("dept_id",deptList); List list = ardTubesMapper.selectList(queryWrapper); if(list.size()>0){ for (int i = 0; i < list.size(); i++) { ArdTubes ardTubes = list.get(i); QueryWrapper detailsQueryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",ardTubes.getId()); List details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); ardTubes.setArdTubesDetails(details); } } return Results.succeed(list); } @Override public Results conditionList(ArdTubesParam ardTubesParam) { QueryWrapper 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 list = ardTubesMapper.selectList(queryWrapper); if(list.size()>0){ for (int i = 0; i < list.size(); i++) { ArdTubes ardTubes = list.get(i); QueryWrapper detailsQueryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",ardTubes.getId()); List details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); ardTubes.setArdTubesDetails(details); } } return Results.succeed(list); } }