#
1
2025-05-10 2cf9b53834bf61455fffd322b0201b3d0080577a
#
12个文件已修改
126 ■■■■ 已修改文件
pom.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/RgvController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/TaskWrk.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/CarryParam.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/TaskLogScheduler.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/RgvProtocol.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-prod.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/rgvOperate.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -61,12 +61,12 @@
<!--        </dependency>-->
        <!-- 显式排除slf4j-simple -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.30</version>
            <scope>provided</scope> <!-- 或直接删除该依赖 -->
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.slf4j</groupId>-->
<!--            <artifactId>slf4j-simple</artifactId>-->
<!--            <version>1.7.30</version>-->
<!--            <scope>provided</scope> &lt;!&ndash; 或直接删除该依赖 &ndash;&gt;-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver8</artifactId>
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -343,7 +343,7 @@
//        List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
        for (CarryParam param:params){
            param.updateIoTyoe(param.getIoType());//中航下发  1:出库,2:移库 3:入库   ====转换为====>  1:入库,2:出库,3:移库
            param.updateLocNo();
            if (Cools.isEmpty(param)){
                return R.error("参数为空!");
            } else if (Cools.isEmpty(param.getTaskNo())){
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -75,6 +75,29 @@
        return R.ok().add(res);
    }
    @PostMapping("/run/del")//Take  Put  Walk
    @ManagerAuth(memo = "小车行走")
    public R rgvRunDel(@RequestParam(defaultValue = "0")  Integer rgvNo
    ) {
        if (rgvNo==null || rgvNo==0){
            return R.error("请选择小车");
        }
        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
        TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
        try {
            ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol();
            for (TaskProtocol taskProtocol : allTaskProtocol.values()){
                taskProtocolCache.removeTaskProtocol(taskProtocol.getTaskNoDirection());
            }
        } catch (Exception e) {
            return R.error("任务删除失败"+e.getMessage());
        }
        return R.ok("任务清空成功");
    }
    @PostMapping("/run/walk")//Take  Put  Walk
    @ManagerAuth(memo = "小车行走")
    public R rgvRunWalk(@RequestParam(defaultValue = "0")  Integer rgvNo,
src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -376,4 +376,17 @@
        }
    }
    public String getPut(String point){
        String[] split = point.split("-");
        if (split.length == 5){
//            String locNo = String.format("%02d", ) +
//                    String.format("%03d", split[3]) +
//                    String.format("%02d", split[4]);
            return split[2]+"0"+split[3]+split[4];
        } else {
            return point;
        }
    }
}
src/main/java/com/zy/asrs/entity/param/CarryParam.java
@@ -25,6 +25,10 @@
    //备注
    private String meno;
    public void updateLocNo(){
        startPoint = getPut(startPoint);
        targetPoint = getPut(targetPoint);
    }
    public void updateIoTyoe(Integer ioTypeOld){
        switch (ioTypeOld){
            case 1:
@@ -41,4 +45,31 @@
        }
    }
    public String getPut(String point){
        String[] split = point.split("-");
        if (split.length == 5){
//            String locNo = String.format("%02d", ) +
//                    String.format("%03d", split[3]) +
//                    String.format("%02d", split[4]);
            return split[2]+"0"+split[3]+split[4];
        } else {
            return point;
        }
    }
    public static String zerofill(String msg, Integer count){
        if (msg.length() == count){
            return msg;
        } else if (msg.length() > count){
            return msg.substring(0, 16);
        } else {
            StringBuilder msgBuilder = new StringBuilder(msg);
            for (int i = 0; i<count-msg.length(); i++){
                msgBuilder.insert(0,"0");
            }
            return msgBuilder.toString();
        }
    }
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1455,7 +1455,7 @@
                                if (rgvStn.getStaNo().equals(staNoNow)) {
                                    TaskWrk taskWrk = deviceDetection(rgvStn);
                                    if (taskWrk != null) {
                                        BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
                                        BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                        if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
                                            sign = taskGenerate(rgvSlave, rgvStn, 0);
                                        }
@@ -1488,7 +1488,7 @@
                                    if (rgvStn.getStaNo().equals(staNoNow)) {
                                        TaskWrk taskWrk = deviceDetection(rgvStn);
                                        if (taskWrk != null) {
                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
                                                sign = taskGenerate(rgvSlave, rgvStn, 0);
                                            }
@@ -1522,7 +1522,7 @@
                                    if (rgvStn.getStaNo().equals(staNoNow)) {
                                        TaskWrk taskWrk = deviceDetection(rgvStn);
                                        if (taskWrk != null) {
                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
                                                sign = taskGenerate(rgvSlave, rgvStn, 0);
                                            }
src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -62,9 +62,11 @@
            HashMap<String, Object> map = new HashMap<>();
            try {
                map.put("taskNo",taskWrk.getTaskNo());
                map.put("status",taskWrk.getStatus());
                map.put("ioType",taskWrk.getIoType());
                map.put("barcode",taskWrk.getBarcode());
                map.put("taskStatus",taskWrk.getStatus());
                map.put("ioType",taskWrk.getIoTypeWms());
                map.put("barCode",taskWrk.getBarcode());
                map.put("reportTime",new Date());
                map.put("weight",taskWrk.getScWeight().doubleValue());
                response = new HttpHandler.Builder()
                        .setUri(wmsUrl)
                        .setPath(taskStatusFeedbackPath)
src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -85,12 +85,12 @@
    /**
     * 车身
     */
    public Long carBodyJiaoMing = 0L;
    public Long carBodyJiaoMing = 2000L;
    /**
     * 车身
     */
    public Long carBodyKunPeng = 0L;
    public Long carBodyKunPeng = 15000L;
    /**
     * 是否启用
src/main/java/com/zy/core/thread/RgvThread.java
@@ -48,11 +48,11 @@
    //    private RgvProtocol rgvProtocol;
    private TaskProtocolCache taskProtocolCache = new TaskProtocolCache();
    // # 轨道总长
    private Long trackEntireLength = 100L;
    private Long trackEntireLength = 215000L;
    //# 轨道基准点
    private Long trackBenchmark = 100L;
    private Long trackBenchmark = 1L;
    //  # 避让距离
    private Long avoidDistance = 100L;
    private Long avoidDistance = 4000L;
    /**
     * 工位1复位信号
@@ -520,8 +520,10 @@
                RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
                if (rgvProtocol == null) {
                    rgvProtocol = new RgvProtocol();
                    rgvProtocol.setRgvNo(slave.getId());
                }
                rgvProtocol.setRgvNo(slave.getId());
                rgvProtocol.setCarBodyJiaoMing(slave.getCarBodyJiaoMing());
                rgvProtocol.setCarBodyKunPeng(slave.getCarBodyKunPeng());
                rgvProtocol.setRgvPos((long)siemensNet.getByteTransform().TransInt32(result.Content, 0));
                rgvProtocol.setRgvPosDestination((long)siemensNet.getByteTransform().TransInt32(result.Content, 4));
src/main/resources/application-prod.yml
@@ -83,8 +83,8 @@
    rack: 0
    slot: 0
    otherId: 2
    carBodyJiaoMing: 4100
    carBodyKunPeng: 4100
    carBodyJiaoMing: 2000
    carBodyKunPeng: 15000
    #RGV源站点
    rgvInSta[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
@@ -159,8 +159,8 @@
    rack: 0
    slot: 0
    otherId: 1
    carBodyJiaoMing: 4100
    carBodyKunPeng: 4100
    carBodyJiaoMing: 2000
    carBodyKunPeng: 15000
    #RGV源站点
    rgvInSta[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
src/main/resources/application.yml
@@ -49,13 +49,13 @@
constant-parameters:
  # 轨道总长
  trackEntireLength: 190000
  trackEntireLength: 215000
  # 轨道基准点
  trackBenchmark: 1
  # 轨道转换为米比例
  trackProportion: 10000
  # 避让距离
  avoidDistance: 4100
  avoidDistance: 5100
wms:
  # 是否开启上报
@@ -65,13 +65,13 @@
  #url: 10.32.53.195:8080
  # WMS系统ip
  #  url: 10.210.157.109:8090
  url: 10.210.157.26:9027
  url: 10.10.10.205:9027
  # 入库任务申请接口
  #inboundTaskApplyPath: api/InterFace/inboundTaskApply
  inboundTaskApplyPath: sugood/inboundTaskApply
  #  inboundTaskApplyPath: open/asrs/inboundTaskApply
  # 任务状态反馈接口
  taskStatusFeedbackPath: external/wcs/wmsHeartBeat
  taskStatusFeedbackPath: external/wcs/taskStatusFeedback
  # 货位状态更新接口
  locationUpdatePath: api/InterFace/get_InterFace_TestStorage
  # 移库申请接口
src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -55,6 +55,7 @@
                            <el-button @click="requestOperate('take')" type="primary">取货</el-button>
                            <el-button @click="requestOperate('put')" type="primary">放货</el-button>
                            <el-button @click="requestOperate('walk')" type="warning">行走</el-button>
                            <el-button @click="requestOperate('del')" type="warning">任务清空</el-button>
                        </div>
                    </div>
                </el-card>