wu
2024-04-10 321c0a50fdfa52d7d2da52dfb4fa74adff1c0f39
LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java
@@ -1,40 +1,65 @@
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
package com.mes.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.springboot.component.PLCAutoMes;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.device.PlcParameterObject;
import com.google.common.primitives.Bytes;
import com.mes.entity.GlassInfo;
import com.mes.entity.device.PLCAutoMes;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.device.PlcParameterObject;
import com.mes.entity.UpWorkstation;
import com.mes.mapper.LoadGlassMapper;
import com.mes.mapper.TemperingMapper;
@Service
public class LoadGlassService {
    @Autowired
    private com.mes.common.PlcTools.S7control s7control;
    private S7control s7control;
    private LoadGlassMapper LoadGlassMapper;
    PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
    //显示工位上的玻璃信息
    public GlassInfo selectAll() {
        GlassInfo glassInfo = LoadGlassMapper.SelectALL();
    public List<UpWorkstation> selectAll() {
        List<UpWorkstation> glassInfo= LoadGlassMapper.selectALL();
        return glassInfo;
    }
    //增加人工输入的工位玻璃信息
    public void insertGlass(UpWorkstation upwork) {
        LoadGlassMapper.insertGlass(upwork.Getpatternwidth(),upwork.getPatternheigth(),upwork.getPatternthickness(),1);
    public void insertGlass(UpWorkstation upwork) {
        LoadGlassMapper.insertGlass(upwork);
    }  
    //删除人工搬走的玻璃信息
    public void deleteGlass(String id) {
    public void deleteGlass(int id) {
        LoadGlassMapper.deleteGlass(id);
    }
    //判断是否可以吸片进行任务
    public boolean isCanLoadGlass() {
        boolean result=s7control.WriteWord("100.10", 1);
        return result;
        String loadstate=plcmes.getPlcParameter("吸片信号").getValue();
        if(loadstate.equals("1")) {
            return true;
        }else{
            return false;
        }
    }
    //判断优先吸片位置后发送出片任务
    public void selectPriority() {
        int loadid1=LoadGlassMapper.selectPriority(1);
        int loadid2=LoadGlassMapper.selectPriority(2);
        //判断一二号工位哪边的顺序更先
        if(loadid1>loadid2) {
            s7control.WriteWord("DB100.10", (short)2);
        }else if(loadid1==loadid2){
            //当两个工位上的玻璃数相同时,判断哪个工位上的玻璃数更少,优先清空一个架子
            int glassnum1=Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
            int glassnum2=Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
            if(glassnum1>glassnum2){
                s7control.WriteWord("DB100.10", (short)2);
            }else{
                s7control.WriteWord("DB100.10", (short)1);
            }
        }else{
            s7control.WriteWord("DB100.10", (short)1);
        }
    }
}