package com.ruoyi.production.service.impl; import cn.hutool.core.bean.BeanUtil; 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.production.bean.dto.ProductionOperationTaskDto; import com.ruoyi.production.bean.vo.ProductionOperationTaskVo; import com.ruoyi.production.mapper.ProductionOperationTaskMapper; import com.ruoyi.production.pojo.ProductionOperationTask; import com.ruoyi.production.service.ProductionOperationTaskService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; @Service @RequiredArgsConstructor public class ProductionOperationTaskServiceImpl extends ServiceImpl implements ProductionOperationTaskService { @Override public IPage pageProductionOperationTask(Page page, ProductionOperationTaskDto dto) { Page voPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); return baseMapper.pageProductionOperationTask(voPage, dto); } @Override public List listProductionOperationTask(ProductionOperationTaskDto dto) { return BeanUtil.copyToList(this.list(buildQueryWrapper(dto)), ProductionOperationTaskVo.class); } @Override public ProductionOperationTaskVo getProductionOperationTaskInfo(Long id) { ProductionOperationTask item = this.getById(id); return item == null ? null : BeanUtil.copyProperties(item, ProductionOperationTaskVo.class); } @Override public boolean saveProductionOperationTask(ProductionOperationTask productionOperationTask) { return this.saveOrUpdate(productionOperationTask); } @Override public boolean removeProductionOperationTask(List ids) { return ids != null && !ids.isEmpty() && this.removeByIds(ids); } private LambdaQueryWrapper buildQueryWrapper(ProductionOperationTaskDto dto) { ProductionOperationTask query = dto == null ? new ProductionOperationTask() : dto; return Wrappers.lambdaQuery() .eq(query.getId() != null, ProductionOperationTask::getId, query.getId()) .eq(query.getProductionOrderId() != null, ProductionOperationTask::getProductionOrderId, query.getProductionOrderId()) .eq(query.getProductionOrderRoutingOperationId() != null, ProductionOperationTask::getProductionOrderRoutingOperationId, query.getProductionOrderRoutingOperationId()) .eq(query.getStatus() != null, ProductionOperationTask::getStatus, query.getStatus()) .like(query.getWorkOrderNo() != null && !query.getWorkOrderNo().trim().isEmpty(), ProductionOperationTask::getWorkOrderNo, query.getWorkOrderNo()) .orderByDesc(ProductionOperationTask::getId); } @Override public int updateProductWorkOrder(ProductionOperationTaskDto dto) { return baseMapper.updateById(dto); } }