自动化立体仓库 - WCS系统
#
luxiaotao1123
2020-08-14 84cffa40e13a64d8b91e393fd44e09c973d7ee99
#
5个文件已修改
81 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/DevpThread.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -3,19 +3,24 @@
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.core.properties.SystemProperties;
import com.zy.asrs.domain.enums.SiteStatusType;
import com.zy.asrs.domain.param.SystemSwitchParam;
import com.zy.asrs.domain.vo.*;
import com.zy.common.CodeRes;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.DevpThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -25,6 +30,9 @@
@RestController
@RequestMapping("/console")
public class ConsoleController {
    @Autowired
    private SlaveProperties slaveProperties;
    public static AtomicInteger integer = new AtomicInteger();
@@ -117,12 +125,19 @@
    @ManagerAuth(memo = "站点实时数据")
    public R siteLatestData(){
        List<SiteLatestDataVo> vos = new ArrayList<>();
        for (int i = 1; i<=32; i++){
        Map<Integer, StaProtocol> stations = new HashMap<>();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            if (null != devpThread) {
                stations.putAll(devpThread.getStation());
            }
        }
        for (Map.Entry<Integer, StaProtocol> entry : stations.entrySet()) {
            SiteLatestDataVo vo = new SiteLatestDataVo();
            vo.setSiteId(String.valueOf(i));
            vo.setWorkNo("9998");
            SiteStatusType type = SiteStatusType.values()[new Random().nextInt(SiteStatusType.values().length)];
            vo.setSiteStatus(type);
            StaProtocol staProtocol = entry.getValue();
            vo.setSiteId(String.valueOf(entry.getKey())); // 站点编号
            vo.setWorkNo(staProtocol.getWorkNo()); // 工作号
            vo.setSiteStatus(SiteStatusType.process(staProtocol));  // 状态
            vos.add(vo);
        }
        return R.ok().add(vos);
src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
@@ -1,6 +1,8 @@
package com.zy.asrs.domain.enums;
import com.zy.core.model.protocol.StaProtocol;
/**
 * 站点状态枚举
 */
@@ -8,15 +10,37 @@
    // 自动
    SITE_AUTO,
    // 非自动/收到
    // 非自动
    SITE_UNAUTO,
    // 自动+有物+ID
    SITE_AUTO_RUN_ID,
    // 自动+有物
    SITE_AUTO_RUN,
    // 自动+有物+ID
    // 自动+ID
    SITE_AUTO_ID,
    ;
    public static SiteStatusType process(StaProtocol staProtocol){
        if (staProtocol == null) {
            return null;
        }
        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) {
            return SITE_AUTO_RUN_ID;
        }
        if (staProtocol.isAutoing() && staProtocol.isLoading()) {
            return SITE_AUTO_RUN;
        }
        if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0) {
            return SITE_AUTO_ID;
        }
        if (staProtocol.isAutoing()) {
            return SITE_AUTO;
        }
        if (!staProtocol.isAutoing()) {
            return SITE_UNAUTO;
        }
        return null;
    }
}
src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
@@ -12,7 +12,7 @@
    private String siteId;
    // 工作号
    private String workNo;
    private Short workNo;
    // 站点状态
    private SiteStatusType siteStatus;
@@ -25,11 +25,11 @@
        this.siteId = siteId;
    }
    public String getWorkNo() {
    public Short getWorkNo() {
        return workNo;
    }
    public void setWorkNo(String workNo) {
    public void setWorkNo(Short workNo) {
        this.workNo = workNo;
    }
src/main/java/com/zy/core/thread/DevpThread.java
@@ -142,8 +142,8 @@
        DevpThread devpThread = new DevpThread(slave);
        devpThread.read();
        // 写
        StaProtocol staProtocol = devpThread.getStation().get(1);
        staProtocol.setWorkNo((short) 888);
        StaProtocol staProtocol = devpThread.getStation().get(2);
        staProtocol.setWorkNo((short) 0);
        staProtocol.setStaNo((short) 1001);
        staProtocol.setAutoing(true);
        staProtocol.setEmptyMk(true);
src/main/webapp/views/console.html
@@ -183,6 +183,7 @@
                <button class="item">34</button>
                <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </div>
            <span class="row-no">2#</span>
        </div>
    </div>
</main>
@@ -494,7 +495,14 @@
                if (res.code === 200){
                    var sites = res.data;
                    for (var i = 0; i < sites.length; i++){
                        $("#site-"+sites[i].siteId).attr("class", "site " + sites[i].siteStatus);
                        var siteEl = $("#site-"+sites[i].siteId);
                        siteEl.attr("class", "site " + sites[i].siteStatus);
                        if (sites[i].workNo != null && sites[i].workNo>0) {
                            siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]");
                        } else {
                            siteEl.html(sites[i].siteId);
                        }
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";