瀏覽代碼

定时调度通过opc ua获取机床报警信息

oyq28 1 年之前
父節點
當前提交
8e52404cab

+ 48 - 0
imcs-admin-boot/imcs-authority-server/src/main/java/com/github/zuihou/job/DashboardJob.java

@@ -6,12 +6,16 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ReflectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.zuihou.base.request.PageParams;
+import com.github.zuihou.business.centralToolMagazine.dao.ToolCostomAddressMapper;
+import com.github.zuihou.business.centralToolMagazine.entity.ToolCostomAddress;
 import com.github.zuihou.business.edgeLibrary.service.StockInfoService;
 import com.github.zuihou.business.edgeLibrary.service.impl.StockInfoServiceImpl;
 import com.github.zuihou.business.operationManagementCenter.entity.Order;
@@ -28,6 +32,7 @@ import com.github.zuihou.business.productionResourceCenter.service.ZZoneService;
 import com.github.zuihou.business.productionResourceCenter.service.impl.ZZoneServiceImpl;
 import com.github.zuihou.business.util.MsgUtil;
 import com.github.zuihou.business.websocket.WebSocketServer;
+import com.github.zuihou.common.constant.CacheKey;
 import com.github.zuihou.common.util.StringUtil;
 import com.github.zuihou.context.BaseContextConstants;
 import com.github.zuihou.context.BaseContextHandler;
@@ -91,6 +96,9 @@ public class DashboardJob {
     @Autowired
     private AAutoNodeLogMapper aAutoNodeLogMapper;
 
+    @Autowired
+    private ToolCostomAddressMapper toolCostomAddressMapper;
+
     @Autowired
     private TokenUtil tokenUtil;
 
@@ -100,6 +108,7 @@ public class DashboardJob {
     @Value("${zuihou.database.tenantDatabasePrefix}")
     private String database;
 
+
     private static Logger logger = LoggerFactory.getLogger(DashboardJob.class);
 
     @Scheduled(cron="0 0/1 * * * ?")
@@ -314,4 +323,43 @@ public class DashboardJob {
         }
     }
 
+    //成航发
+    //机床报警信息数据采集
+    @Scheduled(cron = "*/2 * * * * ?")
+    public void toolWarinCJ()  {
+        try{
+            long l = System.currentTimeMillis();
+            logger.info("成航发机床报警信息数据采集——开始:"+l);
+            BaseContextHandler.setTenant("0000");
+            Object map = msgUtil.redis_get(CacheKey.TOOL_COSTOM_ADDRESS);
+            List<String> addressList=new ArrayList<>();
+            List<ToolCostomAddress> list=null;
+            if(map == null){
+                list = toolCostomAddressMapper.getAddressList();
+                addressList=list.stream().map(ToolCostomAddress::getAddress).collect(Collectors.toList());
+                ObjectMapper objectMapper = new ObjectMapper();
+                String addressListJson = objectMapper.writeValueAsString(addressList);
+                msgUtil.redis_set(CacheKey.TOOL_COSTOM_ADDRESS , addressListJson);
+            }else{
+                ObjectMapper objectMapper = new ObjectMapper();
+                JavaType type = objectMapper.getTypeFactory().constructCollectionType(List.class, String.class);
+                addressList = objectMapper.readValue(map.toString(), type);
+            }
+            String httpserverUrl="http://127.0.0.1:8010/opcua/";
+            JSONObject jsonParam = new JSONObject();
+            jsonParam.put("ServerUrl","opc.tcp://10.161.30.246:4840");
+            jsonParam.put("Type","Collect");
+            jsonParam.put("UserName","OpcUaClient");
+            jsonParam.put("Password","12345678");
+            //jsonParam.put("Addresses",addressList);
+            logger.info("成航发机床报警信息数据采集,已请求");
+            String resultData = msgUtil.httpForPost(httpserverUrl, jsonParam.toString());
+            logger.info(resultData);
+            long l1 = System.currentTimeMillis() - l;
+            logger.info("成航发机床报警信息数据采集——结束,采集时长:"+l1);
+        }catch (Exception e){
+            logger.error(e.getMessage(), e);
+        }
+    }
+
 }

+ 15 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/dao/ToolCostomAddressMapper.java

@@ -0,0 +1,15 @@
+package com.github.zuihou.business.centralToolMagazine.dao;
+
+import com.github.zuihou.base.mapper.SuperMapper;
+import com.github.zuihou.business.centralToolMagazine.entity.TaskNodeTool;
+import com.github.zuihou.business.centralToolMagazine.entity.ToolCostomAddress;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface ToolCostomAddressMapper extends SuperMapper<ToolCostomAddress> {
+
+    List<ToolCostomAddress> getAddressList();
+}

+ 9 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/centralToolMagezine/ToolCostomAddressMapper.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.github.zuihou.business.centralToolMagazine.dao.ToolCostomAddressMapper">
+
+    <select id="getAddressList" resultType="com.github.zuihou.business.centralToolMagazine.entity.ToolCostomAddress">
+        select * from tool_costom_address
+    </select>
+
+</mapper>

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TTaskMapper.xml

@@ -454,7 +454,7 @@
             imcs_t_task itask
                 LEFT JOIN imcs_t_task_node ittn ON itask.id = ittn.task_id
                 LEFT JOIN imcs_b_bom_procedure_tray ibbp  ON ittn.procedure_id = ibbp.procedure_id
-                LEFT JOIN imcs_t_tray itt ON itt.id = ibbp.tray_id
+                LEFT JOIN imcs_m_frock_clamp itt ON itt.id = ibbp.tray_id
                 LEFT JOIN imcs_t_workpiece itw ON itw.complete_batch_no = ittn.complete_batch_no
         WHERE ittn.id = ${nodeId};
     </select>

+ 44 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/centralToolMagazine/entity/ToolCostomAddress.java

@@ -0,0 +1,44 @@
+package com.github.zuihou.business.centralToolMagazine.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("tool_costom_address")
+@ApiModel(value = "toolCostomAddress", description = "机床自定义异常地址表")
+@AllArgsConstructor
+public class ToolCostomAddress extends Entity<Long> {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "异常解释")
+    @NotNull(message = "异常解释")
+    @TableField("name")
+    private String name;
+
+    @ApiModelProperty(value = "机床plc地址")
+    @NotNull(message = "机床plc地址")
+    @TableField("address")
+    private String address;
+
+    @ApiModelProperty(value = "异常编码")
+    @NotNull(message = "异常编码")
+    @TableField("code")
+    private String code;
+
+}

+ 5 - 0
imcs-admin-boot/imcs-common/src/main/java/com/github/zuihou/common/constant/CacheKey.java

@@ -278,6 +278,11 @@ public interface CacheKey {
      */
     String MQ_ROBOT_INTERCEPT = "MQ_ROBOT_INTERCEPT";
 
+    /**
+     * 机床自定义异常地址
+     */
+    String TOOL_COSTOM_ADDRESS = "TOOL_COSTOM_ADDRESS";
+
 
     /**
      * 构建key