From 462e0f4475665ec5596965bfb2a91b19badba446 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 09 三月 2022 14:40:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/BasSteService.java          |   10 +
 src/main/java/com/zy/core/thread/SteThread.java               |  137 +++++++++++-----------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java   |    2 
 src/main/java/com/zy/asrs/entity/BasSte.java                  |  134 ++++++++++++++++++++++
 src/main/java/com/zy/asrs/mapper/BasSteMapper.java            |   12 ++
 src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java |   30 +++++
 src/main/resources/mapper/BasSteMapper.xml                    |   24 ++++
 7 files changed, 279 insertions(+), 70 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasSte.java b/src/main/java/com/zy/asrs/entity/BasSte.java
new file mode 100644
index 0000000..a34d62f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasSte.java
@@ -0,0 +1,134 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("asr_bas_ste")
+public class BasSte implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 绌挎杞﹀彿
+     */
+    @ApiModelProperty(value= "绌挎杞﹀彿")
+    @TableId(value = "ste_no", type = IdType.INPUT)
+    @TableField("ste_no")
+    private Integer steNo;
+
+    /**
+     * 鍙叆
+     */
+    @ApiModelProperty(value= "鍙叆")
+    @TableField("in_enable")
+    private String inEnable;
+
+    /**
+     * 鍙嚭
+     */
+    @ApiModelProperty(value= "鍙嚭")
+    @TableField("out_enable")
+    private String outEnable;
+
+    /**
+     * 鐘舵��
+     */
+    @ApiModelProperty(value= "鐘舵��")
+    @TableField("ste_sts")
+    private Integer steSts;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @ApiModelProperty(value= "浠诲姟鍙�")
+    @TableField("wrk_no")
+    private Integer wrkNo;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @ApiModelProperty(value= "鍫嗗灈鏈哄彿")
+    @TableField("crn_no")
+    private Integer crnNo;
+
+    /**
+     * 閿欒鐮�
+     */
+    @ApiModelProperty(value= "閿欒鐮�")
+    @TableField("ste_err")
+    private Long steErr;
+
+    /**
+     * 鏍囪
+     */
+    @ApiModelProperty(value= "鏍囪")
+    @TableField("pak_mk")
+    private String pakMk;
+
+    @ApiModelProperty(value= "")
+    private Integer status;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasSteMapper.java b/src/main/java/com/zy/asrs/mapper/BasSteMapper.java
new file mode 100644
index 0000000..02615a9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasSteMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.BasSte;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasSteMapper extends BaseMapper<BasSte> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasSteService.java b/src/main/java/com/zy/asrs/service/BasSteService.java
new file mode 100644
index 0000000..922d967
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasSteService.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.BasSte;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface BasSteService extends IService<BasSte> {
+
+    BasSte findByCrnNo(Integer crnNo);
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
new file mode 100644
index 0000000..5faf24b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.mapper.BasSteMapper;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasSteService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service("basSteService")
+public class BasSteServiceImpl extends ServiceImpl<BasSteMapper, BasSte> implements BasSteService {
+
+    @Override
+    public BasSte findByCrnNo(Integer crnNo) {
+        List<BasSte> basStes = this.selectList(new EntityWrapper<BasSte>().eq("crn_no", crnNo));
+        if (Cools.isEmpty(basStes)) {
+            return null;
+        }
+        if (basStes.size() > 1) {
+            log.warn("鐩墠鏈墈}鍙扮┛姊溅褰掑睘浜巤}鍙峰爢鍨涙満!!!", basStes.size(), crnNo);
+        }
+        return basStes.get(0);
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 7eca156..ff465be 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -85,6 +85,8 @@
     private BasErrLogService basErrLogService;
     @Autowired
     private BasCrnErrorMapper basCrnErrorMapper;
+    @Autowired
+    private BasSteService basSteService;
     @Value("${wms.url}")
     private String wmsUrl;
 
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index b186098..6cca57c 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -4,19 +4,15 @@
 import HslCommunication.Core.Types.OperateResultExOne;
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
-import com.alibaba.fastjson.JSON;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasCrnOpt;
 import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.service.BasCrnOptService;
 import com.zy.asrs.service.BasCrnpService;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.enums.CrnStatusType;
-import com.zy.core.enums.CrnTaskModeType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.SteSlave;
 import com.zy.core.model.Task;
@@ -158,16 +154,16 @@
                 if (null == steProtocol) {
                     steProtocol = new SteProtocol();
                 }
-                steProtocol.setMode(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));
-                steProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));
-                steProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 4));
-                steProtocol.setBay(siemensS7Net.getByteTransform().TransInt16(result.Content, 6));
-                steProtocol.setLevel(siemensS7Net.getByteTransform().TransInt16(result.Content, 8));
-                steProtocol.setForkPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 10));
-                steProtocol.setLiftPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 12));
-                steProtocol.setWalkPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 14));
-                steProtocol.setLoaded(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));
-                steProtocol.setAlarm(siemensS7Net.getByteTransform().TransInt16(result.Content, 18));
+//                steProtocol.setMode(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));
+//                steProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));
+//                steProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 4));
+//                steProtocol.setBay(siemensS7Net.getByteTransform().TransInt16(result.Content, 6));
+//                steProtocol.setLevel(siemensS7Net.getByteTransform().TransInt16(result.Content, 8));
+//                steProtocol.setForkPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 10));
+//                steProtocol.setLiftPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 12));
+//                steProtocol.setWalkPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 14));
+//                steProtocol.setLoaded(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));
+//                steProtocol.setAlarm(siemensS7Net.getByteTransform().TransInt16(result.Content, 18));
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
@@ -175,7 +171,7 @@
                 if (steProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
                     if (resetFlag) {
                         SteCommand steCommand = new SteCommand();
-                        steCommand.setAckFinish((short)1);
+//                        steCommand.setAckFinish((short)1);
                         if (write(steCommand)) {
                             resetFlag = false;
                         }
@@ -209,61 +205,62 @@
      * 鍐欏叆鏁版嵁
      */
     private boolean write(SteCommand command){
-        if (null == command) {
-            log.error("绌挎杞﹀啓鍏ュ懡浠や负绌�");
-            return false;
-        }
-        command.setCrnNo(slave.getId());
-        short[] array = new short[10];
-        array[0] = command.getAckFinish();
-        array[1] = command.getTaskNo();
-        array[2] = command.getTaskMode();
-        array[3] = command.getSourcePosX();
-        array[4] = command.getSourcePosY();
-        array[5] = command.getSourcePosZ();
-        array[6] = command.getDestinationPosX();
-        array[7] = command.getDestinationPosY();
-        array[8] = command.getDestinationPosZ();
-        array[9] = command.getCommand();
-        OperateResult result = siemensS7Net.Write("D0", array);
-
-        if (command.getAckFinish() == 0) {
-            short commandFinish = 1;
-            result = siemensS7Net.Write("D9", commandFinish);
-        }
-
-        try {
-            // 鏃ュ織璁板綍
-            BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
-            BasCrnOpt basCrnOpt = new BasCrnOpt(
-                    command.getTaskNo().intValue(),    // 浠诲姟鍙�
-                    command.getCrnNo(),    // 绌挎杞闈炵┖]
-                    new Date(),    // 涓嬪彂鏃堕棿
-                    command.getTaskModeType().toString(),    // 妯″紡
-                    command.getSourcePosX().intValue(),    // 婧愭帓
-                    command.getSourcePosY().intValue(),    // 婧愬垪
-                    command.getSourcePosZ().intValue(),    // 婧愬眰
-                    null,    // 婧愮珯
-                    command.getDestinationPosX().intValue(),    // 鐩爣鎺�
-                    command.getDestinationPosY().intValue(),    // 鐩爣鍒�
-                    command.getDestinationPosZ().intValue(),    // 鐩爣灞�
-                    null,    // 鐩爣绔�
-                    null,    // 鍝嶅簲缁撴灉
-                    null,    // 淇敼鏃堕棿
-                    null    // 淇敼浜哄憳
-            );
-            bean.insert(basCrnOpt);
-        } catch (Exception ignore) {}
-
-        if (result.IsSuccess) {
-            log.info("绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
-            return true;
-        } else {
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ョ┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            log.error("鍐欏叆绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-            return false;
-        }
+        return true;
+//        if (null == command) {
+//            log.error("绌挎杞﹀啓鍏ュ懡浠や负绌�");
+//            return false;
+//        }
+//        command.setCrnNo(slave.getId());
+//        short[] array = new short[10];
+//        array[0] = command.getAckFinish();
+//        array[1] = command.getTaskNo();
+//        array[2] = command.getTaskMode();
+//        array[3] = command.getSourcePosX();
+//        array[4] = command.getSourcePosY();
+//        array[5] = command.getSourcePosZ();
+//        array[6] = command.getDestinationPosX();
+//        array[7] = command.getDestinationPosY();
+//        array[8] = command.getDestinationPosZ();
+//        array[9] = command.getCommand();
+//        OperateResult result = siemensS7Net.Write("D0", array);
+//
+//        if (command.getAckFinish() == 0) {
+//            short commandFinish = 1;
+//            result = siemensS7Net.Write("D9", commandFinish);
+//        }
+//
+//        try {
+//            // 鏃ュ織璁板綍
+//            BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
+//            BasCrnOpt basCrnOpt = new BasCrnOpt(
+//                    command.getTaskNo().intValue(),    // 浠诲姟鍙�
+//                    command.getCrnNo(),    // 绌挎杞闈炵┖]
+//                    new Date(),    // 涓嬪彂鏃堕棿
+//                    command.getTaskModeType().toString(),    // 妯″紡
+//                    command.getSourcePosX().intValue(),    // 婧愭帓
+//                    command.getSourcePosY().intValue(),    // 婧愬垪
+//                    command.getSourcePosZ().intValue(),    // 婧愬眰
+//                    null,    // 婧愮珯
+//                    command.getDestinationPosX().intValue(),    // 鐩爣鎺�
+//                    command.getDestinationPosY().intValue(),    // 鐩爣鍒�
+//                    command.getDestinationPosZ().intValue(),    // 鐩爣灞�
+//                    null,    // 鐩爣绔�
+//                    null,    // 鍝嶅簲缁撴灉
+//                    null,    // 淇敼鏃堕棿
+//                    null    // 淇敼浜哄憳
+//            );
+//            bean.insert(basCrnOpt);
+//        } catch (Exception ignore) {}
+//
+//        if (result.IsSuccess) {
+//            log.info("绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+//            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+//            return true;
+//        } else {
+//            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ョ┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+//            log.error("鍐欏叆绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+//            return false;
+//        }
     }
 
     @Override
diff --git a/src/main/resources/mapper/BasSteMapper.xml b/src/main/resources/mapper/BasSteMapper.xml
new file mode 100644
index 0000000..0dc173d
--- /dev/null
+++ b/src/main/resources/mapper/BasSteMapper.xml
@@ -0,0 +1,24 @@
+<?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.zy.asrs.mapper.BasSteMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasSte">
+        <result column="ste_no" property="steNo" />
+        <result column="in_enable" property="inEnable" />
+        <result column="out_enable" property="outEnable" />
+        <result column="ste_sts" property="steSts" />
+        <result column="wrk_no" property="wrkNo" />
+        <result column="crn_no" property="crnNo" />
+        <result column="ste_err" property="steErr" />
+        <result column="pak_mk" property="pakMk" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+
+    </resultMap>
+
+</mapper>

--
Gitblit v1.9.1