From 070b9f3ea747fc763f999e4cc6b86b202f48a237 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期四, 12 三月 2026 18:07:51 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs        |    5 ++
 项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/printView.vue             |   20 +++++++---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs   |   19 ++++++++-
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_Core/WIDESEA_Core.csproj                |    4 ++
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs |    1 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs      |   14 +++++--
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs          |   17 +++++++-
 7 files changed, 66 insertions(+), 14 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/printView.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/printView.vue"
index ffb55b7..a33c195 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/printView.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/printView.vue"
@@ -6,7 +6,8 @@
                 <div class="print-page" v-for="(item, index) in printData" :key="index">
                     <div class="material-card">
                         <div class="dual-column header-section">
-                            <div class="header">鍗撳姏鑳界墿鏂欐爣璇嗗崱(灏忓寘)</div>
+                            <!-- 鍔ㄦ�佺粦瀹氭墦鍗板尯鍩熸爣棰� -->
+                            <div class="header">{{ getHeaderTitle(item.factoryArea) }}</div>
                             <VueQrcode :value="generateQr(item)" :size="60" class="qrcode" />
                         </div>
                         <div class="content">
@@ -70,13 +71,14 @@
                 </div>
             </div>
 
-            <!-- 棰勮鍖哄煙淇濇寔涓嶅彉 -->
             <div id="previewContent" class="preview-container">
-                <div class="preview-header">鍗撳姏鑳界墿鏂欐爣璇嗗崱(灏忓寘) - 棰勮 (鍏眥{ printData.length }}涓�)</div>
+                <!-- 鍔ㄦ�佺粦瀹氶瑙堝尯鍩熸�绘爣棰� -->
+                <div class="preview-header">{{ printData.length > 0 ? getHeaderTitle(printData[0].factoryArea) : '鐗╂枡鏍囪瘑鍗�' }} - 棰勮 (鍏眥{ printData.length }}涓�)</div>
                 <div class="preview-scroll">
                     <div v-for="(item, idx) in printData" :key="idx" class="preview-card">
                         <div class="dual-column preview-card-header-qrcode">
-                            <div class="preview-card-header">鍗撳姏鑳界墿鏂欐爣璇嗗崱(灏忓寘)</div>
+                            <!-- 鍔ㄦ�佺粦瀹氶瑙堝崱鐗囨爣棰� -->
+                            <div class="preview-card-header">{{ getHeaderTitle(item.factoryArea) }}</div>
                             <VueQrcode :value="generateQr(item)" :size="40" class="qrcode-preview" />
                         </div>
                         <div class="preview-wrapper">
@@ -167,6 +169,13 @@
         }
     },
     methods: {
+        getHeaderTitle(factoryArea) {
+            if (!factoryArea) return '鐗╂枡鏍囪瘑鍗�(灏忓寘)'
+            return factoryArea === '04' 
+                ? '鏍奸浘鐗╂枡鏍囪瘑鍗�(灏忓寘)' 
+                : '鍗撳姏鑳界墿鏂欐爣璇嗗崱(灏忓寘)'
+        },
+        
         generateQr(item) {
             return `${item.barcode}`
         },
@@ -192,7 +201,6 @@
                         this.$message.error('鏃犳硶鎵撳紑鎵撳嵃绐楀彛锛岃妫�鏌ユ祻瑙堝櫒寮圭獥璁剧疆')
                         return
                     }
-
   
                     printWindow.document.write(`
             <!DOCTYPE html>
@@ -538,4 +546,4 @@
     color: #409eff;
     font-weight: bold;
 }
-</style>
+</style>
\ No newline at end of file
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_Core/BaseServices/ServiceBase.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_Core/BaseServices/ServiceBase.cs"
index 921062c..70c700e 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_Core/BaseServices/ServiceBase.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_Core/BaseServices/ServiceBase.cs"
@@ -12,6 +12,7 @@
 using System.Linq.Expressions;
 using System.Reflection;
 using System.Reflection.Metadata;
+using WIDESEA_Common.OrderEnum;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.Const;
 using WIDESEA_Core.DB.Models;
@@ -659,6 +660,10 @@
                         saveModel.MainData.Remove(keyPro.Name.FirstLetterToLower());
                     }
                 }
+                    saveModel.MainData["CreateType"] = (int)OrderCreateTypeEnum.CreateInSystem;
+                    
+                    saveModel.MainData["ReturnToMESStatus"] = 5;
+
                 TEntity entity = saveModel.MainData.DicToModel<TEntity>();
                 if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
                 {
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_Core/WIDESEA_Core.csproj" "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_Core/WIDESEA_Core.csproj"
index be85784..454cf0e 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_Core/WIDESEA_Core.csproj"
+++ "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_Core/WIDESEA_Core.csproj"
@@ -38,4 +38,8 @@
     <Folder Include="SystemConfig\" />
   </ItemGroup>
 
+  <ItemGroup>
+    <ProjectReference Include="..\WIDESEA_Common\WIDESEA_Common.csproj" />
+  </ItemGroup>
+
 </Project>
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_InboundService/InboundOrderService.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_InboundService/InboundOrderService.cs"
index 3355b93..b099aa3 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_InboundService/InboundOrderService.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_InboundService/InboundOrderService.cs"
@@ -50,9 +50,10 @@
         private readonly IBasicService _basicService;
         private readonly IRepository<Dt_AllocateOrder> _allocateOrderRepository;
         private readonly IRepository<Dt_OutboundOrder> _outboundOrderRepository;
+        private readonly IRepository<Dt_OutboundOrderDetail> _outboundOrderDetailRepository;
         public IRepository<Dt_InboundOrder> Repository => BaseDal;
 
-        public InboundOrderService(IRepository<Dt_InboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_Task> taskRepository, IStockService stockService, IInboundOrderDetailService inboundOrderDetailService, IMaterialUnitService materialUnitService, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_StockInfo> stockRepository, IRepository<Dt_LocationType> locationTypeRepository, IMaterielInfoService materielInfoService, IBasicService basicService, IRepository<Dt_LocationInfo> locationInfoRepository, IRepository<Dt_AllocateOrder> allocateOrderRepository, IRepository<Dt_OutboundOrder> outboundOrderRepository) : base(BaseDal)
+        public InboundOrderService(IRepository<Dt_InboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_Task> taskRepository, IStockService stockService, IInboundOrderDetailService inboundOrderDetailService, IMaterialUnitService materialUnitService, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_StockInfo> stockRepository, IRepository<Dt_LocationType> locationTypeRepository, IMaterielInfoService materielInfoService, IBasicService basicService, IRepository<Dt_LocationInfo> locationInfoRepository, IRepository<Dt_AllocateOrder> allocateOrderRepository, IRepository<Dt_OutboundOrder> outboundOrderRepository, IRepository<Dt_OutboundOrderDetail> outboundOrderDetailRepository) : base(BaseDal)
         {
             _mapper = mapper;
             _unitOfWorkManage = unitOfWorkManage;
@@ -71,6 +72,7 @@
             _locationInfoRepository = locationInfoRepository;
             _allocateOrderRepository = allocateOrderRepository;
             _outboundOrderRepository = outboundOrderRepository;
+            _outboundOrderDetailRepository = outboundOrderDetailRepository;
         }
 
         public async Task<WebResponseContent> ReceiveInboundOrder(List<Dt_InboundOrder> models, int operateType)
@@ -1031,10 +1033,23 @@
                     }
                     else if (outbound != null)
                     {
-                        if(outbound.OrderStatus !=(int)OutOrderStatusEnum.鏈紑濮� && outbound.OrderStatus != (int)OutOrderStatusEnum.鍑哄簱涓�)
+                        if(outbound.OrderStatus ==(int)OutOrderStatusEnum.鍑哄簱瀹屾垚)
                         {
                             return WebResponseContent.Instance.Error($"璇ュ崟鎹姸鎬佷笉鍙互鍏抽棴");
                         }
+                        if(outbound.OrderStatus == (int)OutOrderStatusEnum.鍑哄簱涓�)
+                        {
+                           var outboundDetails = _outboundOrderDetailRepository.QueryData(x => x.OrderId == outbound.Id);
+                            if (outboundDetails == null)
+                            {
+                                return WebResponseContent.Instance.Error("璇ュ崟鎹姸鎬佷笉鑳藉叧闂�");
+                            }
+                            var detailStatus = outboundDetails.All(x => x.LockQuantity == x.OverOutQuantity);
+                            if (!detailStatus)
+                            {
+                                return WebResponseContent.Instance.Error("璇ュ崟鎹湁姝e湪鍑哄簱鐨勭墿鏂欙紝涓嶈兘鍏抽棴");
+                            }
+                        }
                         outbound.OrderStatus = (int)OutOrderStatusEnum.鍏抽棴;
                         outbound.Operator = App.User.UserName;
                         _outboundOrderRepository.UpdateData(outbound);
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 128d1e9..630dd2c 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"
@@ -246,6 +246,7 @@
                 if (outboundOrder.Details.All(x => x.OverOutQuantity >= x.OrderQuantity - x.MoveQty))
                 {
                     outboundOrder.OrderStatus = (int)OutOrderStatusEnum.鍑哄簱瀹屾垚;
+                    outboundOrder.ReturnToMESStatus = 1;
                 }
                 BaseDal.UpdateData(outboundOrder);
 
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/OutboundService.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/OutboundService.cs"
index 4b0d960..6a79f4c 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/OutboundService.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/OutboundService.cs"
@@ -1371,6 +1371,9 @@
                         {
                             _outboundLockInfoRepository.DeleteAndMoveIntoHty(stockLockInfos, WIDESEA_Core.Enums.OperateTypeEnum.鑷姩鍒犻櫎);
                         }
+
+                        outboundOrderDetails.FirstOrDefault().OrderDetailStatus = (int)OrderDetailStatusEnum.Over;
+                        _detailRepository.UpdateData(outboundOrderDetails);
                     }
 
                     // 妫�鏌ュ嚭搴撳崟鏄惁瀹屾垚
@@ -1802,11 +1805,14 @@
                     // 妫�鏌ュ嚭搴撳崟鏄惁瀹屾垚
                     if (CheckOutboundOrderCompleted(request.OrderNo))
                     {
-                        UpdateOutboundOrderStatus(request.OrderNo, OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt());
-
-                        if (outboundOrder.CreateType!=OrderCreateTypeEnum.CreateInSystem.ObjToInt())
+                        if(outboundOrder.OrderType != OutOrderTypeEnum.InternalAllocat.ObjToInt())
                         {
-                            _feedbackMesService.OutboundFeedback(outboundOrder.OrderNo);
+                            UpdateOutboundOrderStatus(request.OrderNo, OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt());
+
+                            if (outboundOrder.CreateType != OrderCreateTypeEnum.CreateInSystem.ObjToInt())
+                            {
+                                _feedbackMesService.OutboundFeedback(outboundOrder.OrderNo);
+                            }
                         }
                     }
                 }
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 9a74826..9b4439a 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"
@@ -622,6 +622,12 @@
                             }
                         }
 
+                        if (outboundOrder.Details.All(x => x.OrderDetailStatus == (int)OrderDetailStatusEnum.Over) && !allocatInfo.Any())
+                        {
+                            outboundOrder.OrderStatus = (int)InOrderStatusEnum.鍏ュ簱瀹屾垚;
+                            _outboundOrderService.UpdateData(outboundOrder);
+                        }
+
                         // 7. 鍥炶皟MES
                         string Operator = outboundOrder.Modifier;
                         HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
@@ -1016,8 +1022,9 @@
                     await Db.Deleteable(task).ExecuteCommandAsync();
                 }
                 Dt_OutboundOrder outboundOrder = _outboundOrderService.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == stockInfo.Details.FirstOrDefault().OrderNo).Includes(x=>x.Details).First();
+                
 
-                if(outboundOrder != null)
+                if (outboundOrder != null)
                 {
                     foreach (var item in stockInfo.Details.Where(x => x.OrderNo == outboundOrder.OrderNo).ToList())
                     {
@@ -1030,6 +1037,12 @@
                                 await Db.Deleteable(task).ExecuteCommandAsync();
                             }
                         }
+                    }
+                    var allocateMaterialInfos = _allocateMaterialInfo.QueryData(x => x.OrderNo == outboundOrder.OrderNo);
+                    if (outboundOrder.Details.All(x => x.OrderDetailStatus == (int)OrderDetailStatusEnum.Over) && !allocateMaterialInfos.Any())
+                    {
+                        outboundOrder.OrderStatus = (int)InOrderStatusEnum.鍏ュ簱瀹屾垚;
+                        _outboundOrderService.UpdateData(outboundOrder);
                     }
                 }
                 string Operator = outboundOrder.Modifier;
@@ -1052,7 +1065,7 @@
                     {
                         return WebResponseContent.Instance.Error($"鏋勫缓鍥炶皟瀵硅薄澶辫触");
                     }
-                    string apiUrl = AppSettings.GetValue("AllocationFeedbackUrl"); ;
+                    string apiUrl = AppSettings.GetValue("AllocationFeedbackUrl");
                     returnDTO.ReqCode = reqCode;
                     returnDTO.ReqTime = reqTime;
                     JsonSerializerSettings settings = new JsonSerializerSettings

--
Gitblit v1.9.3