diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java index 7e6e039c0..5ee9f3ca8 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java @@ -2,6 +2,7 @@ package com.mhd.wms.application.service.handoverTaskOrder; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; @@ -32,6 +33,7 @@ import org.springframework.stereotype.Service; import java.text.ParseException; import java.util.List; +import java.util.stream.Collectors; /** * 交接作业单ApplicationService @@ -232,16 +234,39 @@ public class HandoverTaskOrderApplicationService { handoverTaskOrderDO.setOperatorsName(userPo.getUserName()); } + /** + * PDA端上传图片并完成出库交接(参考PC端完成出库交接逻辑) + * 1. 保存图片到交接作业单、出库单 + * 2. 执行库存扣减(xgkc)、交接单状态更新为已交接 + */ public void pictureApp(HandoverTaskOrderDO handoverTaskOrderDO) { - //pda上传图片插入交接作业单 + String orderNumber = handoverTaskOrderDO.getOrderNumber(); + if (orderNumber == null || orderNumber.trim().isEmpty()) { + throw new ServiceException("出库单号不能为空"); + } + // 1. PDA上传图片插入交接作业单 handoverTaskOrderService.update(new LambdaUpdateWrapper() - .eq(HandoverTaskOrder::getOrderNumber,handoverTaskOrderDO.getOrderNumber()) - .set(HandoverTaskOrder::getPictureApp,handoverTaskOrderDO.getPictureApp())); - //pda上传图片插入出库管理 + .eq(HandoverTaskOrder::getOrderNumber, orderNumber) + .set(HandoverTaskOrder::getPictureApp, handoverTaskOrderDO.getPictureApp())); + // 2. PDA上传图片插入出库管理,状态改为已出库 stockOutOrderService.update(new LambdaUpdateWrapper() - .eq(StockOutOrder::getOutOrderNumber,handoverTaskOrderDO.getOrderNumber()) - .set(StockOutOrder::getStatus,"9")//设置为出库 - .set(StockOutOrder::getPictureApp,handoverTaskOrderDO.getPictureApp())//多张图片以,逗号隔开 - ); + .eq(StockOutOrder::getOutOrderNumber, orderNumber) + .set(StockOutOrder::getStatus, "9") + .set(StockOutOrder::getPictureApp, handoverTaskOrderDO.getPictureApp())); + // 3. 参考PC端完成交接:根据orderNumber查询交接单ID,执行库存扣减+交接状态更新 + List handoverList = handoverTaskOrderService.list( + new LambdaQueryWrapper() + .eq(HandoverTaskOrder::getOrderNumber, orderNumber)); + if (handoverList != null && !handoverList.isEmpty()) { + List handoverTaskOrderIds = handoverList.stream() + .map(HandoverTaskOrder::getHandoverTaskOrderId) + .filter(id -> id != null) + .collect(Collectors.toList()); + if (!handoverTaskOrderIds.isEmpty()) { + HandoverTaskOrderDO completeDO = new HandoverTaskOrderDO(); + completeDO.setHandoverTaskOrderIds(handoverTaskOrderIds); + handoverTaskOrderDomainService.completeHandover(completeDO); + } + } } }