From 2d69236d4361213ebd98b57aca4f36b6d299754f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 15 十一月 2023 09:09:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/WrkMastSta.java            |  169 ++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/utils/RouteUtils.java             |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   35 +++++
 src/main/java/com/zy/core/MainProcess.java                  |    5 
 src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java      |   36 ++++++
 src/main/resources/mapper/WrkMastStaMapper.xml              |   58 +++++++++
 6 files changed, 299 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
new file mode 100644
index 0000000..75e3427
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -0,0 +1,169 @@
+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_wrk_mast_sta")
+public class WrkMastSta implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鍙�")
+    @TableField("wrk_no")
+    private Long wrkNo;
+
+    /**
+     * 宸ヤ綔妗e紑濮嬩綅缃�
+     */
+    @ApiModelProperty(value= "宸ヤ綔妗e紑濮嬩綅缃�")
+    @TableField("wrk_start")
+    private Integer wrkStart;
+
+    /**
+     * 宸ヤ綔妗g粨鏉熶綅缃�
+     */
+    @ApiModelProperty(value= "宸ヤ綔妗g粨鏉熶綅缃�")
+    @TableField("wrk_end")
+    private Integer wrkEnd;
+
+    /**
+     * 灏忚溅鎺ヨ揣浣嶇疆
+     */
+    @ApiModelProperty(value= "灏忚溅鎺ヨ揣浣嶇疆")
+    @TableField("sta_start")
+    private Integer staStart;
+
+    /**
+     * 灏忚溅鏀捐揣浣嶇疆
+     */
+    @ApiModelProperty(value= "灏忚溅鏀捐揣浣嶇疆")
+    @TableField("sta_end")
+    private Integer staEnd;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 绫诲瀷 0:闈炵┖  1:绌烘澘
+     */
+    @ApiModelProperty(value= "绫诲瀷 0:闈炵┖  1:绌烘澘")
+    private Integer type;
+
+    /**
+     * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�")
+    @TableField("wrk_sts")
+    private Integer wrkSts;
+
+    /**
+     * 琛屽彿
+     */
+    @ApiModelProperty(value= "琛屽彿")
+    @TableField("line_number")
+    private Integer lineNumber;
+
+    /**
+     * 宸ヤ綔绫诲瀷
+     */
+    @ApiModelProperty(value= "宸ヤ綔绫诲瀷")
+    @TableField("wrk_type")
+    private Integer wrkType;
+
+    /**
+     * 鏍囪鏃堕棿
+     */
+    @ApiModelProperty(value= "鏍囪鏃堕棿")
+    @TableField("bign_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date bignTime;
+
+    public WrkMastSta() {}
+
+    public WrkMastSta(Long wrkNo, Integer wrkStart, Integer wrkEnd, Integer staStart, Integer staEnd, Date createTime, Date updateTime, Integer type, Integer wrkSts, Integer lineNumber, Integer wrkType, Date bignTime) {
+        this.wrkNo = wrkNo;
+        this.wrkStart = wrkStart;
+        this.wrkEnd = wrkEnd;
+        this.staStart = staStart;
+        this.staEnd = staEnd;
+        this.createTime = createTime;
+        this.updateTime = updateTime;
+        this.type = type;
+        this.wrkSts = wrkSts;
+        this.lineNumber = lineNumber;
+        this.wrkType = wrkType;
+        this.bignTime = bignTime;
+    }
+
+//    WrkMastSta wrkMastSta = new WrkMastSta(
+//            null,    // 宸ヤ綔鍙穂闈炵┖]
+//            null,    // 宸ヤ綔妗e紑濮嬩綅缃甗闈炵┖]
+//            null,    // 宸ヤ綔妗g粨鏉熶綅缃甗闈炵┖]
+//            null,    // 灏忚溅鎺ヨ揣浣嶇疆[闈炵┖]
+//            null,    // 灏忚溅鏀捐揣浣嶇疆[闈炵┖]
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼鏃堕棿
+//            null,    // 绫诲瀷 0:闈炵┖  1:绌烘澘[闈炵┖]
+//            null,    // 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴怺闈炵┖]
+//            null,    // 琛屽彿[闈炵┖]
+//            null,    // 宸ヤ綔绫诲瀷[闈炵┖]
+//            null    // 鏍囪鏃堕棿
+//    );
+
+    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);
+    }
+
+    public String getBignTime$(){
+        if (Cools.isEmpty(this.bignTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.bignTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
new file mode 100644
index 0000000..e55e237
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -0,0 +1,36 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.WrkMastSta;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+@Mapper
+@Repository
+public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> {
+
+    /*
+    * 鑾峰彇鎵�鏈変换鍔℃暟閲�
+    * */
+    Integer selectAllWrkCount();
+
+    /*
+    * 鑾峰彇鎵�鏈夊彲鎵ц浠诲姟
+    * */
+    List<WrkMastSta> selectAllWrkMastStaList();
+
+    /*
+    * 鏌ヨ鎸囧畾宸ヤ綔鍙蜂换鍔�
+    * */
+    WrkMastSta selectByWrkNo(@Param("workNo") Integer workNo);
+
+    /*
+    * 鏌ヨ涓嶅共娑夌殑鍙墽琛屼换鍔�
+    * */
+    WrkMastSta selectNoInterfere(@Param("staStarts") List<Integer> staStarts,@Param("staEnds") List<Integer> staEnds);
+
+}
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 832d87b..8bfa67d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,10 +8,7 @@
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.mapper.BasCrnErrorMapper;
-import com.zy.asrs.mapper.BasRgvErrMapper;
-import com.zy.asrs.mapper.WaitPakinMapper;
-import com.zy.asrs.mapper.WrkMastMapper;
+import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
@@ -96,6 +93,8 @@
     private BasRgvPathService basRgvPathService;
     @Autowired
     private RedisUtil redisUtil;
+    @Autowired
+    private WrkMastStaMapper wrkMastStaMapper;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -3806,4 +3805,32 @@
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         }
     }
+
+    /**
+     *  瀹屾垚灏忚溅浠诲姟
+     */
+    public synchronized void rgvCompleteWrkMastSta() {
+
+    }
+    /**
+     * 鎵ц灏忚溅鎼繍浠诲姟
+     */
+    public synchronized void rgvRunWrkMastSta() {
+        Integer signCount = 0;
+        for (RgvSlave rgvSlave:slaveProperties.getRgv()){
+
+            if (true){//rgv鍙敤
+                signCount++;
+            }
+        }
+        List<WrkMastSta> wrkMastStas = wrkMastStaMapper.selectAllWrkMastStaList();
+        for (WrkMastSta wrkMastSta : wrkMastStas) {
+            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+            if (true) {
+
+            }
+        }
+    }
+
+
 }
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 2816909..d0514e8 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -37,7 +37,7 @@
     public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){
         boolean sign = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupStart) < TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupEnd);
         List<Integer> result = new ArrayList<>();
-        List<Integer> groupRoute = null;
+        List<Integer> groupRoute = new ArrayList<>();
         if (sign){
             groupRoute = TRACK_POSITION_POSITIVE_SEQUENCE;
         }else {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 91eb879..58f6bd6 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -77,7 +77,10 @@
 //                    // 鍑哄簱  ===>>  RGV鍑哄簱绔欏埌绯荤粺鍑哄簱绔�
 //                    mainService.rgvOutDStnToOutStn();
 
-
+                    //瀹屾垚灏忚溅浠诲姟
+                    mainService.rgvCompleteWrkMastSta();
+                    //鎵ц灏忚溅鎼繍浠诲姟
+                    mainService.rgvRunWrkMastSta();
 
 
                     /////////////////////////////////////RGV璋冨害/////////////////////////////////////
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
new file mode 100644
index 0000000..0a12f0a
--- /dev/null
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -0,0 +1,58 @@
+<?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.WrkMastStaMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastSta">
+        <id column="id" property="id" />
+        <result column="wrk_no" property="wrkNo" />
+        <result column="wrk_start" property="wrkStart" />
+        <result column="wrk_end" property="wrkEnd" />
+        <result column="sta_start" property="staStart" />
+        <result column="sta_end" property="staEnd" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="type" property="type" />
+        <result column="wrk_sts" property="wrkSts" />
+        <result column="line_number" property="lineNumber" />
+        <result column="wrk_type" property="wrkType" />
+        <result column="bign_time" property="bignTime" />
+
+    </resultMap>
+
+    <select id="selectAllWrkMastStaList" resultMap="BaseResultMap">
+        select * from asr_wrk_mast_sta and wrk_sts=0 order by line_number,id
+    </select>
+
+    <select id="selectByWrkNo" resultMap="BaseResultMap">
+        select top 1 * from asr_wrk_mast_sta
+        where 1=1
+        and wrk_no = #{wrkNo}
+    </select>
+
+    <select id="selectNoInterfere" resultMap="BaseResultMap">
+        select top 1 * from asr_wrk_mast_sta
+        where 1=1
+        and (sta_start in
+        <foreach item="item" collection="staStarts" index="index" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        or sta_start = 0
+        )
+        and (sta_end in
+        <foreach item="item" collection="staEnds" index="index" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        or sta_end = 0
+        )
+        and wrk_sts=0
+        order by line_number,id
+    </select>
+
+    <select id="selectAllWrkCount" resultMap="Integer">
+        select count(1) from asr_wrk_mast_sta
+    </select>
+
+
+
+</mapper>

--
Gitblit v1.9.1