wuyouming666
2024-04-09 d548c0c2f27c9fc5515f4cebcb1f9e8d6b75f9ff
Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
15个文件已修改
4个文件已添加
38个文件已删除
5972 ■■■■ 已修改文件
LoadGlassModule/src/main/java/com/mes/MesApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/BigStorageCage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/DownStorageCage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/OrderTest.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/Tempering.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/service/IOrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json 414 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/JsonFile/PlcAlbania.json 414 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/MesApplication.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/controller/OrderTestController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/DownWorkstation.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCageDetails.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/OrderTest.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/UpWorkstation.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/IOrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/ModuleA.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/ModuleB.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
TemperingGlassModule/target/classes/application.yml 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/router/index.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/CreateReturns.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/ReturnsReport.vue 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/SelectDeliveryList.vue 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/SelectReturns.vue 273 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/returns.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/Create.vue 724 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/Details.vue 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/Payment.vue 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/Return.vue 593 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/Storage.vue 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/TL/Temperedlayout/SelectLayout.vue 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LoadGlassModule/src/main/java/com/mes/MesApplication.java
@@ -1,6 +1,4 @@
package com.mes;
import com.mes.common.PlcTools.S7object;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -1,7 +1,9 @@
package com.mes.common.PlcTools;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
@@ -9,15 +11,37 @@
import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
import com.google.common.primitives.Bytes;
import org.apache.ibatis.jdbc.Null;
public class S7control {
    S7PLC s7PLC; // PLC通讯类实例
    public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
    private EPlcType plcType = EPlcType.S1500; // 西门子PLC类型
    private String ip = "192.168.10.1"; // plc ip地址
    private int port = 102; // plc 端口号
    private static volatile S7control instance = null;
    private S7control() {
        if (s7PLC == null)
            s7PLC = new S7PLC(plcType, ip, port,0,0);
    }
    }
    public S7control(EPlcType plcType,String ip,int port,int a,int b) {
        if (s7PLC == null)
            s7PLC = new S7PLC(plcType, ip, port,a,b);
    }
    // 单例模式 获取类的唯一实例
    public static S7control getinstance() {
        if (instance == null) {
            synchronized (S7control.class) {
                if (instance == null)
                    instance = new S7control();
            }
        }
        return instance;
    }
    /**
     * 关闭西门子s7通讯连接
     */
@@ -33,7 +57,7 @@
    public boolean CheckConnected() {
        return s7PLC.checkConnected();
    }
    /**
     * 按指定的地址 写入一个word
     * 
@@ -156,7 +180,7 @@
        }
    }
    private int getIndexFromAddress(String address) {
@@ -181,7 +205,6 @@
    public List<Short> ReadWord(String address, int count) {
        if (s7PLC == null)
            return null;
        List<String> addresslist = GetAddressList(address, count, 16);
        try {
            return s7PLC.readInt16(addresslist);
@@ -191,7 +214,13 @@
            return null;
        }
    }
    public byte[] Readbyte(String address, int count) {
        byte[] byt=new byte[count];
        int wordcount=((count%2==0)?count/2:count+1);
        List<Short> word=ReadWord(address,wordcount);
        return byt;
    }
    /**
     * 按指定的地址 读取byte结果集
     * 
@@ -269,6 +298,41 @@
}
    public List<String> readStringsandword(List<String> addressList) {
        if (s7PLC == null) {
            return null;
        }
        List<String> result = new ArrayList<>();
        for (String address : addressList) {
            try {
                if (address.contains("-")) {
                    address = address.substring(0, address.indexOf("-"));
                    byte[] bytes = s7PLC.readByte(address, 14);
                    if (bytes != null) {
                        String str = new String(bytes, StandardCharsets.UTF_8);
                        result.add(str);
                    }
                } else {
                    Short value = s7PLC.readInt16(address);
                    result.add(value.toString());
                }
            } catch (Exception e) {
                System.out.println("读取 " + address + " 失败:" + e.getMessage());
                result.add(null);
            }
        }
        return result;
    }
//不连续地址写入Word
    public void WriteWord(List<String> address, List<Short> datas) {
        if (s7PLC == null)
@@ -300,7 +364,7 @@
            glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
        }
        byte[] bytes = Bytes.toArray(glassidlist);
        WriteByte(addr, bytes);
        S7control.getinstance().WriteByte(addr, bytes);
    }
//读取不连续word
@@ -410,4 +474,11 @@
        }
        return addresslist;
    }
    public void writeString(String addr,String data) {
        s7PLC.writeString(addr,data);
    }
    public String readStrings(String addr) {
        return s7PLC.readString(addr);
    }
}
LoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java
File was deleted
LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
@@ -19,9 +19,7 @@
    private SysMenuService sysMenuService;
    @GetMapping
    public Result getMenu(){
        //MyChannelHandlerPool myChannelHandlerPool = new MyChannelHandlerPool();
        //myChannelHandlerPool.sendMsg("123");
        //MyChannelHandlerPool.channelGroup.writeAndFlush( new TextWebSocketFrame("123123"));
        //获取缓存
        return Result.seccess(sysMenuService.getMenu());
    }
LoadGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/Tempering.java
File was deleted
LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
New file
@@ -0,0 +1,95 @@
package com.mes.entity.device;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static com.mes.entity.device.InitUtil.readAndUpdateWordValues;
public class PLCAutoMes extends Thread {
    // // 用于存储应用程序的配置信息
    // private Configuration config;
    private static InitUtil initUtil;
    // public static PlcParameterObject PlcMesObject;
    // public static PlcParameterObject PlcReadObject;
    // public static PlcParameterObject PlcframeObject;
    // // 创建一个自定义的 S7 控制器消息处理器对象
    // MessageHandler customS7Control = new MessageHandler();
    // 单例实例
    private static PLCAutoMes instance;
    // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
    private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
    // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
    // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
    // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
    // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
    // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
    // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
    // 调用initword方法
    // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
    // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
    // public static PlcBitObject  plcBitObject = initUtil.initbit(PlcSign);
    // public static PlcParameterObject  plcStateObject= initUtil.initword(PlcState);
    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
    public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
    // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
    // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
    // 私有构造函数
    public PLCAutoMes() throws IOException {
        //config = new Configuration("config.properties");
        initUtil = new InitUtil();
    }
    // 获取单例实例
    public static synchronized PLCAutoMes getInstance() throws IOException {
        if (instance == null) {
            instance = new PLCAutoMes();
        }
        return instance;
    }
    @Override
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            // System.out.println(jsonFilePath);
            //readAndUpdateWordValues(PlcReadObject);
            readAndUpdateWordValues(PlcMesObject);
            //readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(plcStateObject);
            // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
            // // System.out.println(index);
            // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
            // // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            // List<String> addresses = new ArrayList<>();
            // addresses.add("FeedID");
            // addresses.add("AddStart");
            // // System.out.println(addresses);
            // // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
            // List<String> addresses2 = new ArrayList<>();
            // addresses2.add("FeedID");
            // addresses2.add("FeedCarStatus");
            //System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
        }
    }
}
LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java
@@ -1,18 +1,24 @@
package com.mes.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.entity.OrderTest;
import java.util.List;
import org.apache.ibatis.annotations.*;
import com.mes.entity.UpWorkstation;
@Mapper
public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
    //显示目前工位玻璃信息
    @Select("SELECT * FROM up_workstation")
    UpWorkstation SelectALL();
    List<UpWorkstation> SelectALL();
    //删除工位的玻璃信息
    @Delete("DELETE FROM up_workstation where  workstation_id=#{id}")
    void DeleteALL(int id );
    void deleteGlass(int id );
    //增加上片信息
    @Insert ("INSERT INTO up_workstation (pattern_width,pattern_heigth,pattern_thickness)value(#{patternwidth},#{patternheigth},#{patternthickness}where workstation_id=#{workstationid) ")
    void InsertALL(Double patternwidth,Double patternheigth,Double patternthickness,int workstationid);
    void insertGlass(Double patternwidth,Double patternheigth,Double patternthickness,int workstationid);
    //是否发起吸片
    @Select("SELECT * FROM up_workstation where  workstation_id=#{id}")
    UpWorkstation SelectAdd(int id);
    //判断优先工位吸片
    @Select("select b.layout_sequence from up_workstation a left join up_patten_usage b on a.pattern_width=b.width and a.pattern_heigth=b.width and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
    int SelectPriority(int id);
}
LoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
File was deleted
LoadGlassModule/src/main/java/com/mes/service/IOrderService.java
File was deleted
LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java
@@ -1,40 +1,59 @@
package com.mes.service;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
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.mes.entity.device.PLCAutoMes;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.device.PlcParameterObject;
import com.google.common.primitives.Bytes;
import com.mes.entity.GlassInfo;
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 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.getPatternwidth(),upwork.getPatternheigth(),upwork.getPatternthickness(),1);
    }  
    //删除人工搬走的玻璃信息
    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 int selectPriority() {
        int loadid1=LoadGlassMapper.SelectPriority(1);
        int loadid2=LoadGlassMapper.SelectPriority(2);
        if(loadid1>loadid2) {
            return 1;
        }else{
            return 2;
        }
    }
}
LoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
File was deleted
LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json
New file
@@ -0,0 +1,414 @@
{
   "plcAddressBegin":"DB14.0",
   "plcAddressLenght":"208",
   "dataType":"word",
   "parameteInfor":[
      {
         "codeId": "PLCToMES",
         "addressIndex":"0",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"m/min"
      },
      {
          "codeId": "IDStatus1",
          "addressIndex":"2",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"m/min"
       },
       {
          "codeId": "IDStatus2",
          "addressIndex":"4",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"m/min"
       },
       {
          "codeId": "IDStatus3",
          "addressIndex":"6",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "IDStatus4",
          "addressIndex":"8",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "IDStatus5",
          "addressIndex":"10",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "IDStatus6",
          "addressIndex":"12",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "StautsID1",
          "addressIndex":"14",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID2",
          "addressIndex":"16",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID3",
          "addressIndex":"18",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID4",
          "addressIndex":"20",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID5",
          "addressIndex":"22",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "StautsID6",
          "addressIndex":"24",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "GaToMES",
          "addressIndex":"26",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "Height",
          "addressIndex":"28",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "width",
          "addressIndex":"30",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "ExportTOMES1",
          "addressIndex":"32",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "ExportToMES2",
          "addressIndex":"34",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESToPLC",
          "addressIndex":"36",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESID1",
          "addressIndex":"38",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESID2",
          "addressIndex":"54",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID3",
          "addressIndex":"70",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID4",
          "addressIndex":"86",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID5",
          "addressIndex":"102",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID6",
          "addressIndex":"118",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESToPLCStart1",
          "addressIndex":"134",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },{
         "codeId": "MESToPLCStart2",
         "addressIndex":"136",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStart3",
         "addressIndex":"138",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart4",
         "addressIndex":"140",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart5",
         "addressIndex":"142",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart6",
         "addressIndex":"144",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget1",
         "addressIndex":"146",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget2",
         "addressIndex":"148",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget3",
         "addressIndex":"150",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget4",
         "addressIndex":"152",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget5",
         "addressIndex":"154",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget6",
         "addressIndex":"156",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus1",
         "addressIndex":"158",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus2",
         "addressIndex":"160",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus3",
         "addressIndex":"162",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus4",
         "addressIndex":"164",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus5",
         "addressIndex":"166",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus6",
         "addressIndex":"168",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToGaStatus",
         "addressIndex":"170",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A01Err",
         "addressIndex":"172",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A02Err",
         "addressIndex":"174",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01Err",
         "addressIndex":"176",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01Err",
         "addressIndex":"178",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02Err",
         "addressIndex":"180",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace1",
         "addressIndex":"182",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace2",
         "addressIndex":"184",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace3",
         "addressIndex":"186",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01Position",
         "addressIndex":"188",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01Position",
         "addressIndex":"190",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02Position",
         "addressIndex":"192",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "DeviceState",
         "addressIndex":"194",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "AllFVRun",
         "addressIndex":"196",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A01State",
         "addressIndex":"198",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A02State",
         "addressIndex":"200",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01State",
         "addressIndex":"202",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01State",
         "addressIndex":"204",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02State",
         "addressIndex":"206",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
   ]
}
TemperingGlassModule/src/main/JsonFile/PlcAlbania.json
New file
@@ -0,0 +1,414 @@
{
   "plcAddressBegin":"DB14.0",
   "plcAddressLenght":"208",
   "dataType":"word",
   "parameteInfor":[
      {
         "codeId": "PLCToMES",
         "addressIndex":"0",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"m/min"
      },
      {
          "codeId": "IDStatus1",
          "addressIndex":"2",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"m/min"
       },
       {
          "codeId": "IDStatus2",
          "addressIndex":"4",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"m/min"
       },
       {
          "codeId": "IDStatus3",
          "addressIndex":"6",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "IDStatus4",
          "addressIndex":"8",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "IDStatus5",
          "addressIndex":"10",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "IDStatus6",
          "addressIndex":"12",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "StautsID1",
          "addressIndex":"14",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID2",
          "addressIndex":"16",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID3",
          "addressIndex":"18",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID4",
          "addressIndex":"20",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "StautsID5",
          "addressIndex":"22",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "StautsID6",
          "addressIndex":"24",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "GaToMES",
          "addressIndex":"26",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "Height",
          "addressIndex":"28",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "width",
          "addressIndex":"30",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "ExportTOMES1",
          "addressIndex":"32",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       }
       ,
       {
          "codeId": "ExportToMES2",
          "addressIndex":"34",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESToPLC",
          "addressIndex":"36",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESID1",
          "addressIndex":"38",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       } ,
       {
          "codeId": "MESID2",
          "addressIndex":"54",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID3",
          "addressIndex":"70",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID4",
          "addressIndex":"86",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID5",
          "addressIndex":"102",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESID6",
          "addressIndex":"118",
          "addressLenght":"14",
          "ratio":"1",
          "unit":"mm/S"
       },
       {
          "codeId": "MESToPLCStart1",
          "addressIndex":"134",
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
       },{
         "codeId": "MESToPLCStart2",
         "addressIndex":"136",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStart3",
         "addressIndex":"138",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart4",
         "addressIndex":"140",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart5",
         "addressIndex":"142",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
      ,{
         "codeId": "MESToPLCStart6",
         "addressIndex":"144",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget1",
         "addressIndex":"146",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget2",
         "addressIndex":"148",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget3",
         "addressIndex":"150",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget4",
         "addressIndex":"152",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget5",
         "addressIndex":"154",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCTarget6",
         "addressIndex":"156",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus1",
         "addressIndex":"158",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus2",
         "addressIndex":"160",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus3",
         "addressIndex":"162",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus4",
         "addressIndex":"164",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus5",
         "addressIndex":"166",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToPLCStatus6",
         "addressIndex":"168",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MESToGaStatus",
         "addressIndex":"170",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A01Err",
         "addressIndex":"172",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A02Err",
         "addressIndex":"174",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01Err",
         "addressIndex":"176",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01Err",
         "addressIndex":"178",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02Err",
         "addressIndex":"180",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace1",
         "addressIndex":"182",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace2",
         "addressIndex":"184",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "ErrSpace3",
         "addressIndex":"186",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01Position",
         "addressIndex":"188",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01Position",
         "addressIndex":"190",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02Position",
         "addressIndex":"192",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "DeviceState",
         "addressIndex":"194",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "AllFVRun",
         "addressIndex":"196",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A01State",
         "addressIndex":"198",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "A02State",
         "addressIndex":"200",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "B01State",
         "addressIndex":"202",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C01State",
         "addressIndex":"204",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "C02State",
         "addressIndex":"206",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
   ]
}
TemperingGlassModule/src/main/java/com/mes/MesApplication.java
@@ -1,11 +1,8 @@
package com.mes;
import com.mes.common.PlcTools.S7object;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional;
//springboot 启动入口
@SpringBootApplication
TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -1,7 +1,9 @@
package com.mes.common.PlcTools;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
@@ -9,15 +11,37 @@
import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
import com.google.common.primitives.Bytes;
import org.apache.ibatis.jdbc.Null;
public class S7control {
    S7PLC s7PLC; // PLC通讯类实例
    public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
    private EPlcType plcType = EPlcType.S1500; // 西门子PLC类型
    private String ip = "192.168.10.1"; // plc ip地址
    private int port = 102; // plc 端口号
    private static volatile S7control instance = null;
    private S7control() {
        if (s7PLC == null)
            s7PLC = new S7PLC(plcType, ip, port,0,0);
    }
    }
    public S7control(EPlcType plcType,String ip,int port,int a,int b) {
        if (s7PLC == null)
            s7PLC = new S7PLC(plcType, ip, port,a,b);
    }
    // 单例模式 获取类的唯一实例
    public static S7control getinstance() {
        if (instance == null) {
            synchronized (S7control.class) {
                if (instance == null)
                    instance = new S7control();
            }
        }
        return instance;
    }
    /**
     * 关闭西门子s7通讯连接
     */
@@ -33,7 +57,7 @@
    public boolean CheckConnected() {
        return s7PLC.checkConnected();
    }
    /**
     * 按指定的地址 写入一个word
     * 
@@ -156,7 +180,7 @@
        }
    }
    private int getIndexFromAddress(String address) {
@@ -181,7 +205,6 @@
    public List<Short> ReadWord(String address, int count) {
        if (s7PLC == null)
            return null;
        List<String> addresslist = GetAddressList(address, count, 16);
        try {
            return s7PLC.readInt16(addresslist);
@@ -191,7 +214,13 @@
            return null;
        }
    }
    public byte[] Readbyte(String address, int count) {
        byte[] byt=new byte[count];
        int wordcount=((count%2==0)?count/2:count+1);
        List<Short> word=ReadWord(address,wordcount);
        return byt;
    }
    /**
     * 按指定的地址 读取byte结果集
     * 
@@ -269,6 +298,41 @@
}
    public List<String> readStringsandword(List<String> addressList) {
        if (s7PLC == null) {
            return null;
        }
        List<String> result = new ArrayList<>();
        for (String address : addressList) {
            try {
                if (address.contains("-")) {
                    address = address.substring(0, address.indexOf("-"));
                    byte[] bytes = s7PLC.readByte(address, 14);
                    if (bytes != null) {
                        String str = new String(bytes, StandardCharsets.UTF_8);
                        result.add(str);
                    }
                } else {
                    Short value = s7PLC.readInt16(address);
                    result.add(value.toString());
                }
            } catch (Exception e) {
                System.out.println("读取 " + address + " 失败:" + e.getMessage());
                result.add(null);
            }
        }
        return result;
    }
//不连续地址写入Word
    public void WriteWord(List<String> address, List<Short> datas) {
        if (s7PLC == null)
@@ -300,7 +364,7 @@
            glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
        }
        byte[] bytes = Bytes.toArray(glassidlist);
        WriteByte(addr, bytes);
        S7control.getinstance().WriteByte(addr, bytes);
    }
//读取不连续word
@@ -410,4 +474,11 @@
        }
        return addresslist;
    }
    public void writeString(String addr,String data) {
        s7PLC.writeString(addr,data);
    }
    public String readStrings(String addr) {
        return s7PLC.readString(addr);
    }
}
TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -16,7 +16,7 @@
    public void run(ApplicationArguments args) throws Exception {
        // TODO Auto-generated method stub
        //
        System.out.println("启动完成");
        System.out.println("启动完成Tempering");
 
 
    }
TemperingGlassModule/src/main/java/com/mes/controller/OrderTestController.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCage.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCageDetails.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/OrderTest.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/UpWorkstation.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
New file
@@ -0,0 +1,95 @@
package com.mes.entity.device;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static com.mes.entity.device.InitUtil.readAndUpdateWordValues;
public class PLCAutoMes extends Thread {
    // // 用于存储应用程序的配置信息
    // private Configuration config;
    private static InitUtil initUtil;
    // public static PlcParameterObject PlcMesObject;
    // public static PlcParameterObject PlcReadObject;
    // public static PlcParameterObject PlcframeObject;
    // // 创建一个自定义的 S7 控制器消息处理器对象
    // MessageHandler customS7Control = new MessageHandler();
    // 单例实例
    private static PLCAutoMes instance;
    // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
    private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
    // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
    // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
    // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
    // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
    // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
    // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
    // 调用initword方法
    // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
    // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
    // public static PlcBitObject  plcBitObject = initUtil.initbit(PlcSign);
    // public static PlcParameterObject  plcStateObject= initUtil.initword(PlcState);
    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
    public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
    // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
    // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
    // 私有构造函数
    public PLCAutoMes() throws IOException {
        //config = new Configuration("config.properties");
        initUtil = new InitUtil();
    }
    // 获取单例实例
    public static synchronized PLCAutoMes getInstance() throws IOException {
        if (instance == null) {
            instance = new PLCAutoMes();
        }
        return instance;
    }
    @Override
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            // System.out.println(jsonFilePath);
            //readAndUpdateWordValues(PlcReadObject);
            readAndUpdateWordValues(PlcMesObject);
            //readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(plcStateObject);
            // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
            // // System.out.println(index);
            // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
            // // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            // List<String> addresses = new ArrayList<>();
            // addresses.add("FeedID");
            // addresses.add("AddStart");
            // // System.out.println(addresses);
            // // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
            // List<String> addresses2 = new ArrayList<>();
            // addresses2.add("FeedID");
            // addresses2.add("FeedCarStatus");
            //System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
        }
    }
}
TemperingGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java
@@ -4,6 +4,8 @@
import com.mes.entity.GlassInfo;
import com.mes.entity.Tempering;
import java.util.List;
import org.apache.ibatis.annotations.*;
@Mapper
@@ -12,9 +14,20 @@
//查询该玻璃的尺寸和坐标
@Select("select *from glass_info where id=#{glassid};")
GlassInfo SelectOutGlass(String glassid);
@Select("select *from glass_info where id=#{glassid};")
GlassInfo SelectGlass(String glassid);
//是否可以发送进炉信号
@Select("select count(*) from glass_info where id=#{glassid};")
int SelectTempering(String glassid);
//查询等待中的钢化版图玻璃信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2")
List<Tempering> SelectWaitingGlass();
//查询进炉中的钢化版图玻璃信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1")
List<Tempering> SelectInGlass();
//查询钢化后的钢化版图信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2")
List <Tempering> SelectOutGlass();
}
TemperingGlassModule/src/main/java/com/mes/service/IOrderService.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/service/ModuleA.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/service/ModuleB.java
File was deleted
TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java
@@ -1,28 +1,36 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.entity.GlassInfo;
import com.mes.entity.userInfo.SysError;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.Tempering;
import com.mes.entity.device.PLCAutoMes;
import com.mes.entity.device.PlcParameterObject;
import com.mes.mapper.TemperingMapper;
import com.mes.mapper.userInfo.SysErrorMapper;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
@DS("glass_info")
public class TemperingOverService {
    private final TemperingMapper temperingMapper;
private final TemperingMapper temperingMapper;
   //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
    public TemperingOverService(TemperingMapper temperingMapper) {
        this.temperingMapper = temperingMapper;
    }
    //接收出炉信号和炉号
    public GlassInfo SelectOutGlass (String glassid) {
        GlassInfo GlassInfo = temperingMapper.SelectOutGlass(glassid);
        return GlassInfo;
    public String SelectOutSignal () {
        S7control.getinstance().WriteWord("出炉信号", (short)1);
        return "GlassInfo";
    }
    //发送确认收到
    //发送确认收到信号
    public void OverSignal () {
        S7control.getinstance().WriteWord("确认字", (short)1);
    }
    //显示钢化出炉后的版图信息
    public List <Tempering> SelectOutGlass () {
        return temperingMapper.SelectOutGlass();
    }
}
TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java
@@ -1,12 +1,10 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.GlassInfo;
import com.mes.entity.userInfo.SysError;
import com.mes.entity.Tempering;
import com.mes.mapper.TemperingMapper;
import com.mes.mapper.userInfo.SysErrorMapper;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
@@ -21,7 +19,7 @@
    }
    //接收id返回坐标和数据
    public GlassInfo SelectOutGlass (String glassid) {
        GlassInfo GlassInfo = temperingMapper.SelectOutGlass(glassid);
        GlassInfo GlassInfo = temperingMapper.SelectGlass(glassid);
        return GlassInfo;
    }
    //发送坐标信息
@@ -38,15 +36,23 @@
        else {
            return 0;
        }
    }
    //发送进炉信号
    public void SendIntoGlass (short start) {
        s7control.WriteWord("DB100.10", start);
    }
    //接受完成字回复确认字
    public void SendIntoGlass () {
        s7control.WriteWord("DB100.10", (short)1);
    }
    //显示等待中的版图
    public List <Tempering> SelectWaitingGlass () {
        List<Tempering> WaitingGlass = temperingMapper.SelectWaitingGlass();
        return WaitingGlass;
    }
    //显示正在进炉的版图
    public List<Tempering> SelectIntoGlass () {
        List<Tempering> IntoGlass = temperingMapper.SelectInGlass();
        return IntoGlass;
    }
}
TemperingGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
File was deleted
TemperingGlassModule/target/classes/application.yml
@@ -2,31 +2,17 @@
server:
  port: 8080
  servlet:
   context-path: /mesModuleTools
    context-path: /mesModuleTools
spring:
  datasource:
    dynamic:
      primary: user_info #设置默认的数据源或者数据源组,默认值即为master
      primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        user_info:
          url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        sd:
          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        mm:
          url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
        hangzhoumes:
          url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
UI-Project/src/router/index.js
@@ -22,18 +22,6 @@
      children:[
        
        
        {
          path: 'Temperedlayout',
          name: 'Temperedlayout',
          component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
          children:[
            {
             path: 'selectLayout',
              name: 'selectLayout',
              component: () => import('../views/TL/Temperedlayout/SelectLayout.vue'),
            }
         ]
        },
      
        /*----------- 上片机 ----------------*/
      {
@@ -146,6 +134,32 @@
            }
          ]
        },
        /*----------- 用户管理 ----------------*/
        {
        path: 'User',
        name: 'userlist',
        component: () => import('../views/User/userlist.vue'),
        children:[
          {
            path: '/User/userlist',
            name: 'userlist',
            component: () => import('../views/User/userlist.vue')
          },
        ]
        },
        /*----------- 权限管理 ----------------*/
        {
        path: 'Permissions',
        name: 'permissionslist',
        component: () => import('../views/Permissions/permissionslist.vue'),
        children:[
          {
            path: '/Permissions/permissionslist',
            name: 'permissionslist',
            component: () => import('../views/Permissions/permissionslist.vue')
          },
        ]
        },
        {
          path: '',
          redirect:'/Slicecage/slicecage'
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -66,7 +66,7 @@
      <div style="margin-left: 150px;font-size: 20px;">版图编号:1</div>
    </div>
    <div>
            <div id="boxa" style="width: 700px;height: 220px;margin-left: 260px;">
            <div id="boxa" style="width: 700px;height: 220px;margin-left: 300px;">
              <div style="margin-top: 85px;"> NG202405060798A01-1</div> 
            <div> 500×1500</div>
          </div>
UI-Project/src/views/Returns/CreateReturns.vue
File was deleted
UI-Project/src/views/Returns/ReturnsReport.vue
File was deleted
UI-Project/src/views/Returns/SelectDeliveryList.vue
File was deleted
UI-Project/src/views/Returns/SelectReturns.vue
File was deleted
UI-Project/src/views/Returns/returns.vue
@@ -233,7 +233,7 @@
      </div>
    </el-card>
      <div id="parent">
        <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 130px;">
        <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 510px;">
        <el-button style="margin-top: -830px;margin-left: -40px;"  size="mini" id="searchButton" @click="add = true">添加原片</el-button>
        <el-button style="margin-top: -10px;margin-left: -80px;"  size="mini" id="searchButton"  @click="adda = true">添加原片</el-button>
        <!-- <div id="overlay" v-show="state"></div> -->
@@ -404,6 +404,7 @@
}
#parent{
  position: relative;
  /* margin-left: 250px; */
}
#overlay{
  position: absolute;
UI-Project/src/views/StockBasicData/Create.vue
File was deleted
UI-Project/src/views/StockBasicData/Details.vue
File was deleted
UI-Project/src/views/StockBasicData/Payment.vue
File was deleted
UI-Project/src/views/StockBasicData/Return.vue
File was deleted
UI-Project/src/views/StockBasicData/Storage.vue
File was deleted
UI-Project/src/views/TL/Temperedlayout/SelectLayout.vue
File was deleted
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
File was deleted