From 09284f08c7a901f684cf26ccb0e51a9204d9cd64 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 30 五月 2024 09:30:27 +0800
Subject: [PATCH] #订单组托

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java               |   20 ++++++++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/domain/dto/OrderNameListDto.java        |    8 ++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java          |    2 +
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java           |    3 +
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java              |    6 +++
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java |   45 +++++++++++++++++++++-
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java  |   23 +++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java             |   10 +++++
 8 files changed, 114 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/dto/OrderNameListDto.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/dto/OrderNameListDto.java
new file mode 100644
index 0000000..1170796
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/dto/OrderNameListDto.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.common.domain.dto;
+
+import lombok.Data;
+
+@Data
+public class OrderNameListDto {
+    private String order_no;
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java
index 6fe3eee..3151787 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java
@@ -17,4 +17,6 @@
     void adjust(MobileAdjustParam param, Long userId, Long hostId);
 
     R WarehouseIn(String locNo, String barcode,Long hostId);
+
+    R WarehouseOut(CombParam combParam, Long hostId);
 }
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java
index 13b876c..07c11b9 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.common.wms.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.common.domain.dto.OrderNameListDto;
 import com.zy.asrs.common.wms.entity.Order;
 import com.zy.asrs.common.wms.entity.OrderDetl;
 import com.zy.asrs.common.wms.entity.WrkDetl;
@@ -22,4 +23,6 @@
 
     void checkComplete(String orderNo, Long hostId);
 
+
+    List<OrderNameListDto> selectAllorderNo(Long hostId);
 }
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index ee572f3..2b2fef2 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -103,7 +103,7 @@
                 }
             }
             // 鍏宠仈缁勬墭
-        } else {
+        }  else {
             Order order = orderService.selectByNo(param.getOrderNo(), hostId);
             if (order.getSettle() > 2) {
                 throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
@@ -118,7 +118,7 @@
                     throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
                 }
                 // 淇敼璁㈠崟鏄庣粏鏁伴噺
-                if (!orderDetlService.increase(order.getId(), hostId, elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+                if (!orderDetlService.increaseWorkQtyByOrderNo(order.getOrderNo(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(), hostId)) {
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
                 }
 
@@ -237,7 +237,7 @@
     @Override
     @Transactional
     public R WarehouseIn(String locNo, String barcode,Long hostId) {
-       //鍒ゆ柇搴撲綅鐘舵��
+        //鍒ゆ柇搴撲綅鐘舵��
         LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, locNo).eq(LocMast::getHostId,hostId));
         if (Cools.isEmpty(locMast)){
             return R.error("璇ュ簱浣嶄笉瀛樺湪");
@@ -266,11 +266,28 @@
             locDetl.setModiTime(now);
             locDetl.setAppeTime(now);
             locDetlService.save(locDetl);
+            //鏄惁灞炰簬璁㈠崟鏁版嵁
+            if (!Cools.isEmpty(waitPakin.getOrderNo())){
+                Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
+                if (Cools.isEmpty(order)){
+                    continue;
+                }
+                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch());
+                if (Cools.isEmpty(orderDetl)){
+                    continue;
+                }
+                // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+                if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
+                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+                }
+            }
         }
         //淇敼搴撲綅鐘舵��
         locMast.setLocSts("F");
         locMast.setModiTime(now);
         locMastService.updateById(locMast);
+
+
 
         // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
         if (!waitPakinLogService.saveToHistory(barcode, hostId)) {
@@ -282,4 +299,26 @@
         }
         return R.ok("涓婃灦鎴愬姛");
     }
+
+    @Override
+    public R WarehouseOut(CombParam combParam, Long hostId) {
+        //鍒ゆ柇搴撲綅鐘舵��
+        LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId,hostId));
+        if (Cools.isEmpty(locMast)){
+            return R.error("璇ュ簱浣嶄笉瀛樺湪");
+        }
+        if (!locMast.getLocSts().equals("F")){
+            return R.error("璇ュ簱浣嶇姸鎬佷负锛�"+locMast.getLocSts()+",绂佹鍑哄簱");
+        }
+        //鏌ヨ搴撳瓨鏁版嵁
+        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getZpallet, combParam.getBarcode()).eq(LocDetl::getLocNo, combParam.getLocno()).eq(LocDetl::getHostId, hostId));
+        if (Cools.isEmpty(locDetls)){
+            return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
+        }
+        for (LocDetl locDetl: locDetls){
+
+        }
+
+        return R.ok();
+    }
 }
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java
index 1428c9a..5417f72 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.common.domain.dto.DetlDto;
+import com.zy.asrs.common.domain.dto.OrderNameListDto;
 import com.zy.asrs.common.domain.param.OpenOrderPakinParam;
 import com.zy.asrs.common.domain.param.OpenOrderPakoutParam;
 import com.zy.asrs.common.wms.entity.*;
@@ -11,6 +12,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.DateUtils;
+import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.common.SnowflakeIdWorker;
 import com.zy.asrs.framework.exception.CoolException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -156,4 +158,25 @@
         }
 
     }
+
+    @Override
+    public List<OrderNameListDto> selectAllorderNo(Long hostId) {
+        List<Order> list = list(new LambdaQueryWrapper<Order>().eq(Order::getHostId, hostId));
+        if (Cools.isEmpty(list)){
+            return null;
+        }
+        ArrayList<OrderNameListDto> orderNameListDtos = new ArrayList<>();
+        for (Order order :list){
+            DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType()));
+
+            if (docType.getPakin() == 1){
+                OrderNameListDto orderNameListDto = new OrderNameListDto();
+                orderNameListDto.setOrder_no(order.getOrderNo());
+                orderNameListDtos.add(orderNameListDto);
+            }
+        }
+
+        return orderNameListDtos;
+
+    }
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
index 5d3bb49..508415c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -28,6 +28,16 @@
     @Autowired
     private MatService matService;
 
+    @RequestMapping(value = "/locDetl/forLocNoAndBarcode/auth")
+    @ManagerAuth
+    public R forLocNoAndBarcode(@RequestParam String locNo,@RequestParam String barcode) {
+        List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, locNo).eq(LocDetl::getZpallet, barcode).eq(LocDetl::getHostId, getHostId()));
+        if (Cools.isEmpty(detls)){
+            return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
+        }
+        return R.ok(detls);
+    }
+
     @RequestMapping(value = "/locDetl/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
index c96a715..fdf52ff 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -70,6 +70,12 @@
         return mobileService.WarehouseIn(locNo,barcode,getHostId());
     }
 
+    @RequestMapping("/pda/WarehouseOut")
+    @ManagerAuth
+    public R WarehouseOut(@RequestBody CombParam combParam){
+        return mobileService.WarehouseOut(combParam,getHostId());
+    }
+
     @RequestMapping("/menu/pda/auth")
     @ManagerAuth
     public R menuPda(){
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
index 92226a3..9494019 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -23,6 +23,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 @RestController
@@ -47,6 +48,25 @@
     @Autowired
     private DocTypeService docTypeService;
 
+    @RequestMapping(value = "/order/list/orderNo")
+    public R orderListorderNo(@RequestParam String orderNo) {
+        //鏁伴噺淇敼鎴愪负瀹屾垚鏁伴噺
+        List<OrderDetl> orderDetl1=orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderNo,orderNo));
+        List<OrderDetl> orderDetls= new ArrayList<OrderDetl>();
+        for (OrderDetl o: orderDetl1) {
+            BigDecimal c1 = new BigDecimal(o.getEnableQty()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            o.setAnfme(c1.doubleValue());
+            orderDetls.add(o);
+        }
+        return R.ok(orderDetls);
+    }
+
+    @RequestMapping(value = "/order/list/all")
+    @ManagerAuth
+    public R orderList() {
+        return R.ok(orderService.selectAllorderNo(getHostId()));
+    }
+
     @RequestMapping(value = "/order/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {

--
Gitblit v1.9.1