From 39c959e089a085ec08e95de4c48175ecb525d771 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期三, 28 一月 2026 14:24:11 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs |    4 ++
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs          |   73 ++++++++----------------------------
 2 files changed, 21 insertions(+), 56 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index f051ef8..8dd95ab 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -198,6 +198,10 @@
                 _unitOfWorkManage.BeginTran();
                 foreach (var item in deletePurchaseOrderDetails)
                 {
+                    if(item.LockQuantity > 0)
+                    {
+                        return WebResponseContent.Instance.Error($"鍘熷崟鎹鍙穥item.lineNo}宸茬粡閿佸畾鍑哄簱锛屼笉鍏佽鍒犻櫎锛岃閲嶆柊鏇存敼鏁版嵁鎺ㄩ��");
+                    }
                     // _outboundOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.鑷姩鍒犻櫎);
                     _outboundOrderDetailRepository.DeleteData(item);
                 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index f0b6ddf..25f749f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -382,8 +382,6 @@
                                }).ToList();
                             allocatefeedmodel.Details = groupedData;
 
-                            //var feedbackresult = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
-
                             var response = responseModel(inboundOrder, 3, null, allocatefeedmodel);
                             if (response != null && response.IsSuccess)
                             {
@@ -391,66 +389,24 @@
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                 _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
                                 .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
+                                _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
+                                {
+                                    Status = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt()
+                                }).Where(it => it.StockId == stockInfo.Id).ExecuteCommand();
+                            }
+                            else
+                            {
+                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = response.ErrorMessage })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+                               .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                             }
                         }
                     }
                     else if (inboundOrder.OrderType == InOrderTypeEnum.ReCheck.ObjToInt()) //閲嶆鍏ュ簱
                     {
                         //涓嶉渶瑕佸洖浼犮�傚崰涓�涓綅缃��
-                    }
-                    else if (inboundOrder.OrderType == InOrderTypeEnum.InternalAllocat.ObjToInt()) //鏅轰粨璋冩櫤浠�
-                    {
-                        _logger.LogInformation($"InboundTaskCompleted 鍥炲啓MES  : {inboundOrder.InboundOrderNo}  ,ordertype: {InOrderTypeEnum.InternalAllocat.ObjToInt()} ");
-                        // BusinessTypeEnum.鏅轰粨璋冩櫤浠�
-                        if (inboundOrder != null && inboundOrder.OrderStatus == InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
-                        {
-                            var allocate = _allocateService.Repository.QueryData(x => x.OrderNo == inboundOrder.InboundOrderNo).First();
-                            var allocatefeedmodel = new AllocateDto
-                            {
-                                ReqCode = Guid.NewGuid().ToString(),
-                                ReqTime = DateTime.Now.ToString(),
-                                BusinessType = BusinessTypeEnum.鏅轰粨璋冩櫤浠�.ObjToInt().ToString(),
-                                FactoryArea = inboundOrder.FactoryArea,
-                                OperationType = 1,
-                                Operator = inboundOrder.Operator,
-                                OrderNo = inboundOrder.UpperOrderNo,
-                                fromWarehouse = allocate?.FromWarehouse ?? "",
-                                toWarehouse = allocate?.ToWarehouse ?? "",
-                                Details = new List<AllocateDtoDetail>()
-
-                            };
-                            var query = inboundOrder.Details.AsQueryable();
-                            query = query.Where(item => item.ReturnToMESStatus == 0);
-                            var groupedData = query.GroupBy(item => new { item.MaterielCode, item.lineNo, item.BarcodeUnit, item.WarehouseCode })
-                               .Select(group => new AllocateDtoDetail
-                               {
-                                   MaterialCode = group.Key.MaterielCode,
-                                   LineNo = group.Key.lineNo,
-                                   WarehouseCode = group.Key.WarehouseCode,
-                                   Qty = group.Sum(x => x.BarcodeQty),
-                                   // warehouseCode= "1072",
-                                   Unit = group.Key.BarcodeUnit,
-                                   Barcodes = group.Select(row => new BarcodeInfo
-                                   {
-                                       Barcode = row.Barcode,
-                                       Qty = row.BarcodeQty,
-                                       BatchNo = row.BatchNo,
-                                       SupplyCode = row.SupplyCode,
-                                       Unit = row.BarcodeUnit
-                                   }).ToList()
-                               }).ToList();
-                            allocatefeedmodel.Details = groupedData;
-
-                            var feedbackresult = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
-                            if (feedbackresult != null && feedbackresult.code == 200)
-                            {
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
-                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
-                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
-                            }
-                        }
-
                     }
                     else
                     {
@@ -500,6 +456,11 @@
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                 _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
                                 .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
+                                _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
+                                {
+                                    Status = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt()
+                                }).Where(it => it.StockId == stockInfo.Id).ExecuteCommand();
                             }
                             else
                             {

--
Gitblit v1.9.3