diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/controller/AgvStationController.java b/src/main/java/com/gaotao/modules/automatedWarehouse/controller/AgvStationController.java
index bcdb657..6b1eea5 100644
--- a/src/main/java/com/gaotao/modules/automatedWarehouse/controller/AgvStationController.java
+++ b/src/main/java/com/gaotao/modules/automatedWarehouse/controller/AgvStationController.java
@@ -65,6 +65,25 @@ public class AgvStationController {
return R.ok();
}
+ /**
+ * @Description 删除AGV站点 - rqrq
+ *
删除前校验:
+ *
+ * - 站点必须是禁用状态(active='N')
+ * - 站点下不能有栈板
+ *
+ * @param data 站点信息(包含stationCode)
+ * @return R
+ * @author rqrq
+ * @date 2025/02/06
+ */
+ @PostMapping(value="/delete")
+ @ResponseBody
+ public R delete(@RequestBody AgvStationData data) throws Exception {
+ agvStationService.deleteAgvStation(data);
+ return R.ok();
+ }
+
/**
* @Description 获取区域类型下拉选项 - rqrq
* @return R
diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/AgvStationService.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/AgvStationService.java
index 432f8c1..c1a1b1c 100644
--- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/AgvStationService.java
+++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/AgvStationService.java
@@ -41,6 +41,19 @@ public interface AgvStationService extends IService {
*/
void updateAgvStation(AgvStationData data) throws Exception;
+ /**
+ * @Description 删除AGV站点 - rqrq
+ * 删除前校验:
+ *
+ * - 站点必须是禁用状态(active='N')
+ * - 站点下不能有栈板
+ *
+ * @param data 站点信息(包含stationCode)
+ * @author rqrq
+ * @date 2025/02/06
+ */
+ void deleteAgvStation(AgvStationData data) throws Exception;
+
/**
* @Description 获取区域类型下拉选项 - rqrq
* @return List
diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java
index d69a4c3..f1c725f 100644
--- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java
+++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java
@@ -221,6 +221,59 @@ public class AgvStationServiceImpl extends ServiceImpl删除前校验:
+ *
+ * - 站点必须是禁用状态(active='N')
+ * - 站点下不能有栈板
+ *
+ * @param data 站点信息(包含stationCode)
+ * @author rqrq
+ * @date 2025/02/06
+ */
+ @Override
+ public void deleteAgvStation(AgvStationData data) throws Exception {
+ System.out.println("开始删除AGV站点 - rqrq,站点编码:" + data.getStationCode());
+
+ // 校验参数 - rqrq
+ if (!StringUtils.hasText(data.getStationCode())) {
+ throw new RuntimeException("站点编码不能为空");
+ }
+
+ String stationCode = data.getStationCode();
+
+ // 查询站点信息 - rqrq
+ AgvStation station = this.lambdaQuery()
+ .eq(AgvStation::getStationCode, stationCode)
+ .one();
+
+ if (station == null) {
+ throw new RuntimeException("站点不存在:" + stationCode);
+ }
+
+ // 1. 校验站点必须是禁用状态 - rqrq
+ if (!"N".equals(station.getActive())) {
+ String errorMsg = "只有禁用状态的站点才能删除,请先禁用该站点";
+ System.out.println("删除站点失败 - rqrq:" + errorMsg);
+ throw new RuntimeException(errorMsg);
+ }
+
+ // 2. 校验站点下不能有栈板 - rqrq
+ Integer palletCount = this.baseMapper.countPalletByLocationCode(stationCode);
+ if (palletCount != null && palletCount > 0) {
+ String errorMsg = "该站点下还有 " + palletCount + " 个栈板,不允许删除";
+ System.out.println("删除站点失败 - rqrq:" + errorMsg);
+ throw new RuntimeException(errorMsg);
+ }
+
+ // 3. 执行删除 - rqrq
+ System.out.println("校验通过,执行删除操作 - rqrq");
+ this.removeById(station.getId());
+
+ System.out.println("删除AGV站点完成 - rqrq");
+ }
+
/**
* @Description 获取状态描述 - rqrq
* @param statusDb 状态值