wuyouming666
2024-05-07 f16e0460ed079626e7a9a936f91714001e02f130
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
@@ -1,16 +1,23 @@
package com.mes.downworkstation.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downworkstation.entity.DownWorkstationTask;
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationTaskService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 *  服务实现类
 * 服务实现类
 * </p>
 *
 * @author zhoush
@@ -20,24 +27,61 @@
public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
    public void insertdownWorkstationtask(DownGlassInfo downGlassInfo) {
        DownWorkstationTask entity = new DownWorkstationTask();
        entity.setFlowCardId(downGlassInfo.getFlowCardId());
        entity.setWidth(downGlassInfo.getWidth());
        entity.setHeight(downGlassInfo.getHeight());
        entity.setThickness(downGlassInfo.getThickness());
        entity.setFilmsid(downGlassInfo.getFilmsid());
        entity.setState(1);
        // 查询当前最大的 id 值
        Long maxId = getMaxId();
        // 如果没有记录,则将 id 设置为 1;否则,将 id 设置为当前最大 id 值加 1
        Long newId = (maxId == null) ? 1 : maxId + 1;
        BeanUtils.copyProperties(downGlassInfo,entity);
        entity.setId(newId); // 设置手动递增的 id
        entity.setState(1);
        baseMapper.insert(entity);
    }
    @Override
    public void updateTaskStateToZero(String flowCardId) {
        UpdateWrapper<DownWorkstationTask> updateWrapper = new UpdateWrapper<>();
        updateWrapper.set("state", 0).eq("flow_card_id", flowCardId);
        baseMapper.update(null, updateWrapper);
// 查询最大的 ID
    private Long getMaxId() {
        QueryWrapper<DownWorkstationTask> wrapper = new QueryWrapper<>();
        wrapper.select("MAX(id) as max_id");
        List<Object> list = baseMapper.selectObjs(wrapper);
        if (list != null && !list.isEmpty()) {
            Object obj = list.get(0);
            if (obj != null) {
                return Long.parseLong(obj.toString());
            }
        }
        // 如果没有查询到结果,则返回 0
        return 0L;
    }
    @Override
    public List<DownWorkstationTask> getTaskState() {
        QueryWrapper<DownWorkstationTask> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("state", 1);
        return baseMapper.selectList(queryWrapper);
    }
    @Override
    public void updateTaskStateToZero(DownWorkstationTask downWorkstationTask) {
        LambdaUpdateWrapper<DownWorkstationTask> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.set(DownWorkstationTask::getState, 0)
                .eq(DownWorkstationTask::getGlassId, downWorkstationTask.getGlassId());
        baseMapper.update(new DownWorkstationTask(), lambdaUpdateWrapper);
    }
    @Override
    public void deleteTask(DownWorkstationTask downWorkstationTask) {
        LambdaQueryWrapper<DownWorkstationTask> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(DownWorkstationTask::getGlassId, downWorkstationTask.getGlassId());
        baseMapper.delete(queryWrapper);
    }
}