严智鑫
2024-09-13 7fecdd4f27d9d664cb0de5ee2b1dd7d6bbf9f1d2
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -3,13 +3,16 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.mes.common.S7object;
import com.mes.device.PlcParameterObject;
import com.mes.md.entity.GlassInfo;
import com.mes.md.entity.Tasking;
import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.service.GlassInfoService;
import com.mes.md.service.TaskingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -28,6 +31,8 @@
public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService {
    @Resource
    GlassInfoMapper glassInfoMapper;
    @Autowired
    GlassInfoService glassInfoService;
    PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
    @Override
    public boolean updateStatus(Integer state) {
@@ -108,8 +113,43 @@
    @Override
    public boolean updateTasking(String scanId) {
        return false;
        Tasking glass=new Tasking();
        glass.setCurrentCraft("上片");
        glass.setState("完成");
        glass.setTaskType("定制");
        //获取当前上片的定制任务id
        Tasking tasking= selectTasking(glass);
        //获取当前扫描的玻璃数据
        GlassInfo glassInfo = glassInfoService.selectTaskingByGlass(scanId);
        if(glassInfo!=null){
            tasking.setBatchNumber(glassInfo.getBatchNumber());
            tasking.setScanId(glassInfo.getScanId());
            tasking.setProgramId(glassInfo.getProgramId());
            tasking.setTaskType(glassInfo.getTaskType());
            tasking.setTaskSequence(glassInfo.getTaskSequence());
            tasking.setTaskQuantity(glassInfo.getTaskQuantity());
            tasking.setLength(glassInfo.getLength());
            tasking.setWidth(glassInfo.getWidth());
            tasking.setThickness(glassInfo.getThickness());
            tasking.setDrawingGlue(glassInfo.getDrawingGlue());
            tasking.setDrawingMarking(glassInfo.getDrawingMarking());
            tasking.setSilkScreenX(glassInfo.getSilkScreenX());
            tasking.setSilkScreenY(glassInfo.getSilkScreenY());
            tasking.setIsMarking(glassInfo.getIsMarking());
            tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
            tasking.setCurrentCraft("扫码");
        }
        return updateById(tasking);
    }
    @Override
    public boolean updateTaskingState(Tasking tasking) {
        UpdateWrapper<Tasking>wrapper=new  UpdateWrapper<>();
        wrapper.eq("scan_id",tasking.getScanId());
        return update(tasking,wrapper);
    }
    @Override
    public Tasking selectTasking(Tasking tasking) {
@@ -125,4 +165,44 @@
    public Boolean insertTaskingPro(String tasking) {
        return null;
    }
    /**
     * @param tasking
     * 查询当前工艺,线上未完工的任务
     * @return
     */
    @Override
    public List<Tasking> findCraftTasking(Tasking tasking) {
        return baseMapper.selectList(new MPJLambdaQueryWrapper<Tasking>()
                .selectAll(Tasking.class)
                .eq(Tasking::getCurrentCraft,tasking.getCurrentCraft())
                .ne(Tasking::getWorkState,"完工")
                .orderByAsc(Tasking::getGlassId));
    }
    /**
     * @param tasking
     * 修改任务状态 【破损/失败/完工】
     * @return
     */
    @Override
    public int updateCraftTasking(Tasking tasking) {
        Tasking oldTasking=baseMapper.selectById(tasking);
        oldTasking.setWorkState(tasking.getWorkState());
        return baseMapper.updateById(oldTasking);
    }
    /**
     * @param tasking
     * 修改状态 【下线】
     * @return
     */
    @Override
    public int updateDownLine(Tasking tasking) {
        Tasking oldTasking=baseMapper.selectById(tasking);
        oldTasking.setState(tasking.getState());
        return baseMapper.updateById(oldTasking);
    }
}