zhoushihao
2 天以前 4e3b8155722b66e25df3c6fd42cc586b68dea391
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -1,11 +1,14 @@
package com.mes.engineering.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.engineering.service.EngineeringService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.mapper.OptimizeProjectMapper;
import lombok.extern.slf4j.Slf4j;
@@ -25,18 +28,30 @@
 */
@Service
@Slf4j
public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
    @Autowired
    OptimizeProjectMapper optimizeProjectMapper;
    @Autowired
    private EngineeringMapper engineeringMapper;
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    //开始/暂停任务
    @Override
    public  boolean  changeTask(String projectId, Integer state) {
        //使用projectId作为条件修改state字段
        //暂停正在进行工程
//        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
//        pauseWrapper.set(Engineering::getState,0);
//        pauseWrapper.eq(Engineering::getState,1);
//        boolean pause = pauseWrapper.update();
        //使用projectId作为条件开始工程
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,state);
        wrapper.eq(Engineering::getEngineerId,projectId);
        return  wrapper.update();
        boolean pause = wrapper.update();
        return pause;
    }
    @Override
@@ -79,8 +94,88 @@
    }
    @Override
    public void saveEngineering(List<Engineering> engineerings) {
        this.saveBatch(engineerings);
    public void saveEngineering(List<Engineering> engineering) {
        this.saveBatch(engineering);
        //保存钢化工程信息
    }
    @Override
    public Engineering selectInitiate(Integer state) {
        //查询是否有开始上片的工程任务
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("state", state)
                .last("limit 1");
        return engineeringMapper.selectOne(wrapper);
    }
    @Override
    public Engineering selectInitiates(Integer state,Integer cell) {
        //查询是否有开始上片的工程任务
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("state", state)
                .eq("station_cell", cell)
                .last("limit 1");
        return engineeringMapper.selectOne(wrapper);
    }
    @Override
    public Engineering selectUpInitiate(String engineerId) {
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId)
                .last("limit 1");
        return engineeringMapper.selectOne(wrapper);
    }
    @Override
    public GlassInfo selectGlassinfoIsnull(String engineerId) {
        QueryWrapper<GlassInfo> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId)
                .last("limit 1");
        return glassInfoMapper.selectOne(wrapper);
    }
    @Override
    @DS("northGlassMes")
    public List<Engineering> selectTask() {
        //查询可开始任务的工程
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("state", 5);
        return engineeringMapper.selectList(wrapper);
    }
    @Override
    public boolean pauseTask(String engineerId, Integer state) {
        //暂停正在进行工程
        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        pauseWrapper.set(Engineering::getState, 5);
        pauseWrapper.eq(Engineering::getEngineerId, engineerId);
        return pauseWrapper.update();
    }
    @Override
    public boolean deleteTask(String engineerId) {
        //删除工程表
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId);
        return this.remove(wrapper);
    }
    @Override
    public boolean changeTasks(Engineering engineering) {
        //暂停正在进行工程
        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        pauseWrapper.set(Engineering::getState,0);
        pauseWrapper.eq(Engineering::getState,1);
        pauseWrapper.eq(Engineering::getStationCell,engineering.getStationCell());
        pauseWrapper.update();
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,engineering.getState());
        wrapper.set(Engineering::getStationCell,engineering.getStationCell());
        wrapper.eq(Engineering::getEngineerId,engineering.getEngineerId());
        return wrapper.update();
    }
}