version/doc/AGV-RCS ͨÐÅÐÒé V1.0.xlsxBinary files differ
version/doc/AGV-RCS ͨÐÅÐÒé V1.1.xlsxBinary files differ
zy-acs-common/src/main/java/com/zy/acs/common/domain/HeightDepthDto.java
New file @@ -0,0 +1,34 @@ package com.zy.acs.common.domain; import com.zy.acs.framework.exception.CoolException; import lombok.Data; import java.io.Serializable; @Data public class HeightDepthDto implements Serializable { private static final long serialVersionUID = 1304095271854524735L; // é«åº¦ï¼mmï¼ private Short height; // 深度ï¼mmï¼ private Short depth; public HeightDepthDto() { } public HeightDepthDto(Number height, Number depth) { this.height = toShort(height); this.depth = toShort(depth); } private static Short toShort(Number value) { if (value == null) { throw new CoolException("HeightDepthDto parameter is null"); } return value.shortValue(); } } zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java
@@ -19,7 +19,9 @@ @Override public byte[] writeToBytes() { return Utils.reverse(RadixTools.shortToByte(this.height)); byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height)); byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth)); return Utils.merge(heightBytes, depthBytes); } @Override @@ -30,4 +32,7 @@ // åè´§é«åº¦ private Short height; // å货深度 private Short depth; } zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java
@@ -19,7 +19,9 @@ @Override public byte[] writeToBytes() { return Utils.reverse(RadixTools.shortToByte(this.height)); byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height)); byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth)); return Utils.merge(heightBytes, depthBytes); } @Override @@ -30,4 +32,7 @@ // åè´§é«åº¦ private Short height; // å货深度 private Short depth; } zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java
@@ -19,7 +19,9 @@ @Override public byte[] writeToBytes() { return Utils.reverse(RadixTools.shortToByte(this.height)); byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height)); byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth)); return Utils.merge(heightBytes, depthBytes); } @Override @@ -30,4 +32,7 @@ // åè´§é«åº¦ private Short height; // å货深度 private Short depth; } zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java
@@ -19,7 +19,9 @@ @Override public byte[] writeToBytes() { return Utils.reverse(RadixTools.shortToByte(this.height)); byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height)); byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth)); return Utils.merge(heightBytes, depthBytes); } @Override @@ -30,4 +32,7 @@ // åè´§é«åº¦ private Short height; // å货深度 private Short depth; } zy-acs-flow/src/page/sta/StaList.jsx
@@ -157,7 +157,7 @@ <NumberField source="rsvInCnt" label="table.field.sta.rsvInCnt" /> <NumberField source="rsvOutCnt" label="table.field.sta.rsvOutCnt" /> <NumberField source="offset" label="table.field.sta.offset" /> <NumberField source="hight" label="table.field.sta.hight" /> <NumberField source="hight" label="table.field.sta.height" /> <NumberField source="depth" label="table.field.sta.depth" /> <NumberField source="angle" label="table.field.sta.angle" /> {/* <TextField source="autoing" label="table.field.sta.autoing" /> zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java
@@ -1,6 +1,8 @@ package com.zy.acs.manager.core; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.domain.HeightDepthDto; import com.zy.acs.common.enums.AgvStatusType; import com.zy.acs.framework.common.R; import com.zy.acs.manager.core.integrate.conveyor.ConveyorStationService; @@ -9,16 +11,17 @@ import com.zy.acs.manager.core.service.PatrolService; import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.FuncStaType; import com.zy.acs.manager.manager.enums.StaReserveType; import com.zy.acs.manager.manager.enums.StatusType; import com.zy.acs.manager.manager.service.*; import com.zy.acs.manager.system.controller.BaseController; import com.zy.acs.manager.system.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; /** @@ -50,6 +53,8 @@ // private ConveyorStationService siemensConveyorStationService; @Autowired private ConveyorStationService siemensConveyorStationService; @Autowired private ConfigService configService; @RequestMapping(value = "/system/info", method = {RequestMethod.GET, RequestMethod.POST}) public R systemInfo() { @@ -58,8 +63,12 @@ @RequestMapping(value = "/system/demo", method = {RequestMethod.GET, RequestMethod.POST}) public R demo() { List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(8L, 42L); return R.ok(usedBackpacks); Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class); defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0); Double ss = 10.0; String jsonString = JSON.toJSONString(new HeightDepthDto(ss, defaultShelfDepth)); return R.ok(jsonString); } // http://localhost:8088/demo/auto/go/standby zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zy.acs.common.constant.RedisConstant; import com.zy.acs.common.domain.AgvAction; import com.zy.acs.common.domain.AgvActionItem; import com.zy.acs.common.domain.AgvProtocol; import com.zy.acs.common.domain.BaseResult; import com.zy.acs.common.domain.*; import com.zy.acs.common.domain.protocol.*; import com.zy.acs.common.domain.protocol.action.*; import com.zy.acs.common.enums.*; @@ -895,6 +892,8 @@ long actionPrepareSts = ActionStsType.PREPARE.val(); // JSONObject storeDirection = configService.getVal("storeDirection", JSONObject.class); int angleOffsetVal = configService.getVal("mapAngleOffsetVal", Integer.class); Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class); defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0); String agvNo = agvService.getAgvNo(agvId); // if (!agvService.judgeEnable(agvId)) { // throw new CoolException("AGV[" + agvNo + "]å½åä¸å¯ç¨..."); @@ -1171,7 +1170,7 @@ ActionTypeType.ReadyTakeFromShelvesLoc.desc, // åç§° (double) agvDirectionType.val, // 屿§å¼ lastCode.getData(), // å°é¢ç String.valueOf(oriLoc.getOffset()), // å¨ä½åæ° JSON.toJSONString(new HeightDepthDto(oriLoc.getOffset(), defaultShelfDepth)), // å¨ä½åæ° ActionTypeType.ReadyTakeFromShelvesLoc.val(), // å¨ä½ç±»å actionPrepareSts, // å¨ä½è¿åº¦ agvId, // AGV @@ -1234,7 +1233,7 @@ ActionTypeType.ReadyReleaseToShelvesLoc.desc, // åç§° (double) agvDirectionType.val, // 屿§å¼ lastCode.getData(), // å°é¢ç String.valueOf(destLoc.getOffset()), // å¨ä½åæ° JSON.toJSONString(new HeightDepthDto(destLoc.getOffset(), defaultShelfDepth)), // å¨ä½åæ° ActionTypeType.ReadyReleaseToShelvesLoc.val(), // å¨ä½ç±»å actionPrepareSts, // å¨ä½è¿åº¦ agvId, // AGV @@ -1279,7 +1278,7 @@ ActionTypeType.ReadyTakeFromConveyorSta.desc, // åç§° staWorkDirection, // 屿§å¼ lastCode.getData(), // å°é¢ç String.valueOf(oriSta.getHeight()), // å¨ä½åæ° JSON.toJSONString(new HeightDepthDto(oriSta.getHeight(), Optional.ofNullable(oriSta.getDepth()).orElse((double) 0))), // å¨ä½åæ° ActionTypeType.ReadyTakeFromConveyorSta.val(), // å¨ä½ç±»å actionPrepareSts, // å¨ä½è¿åº¦ agvId, // AGV @@ -1362,7 +1361,7 @@ ActionTypeType.ReadyReleaseToConveyorSta.desc, // åç§° staWorkDirection, // 屿§å¼ lastCode.getData(), // å°é¢ç String.valueOf(destSta.getHeight()), // å¨ä½åæ° JSON.toJSONString(new HeightDepthDto(destSta.getHeight(), Optional.ofNullable(destSta.getDepth()).orElse((double) 0))), // å¨ä½åæ° ActionTypeType.ReadyReleaseToConveyorSta.val(), // å¨ä½ç±»å actionPrepareSts, // å¨ä½è¿åº¦ agvId, // AGV @@ -1635,14 +1634,22 @@ agvAction.add(new AgvActionItem<>(ReadyTakeFromShelvesLoc.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) .bodySync((body) -> { HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class); body.setHeight(heightDepthDto.getHeight()); body.setDepth(heightDepthDto.getDepth()); }) ); break; case ReadyTakeFromConveyorSta: agvAction.add(new AgvActionItem<>(ReadyTakeFromConveyorSta.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) .bodySync((body) -> { HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class); body.setHeight(heightDepthDto.getHeight()); body.setDepth(heightDepthDto.getDepth()); }) ); break; case ReadyTakeFromAgvSite: @@ -1656,21 +1663,22 @@ agvAction.add(new AgvActionItem<>(ReadyReleaseToShelvesLoc.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); break; case LoadPlatformLift: agvAction.add(new AgvActionItem<>(LoadPlatformLift.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) .bodySync((body) -> { HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class); body.setHeight(heightDepthDto.getHeight()); body.setDepth(heightDepthDto.getDepth()); }) ); break; case ReadyReleaseToConveyorSta: agvAction.add(new AgvActionItem<>(ReadyReleaseToConveyorSta.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) .bodySync((body) -> { HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class); body.setHeight(heightDepthDto.getHeight()); body.setDepth(heightDepthDto.getDepth()); }) ); break; case ReadyReleaseToAgvSite: @@ -1680,6 +1688,13 @@ .bodySync(body -> body.setDepth((short) Double.parseDouble(action.getParams()))) ); break; case LoadPlatformLift: agvAction.add(new AgvActionItem<>(LoadPlatformLift.class) .setVal(action.getVal().intValue()) .setQrCode(action.getCode()) .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) ); break; case FinishPath: agvAction.add(new AgvActionItem<>(FinishPathAction.class) .setQrCode(action.getCode())