package com.mes.workstation.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
//import com.mes.common.S7object;
|
import com.mes.glassinfo.entity.UpPattenUsage;
|
import com.mes.pp.entity.OptimizeProject;
|
import com.mes.pp.entity.request.OptimizeRequest;
|
import com.mes.workstation.entity.UpWorkSequence;
|
import com.mes.workstation.entity.UpWorkstation;
|
import com.mes.workstation.mapper.UpWorkstationMapper;
|
import com.mes.workstation.service.UpWorkstationService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author zhoush
|
* @since 2024-04-07
|
*/
|
@Service
|
@Slf4j
|
public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
|
|
public static final String DB_100_10 = "DB_100_10";
|
|
//判断是否可以吸片进行任务
|
public boolean isCanLoadGlass() {
|
String loadstart="吸片信号";//plcmes.getPlcParameter("吸片信号").getValue();
|
return "1".equals(loadstart);
|
|
}
|
//显示正在进行任务的工程信息
|
|
|
//判断优先吸片位置后发送出片任务
|
public void selectPriority() {
|
//todo:判断是否可以吸片进行任务
|
// String loadstart="吸片信号";//plcmes.getPlcParameter("吸片信号").getValue();
|
// if (!"1".equals(loadstart)) {
|
// return;
|
// }
|
UpWorkSequence loadid1 = this.baseMapper.selectPriority(1).get(0);
|
UpWorkSequence loadid2 = this.baseMapper.selectPriority(2).get(0);
|
//判断一二号工位哪边的顺序更先
|
// if(loadid1.getSequence()>loadid2.getSequence()) {
|
// S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
|
// }else if(loadid1.getSequence()==loadid2.getSequence()){
|
// //当两个工位上的玻璃数相同时,判断哪个工位上的玻璃数更少,优先清空一个架子
|
// int glassnum1=loadid1.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
|
// int glassnum2=loadid2.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
|
// if(glassnum1>glassnum2){
|
// S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
|
// }else{
|
// S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
|
// }
|
// }else{
|
// S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
|
// }
|
}
|
|
/**
|
* 增加人工输入的工位玻璃信息/删除人工搬走的玻璃信息
|
* @param upwork
|
*/
|
@Override
|
public void updateGlassMessage(UpWorkstation upwork) {
|
UpdateWrapper<UpWorkstation> updateWrapper = new UpdateWrapper<>();
|
updateWrapper.eq("workstation_id", upwork.getWorkstationId());
|
int update = this.baseMapper.update(upwork, updateWrapper);
|
}
|
|
}
|