| | |
| | | package com.ruoyi.technology.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationDto; |
| | | import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationParamSyncDto; |
| | | import com.ruoyi.technology.bean.vo.TechnologyRoutingOperationVo; |
| | | import com.ruoyi.technology.mapper.TechnologyRoutingMapper; |
| | | import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper; |
| | | import com.ruoyi.technology.pojo.TechnologyRoutingOperation; |
| | | import com.ruoyi.technology.service.TechnologyRoutingOperationParamService; |
| | | import com.ruoyi.technology.service.TechnologyRoutingOperationService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @RequiredArgsConstructor |
| | | public class TechnologyRoutingOperationServiceImpl extends ServiceImpl<TechnologyRoutingOperationMapper, TechnologyRoutingOperation> implements TechnologyRoutingOperationService { |
| | | |
| | | @Autowired |
| | | private TechnologyRoutingOperationMapper technologyRoutingOperationMapper; |
| | | private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper; |
| | | |
| | | @Autowired |
| | | private TechnologyRoutingMapper technologyRoutingMapper; |
| | | private final TechnologyRoutingMapper technologyRoutingMapper; |
| | | private final TechnologyRoutingOperationParamService technologyRoutingOperationParamService; |
| | | |
| | | @Override |
| | | public IPage<TechnologyRoutingOperation> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperation> page, |
| | | TechnologyRoutingOperation technologyRoutingOperation) { |
| | | return this.page(page, buildQueryWrapper(technologyRoutingOperation)); |
| | | public IPage<TechnologyRoutingOperationVo> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperationDto> page, |
| | | TechnologyRoutingOperationDto technologyRoutingOperationDto) { |
| | | return technologyRoutingOperationMapper.pageTechnologyRoutingOperation(page, technologyRoutingOperationDto); |
| | | } |
| | | |
| | | @Override |
| | | public List<TechnologyRoutingOperation> listTechnologyRoutingOperation(TechnologyRoutingOperation technologyRoutingOperation) { |
| | | return this.list(buildQueryWrapper(technologyRoutingOperation)); |
| | | public List<TechnologyRoutingOperationVo> listTechnologyRoutingOperation(TechnologyRoutingOperationDto technologyRoutingOperationDto) { |
| | | return technologyRoutingOperationMapper.listTechnologyRoutingOperation(technologyRoutingOperationDto); |
| | | } |
| | | |
| | | @Override |
| | | public TechnologyRoutingOperationVo getTechnologyRoutingOperationInfo(Long id) { |
| | | return technologyRoutingOperationMapper.getTechnologyRoutingOperationInfo(id); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (technologyRoutingOperation.getDragSort() == null || technologyRoutingOperation.getDragSort() <= 0) { |
| | | technologyRoutingOperation.setDragSort(nextDragSort(technologyRoutingOperation.getTechnologyRoutingId())); |
| | | } |
| | | return this.save(technologyRoutingOperation); |
| | | boolean saved = this.save(technologyRoutingOperation); |
| | | if (saved) { |
| | | TechnologyRoutingOperationParamSyncDto syncDto = new TechnologyRoutingOperationParamSyncDto(); |
| | | syncDto.setTechnologyRoutingOperationId(technologyRoutingOperation.getId()); |
| | | syncDto.setReplaceExisting(true); |
| | | technologyRoutingOperationParamService.syncTechnologyRoutingOperationParam(syncDto); |
| | | } |
| | | return saved; |
| | | } |
| | | |
| | | @Override |
| | |
| | | resetDragSort(technologyRoutingOperation.getTechnologyRoutingId()); |
| | | } |
| | | return removed; |
| | | } |
| | | |
| | | private LambdaQueryWrapper<TechnologyRoutingOperation> buildQueryWrapper(TechnologyRoutingOperation technologyRoutingOperation) { |
| | | LambdaQueryWrapper<TechnologyRoutingOperation> queryWrapper = Wrappers.lambdaQuery(); |
| | | queryWrapper.eq(technologyRoutingOperation.getId() != null, TechnologyRoutingOperation::getId, technologyRoutingOperation.getId()) |
| | | .eq(technologyRoutingOperation.getTechnologyRoutingId() != null, |
| | | TechnologyRoutingOperation::getTechnologyRoutingId, technologyRoutingOperation.getTechnologyRoutingId()) |
| | | .eq(technologyRoutingOperation.getProductModelId() != null, |
| | | TechnologyRoutingOperation::getProductModelId, technologyRoutingOperation.getProductModelId()) |
| | | .eq(technologyRoutingOperation.getTechnologyOperationId() != null, |
| | | TechnologyRoutingOperation::getTechnologyOperationId, technologyRoutingOperation.getTechnologyOperationId()) |
| | | .eq(technologyRoutingOperation.getIsQuality() != null, |
| | | TechnologyRoutingOperation::getIsQuality, technologyRoutingOperation.getIsQuality()) |
| | | .orderByAsc(TechnologyRoutingOperation::getDragSort) |
| | | .orderByAsc(TechnologyRoutingOperation::getId); |
| | | return queryWrapper; |
| | | } |
| | | |
| | | private Integer nextDragSort(Long technologyRoutingId) { |