From 2fc5a9189e9c002580218e89dedd065dc5dac8a8 Mon Sep 17 00:00:00 2001
From: Yxq <2290299376@qq.com>
Date: Sun, 28 Sep 2025 12:45:21 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E4=BA=86app=5Fouts=5Fcheck?=
=?UTF-8?q?=E8=A1=A8=EF=BC=8C=E7=94=A8=E4=BA=8E=E5=90=91=E4=B8=8A=E4=BD=8D?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8F=8D=E9=A6=88=E6=95=B0=E6=8D=AE=E7=9A=84?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95=202.=E6=9B=B4=E6=94=B9=E5=87=BA=E5=BA=93?=
=?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=9A=84=E6=96=B9=E5=BC=8F=EF=BC=8C=E7=94=B1?=
=?UTF-8?q?=E6=AC=A1=E6=AC=A1=E5=8F=8D=E9=A6=88=E6=94=B9=E4=B8=BA=E5=AE=8C?=
=?UTF-8?q?=E6=88=90=E6=97=B6=E4=B8=80=E6=AC=A1=E6=80=A7=E5=8F=8D=E9=A6=88?=
=?UTF-8?q?=203.=E5=8E=BB=E9=99=A4=E4=BA=86pda=E9=A1=B5=E9=9D=A2=E6=89=AB?=
=?UTF-8?q?=E6=8F=8F=E7=9B=AE=E6=A0=87=E7=AE=B1=E5=8F=B7=E7=9A=84=E7=BB=91?=
=?UTF-8?q?=E5=AE=9A=E4=BA=8B=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
dev_wms_client/src/layout/pda.vue | 4 +-
.../wms_main/dao/ITAppOutsCheckService.java | 10 +++
.../dao/impl/TAppOutsCheckServiceImpl.java | 15 ++++
.../wms_main/mapper/AppOutsCheckMapper.java | 13 +++
.../com/wms_main/model/po/TAppOutsCheck.java | 66 ++++++++++++++
.../api/serviceImpl/EwmApiServiceImpl.java | 2 +-
.../TaskControllerServiceImpl.java | 90 ++++++++++++++-----
.../resources/mapper/AppOutsCheckMapper.xml | 5 ++
8 files changed, 179 insertions(+), 26 deletions(-)
create mode 100644 dev_wms_serve/src/main/java/com/wms_main/dao/ITAppOutsCheckService.java
create mode 100644 dev_wms_serve/src/main/java/com/wms_main/dao/impl/TAppOutsCheckServiceImpl.java
create mode 100644 dev_wms_serve/src/main/java/com/wms_main/mapper/AppOutsCheckMapper.java
create mode 100644 dev_wms_serve/src/main/java/com/wms_main/model/po/TAppOutsCheck.java
create mode 100644 dev_wms_serve/src/main/resources/mapper/AppOutsCheckMapper.xml
diff --git a/dev_wms_client/src/layout/pda.vue b/dev_wms_client/src/layout/pda.vue
index db633e6..c8b3f9c 100644
--- a/dev_wms_client/src/layout/pda.vue
+++ b/dev_wms_client/src/layout/pda.vue
@@ -29,7 +29,7 @@
-
+
@@ -206,7 +206,7 @@ export default {
// 显示全局加载动画
this.showLoading = true;
- confirmCurrentTask(request, { timeout: 10000 }).then(res => {
+ confirmCurrentTask(request, { timeout: 15000 }).then(res => {
const responseData = res.data;
if (responseData.code === 0) {
ElMessage({
diff --git a/dev_wms_serve/src/main/java/com/wms_main/dao/ITAppOutsCheckService.java b/dev_wms_serve/src/main/java/com/wms_main/dao/ITAppOutsCheckService.java
new file mode 100644
index 0000000..92898f2
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/dao/ITAppOutsCheckService.java
@@ -0,0 +1,10 @@
+package com.wms_main.dao;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.wms_main.model.po.TAppOutsCheck;
+
+/**
+ * 出库检查表服务接口
+ */
+public interface ITAppOutsCheckService extends IService {
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/dao/impl/TAppOutsCheckServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/dao/impl/TAppOutsCheckServiceImpl.java
new file mode 100644
index 0000000..8b7d2db
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/dao/impl/TAppOutsCheckServiceImpl.java
@@ -0,0 +1,15 @@
+package com.wms_main.dao.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.wms_main.dao.ITAppOutsCheckService;
+import com.wms_main.mapper.AppOutsCheckMapper;
+import com.wms_main.model.po.TAppOutsCheck;
+import org.springframework.stereotype.Service;
+
+/**
+ * 出库检查表服务实现类
+ */
+@Service
+public class TAppOutsCheckServiceImpl extends ServiceImpl implements ITAppOutsCheckService {
+}
+
diff --git a/dev_wms_serve/src/main/java/com/wms_main/mapper/AppOutsCheckMapper.java b/dev_wms_serve/src/main/java/com/wms_main/mapper/AppOutsCheckMapper.java
new file mode 100644
index 0000000..ca4c581
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/mapper/AppOutsCheckMapper.java
@@ -0,0 +1,13 @@
+package com.wms_main.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.wms_main.model.po.TAppOutsCheck;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 出库检查表Mapper
+ */
+@Mapper
+public interface AppOutsCheckMapper extends BaseMapper {
+}
+
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/po/TAppOutsCheck.java b/dev_wms_serve/src/main/java/com/wms_main/model/po/TAppOutsCheck.java
new file mode 100644
index 0000000..d4eff88
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/po/TAppOutsCheck.java
@@ -0,0 +1,66 @@
+package com.wms_main.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 出库检查表实体类
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "t_app_outs_check", autoResultMap = true)
+public class TAppOutsCheck {
+
+ /**
+ * 检查ID
+ */
+ @TableId(value = "checks_id")
+ private String checksId;
+
+ /**
+ * 出库单编号
+ */
+ @TableField(value = "wave_no")
+ private String waveNo;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "task_no")
+ private String taskNo;
+
+ /**
+ * 物料编号
+ */
+ @TableField(value = "mat_no")
+ private String matNo;
+
+ /**
+ * 拣货数量
+ */
+ @TableField(value = "picking_qty")
+ private Integer pickingQty;
+
+ /**
+ * 实际数量
+ */
+ @TableField(value = "act_qty")
+ private Integer actQty;
+
+ /**
+ * 单位
+ */
+ @TableField(value = "unit")
+ private String unit;
+
+ /**
+ * 容器编号
+ */
+ @TableField(value = "container_no")
+ private String containerNo;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/api/serviceImpl/EwmApiServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/api/serviceImpl/EwmApiServiceImpl.java
index 7b2f812..353a19e 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/api/serviceImpl/EwmApiServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/api/serviceImpl/EwmApiServiceImpl.java
@@ -108,7 +108,7 @@ public class EwmApiServiceImpl implements IEwmApiService {
HttpRequest httpRequest = HttpRequest.postInstanceOf(
appCommon.getConfigByKey(AppConfigKeyEnums.EWM_SEND_WAREHOUSE_OUT_COMPLETED_URL.getKey()),
request,
- 5000,
+ 10000,
"application/json",
"Basic " + encodedAuth);
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
index fd50732..94b8dd9 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
@@ -67,6 +67,7 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
private final IConveyTaskService conveyTaskService;// 输送线任务服务
private final ITAppStandService appStandService;// 站台服务
private final ITAppOutsService appOutsService;// 出库单服务
+ private final ITAppOutsCheckService appOutsCheckService; // 出库单Check服务
private final IStockDataService stockDataService;// 库存数据服务
private final ITAppOutsRecordService appOutsRecordService;// 出库单记录服务
private final ITAppPickPlanService appPickPlanService;// 拣选计划服务
@@ -1430,6 +1431,19 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
TAppOuts thisOut = appOutsService.getOne(new LambdaQueryWrapper()
.eq(TAppOuts::getTaskId, confirmTaskRequest.getTaskConfirm().getTaskId()));
+ // 将出库完成需要反馈的信息插入outsCheck表中
+ List outsChecks = new ArrayList<>();
+ outsChecks.add(new TAppOutsCheck(
+ UUIDUtils.getNewUUID("CHECK_"),
+ thisOut.getWaveNo(),
+ confirmTaskRequest.getTaskConfirm().getTaskId(),
+ confirmTaskRequest.getTaskConfirm().getGoodsId(),
+ confirmTaskRequest.getTaskConfirm().getTotalNeed(),
+ confirmTaskRequest.getTaskConfirm().getRealPickQty(),
+ thisOut.getUnit(),
+ confirmTaskRequest.getTaskConfirm().getContainerNo()
+ ));
+ appOutsCheckService.saveBatch(outsChecks);
// 当前站台到达的拣选任务
TAppPickTask thisPickTask = pickTaskList.getFirst();
if (confirmTaskRequest.getTaskConfirm() != null && StringUtils.isNotEmpty(confirmTaskRequest.getTaskConfirm().getTaskId())) {
@@ -1471,29 +1485,29 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
}
// 放行
if (conveyTaskService.releaseStandVehicle(thisPickTask)) {
- // 回告EWm系统出库完成
- SendWarehouseOutCompletedRequest request = new SendWarehouseOutCompletedRequest();
- List pickingDetails = new ArrayList<>();
- SendWarehouseOutCompletedRequest.PickingDetail pickingDetail = new SendWarehouseOutCompletedRequest.PickingDetail();
- pickingDetail.setTaskNo(confirmTaskRequest.getTaskConfirm().getTaskId());
- pickingDetail.setMatNo(confirmTaskRequest.getTaskConfirm().getGoodsId());
- pickingDetail.setPickingQty(Double.valueOf(confirmTaskRequest.getTaskConfirm().getTotalNeed()));
- pickingDetail.setActQty(Double.valueOf(confirmTaskRequest.getTaskConfirm().getRealPickQty()));
- pickingDetail.setUnit(thisOut.getUnit());
- pickingDetail.setContainerNo(confirmTaskRequest.getTaskConfirm().getContainerNo());
- pickingDetails.add(pickingDetail);
- request.setPickingDetail(pickingDetails);
- request.setWaveNo(thisOut.getWaveNo());
- request.setPickingType(thisOut.getPickingType());
-
- EwmApiBackResponse ewmApiBackResponse = ewmApiService.sendWarehouseOutCompleted(request);
- if (Objects.equals(ewmApiBackResponse.getState(), "successfully")) {
- log.info("调用EWM系统接口成功,请求参数: {}", request);
-
- }else {
- log.error("调用EWM系统接口异常,请求参数: {}", request);
- //return BaseWmsApiResponse.error("调用EWM系统接口异常: " + ewmApiBackResponse.getMessage());
- }
+// // 回告EWm系统出库完成
+// SendWarehouseOutCompletedRequest request = new SendWarehouseOutCompletedRequest();
+// List pickingDetails = new ArrayList<>();
+// SendWarehouseOutCompletedRequest.PickingDetail pickingDetail = new SendWarehouseOutCompletedRequest.PickingDetail();
+// pickingDetail.setTaskNo(confirmTaskRequest.getTaskConfirm().getTaskId());
+// pickingDetail.setMatNo(confirmTaskRequest.getTaskConfirm().getGoodsId());
+// pickingDetail.setPickingQty(Double.valueOf(confirmTaskRequest.getTaskConfirm().getTotalNeed()));
+// pickingDetail.setActQty(Double.valueOf(confirmTaskRequest.getTaskConfirm().getRealPickQty()));
+// pickingDetail.setUnit(thisOut.getUnit());
+// pickingDetail.setContainerNo(confirmTaskRequest.getTaskConfirm().getContainerNo());
+// pickingDetails.add(pickingDetail);
+// request.setPickingDetail(pickingDetails);
+// request.setWaveNo(thisOut.getWaveNo());
+// request.setPickingType(thisOut.getPickingType());
+//
+// EwmApiBackResponse ewmApiBackResponse = ewmApiService.sendWarehouseOutCompleted(request);
+// if (Objects.equals(ewmApiBackResponse.getState(), "successfully")) {
+// log.info("调用EWM系统接口成功,请求参数: {}", request);
+//
+// }else {
+// log.error("调用EWM系统接口异常,请求参数: {}", request);
+// //return BaseWmsApiResponse.error("调用EWM系统接口异常: " + ewmApiBackResponse.getMessage());
+// }
return BaseWmsApiResponse.success("确认成功。");
} else {
// 回滚事务
@@ -1924,6 +1938,36 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
outs.setPickNum(outs.getPickNum() + taskConfirm.getRealPickQty());
outs.setUserName(confirmTaskRequest.getUserName());
if (outs.getPickNum() >= outs.getNeedNum()) {
+ // 读取所有wave_no的outs_check表的数据,全部反馈给EWM
+ List checkList = appOutsCheckService.list(new LambdaQueryWrapper()
+ .eq(TAppOutsCheck::getWaveNo, outs.getWaveNo()));
+
+ // 回告EWm系统出库完成
+ SendWarehouseOutCompletedRequest request = new SendWarehouseOutCompletedRequest();
+ List pickingDetails = new ArrayList<>();
+ for (TAppOutsCheck check : checkList){
+ SendWarehouseOutCompletedRequest.PickingDetail pickingDetail = new SendWarehouseOutCompletedRequest.PickingDetail();
+ pickingDetail.setTaskNo(check.getTaskNo());
+ pickingDetail.setMatNo(check.getMatNo());
+ pickingDetail.setPickingQty(Double.valueOf(check.getPickingQty()));
+ pickingDetail.setActQty(Double.valueOf(check.getActQty()));
+ pickingDetail.setUnit(check.getUnit());
+ pickingDetail.setContainerNo(check.getContainerNo());
+ pickingDetails.add(pickingDetail);
+ }
+ request.setPickingDetail(pickingDetails);
+ request.setWaveNo(outs.getWaveNo());
+ request.setPickingType(outs.getPickingType());
+ EwmApiBackResponse ewmApiBackResponse = ewmApiService.sendWarehouseOutCompleted(request);
+ if (Objects.equals(ewmApiBackResponse.getState(), "successfully")) {
+ log.info("调用EWM系统接口成功,请求参数: {}", request);
+ appOutsCheckService.remove(new LambdaQueryWrapper()
+ .eq(TAppOutsCheck::getWaveNo, outs.getWaveNo()));
+ }else {
+ log.error("调用EWM系统接口异常,请求参数: {}", request);
+ //return BaseWmsApiResponse.error("调用EWM系统接口异常: " + ewmApiBackResponse.getMessage());
+ }
+
// 生成记录
TAppOutsRecord record = new TAppOutsRecord(
outs.getTaskId(),
diff --git a/dev_wms_serve/src/main/resources/mapper/AppOutsCheckMapper.xml b/dev_wms_serve/src/main/resources/mapper/AppOutsCheckMapper.xml
new file mode 100644
index 0000000..0a28cb4
--- /dev/null
+++ b/dev_wms_serve/src/main/resources/mapper/AppOutsCheckMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+