严智鑫
2024-04-16 e208aa1ef8e861dba168e8d83ab3066fc9f1e02d
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -3,9 +3,15 @@
import com.mes.common.PLCAutoMes;
import com.mes.common.S7control;
import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.SelectInfo;
import com.mes.uppattenusage.entity.GlassInfo;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
import com.mes.downworkstation.mapper.DownWorkstationMapper;
import com.mes.tools.WebSocketServer;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -16,7 +22,10 @@
@Service
public class DownGlassCacheLogic {
    @Autowired
    private SelectInfo selectInfo;
    private DownStorageCageDetailsMapper selectInfo;
    private GlassInfoService GlassInfoService;
    private DownStorageCageDetailsService downStorageCageDetailsService;
    private DownGlassTaskService downGlassTaskService;
    /**
     * @param Number
@@ -71,8 +80,9 @@
     */
    public boolean processInto(String Number){
        GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
        //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        //存在此玻璃编号
        if(GlassInfo!=null){
@@ -92,6 +102,7 @@
                //2.回复 1进片
                DownStorageCageDetails item=list.get(0);
                selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1",GlassInfo.getWidth(),GlassInfo.getHeight(),GlassInfo.getFilmsid(),GlassInfo.getThickness(),GlassInfo.getFlowcardId());
                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
                return true;
            }
@@ -103,57 +114,59 @@
        return false;
    }
    //理片 出
    public boolean processOut(){
        //查询任务
        String G06=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
        String G11=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        String G13=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list=selectInfo.SelectCacheOut();
        //其他情况条件 如:后续设备故障禁止理片出片 等
        boolean isOut=true;
        if (list.size()>0&&isOut) {
            DownStorageCageDetails item=list.get(0);
           //
            if(G06=="0"&&G11=="1"){
                //出到  G06
    public boolean processOut() {
        // 查询任务
        String G06 = S7control.getinstance().ReadWord("DB14.56", 1).get(0) + "";
        String G11 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
        String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list = selectInfo.SelectCacheOut(1, 5);
        List<DownStorageCageDetails> list2 = selectInfo.SelectCacheOut(6, 10);
        List<DownStorageCageDetails>  list3 = selectInfo.SelectCacheOut(1, 10);
                selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
        // 按照顺序符合前端出片
        if (!list.isEmpty()) {
            DownStorageCageDetails item = list.get(0);
            if (G06.equals("0") && G11.equals("1")) {
                // 出到 G06
                selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }else if(G06=="1"&&G11=="0"){
                //出到  G11
                selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
            }
            // 按照顺序符合后端出片
        } else if (!list2.isEmpty()) {
            DownStorageCageDetails item2 = list2.get(0);
            if (G06.equals("1") && G11.equals("0")) {
                // 出到 G11
                selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }else if(G06=="0"&&G11=="0"){
                //都允许    G04/G05  上一片是否和此片玻璃尺寸尺寸相同
                String endcell="06";
                String SendEndcell="1";
                boolean If_=false;
                GlassInfo glassInfo06= selectInfo.SelectLastOutCacheInfo("06");
                GlassInfo glassInfo11= selectInfo.SelectLastOutCacheInfo("11");
                GlassInfo glassInfo13= selectInfo.SelectLastOutCacheInfo("13");
                if(glassInfo06!=null&&glassInfo11.getWidth()==item.getWidth()&&glassInfo06.getHeight()==item.getHeight()){
                    endcell="11";
                    SendEndcell="2";
                }else if(item.getHeight()>=3440&&item.getWidth()>=1440){
                    //其他条件人工处理
            }
            // 超出尺寸优先人工出片 人工处理
        } else if (!list3.isEmpty()) {
            DownStorageCageDetails item3 = list3.get(0);
            if (item3.getHeight() >= 3440 && item3.getWidth() >= 1440) {
                }
                String endcell = "06";
                String SendEndcell = "1";
                selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }
        }
        //返回结果
        // 返回结果
        return false;
    }
//查询是否绑定架子
//    public boolean selectFlowCardId(String FlowCardId){
//
//    }
    /**
     * @param Number
@@ -162,7 +175,7 @@
    public void processMb(String Number){
          //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        if(GlassInfo!=null){
            //发送任务   ID   长 宽 厚 倒角 工艺功能等
@@ -185,7 +198,7 @@
    public boolean selectMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
        if(GlassInfo==null){
            //返回 不存在
            return false;
@@ -203,7 +216,7 @@
    public boolean deleteMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
        if(GlassInfo==null){
            //返回 不存在
            return false;
@@ -221,7 +234,7 @@
     */
    public boolean isExist(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
        if(GlassInfo==null){
            //返回 不存在
            return false;