懒羊羊
2024-01-26 49138a936668c30fbb4063e5d0bb518a400e6c39
工位终端
已修改3个文件
129 ■■■■■ 文件已修改
jcdm-main/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/kb/stationTerminal/index.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/pom.xml
@@ -90,6 +90,12 @@
            <artifactId>stack-server</artifactId>
            <version>0.3.6</version>
        </dependency>
        <!-- 系统模块-->
        <dependency>
            <groupId>com.jcdm</groupId>
            <artifactId>jcdm-framework</artifactId>
        </dependency>
    </dependencies>
</project>
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
@@ -1,5 +1,7 @@
package com.jcdm.main.da.opcuaconfig.cert;
import com.jcdm.framework.websocket.WebSocketServer;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
import com.jcdm.main.da.opcuaconfig.client.ClientHandler;
@@ -13,14 +15,17 @@
import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
import javax.websocket.Session;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.jcdm.main.da.opcuaconfig.client.ClientHandler.readValues;
@Slf4j
public class MethodName {
    Map<String, Session> map = WebSocketUsers.getUsers();
    private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class);
    private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class);
    private IDaPassingStationCollectionService daPassingStationCollectionService = BeanUtils.getBean(IDaPassingStationCollectionService.class);
@@ -47,6 +52,7 @@
                PassingStationCollection.setInboundTime(new Date());
                daPassingStationCollectionService.insertDaPassingStationCollection(PassingStationCollection);
                log.info("节点:{},响应结果:{}", node1.getIdentifier(),out1);
                WebSocketUsers.sendMessageToUserByText(map.get(parts[1]), "IN");
                break;
            case "2":   //请求记录工位数据
                List<DaCollectionParamConf> b;
@@ -83,6 +89,7 @@
                //更新PLC节点状态
                NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build();
                Boolean out2=clientHandler.write(node2);
                WebSocketUsers.sendMessageToUserByText(map.get(parts[1]), "OUT");
                log.info("节点:{},响应结果:{}", node2.getIdentifier(),out2);
                break;
            default:
jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -81,6 +81,17 @@
             <span style="display: none">{{cakeLamp.release}}</span>
             <span>&nbsp;允许放行</span>
           </el-col>
         </el-row>
         <el-row style="margin-top: 20px">
           <el-col :span="12">
             <el-input v-model="serialPortContent" style="width: 150px;" placeholder="请输入内容"></el-input>
           </el-col>
           <el-col :span="12">
             <el-button @click="serialPortMethod" type="primary">串口获取数据</el-button>
           </el-col>
         </el-row>
       </el-card>
@@ -139,6 +150,7 @@
  name: "stationTerminal",
  data() {
    return {
      serialPortContent: '',
      // 查询参数
      formulaChildParams: {
        pageNum: 1,
@@ -183,7 +195,7 @@
      },
      content: '',
      activeName: 'first',
      url: "ws://192.168.10.196:8080/websocket/message/",
      url: "ws://192.168.10.184:8080/websocket/message/",
      message: "",
      text_content: "",
      ws: null,
@@ -204,11 +216,13 @@
  },
  methods: {
    serialPortMethod(){
    },
    /** 查询配方配置子信息列表 */
    getListFormulaChild() {
      this.formulaChildParams.productCode = this.workpieceInformation.productCode
      listFormulaChild(this.formulaChildParams).then(response => {
        console.log(this.formulaChildList)
        this.formulaChildList = response.rows;
      });
    },
@@ -224,12 +238,14 @@
      this.headContent.sfcCode = this.content
      this.queryParams.sfcCode = this.content
      this.getList()
      this.getListFormulaChild()
      // this.getListFormulaChild()
      this.cakeLamp.scanFinish = 1
      this.cakeLamp.startWork = 1
    },
    /** 查询报工记录 表列表 */
    getList() {
      listWorkReport(this.queryParams).then(response => {
    async getList() {
      await listWorkReport(this.queryParams).then(response => {
        let rowsData = response.rows[0];
        this.workpieceInformation.workOrderCode = rowsData.workOrderCode;
        this.workpieceInformation.productCode = rowsData.productCode;
@@ -239,46 +255,50 @@
          this.workpieceInformation.beat++;
        }, 1000);
      });
      this.getListFormulaChild()
    },
    allowRelease(){
      clearInterval(this.timer);
      this.$message('保存节拍为'+this.workpieceInformation.beat+'秒');
    },
    /** 查询工位终端配置列表 */
    async getStationConfList() {
      await getIpv4().then(response => {
        this.StationConfQueryParams.ipAddress = response.msg
        console.log('查询到本工位IP为'+this.StationConfQueryParams.ipAddress)
      });
      listStationConf(this.StationConfQueryParams).then(response => {
        let rows = response.rows[0]
        if(response.rows.length===0){
          this.$message('该工位没有配置IP,请联系管理员配置IP');
          return
        }
        this.headContent.processesName = rows.processesName
        this.headContent.processesCode = rows.processesCode
        console.log('设置工位编码'+this.headContent.processesCode)
      });
    },
    connectWebsocket() {
      console.log('websocket连接工位为'+this.headContent.processesCode)
      const wsuri = this.url + this.headContent.processesCode;
      this.ws = new WebSocket(wsuri);
      const self = this;
      this.ws.onopen = function (event) {
        // self.text_content = self.text_content + "已经打开连接!" + "\n";
        this.$message('websocket连接成功!');
      };
      this.ws.onmessage = function (event) {
        self.text_content = event.data + "\n";
        console.log(event.data)
        if(event.data === "1"){
          self.cakeLamp.InPlace = "1"
        }
      };
    },
    // async getStationConfList() {
    //   await getIpv4().then(response => {
    //     this.StationConfQueryParams.ipAddress = response.msg
    //     console.log('查询到本工位IP为'+this.StationConfQueryParams.ipAddress)
    //   });
    //   listStationConf(this.StationConfQueryParams).then(response => {
    //     let rows = response.rows[0]
    //     if(response.rows.length===0){
    //       this.$message('该工位没有配置IP,请联系管理员配置IP');
    //       return
    //     }
    //     this.headContent.processesName = rows.processesName
    //     this.headContent.processesCode = rows.processesCode
    //     console.log('设置工位编码'+this.headContent.processesCode)
    //
    //   });
    // },
    // connectWebsocket() {
    //   console.log('websocket连接工位为'+this.headContent.processesCode)
    //   const wsuri = this.url + this.headContent.processesCode;
    //   this.ws = new WebSocket(wsuri);
    //   const self = this;
    //   this.ws.onopen = function (event) {
    //     // self.text_content = self.text_content + "已经打开连接!" + "\n";
    //     this.$message('websocket连接成功!');
    //   };
    //   this.ws.onmessage = function (event) {
    //     self.text_content = event.data + "\n";
    //     console.log(event.data)
    //     if(event.data === "IN"){
    //       self.cakeLamp.InPlace = "1"
    //     }else if(event.data === "OUT"){
    //       self.cakeLamp.outRsSign = "1"
    //     }
    //   };
    // },
    exit() {
      if (this.ws) {
        this.ws.close();
@@ -313,16 +333,28 @@
      this.ws = new WebSocket(wsuri);
      const self = this;
      this.ws.onopen = function (event) {
        // self.text_content = self.text_content + "已经打开连接!" + "\n";
        this.$message('websocket连接成功!');
      };
      this.ws.onmessage = function (event) {
        self.text_content = event.data + "\n";
        console.log(event.data)
        if(event.data === "1"){
          self.cakeLamp.InPlace = "1"
        if(event.data === "IN"){
          self.cakeLamp.InPlace = 1
        }else if(event.data === "OUT"){
          self.cakeLamp.release = 1
          setTimeout(() => {
            this.resetting()
          }, 2000); // 延时2秒触发
        }
      };
    },
    resetting() {
      this.cakeLamp = {
        InPlace: 0,
        release: 0,
        startWork: 0,
        scanFinish: 0,
      }
    }
  }
}