package com.mes.pp.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.yulichang.base.MPJBaseServiceImpl; import com.mes.engineering.entity.Engineering; import com.mes.engineering.service.EngineeringService; import com.mes.pp.entity.OptimizeProject; import com.mes.pp.entity.request.OptimizeRequest; import com.mes.pp.mapper.OptimizeProjectMapper; import com.mes.pp.service.OptimizeProjectService; import com.mes.uppattenusage.entity.UpPattenUsage; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** *

* 服务实现类 *

* * @author zhoush * @since 2024-04-16 */ @Service @DS("pp") @Slf4j public class OptimizeProjectServiceImpl extends MPJBaseServiceImpl implements OptimizeProjectService { @Autowired private EngineeringService engineeringService; @Override public List listByState(OptimizeRequest optimizeRequest) { //PP表未开始的工程号 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.select(OptimizeProject::getProjectNo) .eq(OptimizeProject::getState, optimizeRequest.getState()); List glass = this.list(wrapper); //暂停的工程号 List engineerings = engineeringService.selectTask(); for (int i = 0; i < engineerings.size(); i++) { Engineering engineering = engineerings.get(i); OptimizeProject newProject = new OptimizeProject(); newProject.setProjectNo(engineering.getEngineerId()); // 将新创建的 OptimizeProject 对象添加到 glass 列表中 glass.add(newProject); } //返回工程信息 return glass; } @Override public void changeTask(String engineeringId, int state) { UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.eq("project_no",engineeringId) .set("state",state); boolean updateSuccess = this.update(wrapper); log.info("工程表更新状态{}",updateSuccess); } @Override public boolean overTask(UpPattenUsage sequence, int state) { if(sequence.getState()==100){ UpdateWrapper wrapper=new UpdateWrapper<>(); wrapper.eq("project_no",sequence.getEngineeringId()) .set("state",state); boolean updateSuccess = this.update(wrapper); log.info("工程完成更新状态{}",updateSuccess); } return false; } @Override public List getDoingTask() { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.select("project_no,project_name") .eq("state",200); return this.list(wrapper); } }