package com.ruoyi.business.service.impl; import java.util.List; import java.util.Objects; import com.ruoyi.business.domain.BizDevice; import com.ruoyi.business.mapper.BizDeviceMapper; import com.ruoyi.business.mapper.TOrganizationMapper; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysUserMapper; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.business.mapper.TPositionMapper; import com.ruoyi.business.domain.TPosition; import com.ruoyi.business.service.ITPositionService; /** * 取样点位Service业务层处理 * * @author ruoyi * @date 2025-03-06 */ @Service public class TPositionServiceImpl implements ITPositionService { @Autowired private TPositionMapper tPositionMapper; @Autowired private TOrganizationMapper organizationMapper; @Autowired private BizDeviceMapper deviceMapper; @Autowired private SysUserMapper sysUserMapper; /** * 查询取样点位 * * @param id 取样点位主键 * @return 取样点位 */ @Override public TPosition selectTPositionById(Long id) { TPosition tPosition = tPositionMapper.selectTPositionById(id); if(!Objects.isNull(tPosition)) this.addExtra(tPosition); return tPosition; } private void addExtra(TPosition tPosition) { tPosition.setOrganization(this.organizationMapper.selectTOrganizationById(tPosition.getOrganizationId())); tPosition.setBizDevice(this.deviceMapper.selectBizDeviceByDeviceId(tPosition.getDeviceId())); //2025年03月13日11:16:04 额外返回创建人和编辑人对象 String createBy = tPosition.getCreateBy(); String updateBy = tPosition.getUpdateBy(); if(StringUtils.isNotBlank(createBy)) tPosition.setCreateUser(this.sysUserMapper.selectUserById(Long.valueOf(createBy))); if(StringUtils.isNotBlank(updateBy)) tPosition.setUpdateUser(this.sysUserMapper.selectUserById(Long.valueOf(updateBy))); } /** * 查询取样点位列表 * * @param tPosition 取样点位 * @return 取样点位 */ @Override public List selectTPositionList(TPosition tPosition) { List tPositions = tPositionMapper.selectTPositionList(tPosition); if(!CollectionUtils.isEmpty(tPositions)){ for (TPosition position : tPositions) { this.addExtra(position); } } return tPositions; } /** * 新增取样点位 * * @param tPosition 取样点位 * @return 结果 */ @Override public int insertTPosition(TPosition tPosition) { tPosition.setCreateTime(DateUtils.getNowDate()); //存放的是用户ID tPosition.setCreateBy(String.valueOf(SecurityUtils.getUserId())); //2025年03月26日13:27:52 因为化验记录存放的是设备编号,不是设备ID,所以需要把设备sn也存下来 Long deviceId = tPosition.getDeviceId(); if(Objects.isNull(deviceId)) throw new ServiceException("请输入设备信息"); BizDevice bizDevice = this.deviceMapper.selectBizDeviceByDeviceId(deviceId); if(Objects.isNull(bizDevice)) throw new ServiceException("未查询到设备信息,请输入正确的设备信息"); tPosition.setRemark(bizDevice.getDeviceSn()); return tPositionMapper.insertTPosition(tPosition); } /** * 修改取样点位 * * @param tPosition 取样点位 * @return 结果 */ @Override public int updateTPosition(TPosition tPosition) { tPosition.setUpdateTime(DateUtils.getNowDate()); //存放的是用户ID tPosition.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); return tPositionMapper.updateTPosition(tPosition); } /** * 批量删除取样点位 * * @param ids 需要删除的取样点位主键 * @return 结果 */ @Override public int deleteTPositionByIds(Long[] ids) { return tPositionMapper.deleteTPositionByIds(ids); } /** * 删除取样点位信息 * * @param id 取样点位主键 * @return 结果 */ @Override public int deleteTPositionById(Long id) { return tPositionMapper.deleteTPositionById(id); } }