package com.ard.work.point.tubes.service.impl; import com.ard.common.core.utils.DateUtils; import com.ard.common.core.utils.uuid.IdUtils; import com.ard.common.datascope.annotation.DataScope; import com.ard.common.security.utils.SecurityUtils; //import com.ard.work.point.tubes.domain.ArdTubes; //import com.ard.work.point.tubes.domain.ArdTubesDetails; import com.ard.work.point.tubes.mapper.ArdTubesDetailsMapper; import com.ard.work.point.tubes.mapper.ArdTubesMapper; import com.ard.work.point.tubes.service.IArdTubesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ard.work.api.domian.ArdTubes; import com.ard.work.api.domian.ArdTubesDetails; import java.util.List; /** * 管线信息管理Service业务层处理 * * @author XiaJiJian * @date 2024-09-13 */ @Service public class ArdTubesServiceImpl implements IArdTubesService { @Autowired private ArdTubesMapper ardTubesMapper; @Autowired private ArdTubesDetailsMapper ardTubesDetailsMapper; /** * 查询管线信息管理 * * @param id 管线信息管理主键 * @return 管线信息管理 */ @Override public ArdTubes selectArdTubesById(String id) { ArdTubes ardTubes = ardTubesMapper.selectArdTubesById(id); ArdTubesDetails tubesDetails = new ArdTubesDetails(); tubesDetails.setTubeId(ardTubes.getId()); List ardTubesDetails = ardTubesDetailsMapper.selectArdTubesDetailsList(tubesDetails); ardTubes.setArdTubesDetails(ardTubesDetails); return ardTubes; } /** * 查询管线信息管理列表 * * @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); tube.setArdTubesDetails(ardTubesDetails); } return tubes; } /** * 新增管线信息管理 * * @param ardTubes 管线信息管理 * @return 结果 */ @Override public int insertArdTubes(ArdTubes ardTubes) { ardTubes.setId(IdUtils.simpleUUID()); ardTubes.setChildCount(0); ardTubes.setUserId(SecurityUtils.getUserId().toString()); ardTubes.setCreateBy(SecurityUtils.getUsername()); ardTubes.setCreateTime(DateUtils.getNowDate()); return ardTubesMapper.insertArdTubes(ardTubes); } /** * 修改管线信息管理 * * @param ardTubes 管线信息管理 * @return 结果 */ @Override public int updateArdTubes(ArdTubes ardTubes) { ardTubes.setUpdateTime(DateUtils.getNowDate()); return ardTubesMapper.updateArdTubes(ardTubes); } /** * 批量删除管线信息管理 * * @param ids 需要删除的管线信息管理主键集合 * @return 结果 */ @Override public int deleteArdTubesByIds(String[] ids) { int dels = ardTubesMapper.deleteArdTubesByIds(ids); //删除管线信息同时也要删除对应下面的管材信息 ardTubesDetailsMapper.deleteArdTubesDetailsTubeId(ids); return dels; } /** * 删除管线信息管理信息 * * @param id 管线信息管理主键 * @return 结果 */ @Override public int deleteArdTubesById(String id) { return ardTubesMapper.deleteArdTubesById(id); } }