wang
2024-04-10 daed20c553f77fc48695f8523cd57bc56fb5a0fd
CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
File was renamed from CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
@@ -11,13 +11,14 @@
import com.mes.entity.TaskCache;
import com.mes.entity.device.PLCAutoMes;
import com.mes.entity.device.PlcParameterObject;
import com.mes.mapper.SelectInfo;
import com.mes.mapper.HangzhouMesMapper;
import com.mes.mapper.PpMapper;
@Service
public class Logic {
public class LogicService {
    @Autowired
    private SelectInfo selectInfo;
    private HangzhouMesMapper hangzhouMesMapper;
    //识别逻辑    不交互
    public void identify(String Number){
        //查询任务
@@ -50,25 +51,25 @@
    //理片 进
    public boolean processInto(String Number){
        //查询消息队列里的玻璃
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        if(GlassInfo!=null){//存在此玻璃编号  
            //同钢化版图内的栅格号
            List<EdgStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
            List<EdgStorageCageDetails> list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
            //空栅格号
            if (list.size()==0) {
                list=selectInfo.SelectCacheLeisure();
                list=hangzhouMesMapper.selectCacheLeisure();
            }
            //小于此玻璃钢化版图序号的栅格号
            if(list.size()==0){
                list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
                list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
            }
            if(list.size()>0){
                //存在空格  
                //1.生成任务:  起始位置0   结束位置this.slot  任务类型 1   (进片任务)
                //2.回复 1进片
                EdgStorageCageDetails item=list.get(0);
                selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
                hangzhouMesMapper.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
                return true;
            }
@@ -85,19 +86,19 @@
        String A09=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
        String A10=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        List<EdgStorageCageDetails> list=selectInfo.SelectCacheOut();
        List<EdgStorageCageDetails> list=hangzhouMesMapper.selectCacheOut();
        boolean isOut=true;//其他情况条件 如:后续设备故障禁止理片出片 等
        if (list.size()>0&&isOut) {
            EdgStorageCageDetails item=list.get(0);
            if(A09=="0"&&A10=="1"){
                //出到  A09
                selectInfo.insertCacheTask(item.getGlassid()+"","0","09","2");
                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","09","2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }else if(A09=="1"&&A10=="0"){
                //出到  A10
                selectInfo.insertCacheTask(item.getGlassid()+"","0","10","2");
                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","10","2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
@@ -106,15 +107,15 @@
                String endcell="09";
                String SendEndcell="1";
                boolean If_=false;
                GlassInfo glassInfo09= selectInfo.SelectLastOutCacheInfo("09");
                GlassInfo glassInfo10= selectInfo.SelectLastOutCacheInfo("10");
                GlassInfo glassInfo09= hangzhouMesMapper.selectLastOutCacheInfo("09");
                GlassInfo glassInfo10= hangzhouMesMapper.selectLastOutCacheInfo("10");
                if(glassInfo10!=null&&glassInfo10.getWidth()==item.getWidth()&&glassInfo10.getHeight()==item.getHeight()){
                    endcell="10";
                    SendEndcell="2";
                }else if(glassInfo10!=null&&If_){
                    //其他条件
                }
                selectInfo.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
@@ -127,7 +128,7 @@
    //磨边   不交互  理片和磨边机自己交互
    public void processMb(String Number){
        //查询任务
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        if(GlassInfo!=null){
            //发送任务   ID   长 宽 厚 倒角 工艺功能等
@@ -144,7 +145,7 @@
    //查询消息队列里此玻璃ID的数据   
    public boolean SelectMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
        }
@@ -153,7 +154,7 @@
    //删除消息队列里此玻璃ID的数据   
    public boolean DeleteMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
        }
@@ -163,7 +164,7 @@
    //是否存在此编号玻璃 
    public boolean isExist(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
        }