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 @@ + + + + +