wangfei
2025-10-11 d3df1630ad3e1c71b61d177ee818d5c5c94e97c0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.engineering.entity.Engineering;
@@ -20,7 +21,7 @@
/**
 * <p>
 *  服务实现类
 * 服务实现类
 * </p>
 *
 * @author wu
@@ -40,7 +41,7 @@
    //开始/暂停任务
    @Override
    public  boolean  changeTask(String projectId, Integer state) {
    public boolean changeTask(String projectId, Integer state) {
        //暂停正在进行工程
//        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
//        pauseWrapper.set(Engineering::getState,0);
@@ -48,8 +49,8 @@
//        boolean pause = pauseWrapper.update();
        //使用projectId作为条件开始工程
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,state);
        wrapper.eq(Engineering::getEngineerId,projectId);
        wrapper.set(Engineering::getState, state);
        wrapper.eq(Engineering::getEngineerId, projectId);
        boolean pause = wrapper.update();
        return pause;
    }
@@ -66,30 +67,30 @@
            optimizeEngineerings = optimizeProjectMapper.selectList(wrapper);
        }
        List<Engineering> resultList=new ArrayList<>();
        List<Engineering> resultList = new ArrayList<>();
// 遍历查询结果赋值
        if (optimizeEngineerings != null) {
            for (OptimizeProject map : optimizeEngineerings) {
                // 创建一个新的 OptimizeProject 对象
                Engineering engineering = new Engineering();
                // 将 Map 中的每个键值对映射到 OptimizeProject 对象的相应字段上
                engineering.setEngineerId( map.getProjectNo());//工程id
                engineering.setEngineerName( map.getProjectName());//工程名称
                engineering.setAvgAvailability( map.getAvgCutPct());//平均优化率
                engineering.setValidAvailability( map.getValidCutPct());//有效优化率
                engineering.setLastAvailability( map.getLastCutPct());//尾片优化率
                engineering.setEngineerId(map.getProjectNo());//工程id
                engineering.setEngineerName(map.getProjectName());//工程名称
                engineering.setAvgAvailability(map.getAvgCutPct());//平均优化率
                engineering.setValidAvailability(map.getValidCutPct());//有效优化率
                engineering.setLastAvailability(map.getLastCutPct());//尾片优化率
                engineering.setState(0);//状态
                engineering.setGlassTotal( map.getGlassTotal());//小片玻璃总数
                engineering.setGlassTotalArea( map.getGlassTotalArea());//小片总面积
                engineering.setPlanPatternTotal( map.getRawStockQty());//计划原片总数
                engineering.setPlanPatternTotalArea( map.getRawStockArea());//计划原片总面积
                engineering.setFilmsId( map.getGlassType());//膜系
                engineering.setNotes( map.getRemark());//备注
                engineering.setGlassTotal(map.getGlassTotal());//小片玻璃总数
                engineering.setGlassTotalArea(map.getGlassTotalArea());//小片总面积
                engineering.setPlanPatternTotal(map.getRawStockQty());//计划原片总数
                engineering.setPlanPatternTotalArea(map.getRawStockArea());//计划原片总面积
                engineering.setFilmsId(map.getGlassType());//膜系
                engineering.setNotes(map.getRemark());//备注
                // 将映射后的对象添加到结果列表中
                resultList.add(engineering);
            }
        }
        log.info("查询出钢化工程集合保存到实体类{}",resultList);
        log.info("查询出钢化工程集合保存到实体类{}", resultList);
        return resultList;
    }
@@ -107,8 +108,9 @@
                .last("limit 1");
        return engineeringMapper.selectOne(wrapper);
    }
    @Override
    public Engineering selectInitiates(Integer state,Integer cell) {
    public Engineering selectInitiates(Integer state, Integer cell) {
        //查询是否有开始上片的工程任务
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("state", state)
@@ -156,24 +158,30 @@
    @Override
    public boolean deleteTask(String engineerId) {
        //删除工程表
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId);
        return this.remove(wrapper);
//        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
//        wrapper.eq("engineer_id", engineerId);
//        return this.remove(wrapper);
        //修改工程表状态
        return this.update(
                new LambdaUpdateWrapper<Engineering>()
                        .eq(Engineering::getEngineerId, engineerId)
                        .set(Engineering::getState, 6)
        );
    }
    @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.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());
        wrapper.set(Engineering::getState, engineering.getState());
        wrapper.set(Engineering::getStationCell, engineering.getStationCell());
        wrapper.eq(Engineering::getEngineerId, engineering.getEngineerId());
        return wrapper.update();
    }