From 67d3f389bd098a677be430e3e076f86a4e2e828f Mon Sep 17 00:00:00 2001
From: wangyanxiong <password>
Date: Thu, 5 Sep 2019 19:50:09 +0800
Subject: [PATCH] 出库完成完善

---
 src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
index a8b392b..8c7e500 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -1069,22 +1069,29 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         locationService.update(locationLambdaUpdateWrapper);
         //如果是整出,删掉这个库位上的这个托盘,否则更改托盘状态
         Container containerRecord = new Container();
-//        if(task.getTaskType()==300) {
-//            containerService.updateLocationCodeAndStatus(task.getContainerCode(),"","empty");
-//        }
-//        else{
-//            //查询是否存在关联的库存,入如果没有就修改容器状态为empty
-//            Inventory inventoryCondition = new Inventory();
-//            inventoryCondition.setLocationCode(task.getSourceLocation());
-//            Map<String, Object> map = inventoryService.selectFirstMap("id", inventoryCondition);
-//            if (map == null) {
-//                //如果没有库存就设置为empty
-//                containerService.updateStatus(task.getContainerCode(), "empty");
-//            }
-//        }
+        if(task.getTaskType()==300) {
+            containerService.updateLocationCodeAndStatus(task.getContainerCode(),"","empty");
+        }
+        else{
+            //查询是否存在关联的库存,入如果没有就修改容器状态为empty
+            InventoryDetail inventoryCondition = new InventoryDetail();
+            inventoryCondition.setLocationCode(task.getToLocation());
+            LambdaQueryWrapper<InventoryDetail> inventoryDetaillambdaQueryWrapper = Wrappers.lambdaQuery();
+            inventoryDetaillambdaQueryWrapper.eq(InventoryDetail::getLocationCode,task.getToLocation());
+            List<InventoryDetail> detailList= inventoryDetailService.list();
+            //库存查询不到该容器就把容器状态改为可用
+            if (detailList.size()<1) {
+                Container container =new Container();
+                container.setCode(task.getToLocation());
+                condition.setToLocation("");
+               LambdaUpdateWrapper<Container> containerLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+               containerLambdaUpdateWrapper.eq(Container::getCode,task.getToLocation());
+               containerService.update(containerLambdaUpdateWrapper);
+            }
+        }
 //        //设置出库货箱状态为拣货任务完成
 //        shipmentContainerHeaderService.resetStatusShipmentContainer(task.getAllocationHeadId(),(short)20);
-        //最后更新单据状态
+       // 最后更新单据状态
         shipmentHeadIds.stream().distinct().forEach(t->shipmentHeaderService.updateShipmentStatus(t));
 
     }
--
libgit2 0.22.2