| src/main/java/com/zy/asrs/entity/BasCrnp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/TaskWrk.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/model/protocol/CrnProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/properties/SystemProperties.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -119,7 +119,7 @@ @TableField("MODI_TIME") private Date modiTime; @ApiModelProperty(value= "") @ApiModelProperty(value= "演示") @TableField("HP_MK") private String hpMk; src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -72,7 +72,7 @@ /** * 任务类型 */ @ApiModelProperty(value= "任务类型") @ApiModelProperty(value= "任务类型") // 1: 入库 2: 出库 3: 移库 4:演示 @TableField("IO_TYPE") private Integer ioType; @@ -257,6 +257,8 @@ return "手动完结"; case 9: return "出库到输送线"; case 99: return "演示"; default: return String.valueOf(this.status); } @@ -356,17 +358,6 @@ return Math.abs(day) + "天" + Math.abs(hour) + "小时" + Math.abs(min) + "分" + Math.abs(s) + "秒"; } public Integer getTargetPointConvert(){ switch (originTargetPoint){ case "11": return 11; default: return null; } } public Integer getIoTypeWms(){ switch (ioType){ case 2: @@ -375,6 +366,8 @@ return 2; case 1: return 3; case 4: return 4; default: return 0; } src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -1,5 +1,7 @@ package com.zy.asrs.entity.param; import com.zy.asrs.entity.LocMast; import com.zy.core.model.CrnSlave; import io.swagger.models.auth.In; import lombok.Data; @@ -92,6 +94,20 @@ this.targetPointSta = crnSta; }; public TaskCreateParam(CrnSlave crnSlave, LocMast locMast){ this.taskNo = locMast.getLocNo() + "-" + crnSlave.getId(); this.ioType = 4; this.barcode = locMast.getBarcode(); this.taskPriority = 1; this.startPoint = locMast.getLocNo(); this.startPointSta = crnSlave.getCrnOutStn().get(0).getStaNo(); this.targetPoint = locMast.getLocNo(); this.targetPointSta = crnSlave.getCrnInStn().get(0).getStaNo(); this.emptyContainer = "N"; this.crn = locMast.getCrnNo(); this.memo = "演示任务"; }; public static Integer convertParamIoType(String paramIoType){ switch (paramIoType){ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@ import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.TaskCreateParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.*; @@ -81,6 +82,8 @@ private CrnController crnController; @Autowired private BasDevpPositionService basDevpPositionService; @Autowired private OpenService openService; @Value("${wms.url}") private String wmsUrl; @@ -670,6 +673,7 @@ CrnSlave crnSlave = new CrnSlave(crn); if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!"); continue; } @@ -839,6 +843,7 @@ CrnSlave crn = new CrnSlave(crnSlave); if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!"); continue; } @@ -1347,6 +1352,7 @@ CrnSlave crn = new CrnSlave(crnSlave); if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!"); continue; } @@ -2677,4 +2683,125 @@ } /** * 堆垛机站出库到出库站 */ public boolean crnStnDEMOStop2() { int signHpMk = 0; for (CrnSlave crn : slaveProperties.getCrn()) { // 获取堆垛机信息 CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); if (crnProtocol == null) { continue; } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId()); continue; } if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){ signHpMk++; } } if (signHpMk == slaveProperties.getCrn().size()){ return true; } return false; } /** * 堆垛机站出库到出库站 */ public boolean crnStnDEMOStop3() { int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>().eq("io_type",4)); if (selectCount>0) { return false; } return true; } /** * 演示模式启动 */ public boolean crnStnDEMOOpen0() { for (CrnSlave crn : slaveProperties.getCrn()) { // 获取堆垛机信息 CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); if (crnProtocol == null) { continue; } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId()); continue; } if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){ continue; } return true; } return false; } /** * 演示模式启动 */ public boolean crnStnDEMOOpen1() { int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>()); if (selectCount>0) { return false; } for (CrnSlave crn : slaveProperties.getCrn()) { // 获取堆垛机信息 CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); if (crnProtocol == null) { continue; } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId()); continue; } if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "存在其它堆垛机开启演示模式!"); continue; } CrnSlave crnSlave = new CrnSlave(crn); if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!"); continue; } if (!crn.getId().equals(crnProtocol.getLaneNo())) { for (CrnSlave crnOther : slaveProperties.getCrn()) { if (crnOther.getId().equals(crnProtocol.getLaneNo())) { crnSlave.updateCrnInStn(crnOther); } } } for (String locNo : crnProtocol.getLocMastDemoList()){ LocMast locMast = locMastService.selectByLocNo(locNo); TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast); openService.taskCreate(taskCreateParam); } return true; } return false; } } src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -143,6 +143,14 @@ taskWrk.setOriginStartPoint("0"); taskWrk.setOriginTargetPoint("0"); } }else if (param.getIoType() == 4){ taskWrk.setWrkSts(11); if (!Cools.isEmpty(param.getStartPoint())) { taskWrk.setStartPoint(param.getStartPoint());//起点 taskWrk.setTargetPoint(param.getTargetPoint());//终点 taskWrk.setOriginStartPoint(param.getStartPointSta().toString()); taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString()); } } src/main/java/com/zy/core/MainProcess.java
@@ -134,24 +134,34 @@ // 系统演示模式运行状态变化 if (SystemProperties.WCS_RUNNING_STATUS_DEMO.get()) { if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){ boolean signHpMk = mainService.crnStnDEMOStop2(); if (signHpMk){ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 3; } } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){ } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){ } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){ boolean signHpMk = mainService.crnStnDEMOStop3(); if (signHpMk){ SystemProperties.WCS_RUNNING_STATUS_DEMO.set(false); SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0; } } } else { if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){ } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){ } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){ } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){ } if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){ boolean signHpMk = mainService.crnStnDEMOOpen1(); if (signHpMk){ SystemProperties.WCS_RUNNING_STATUS_DEMO.set(true); SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 2; } else { SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0; } } else { boolean signHpMk = mainService.crnStnDEMOOpen0(); if (signHpMk){ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 1; } else { SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0; } } } // 其他 ===>> LED显示器显示时间 } catch (Exception e) { src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -7,6 +7,8 @@ import com.zy.core.enums.CrnStatusType; import lombok.Data; import java.util.ArrayList; /** * Created by vincent on 2020/8/7 */ @@ -199,6 +201,10 @@ public Float yDuration; public String errCrn; public String locMastDemoCount;//测试库位数量 public ArrayList<String> locMastDemoList;//测试库位列表 public void setMode(Short mode) { this.mode = mode; this.modeType = CrnModeType.get(mode); src/main/java/com/zy/core/properties/SystemProperties.java
@@ -12,7 +12,7 @@ // 系统运行状态 public static final AtomicBoolean WCS_RUNNING_STATUS = new AtomicBoolean(Boolean.TRUE); public static final AtomicBoolean WCS_RUNNING_STATUS_DEMO = new AtomicBoolean(Boolean.TRUE); public static final Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 停止,1:运行启动中 2:运行中 3:停止中 public static Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 停止,1:运行启动中 2:运行中 3:停止中 public static final String WMS_URL = "localhost";