From a9f4a820c583eb85cec381b6236063256f753652 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 02 八月 2025 14:53:02 +0800
Subject: [PATCH] 完善和新增多次拣料

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java |  314 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 277 insertions(+), 37 deletions(-)

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 4e2def2..29de0a6 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
@@ -1,6 +1,7 @@
 package com.zy.asrs.wms.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sun.org.apache.xpath.internal.operations.Or;
 import com.zy.asrs.common.domain.dto.LocDetlDto;
 import com.zy.asrs.common.domain.dto.WrkDto;
 import com.zy.asrs.common.domain.entity.MobileAdjustResult;
@@ -22,10 +23,7 @@
 import com.zy.asrs.framework.exception.CoolException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -66,39 +64,125 @@
     @Autowired
     private MatService matService;
 
+
+    /**
+     * 骞冲韩涓婃灦
+     *
+     * @param locNo
+     * @param barcode
+     * @return
+     */
     @RequestMapping("/pda/WarehouseIn")
     @ManagerAuth
-    public R WarehouseIn(@RequestParam String locNo,@RequestParam String barcode){
-        return mobileService.WarehouseIn(locNo,barcode,getHostId());
+    public R WarehouseIn(@RequestParam String locNo, @RequestParam String barcode) {
+        return mobileService.WarehouseIn(locNo, barcode, getHostId(), getUserId());
     }
 
+    /**
+     * 骞冲韩涓嬫灦
+     *
+     * @param combParam
+     * @return
+     */
     @RequestMapping("/pda/WarehouseOut")
     @ManagerAuth
-    public R WarehouseOut(@RequestBody CombParam combParam){
-        return mobileService.WarehouseOut(combParam,getHostId());
+    public R WarehouseOut(@RequestBody CombParam combParam) {
+        return mobileService.WarehouseOut(combParam, getHostId(), getUserId());
     }
 
+    @RequestMapping("/outBound/mat/list")
+    @ManagerAuth
+    public R WarehouseMat(@RequestParam String matnr, @RequestParam String orderNo) {
+        if (Cools.isEmpty(matnr)) {
+            R.error("鍝佸彿涓嶈兘涓虹┖");
+        }
+        ArrayList<PickMatParam> maps = new ArrayList<>();
+        if (Cools.isEmpty(orderNo)) {
+            List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                    .eq(OrderDetl::getMatnr, matnr)
+                    .orderByDesc(OrderDetl::getCreateTime));
+            List<OrderDetl> orderDetls = new ArrayList<OrderDetl>();
+            for (OrderDetl orderDetl : list
+            ) {
+                Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()));
+                if (!Cools.isEmpty(order)) {
+                    DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType()));
+                    if (!Cools.isEmpty(docType) && docType.getPakout() == 1) {
+                        double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+                        PickMatParam matParam = new PickMatParam();
+                        matParam.setMatnr(orderDetl.getMatnr());
+                        matParam.setBatch(orderDetl.getBatch());
+                        matParam.setOrderNo(orderDetl.getOrderNo());
+                        matParam.setOrderId(orderDetl.getOrderId());
+                        matParam.setCount(count);
+                        matParam.setUseCount(count);
+                        maps.add(matParam);
+                    }
+
+
+                }
+            }
+            return R.ok(maps);
+        } else {
+            List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                    .eq(OrderDetl::getMatnr, matnr)
+                    .like(OrderDetl::getOrderNo, orderNo)
+                    .orderByDesc(OrderDetl::getCreateTime));
+            for (OrderDetl orderDetl : list
+            ) {
+                double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+                PickMatParam matParam = new PickMatParam();
+                matParam.setMatnr(orderDetl.getMatnr());
+                matParam.setBatch(orderDetl.getBatch());
+                matParam.setOrderNo(orderDetl.getOrderNo());
+                matParam.setOrderId(orderDetl.getOrderId());
+                matParam.setCount(count);
+                matParam.setUseCount(count);
+                maps.add(matParam);
+            }
+            return R.ok(maps);
+        }
+    }
+
+    /**
+     * 骞舵澘閫斾腑鎷f枡
+     *
+     * @param combParam
+     * @return
+     */
     @RequestMapping("/pda/WarehouseOut/v1")
     @ManagerAuth
-    public R WarehouseOutV1(@RequestBody CombParam combParam){
-        return mobileService.WarehouseOutV1(combParam,getHostId());
+    public R WarehouseOutV1(@RequestBody CombParam combParam) {
+        return mobileService.WarehouseOutV1(combParam, getHostId(), getUserId());
     }
 
+    /**
+     * 鎷f枡閫斾腑骞舵澘
+     *
+     * @param param
+     * @return
+     */
     @RequestMapping("/pda/WarehouseOutPickMerge/v1")
     @ManagerAuth
-    public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param){
-        return mobileService.WarehouseOutPickMergeV1(param, getHostId());
+    public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
+        return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId());
     }
 
+    /**
+     * 澶氭骞舵澘
+     *
+     * @param param
+     * @return
+     */
     @RequestMapping("/pda/WarehouseOutMergeBoardMany/v1")
     @ManagerAuth
-    public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param){
-        return mobileService.WarehouseOutMergeBoardMany(param, getHostId());
+    public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param) {
+        return mobileService.WarehouseOutMergeBoardMany(param, getHostId(), getUserId());
     }
 
     @RequestMapping("/menu/pda/auth")
     @ManagerAuth
-    public R menuPda(){
+    public R menuPda() {
         List<RolePermission> rolePermissions;
         Long roleId = getUser().getRoleId();
         rolePermissions = rolePermissionService.list(new LambdaQueryWrapper<RolePermission>().eq(RolePermission::getRoleId, getHostId()));
@@ -119,7 +203,7 @@
      */
     @RequestMapping("/pda/decrees/check")
     @ManagerAuth
-    public R pdaDecreesCheck(@RequestParam String decrees){
+    public R pdaDecreesCheck(@RequestParam String decrees) {
         if (Cools.isEmpty(decrees)) {
             return R.error("鍒朵护涓嶈兘涓虹┖");
         }
@@ -129,7 +213,7 @@
         //鏌ヨ鏄惁鏈夋鍦ㄥ伐浣滅殑宸ヤ綔妗�
         List<WrkDetl> wrkDetls = wrkDetlService.list(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getBatch, decrees));
         HashMap<String, Object> map = new HashMap<>();
-        if(list.isEmpty() && wrkDetls.isEmpty()){
+        if (list.isEmpty() && wrkDetls.isEmpty()) {
             map.put("status", 1);//鍙甯稿叆搴�
         } else if (!wrkDetls.isEmpty()) {
             map.put("status", 3);//瀛樺湪宸ヤ綔妗o紝鎷掔粷鍏ュ簱
@@ -155,7 +239,7 @@
      */
     @RequestMapping("/order/search/orderNo/auth")
     @ManagerAuth
-    public R orderSearchByBarcode(@RequestParam String orderNo){
+    public R orderSearchByBarcode(@RequestParam String orderNo) {
         Order order = orderService.selectByNo(orderNo, getHostId());
         if (order == null) {
             return R.ok();
@@ -176,7 +260,7 @@
 
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
-    public R comb(@RequestBody CombParam combParam){
+    public R comb(@RequestBody CombParam combParam) {
         mobileService.comb(combParam, getUserId(), getHostId());
         return R.ok("缁勬墭鎴愬姛");
     }
@@ -186,7 +270,7 @@
     @Deprecated
     public R pakoutQuery(@RequestParam(required = false) String barcode,
                          @RequestParam(required = false) Integer staNo,
-                         @RequestParam(required = false) String matnr){
+                         @RequestParam(required = false) String matnr) {
         if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
             return R.ok();
         }
@@ -211,7 +295,7 @@
      */
     @RequestMapping("/pakout/confirm/barcode/auth")
     @ManagerAuth
-    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
         if (Cools.isEmpty(barcode)) {
             return R.ok();
         }
@@ -232,7 +316,7 @@
     @RequestMapping("/pakout/confirm/pick/auth")
     @ManagerAuth
     public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
-            , @RequestParam(required = false) String matnr){
+            , @RequestParam(required = false) String matnr) {
         if (Cools.isEmpty(wrkNo)) {
             return R.ok();
         }
@@ -368,14 +452,14 @@
 
     @RequestMapping("/adjust/auth")
     @ManagerAuth(memo = "鐩樼偣")
-    public R adjust(@RequestBody MobileAdjustParam combParam){
+    public R adjust(@RequestBody MobileAdjustParam combParam) {
         mobileService.adjust(combParam, getUserId(), getHostId());
         return R.ok("鐩樼偣鎴愬姛");
     }
 
     @RequestMapping("/loc/f/list")
     @ManagerAuth(memo = "鑾峰彇鍦ㄥ簱搴撲綅")
-    public R locNoF(@RequestParam(required = false) String locNo){
+    public R locNoF(@RequestParam(required = false) String locNo) {
         LambdaQueryWrapper<LocMast> wrapper = new LambdaQueryWrapper<LocMast>()
                 .eq(LocMast::getLocSts, "F")
                 .eq(LocMast::getHostId, getHostId());
@@ -388,7 +472,7 @@
 
     @RequestMapping("/pick/sta/list")
     @ManagerAuth(memo = "鑾峰彇骞舵澘绔�")
-    public R pickSta(){
+    public R pickSta() {
         List<StaDesc> list = staDescService.list(new LambdaQueryWrapper<StaDesc>()
                 .eq(StaDesc::getTypeNo, 104)
                 .eq(StaDesc::getHostId, getHostId()));
@@ -397,7 +481,7 @@
 
     @RequestMapping("/pick/mat/list")
     @ManagerAuth(memo = "鑾峰彇骞舵澘鐗╂枡")
-    public R pickMats(@RequestParam(required = false) String matnr){
+    public R pickMats(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
         List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakin, 1));
         ArrayList<Long> typeList = new ArrayList<>();
         for (DocType docType : docTypes) {
@@ -405,14 +489,25 @@
         }
 
         LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Order::getStatus, 1);
+        wrapper.in(Order::getStatus, 1,2);
         wrapper.eq(Order::getHostId, getHostId());
         wrapper.in(Order::getDocType, typeList);
         List<Order> orders = orderService.list(wrapper);
 
         ArrayList<Long> orderIds = new ArrayList<>();
         for (Order order : orders) {
-            orderIds.add(order.getId());
+            Date currentDate = new Date();
+
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(currentDate);
+            calendar.add(Calendar.MONTH, -1);
+
+            Date previousMonthDate = calendar.getTime();
+            int result=previousMonthDate.compareTo(order.getCreateTime());
+            if(result<0){
+                orderIds.add(order.getId());
+            }
+
         }
 
         //鎼滅储鏄庣粏
@@ -420,10 +515,14 @@
         wrapper1.eq(OrderDetl::getStatus, 1);
         wrapper1.eq(OrderDetl::getHostId, getHostId());
         wrapper1.in(OrderDetl::getOrderId, orderIds);
+        wrapper1.orderByDesc(OrderDetl::getCreateTime);
+//        wrapper1.last("LIMIT 1000");
         if (!Cools.isEmpty(matnr)) {
             wrapper1.like(OrderDetl::getMatnr, matnr);
         }
-
+        if (!Cools.isEmpty(orderNo)) {
+            wrapper1.like(OrderDetl::getOrderNo, orderNo);
+        }
         List<OrderDetl> list = orderDetlService.list(wrapper1);
 
         ArrayList<PickMatParam> maps = new ArrayList<>();
@@ -436,6 +535,7 @@
 
             PickMatParam matParam = new PickMatParam();
             matParam.setMatnr(orderDetl.getMatnr());
+            matParam.setMaktx(orderDetl.getMaktx());
             matParam.setBatch(orderDetl.getBatch());
             matParam.setOrderNo(orderDetl.getOrderNo());
             matParam.setOrderId(orderDetl.getOrderId());
@@ -446,9 +546,9 @@
         return R.ok().add(maps);
     }
 
-    @RequestMapping("/outBound/mat/list")
+    @RequestMapping("/outBound/order/list")
     @ManagerAuth(memo = "鑾峰彇鍑哄簱璁㈠崟")
-    public R outBound(@RequestParam(required = false) String matnr,@RequestParam(required = false) String orderNo){
+    public R outBound(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
         List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakout, 1));
         ArrayList<Long> typeList = new ArrayList<>();
         for (DocType docType : docTypes) {
@@ -500,7 +600,7 @@
     @RequestMapping("/pick/in")
     @ManagerAuth(memo = "骞舵澘鍏ュ簱")
     @Transactional
-    public R pickConfirm(@RequestBody PickConfirmParam param){
+    public R pickConfirm(@RequestBody PickConfirmParam param) {
         LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
                 .eq(LocMast::getLocNo, param.getLocNo())
                 .eq(LocMast::getHostId, getHostId()));
@@ -593,12 +693,20 @@
             wrkDetl.setHostId(getHostId());
             wrkDetl.setWrkMastId(wrkMast.getId());
             wrkDetl.setZpallet(wrkMast.getBarcode());
+            if(Cools.isEmpty(matParam.getBatch())){
+                wrkDetl.setBatch("");
+            }
             if (!wrkDetlService.save(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
 
+            Order order = orderService.selectByNo(matParam.getOrderNo(), getHostId());
+            if (order == null) {
+                throw new CoolException("Order is not exits");
+            }
             //鏇存柊璁㈠崟宸ヤ綔鏁伴噺
             orderDetlService.increaseWorkQtyByOrderNo(matParam.getOrderNo(), matParam.getMatnr(), matParam.getBatch(), matParam.getUseCount(), getHostId());
+            orderService.updateSettle(order.getId(), 2L, getUserId(), getHostId());
         }
         // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
         locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, param.getLocNo()).eq(LocMast::getHostId, getHostId()));
@@ -621,20 +729,30 @@
     @Transactional
     public R orderOutListOrder(@RequestBody String barcode) {
         ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
-        if (Cools.isEmpty(barcode) || barcode.isEmpty()){
+        if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
             List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
                     .eq(WrkMast::getHostId, getHostId())
                     .eq(WrkMast::getWrkSts, 199L)
                     .eq(WrkMast::getIoType, 104));
             wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
         } else {
             List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
                     .like(WrkMast::getBarcode, barcode)
                     .eq(WrkMast::getHostId, getHostId())
                     .eq(WrkMast::getWrkSts, 199L)
-                    .eq(WrkMast::getIoType, 104)
-            );
+                    .eq(WrkMast::getIoType, 104));
             wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
         }
 
         return R.ok().add(wrkMastArrayList);
@@ -643,14 +761,19 @@
     @RequestMapping("/barcode/list/pick")
     @ManagerAuth(memo = "鎷f枡鍏ュ簱閫斾腑骞舵澘")
     @Transactional
-    public R orderOutListOrderPick(@RequestBody String barcode) {
+    public R orderOutListOrderPick(@RequestBody(required = false) String barcode) {
         ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
-        if (Cools.isEmpty(barcode) || barcode.isEmpty()){
+        if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
             List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
                     .eq(WrkMast::getHostId, getHostId())
                     .eq(WrkMast::getWrkSts, 199L)
                     .eq(WrkMast::getIoType, 103));
             wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
         } else {
             List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
                     .like(WrkMast::getBarcode, barcode)
@@ -659,9 +782,126 @@
                     .eq(WrkMast::getIoType, 103)
             );
             wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
         }
 
         return R.ok().add(wrkMastArrayList);
     }
 
+    @PostMapping("/pda/OutLocNo")
+    @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿")
+    @Transactional
+    public R OutLocNo(@RequestParam Long orderId) {
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                .eq(OrderDetl::getOrderId, orderId)
+                .eq(OrderDetl::getHostId, getHostId())
+        );
+        if (Cools.isEmpty(orderDetls)) {
+            return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
+        List<String> list = new ArrayList<>();
+        for (OrderDetl o : orderDetls
+        ) {
+            if (o.getAnfme() <= o.getWorkQty()) {
+                continue;
+            } else {
+                //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂�
+                List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+                        .eq(LocDetl::getMatnr, o.getMatnr()).eq(LocDetl::getHostId, getHostId())
+                );
+                if (Cools.isEmpty(locDetls)) {
+                    continue;
+                } else {
+                    for (LocDetl l : locDetls
+                    ) {
+                        String s = l.getLocNo().substring(1, 2);
+                        if (Integer.valueOf(s) > 4) {
+                            list.add(l.getLocNo());
+                        }
+                    }
+
+                }
+            }
+        }
+        List<String> myList = list.stream().distinct().collect(Collectors.toList());
+        return R.ok(myList);
+    }
+
+    @PostMapping("/pda/OrderDetlContrastLocDetl")
+    @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�")
+    @Transactional
+    public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) {
+        List<LocDetl> locDetlList = new ArrayList<LocDetl>();
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                .eq(OrderDetl::getOrderId, orderId)
+                .eq(OrderDetl::getHostId, getHostId())
+        );
+        if (Cools.isEmpty(orderDetls)) {
+            return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
+        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+                .eq(LocDetl::getLocNo, locNo));
+        if (Cools.isEmpty(locDetls)) {
+            return R.error("搴撲綅涓虹┖");
+        }
+        for (OrderDetl o : orderDetls
+        ) {
+            if(o.getAnfme().equals(o.getQty())){
+                continue;
+            }
+            for (LocDetl l : locDetls
+            ) {
+                if (o.getMatnr().equals(l.getMatnr())) {
+                    if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) {
+
+                    } else {
+                        l.setAnfme(o.getAnfme() - o.getWorkQty());
+                    }
+                    locDetlList.add(l);
+                    break;
+                }
+            }
+        }
+        return R.ok(locDetlList);
+    }
+
+    @PostMapping("/pda/OutOrder")
+    @ManagerAuth(memo = "鑾峰緱鍑哄簱鍗�")
+    @Transactional
+    public R OutOrder(@RequestParam String orderNo) {
+        List<Order> orders=new ArrayList<Order>();
+        List<Order> OrderList=new ArrayList<Order>();
+        if(Cools.isEmpty(orderNo)){
+            orders= orderService.list(new LambdaQueryWrapper<Order>()
+                    .between(Order::getSettle,1,2)
+                    .eq(Order::getHostId, getHostId())
+            );
+        }else{
+            orders= orderService.list(new LambdaQueryWrapper<Order>()
+                    .like(Order::getOrderNo, orderNo)
+                    .between(Order::getSettle,1,2)
+                    .eq(Order::getHostId, getHostId())
+            );
+        }
+        if(Cools.isEmpty(orders)){
+            return R.ok();
+        }
+        for (Order o:orders
+             ) {
+            DocType docType=docTypeService.getOne(new LambdaQueryWrapper<DocType>()
+                    .eq(DocType::getDocId,o.getDocType()));
+            if(docType.getPakout()==1){
+                OrderList.add(o);
+            }
+        }
+
+
+        return R.ok(OrderList);
+    }
+
 }

--
Gitblit v1.9.1