From 25e1bcba7282b350011950cdf5006e11f1bb9ba5 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 13 一月 2025 20:38:43 +0800
Subject: [PATCH] # 大屏分拣拍灯功能开发

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java |   66 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 1 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
index 17653bd..1a502b0 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
@@ -1,22 +1,32 @@
 package com.zy.asrs.wms.apis.wcs.services.Impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mysql.cj.util.StringUtils;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.apis.wcs.entity.domain.WaveTaskDetl;
 import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
 import com.zy.asrs.wms.apis.wcs.services.WaveManagentService;
+import com.zy.asrs.wms.asrs.entity.CacheSite;
+import com.zy.asrs.wms.asrs.entity.Order;
+import com.zy.asrs.wms.asrs.entity.OrderDetl;
 import com.zy.asrs.wms.asrs.entity.Task;
 import com.zy.asrs.wms.asrs.entity.dto.LargeScreenTaskDto;
 import com.zy.asrs.wms.asrs.entity.enums.TaskStsType;
 import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
+import com.zy.asrs.wms.asrs.mapper.CacheSiteMapper;
+import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.wms.asrs.mapper.OrderMapper;
 import com.zy.asrs.wms.asrs.mapper.TaskMapper;
 import com.zy.asrs.wms.asrs.service.TaskService;
 import com.zy.asrs.wms.asrs.service.WaveSeedService;
+import org.aspectj.weaver.ast.Or;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class WaveManagentServiceImpl implements WaveManagentService {
@@ -25,9 +35,14 @@
 
     @Autowired
     private TaskService taskService;
-
     @Autowired
     private TaskMapper taskMapper;
+    @Autowired
+    private OrderMapper orderMapper;
+    @Autowired
+    private OrderDetlMapper orderDetlMapper;
+    @Autowired
+    private CacheSiteMapper cacheSiteMapper;
 
     @Override
     public R getSowSeeds() {
@@ -72,4 +87,53 @@
         List<WaveTaskDetl> taskDetls = taskMapper.getTaskDetlQutify(taskNo);
         return R.ok(taskDetls);
     }
+
+    /**
+     * 鑾峰彇娉㈡涓嬫墍鏈夎鍗�
+     * @param waveNo
+     * @return
+     */
+    @Override
+    public R getAllOrders(String waveNo) {
+        if (StringUtils.isNullOrEmpty(waveNo)) {
+            throw new CoolException("娉㈡缂栫爜涓嶈兘涓虹┖锛侊紒");
+        }
+        List<Order> orders = orderMapper.selectList(new LambdaQueryWrapper<Order>().eq(Order::getWaveNo, waveNo));
+        if (orders.isEmpty()) {
+            throw new CoolException("褰撳墠娉㈡涓嬫病鏈夎鍗�!!");
+        }
+
+        orders.forEach(order -> {
+            List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
+            if (detls.isEmpty()) {
+                throw new CoolException("璁㈠崟锛�" + order.getOrderNo() + " 娌℃湁鏄庣粏,璇疯仈绯荤鐞嗗憳锛侊紒");
+            }
+            List<OrderDetl> orderDetls = detls.stream().filter(orderDetl -> {
+                return orderDetl.getAnfme() == (orderDetl.getWorkQty() + orderDetl.getQty());
+            }).collect(Collectors.toList());
+
+            if (!orderDetls.isEmpty() && orderDetls.size() == detls.size()) {
+                order.setOrderStatus("宸插畬鎴�");//宸插畬鎴�
+            } else if (orderDetls.size() < detls.size() && orderDetls.size() != 0) {//閮ㄥ垎瀹屾垚
+                order.setOrderStatus("閮ㄥ垎瀹屾垚");
+            } else {//鏈畬鎴�
+                order.setOrderStatus("鏈畬鎴�");
+            }
+        });
+
+        return R.ok(orders);
+    }
+
+    /**
+     * 鑾蜂簡褰撳墠鎾澧欏簱浣嶄俊鎭�
+     * @return
+     */
+    @Override
+    public R AllSeedLocs() {
+        List<CacheSite> cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>());
+        if (cacheSites.isEmpty()) {
+            return R.error("褰撳墠鎾澧欎俊鎭湭璁剧疆锛侊紒");
+        }
+        return R.ok(cacheSites);
+    }
 }

--
Gitblit v1.9.1