From 9b6a50bf1288d2f7f06a67bec0c902d1256e44fe Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 05 七月 2025 11:15:54 +0800
Subject: [PATCH] 1.订单出库改物料多的先出 2.新增订单明细打印功能

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 94 insertions(+), 3 deletions(-)

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 24df00e..7f24d05 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
@@ -10,6 +10,7 @@
 import com.zy.asrs.common.domain.dto.WrkTraceVo;
 import com.zy.asrs.common.domain.param.OrderDomainParam;
 import com.zy.asrs.common.wms.entity.*;
+import com.zy.asrs.common.wms.mapper.OrderDetlMapper;
 import com.zy.asrs.common.wms.service.*;
 import com.zy.asrs.framework.annotations.ManagerAuth;
 import com.zy.asrs.framework.common.Cools;
@@ -19,6 +20,7 @@
 import com.zy.asrs.framework.common.DateUtils;
 import com.zy.asrs.common.web.BaseController;
 import com.zy.asrs.framework.exception.CoolException;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -52,15 +54,22 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private DocTypeService docTypeService;
+    @Autowired
+    private LocInPrintMatService locInPrintMatService;
+    @Autowired
+    private MatService matService;
 
     @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> 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());
+            if (o.getAnfme().equals(0.0)){
+                continue;
+            }
             orderDetls.add(o);
         }
         return R.ok(orderDetls);
@@ -72,10 +81,22 @@
         return R.ok(orderService.selectAllorderNo(getHostId()));
     }
 
+    @RequestMapping(value = "/order/comb/list/all")
+    @ManagerAuth
+    public R orderListComb() {
+        return R.ok(orderService.selectAllCombOrderNo(getHostId()));
+    }
+
+//    @RequestMapping(value = "/outOrder/list/all")
+//    @ManagerAuth
+//    public R orderOutList() {
+//        return R.ok(orderService.selectAllOutOrderNo(getHostId()));
+//    }
+
     @RequestMapping(value = "/outOrder/list/all")
     @ManagerAuth
-    public R orderOutList() {
-        return R.ok(orderService.selectAllOutOrderNo(getHostId()));
+    public R orderOutListOrder(@RequestBody String orderNo) {
+        return R.ok(orderService.selectAllOutOrderNo(orderNo,getHostId()));
     }
 
     @RequestMapping(value = "/order/{id}/auth")
@@ -142,6 +163,7 @@
 
         param.remove("order_no");
         allLike(Order.class, param.keySet(), wrapper, condition);
+        wrapper.orderByDesc("create_time");
         return R.ok(orderService.page(new Page<>(curr, limit), wrapper));
     }
 
@@ -178,6 +200,30 @@
         }
         if (!orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId))) {
             throw new CoolException("鍒犻櫎鍗曟嵁鏄庣粏澶辫触");
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/order/dy")
+    @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+    @Transactional
+    public R dy(@RequestParam Long orderId){
+        List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
+        for (OrderDetl orderDetl : list) {
+            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, orderDetl.getMatnr()));
+            LocInPrintMat locInPrintMat = new LocInPrintMat();
+            locInPrintMat.setMatnr(orderDetl.getMatnr());
+            locInPrintMat.setMaktx(orderDetl.getMaktx());
+            locInPrintMat.setStatus(1);
+            locInPrintMat.setOrderNo(orderDetl.getOrderNo());
+            locInPrintMat.setBatch(orderDetl.getBatch());
+            locInPrintMat.setCreateBy(getUserId());
+            locInPrintMat.setCreateTime(new Date());
+            locInPrintMat.setUpdateTime(new Date());
+            if(!Cools.isEmpty(mat)){
+                locInPrintMat.setDecrees(mat.getDecrees());
+            }
+            locInPrintMatService.save(locInPrintMat);
         }
         return R.ok();
     }
@@ -454,4 +500,49 @@
         return R.ok("璁㈠崟淇敼鎴愬姛");
     }
 
+    @RequestMapping(value = "/order/export/auth")
+    @ManagerAuth(memo = "璁㈠崟鏄庣粏瀵煎嚭")
+    public synchronized R export(@RequestBody JSONObject param){
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        QueryWrapper<OrderDetl> wrapper = new QueryWrapper<>();
+        JSONArray orderNo = param.getJSONArray("orderNo");
+        List<String> orderNoList = new ArrayList<>();
+        for (int i = 0; i < orderNo.size(); i++) {
+            Object o = orderNo.get(i);
+            orderNoList.add(o.toString());
+        }
+        List<OrderDetl> list = orderDetlService.list(new  QueryWrapper<OrderDetl>().in("order_no", orderNoList));
+        return R.ok(exportSupport(list, fields));
+    }
+
+    private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
+        for (Map.Entry<String, Object> entry : map.entrySet()){
+            if(Cools.eq(entry.getKey(),"curr")
+                    || Cools.eq(entry.getKey(),"limit")
+                    || Cools.eq(entry.getKey(),"unreason")
+                    || Cools.eq(entry.getKey(),"orderByField")
+                    || Cools.eq(entry.getKey(),"orderByType")
+                    || Cools.eq(entry.getKey(),"row")
+                    || Cools.eq(entry.getKey(),"condition")){
+                continue;
+            }
+
+            if(Cools.isEmpty(entry.getValue())){
+                continue;
+            }
+
+            String val = String.valueOf(entry.getValue());
+            if (val.contains(RANGE_TIME_LINK)){
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else {
+                if (entry.getKey().equals("locNo")) {
+                    wrapper.eq("loc_no", String.valueOf(entry.getValue()));
+                } else {
+                    wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.9.1