src/main/java/com/zy/asrs/controller/ConsoleController.java
File was renamed from src/main/java/com/zy/client/controller/ConsoleController.java @@ -1,12 +1,12 @@ package com.zy.client.controller; package com.zy.asrs.controller; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; import com.zy.core.properties.SystemProperties; import com.zy.client.domain.enums.SiteStatusType; import com.zy.client.domain.param.SystemSwitchParam; import com.zy.client.domain.vo.*; 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 org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; src/main/java/com/zy/asrs/controller/CrnController.java
File was renamed from src/main/java/com/zy/client/controller/CrnController.java @@ -1,12 +1,12 @@ package com.zy.client.controller; package com.zy.asrs.controller; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.client.domain.enums.CrnStatusType; import com.zy.client.domain.param.CrnOperatorParam; import com.zy.client.domain.vo.CommandLogVo; import com.zy.client.domain.vo.CrnMsgTableVo; import com.zy.client.domain.vo.CrnStateTableVo; import com.zy.asrs.domain.enums.CrnStatusType; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.domain.vo.CommandLogVo; import com.zy.asrs.domain.vo.CrnMsgTableVo; import com.zy.asrs.domain.vo.CrnStateTableVo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; src/main/java/com/zy/asrs/controller/SiteController.java
File was renamed from src/main/java/com/zy/client/controller/SiteController.java @@ -1,9 +1,9 @@ package com.zy.client.controller; package com.zy.asrs.controller; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.client.domain.vo.PlcErrorTableVo; import com.zy.client.domain.vo.SiteTableVo; import com.zy.asrs.domain.vo.PlcErrorTableVo; import com.zy.asrs.domain.vo.SiteTableVo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; src/main/java/com/zy/asrs/domain/enums/CrnStatusType.java
File was renamed from src/main/java/com/zy/client/domain/enums/CrnStatusType.java @@ -1,4 +1,4 @@ package com.zy.client.domain.enums; package com.zy.asrs.domain.enums; /** * 堆垛机状态枚举 src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
File was renamed from src/main/java/com/zy/client/domain/enums/SiteStatusType.java @@ -1,4 +1,4 @@ package com.zy.client.domain.enums; package com.zy.asrs.domain.enums; /** src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
File was renamed from src/main/java/com/zy/client/domain/param/CrnOperatorParam.java @@ -1,4 +1,4 @@ package com.zy.client.domain.param; package com.zy.asrs.domain.param; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/domain/param/SystemSwitchParam.java
File was renamed from src/main/java/com/zy/client/domain/param/SystemSwitchParam.java @@ -1,4 +1,4 @@ package com.zy.client.domain.param; package com.zy.asrs.domain.param; /** * 系统运行状态操作入参 src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/BarcodeDataVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * 扫码器实时数据视图对象 src/main/java/com/zy/asrs/domain/vo/CommandLogVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/CommandLogVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/CrnDetailVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * 堆垛机详情视图对象 src/main/java/com/zy/asrs/domain/vo/CrnLatestDataVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/CrnLatestDataVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * 堆垛机最新数据视图对象 src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/CrnMsgTableVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/CrnStateTableVo.java @@ -1,6 +1,6 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; import com.zy.client.domain.enums.CrnStatusType; import com.zy.asrs.domain.enums.CrnStatusType; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/domain/vo/PlcErrorTableVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/PlcErrorTableVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/SiteDetailVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * 输送设备详情视图对象 src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/SiteLatestDataVo.java @@ -1,6 +1,6 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; import com.zy.client.domain.enums.SiteStatusType; import com.zy.asrs.domain.enums.SiteStatusType; /** * 站点最新数据视图对象 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
File was renamed from src/main/java/com/zy/client/domain/vo/SiteTableVo.java @@ -1,4 +1,4 @@ package com.zy.client.domain.vo; package com.zy.asrs.domain.vo; /** * Created by vincent on 2020-06-02 src/main/java/com/zy/asrs/service/MainService.java
New file @@ -0,0 +1,4 @@ package com.zy.asrs.service; public interface MainService { } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
New file @@ -0,0 +1,54 @@ package com.zy.asrs.service.impl; import com.core.common.Cools; 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.thread.BarcodeThread; import com.zy.core.thread.DevpThread; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * Created by vincent on 2020/8/6 */ @Service("mainService") public class MainServiceImpl { @Autowired private SlaveProperties slaveProperties; /** * 入库站,根据条码扫描生成入库工作档,工作状态1 */ @Transactional public void generateStoreWrkFile() { // 根据输送线plc遍历 for (DevpSlave devp : slaveProperties.getDevp()) { // 遍历入库口 for (DevpSlave.InSta inSta : devp.getInSta()) { // 获取条码 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); String barcode = barcodeThread.getBarcode(); // 获取入库站信息 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInreq1() && !staProtocol.isEmptyMk() && staProtocol.isInreq1() && staProtocol.getWorkNO() ==0 && !Cools.isEmpty(barcode)) { // 生成工作档 } } } } } src/main/java/com/zy/core/MainProcess.java
@@ -1,8 +1,10 @@ package com.zy.core; import com.zy.asrs.service.impl.MainServiceImpl; import com.zy.core.properties.SystemProperties; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; @@ -16,6 +18,8 @@ @Component public class MainProcess { @Autowired private MainServiceImpl mainService; // 所属线程 private Thread thread; @@ -30,8 +34,8 @@ if (SystemProperties.WCS_RUNNING_STATUS.get()) { continue; } // 入库站,根据条码扫描生成入库工作档,工作状态1,无设备命令下发 mainService.generateStoreWrkFile(); src/main/java/com/zy/core/model/DevpSlave.java
New file @@ -0,0 +1,28 @@ package com.zy.core.model; import com.zy.core.Slave; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.ArrayList; import java.util.List; /** * Created by vincent on 2020/8/6 */ @EqualsAndHashCode(callSuper = true) @Data public class DevpSlave extends Slave { private List<InSta> inSta = new ArrayList<>(); @Data public static class InSta { private Integer staNo; private Integer barcode; } } src/main/java/com/zy/core/model/protocol/StaProtocol.java
New file @@ -0,0 +1,34 @@ package com.zy.core.model.protocol; import lombok.Data; /** * 输送线plc单个站点详细信息 * Created by vincent on 2020/8/6 */ @Data public class StaProtocol { // 自动 private boolean autoing; // 有物 private boolean loading; // 可入 private boolean inEnable; // 可出 private boolean outEnable; // 空板信号 private boolean emptyMk; // 需求1 private boolean inreq1; // 工作号 private Integer workNO; } src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -1,6 +1,7 @@ package com.zy.core.properties; import com.zy.core.Slave; import com.zy.core.model.DevpSlave; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -18,7 +19,7 @@ private List<Slave> crn = new ArrayList<>(); private List<Slave> devp = new ArrayList<>(); private List<DevpSlave> devp = new ArrayList<>(); private List<Slave> barcode = new ArrayList<>(); src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -2,9 +2,6 @@ import com.zy.core.Slave; import com.zy.core.ThreadHandler; import com.zy.core.cache.MessageQueue; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -17,6 +14,7 @@ public class BarcodeThread implements Runnable, ThreadHandler { private Slave slave; private String barcode; public BarcodeThread(Slave slave) { this.slave = slave; @@ -28,10 +26,8 @@ public void run() { while (true) { try { Task task = MessageQueue.poll(SlaveType.Barcode, slave.getId()); if (task != null) { System.out.println("任务"+task.getId()); } // Task task = MessageQueue.poll(SlaveType.Barcode, slave.getId()); barcode = "10001136"; Thread.sleep(3000); } catch (Exception e) { e.printStackTrace(); src/main/java/com/zy/core/thread/DevpThread.java
@@ -8,8 +8,12 @@ import com.zy.core.cache.MessageQueue; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; import com.zy.core.model.protocol.StaProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * 输送线线程 @@ -21,6 +25,7 @@ private Slave slave; private SiemensS7Net siemensS7Net; private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); public DevpThread(Slave slave) { this.slave = slave; src/main/resources/application.yml
@@ -45,6 +45,10 @@ id: 1 ip: 192.168.1.1 port: 8888 # 入库口 inSta[0]: staNo: 2 barcode: ${wcs-slave.barcode[0].id} # 条码扫描仪 barcode[0]: id: 1