自动化立体仓库 - WMS系统
skyouc
3 天以前 7bac1f667a08787ce3f1ec722167ea96ad6332f1
添加KOPEN平台调度API
1个文件已修改
6个文件已添加
195 ■■■■■ 已修改文件
src/main/java/com/zy/api/controller/AgvScheduleController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/entity/CallAgvParams.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/enums/OrderType.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/AgvScheduleService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/properties/ThirdSysApiProperties.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/controller/AgvScheduleController.java
New file
@@ -0,0 +1,40 @@
package com.zy.api.controller;
import com.core.common.R;
import com.zy.api.entity.CallAgvParams;
import com.zy.api.enums.OrderType;
import com.zy.api.service.AgvScheduleService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
@RestController
@RequestMapping("/hlk")
public class AgvScheduleController {
    @Autowired
    private AgvScheduleService agvScheduleService;
    /**
     * @author Ryan
     * @date 2025/11/3
     * @description: 呼叫AGV搬运缓存区/EO/SO
     * @version 1.0
     */
    @ApiOperation("呼叫AGV搬运")
    @PostMapping("/call/carry")
    public R callAgvCarry(@RequestBody CallAgvParams params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getType())) {
            return R.ok("搬运类型不能为空!!");
        }
        return agvScheduleService.callAgvCarry(params);
    }
}
src/main/java/com/zy/api/entity/CallAgvParams.java
New file
@@ -0,0 +1,29 @@
package com.zy.api.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
@ApiModel(value = "CallAgvParams", description = "AGV搬运参数")
public class CallAgvParams implements Serializable {
    @ApiModelProperty("呼叫类型:出库:out, 入库:in")
    private String type;
    @ApiModelProperty("原库位")
    private String orgLoc;
    @ApiModelProperty("目标站点")
    private String tarSite;
    @ApiModelProperty("原站点")
    private String orgSite;
    @ApiModelProperty("目标库位")
    private String tarLoc;
}
src/main/java/com/zy/api/enums/OrderType.java
New file
@@ -0,0 +1,57 @@
package com.zy.api.enums;
/**
 * @author Ryan
 * @version 1.0
 * @title PurchaseType
 * @description
 * @create 2025/3/5 15:54
 */
public enum OrderType {
    //订单类型
    ORDER_OUT("out", "出库单"),
    ORDER_IN("in", "入库单"),
    ORDER_TRANSFER("transfer", "调拔单"),
    ORDER_REVISE("revise", "库存调整"),
    ORDER_CHECK("check", "盘点单");
    OrderType(String type, String desc) {
        this.type = type;
        this.desc = desc;
    }
    public String type;
    public String desc;
    public static String getTypeVal(String desc) {
        if (desc.equals(OrderType.ORDER_IN.desc)) {
            return OrderType.ORDER_IN.type;
        } else if (desc.equals(OrderType.ORDER_OUT.desc)) {
            return OrderType.ORDER_OUT.type;
        } else if (desc.equals(OrderType.ORDER_CHECK.desc)) {
            return OrderType.ORDER_CHECK.type;
        } else if (desc.equals(OrderType.ORDER_TRANSFER.desc)) {
            return OrderType.ORDER_TRANSFER.type;
        } else if (desc.equals(OrderType.ORDER_REVISE.desc)) {
            return OrderType.ORDER_REVISE.type;
        }
        return null;
    }
    public static String getValType(String type) {
        if (type.equals(OrderType.ORDER_IN.type)) {
            return OrderType.ORDER_IN.desc;
        } else if (type.equals(OrderType.ORDER_OUT.type)) {
            return OrderType.ORDER_OUT.desc;
        } else if (type.equals(OrderType.ORDER_CHECK.type)) {
            return OrderType.ORDER_CHECK.desc;
        } else if (type.equals(OrderType.ORDER_TRANSFER.type)) {
            return OrderType.ORDER_TRANSFER.desc;
        } else if (type.equals(OrderType.ORDER_REVISE.type)) {
            return OrderType.ORDER_REVISE.desc;
        }
        return null;
    }
}
src/main/java/com/zy/api/service/AgvScheduleService.java
New file
@@ -0,0 +1,9 @@
package com.zy.api.service;
import com.core.common.R;
import com.zy.api.entity.CallAgvParams;
public interface AgvScheduleService {
    R callAgvCarry(CallAgvParams params);
}
src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
New file
@@ -0,0 +1,29 @@
package com.zy.api.service.impl;
import com.core.common.R;
import com.zy.api.entity.CallAgvParams;
import com.zy.api.enums.OrderType;
import com.zy.api.service.AgvScheduleService;
import org.springframework.stereotype.Service;
@Service
public class AgvScheduleServiceImpl implements AgvScheduleService {
    /**
     * @author Ryan
     * @date 2025/11/3
     * @description: 呼叫AGV搬运
     * @version 1.0
     */
    @Override
    public R callAgvCarry(CallAgvParams params) {
        if (params.getType().equals(OrderType.ORDER_OUT.type)) {
            //缓存区出库
        } else if (params.getType().equals(OrderType.ORDER_IN.type)) {
            //缓存区入库
        } else {
        }
        return R.ok();
    }
}
src/main/java/com/zy/common/properties/ThirdSysApiProperties.java
New file
@@ -0,0 +1,19 @@
package com.zy.common.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "hlk")
public class ThirdSysApiProperties {
    private String host;
    private String port;
    private String prefix;
}
src/main/resources/application-dev.yml
@@ -109,4 +109,14 @@
    acctID: "647e849ab6fa0f"
    username: "llw"
    password: "666666"
    lcid: 2052
    lcid: 2052
#KOPEN小松平台
kopen:
#AGV调度
hlk:
  url: http://127.0.0.1
  port: 5173
  prefix: hlk