diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/enums/SysParamConstant.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/enums/SysParamConstant.java
new file mode 100644
index 0000000..0c8f446
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/enums/SysParamConstant.java
@@ -0,0 +1,25 @@
+package org.nl.system.enums;
+
+/**
+ * @author Liuyx
+ * @date 2025年06月03日
+ * @desc 系统参数常量
+ */
+public class SysParamConstant {
+
+ /**
+ * 是否连接ACS
+ */
+ public final static String IS_CONNECT_ACS = "is_connect_acs";
+
+ /**
+ * ACS系统IP
+ */
+ public final static String ACS_URL = "acs_url";
+
+ /**
+ * ERP系统IP
+ */
+ public final static String ERP_URL = "erp_url";
+
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enuums/EXTConstant.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enums/EXTConstant.java
similarity index 71%
rename from wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enuums/EXTConstant.java
rename to wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enums/EXTConstant.java
index a16d24f..528550b 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enuums/EXTConstant.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/enums/EXTConstant.java
@@ -1,4 +1,4 @@
-package org.nl.wms.ext.enuums;
+package org.nl.wms.ext.enums;
/**
* @author Liuyx
@@ -16,4 +16,9 @@ public class EXTConstant {
* 物料同步ERP接口地址
*/
public final static String MATERIAL_SYNC_ERP_API = "CamstarApi/MomRollBakeInBound";
+
+ /**
+ * ACS下发任务接口地址
+ */
+ public final static String SEND_TASK_ACS_API = "api/wms/task";
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java
new file mode 100644
index 0000000..dba20bf
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java
@@ -0,0 +1,25 @@
+package org.nl.wms.ext.service;
+
+
+import org.nl.wms.ext.service.util.AcsResponse;
+import org.nl.wms.sch_manage.service.util.AcsTaskDto;
+
+import java.util.List;
+
+/**
+ *
+ * WMS调用ACS 服务类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-06-09
+ */
+public interface WmsToAcsService {
+
+ /**
+ * 下发任务
+ * @param list 任务集合
+ * @return AcsResponse
+ */
+ AcsResponse renotifyAcs(List list);
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java
new file mode 100644
index 0000000..0b3b8a2
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java
@@ -0,0 +1,29 @@
+package org.nl.wms.ext.service.impl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.nl.wms.ext.enums.EXTConstant;
+import org.nl.wms.ext.service.WmsToAcsService;
+import org.nl.wms.ext.service.util.AcsResponse;
+import org.nl.wms.ext.util.AcsUtil;
+import org.nl.wms.sch_manage.service.util.AcsTaskDto;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * WMS调用ACS 实现类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-06-09
+ */
+@Slf4j
+@Service
+public class WmsToAcsServiceImpl implements WmsToAcsService {
+
+ @Override
+ public AcsResponse renotifyAcs(List list) {
+ return AcsUtil.notifyAcs(EXTConstant.SEND_TASK_ACS_API, list);
+ }
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToErpServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToErpServiceImpl.java
index 68d0d00..2d2b430 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToErpServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToErpServiceImpl.java
@@ -5,8 +5,9 @@ import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.config.SpringContextHolder;
+import org.nl.system.enums.SysParamConstant;
import org.nl.system.service.param.impl.SysParamServiceImpl;
-import org.nl.wms.ext.enuums.EXTConstant;
+import org.nl.wms.ext.enums.EXTConstant;
import org.nl.wms.ext.service.WmsToErpService;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@@ -28,7 +29,7 @@ public class WmsToErpServiceImpl implements WmsToErpService {
log.info("uploadErp回传接口输入参数为:-------------------" + whereJson.toString());
JSONObject result = new JSONObject();
- String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ERP_URL").getValue();
+ String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
url = url + EXTConstant.UPLOAD_ERP_API;
try {
@@ -56,7 +57,7 @@ public class WmsToErpServiceImpl implements WmsToErpService {
log.info("materialSync物料同步接口输入参数为:-------------------" + whereJson.toString());
JSONObject result = new JSONObject();
- String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ERP_URL").getValue();
+ String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
url = url + EXTConstant.MATERIAL_SYNC_ERP_API;
try {
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/util/AcsResponse.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/util/AcsResponse.java
index 2ad1cfe..b5cd7e4 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/util/AcsResponse.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/util/AcsResponse.java
@@ -16,14 +16,35 @@ public class AcsResponse extends BaseResponse {
private JSONArray errArr = new JSONArray();
private JSONArray data = new JSONArray();
- public static AcsResponse requestRefuse(String message) {
+ /**
+ * 请求失败
+ * @param message 错误信息
+ * @return AcsResponse
+ */
+ public static AcsResponse requestError(String message) {
AcsResponse result = new AcsResponse();
result.setCode(HttpStatus.HTTP_BAD_REQUEST);
result.setMessage(message);
result.setResponseDate(DateUtil.now());
return result;
}
+ /**
+ * 请求成功带信息
+ * @param message 信息
+ * @return AcsResponse
+ */
+ public static AcsResponse requestOkMessage(String message) {
+ AcsResponse result = new AcsResponse();
+ result.setCode(HttpStatus.HTTP_OK);
+ result.setMessage(message);
+ result.setResponseDate(DateUtil.now());
+ return result;
+ }
+ /**
+ * 请求成功
+ * @return AcsResponse
+ */
public static AcsResponse requestOk() {
AcsResponse result = new AcsResponse();
result.setCode(HttpStatus.HTTP_OK);
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/util/AcsUtil.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/util/AcsUtil.java
new file mode 100644
index 0000000..300ad13
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/util/AcsUtil.java
@@ -0,0 +1,73 @@
+package org.nl.wms.ext.util;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.config.SpringContextHolder;
+import org.nl.system.enums.SysParamConstant;
+import org.nl.system.service.param.dao.Param;
+import org.nl.system.service.param.impl.SysParamServiceImpl;
+import org.nl.wms.ext.service.util.AcsResponse;
+import org.nl.wms.warehouse_management.enums.IOSConstant;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ * ACS工具类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-06-09
+ */
+@Slf4j
+@Component
+public class AcsUtil {
+
+ /**
+ * 下发任务
+ * @param api acs地址
+ * @param param 下发参数
+ * @return AcsResponse
+ */
+ public static AcsResponse notifyAcs(String api, T param) {
+ log.info("下发ACS任务的输入参数为:-------------------" + param.toString());
+ // 返回参数
+ AcsResponse resultAcs;
+ // 系统参数类
+ SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class);
+ //判断是否连接ACS系统
+ Param isConnectAcs = sysParamService.findByCode(SysParamConstant.IS_CONNECT_ACS);
+ if (ObjectUtil.isEmpty(isConnectAcs)) {
+ return AcsResponse.requestError("系统参数表中:" + SysParamConstant.IS_CONNECT_ACS + "不存在");
+ }
+ if (isConnectAcs.getValue().equals(IOSConstant.IS_DELETE_NO)) {
+ return AcsResponse.requestOkMessage("下发成功,未连接ACS系统!");
+ }
+
+ //ACS地址
+ Param acsUrlParam = sysParamService.findByCode(SysParamConstant.ACS_URL);
+ if (ObjectUtil.isEmpty(acsUrlParam)) {
+ return AcsResponse.requestError("系统参数表中:" + SysParamConstant.ACS_URL + "不存在");
+ }
+
+ String url = acsUrlParam.getValue() + api;
+ try {
+ String resultMsg = HttpRequest.post(url)
+ .body(String.valueOf(param))
+ .execute().body();
+ // 格式转换
+ JSONObject result = JSONObject.parseObject(resultMsg);
+ resultAcs = JSONObject.toJavaObject(result, AcsResponse.class);
+
+ log.info("下发ACS任务的输出参数为:-------------------" + resultMsg);
+ } catch (Exception e) {
+ //网络不通
+ String msg = e.getMessage();
+ log.error("连接失败:{}", msg);
+ return AcsResponse.requestError("网络不通,操作失败!");
+ }
+ return resultAcs;
+ }
+
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java
index 70779fa..d4606e2 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java
@@ -39,4 +39,25 @@ public class PdaSchTaskController {
return new ResponseEntity<>(pdaSchTaskService.pointTask(whereJson), HttpStatus.OK);
}
+ @PostMapping("/queryTask")
+ @Log("查询未完成的任务")
+ @SaIgnore
+ public ResponseEntity