From e46aa927d231af83724683c7286d9db503e24cf7 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期二, 10 六月 2025 11:46:20 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ContainerController.cs |   49 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 39 insertions(+), 10 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ContainerController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ContainerController.cs"
index 05f6e55..67bcf61 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ContainerController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ContainerController.cs"
@@ -4,9 +4,12 @@
 using Microsoft.AspNetCore.Mvc;
 using SqlSugar.Extensions;
 using WIDESEAWCS_BasicInfoRepository;
+using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_DTO.PlacedBlockDTO;
+using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_IBasicInfoRepository;
 using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_Model.Models;
@@ -21,12 +24,21 @@
         private readonly IOrderContainerRepository _orderContainerRepository;
         private readonly IOrderDetailsRepository _orderDetailsRepository;
         private readonly IOrderrowsRepository _orderrowsRepository;
-        public ContainerController(IContainerService service, IContainerRepository containerRepository, IOrderContainerRepository orderContainerRepository, IOrderDetailsRepository orderDetailsRepository, IOrderrowsRepository orderrowsRepository) : base(service)
+        private readonly IContainerItemRepository _containerItemRepository;
+        public ContainerController(IContainerService service, IContainerRepository containerRepository, IOrderContainerRepository orderContainerRepository, IOrderDetailsRepository orderDetailsRepository, IOrderrowsRepository orderrowsRepository, IContainerItemRepository containerItemRepository) : base(service)
         {
             _containerRepository = containerRepository;
             _orderContainerRepository = orderContainerRepository;
             _orderDetailsRepository = orderDetailsRepository;
             _orderrowsRepository = orderrowsRepository;
+            _containerItemRepository = containerItemRepository;
+        }
+
+        [HttpPost, HttpGet, Route("GetTaskPosition"), AllowAnonymous]
+        public TaskPosition GetTaskPosition([FromBody] Point3D point3D, int length, int width, int height, int edge)
+        {
+            PlaceBlockService placeBlockService = new PlaceBlockService(new ContainerSize(), null);
+            return placeBlockService.GetTaskPosition(point3D, length, width, height, edge);
         }
 
         [HttpPost, HttpGet, Route("GetPutStations"), AllowAnonymous]
@@ -38,6 +50,8 @@
                 List<object> list = new List<object>();
                 foreach (var container in containers)
                 {
+                    List<string> containerItemCodes = _containerItemRepository.QueryData(x => x.ContainerId == container.Id).Select(x => x.ItemCode).ToList();
+
                     Dt_OrderContainer orderContainer = _orderContainerRepository.QueryFirst(x => x.ContainerId == container.Id && x.ContainerCode == container.ContainerCode);
                     if (orderContainer != null)
                     {
@@ -45,27 +59,34 @@
                         if (orderrows != null)
                         {
                             List<OrderDetails> totalDetails = _orderDetailsRepository.QueryData(x => x.Orderrowsid == orderrows.id);
-                            List<OrderDetails> details = totalDetails.Where(x => x.Orderrowsid == orderrows.id && x.Orderdetails_status == PalletingStatusEnmu.PalletingSuccess.ObjToInt()).ToList();
+                            List<OrderDetails> details = totalDetails.Where(x => x.Orderrowsid == orderrows.id && x.Orderdetails_status == PalletingStatusEnmu.PalletingSuccess.ObjToInt() && containerItemCodes.Contains(x.Orderdetails_outid)).ToList();
+
+                            int sortedNum = totalDetails.Where(x => x.Orderrowsid == orderrows.id && x.Orderdetails_status == PalletingStatusEnmu.PalletingSuccess.ObjToInt()).Count();
+
                             List<object> orderData = new List<object>();
                             foreach (var item in details)
                             {
                                 object obj = new
                                 {
-                                    orderCode = orderrows.Orderrows_orderid,
-                                    cusName = orderrows.Orderrows_customer,
-                                    orderName = orderrows.Orderrows_name,
-                                    batch = orderrows.Orderrows_batchid,
-                                    productName = ""
+                                    name = item.Orderdetails_name,
+                                    baseName = item.Orderdetails_productName,
+                                    size = $"{item.Orderdetails_length}*{item.Orderdetails_width}*{item.Orderdetails_thickness}",
+                                    process = "",
                                 };
                                 orderData.Add(obj);
                             }
                             object data = new
                             {
+                                orderCode = orderrows.Orderrows_orderid,
+                                orderName = orderrows.Orderrows_name,
+                                cusName = orderrows.Orderrows_customer,
                                 stationCode = container.ContainerCode,
                                 orderTotalNum = totalDetails.Count,
-                                sortedNum = details.Count,
-                                unsortedNum = totalDetails.Count - details.Count,
-                                orderData = orderData
+                                sortedNum = sortedNum,
+                                unsortedNum = totalDetails.Count - sortedNum,
+                                stationSortedNum = details.Count,
+                                orderData = orderData,
+                                orderId = orderrows.id
                             };
                             list.Add(data);
                         }
@@ -73,6 +94,7 @@
                         {
                             object data = new
                             {
+                                stationSortedNum = 0,
                                 stationCode = container.ContainerCode,
                                 orderTotalNum = 0,
                                 sortedNum = 0,
@@ -90,6 +112,7 @@
                             orderTotalNum = 0,
                             sortedNum = 0,
                             unsortedNum = 0,
+                            stationSortedNum = 0,
                             orderData = new List<object>()
                         };
                         list.Add(data);
@@ -107,5 +130,11 @@
                 };
             }
         }
+
+        [HttpPost, HttpGet, Route("ReleaseContainer"), AllowAnonymous]
+        public WebResponseContent ReleaseContainer([FromBody] int[] keys)
+        {
+            return Service.AutoReleaseContainer(keys);
+        }
     }
 }

--
Gitblit v1.9.3