From 9086b238cd9fbb9fbeae7cab11d59576cd9d2853 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期一, 24 十一月 2025 10:27:01 +0800
Subject: [PATCH] 合并

---
 项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs |   63 +++++++++++++++++++++++++++----
 1 files changed, 54 insertions(+), 9 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
index ac1956f..342c059 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
@@ -33,13 +33,20 @@
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_DTO;
+using WIDESEA_DTO.ERP;
 using WIDESEA_DTO.Inbound;
 using WIDESEA_DTO.Stock;
 using WIDESEA_DTO.Task;
 using WIDESEA_External.ERPService;
+using WIDESEA_External.MESService;
 using WIDESEA_External.Model;
 using WIDESEA_IBasicRepository;
 using WIDESEA_IBasicService;
+using WIDESEA_IInboundRepository;
+using WIDESEA_IInboundService;
+using WIDESEA_InboundRepository;
+using WIDESEA_IOutboundRepository;
+using WIDESEA_IOutboundService;
 using WIDESEA_IRecordService;
 using WIDESEA_IStockRepository;
 using WIDESEA_IStockService;
@@ -54,15 +61,17 @@
     {
         private readonly IMapper _mapper;
         private readonly IUnitOfWorkManage _unitOfWorkManage;
-        private readonly IStockRepository _stockRepository;
-        private readonly IBasicService _basicService;
         private readonly IRecordService _recordService;
+        private readonly IStockRepository _stockRepository;
         private readonly IStockService _stockService;
         private readonly IBasicRepository _basicRepository;
-        private readonly IApiInfoRepository _apiInfoRepository;
+        private readonly IBasicService _basicService;
         private readonly IInvokeERPService _invokeERPService;
-        private readonly IPalletTypeInfoRepository _palletTypeInfoRepository;
-        private readonly IAGVStationInfoRepository _agvStationInfoRepository;
+        private readonly IInvokeMESService _invokeMESService;
+        private readonly IOutboundRepository _outboundRepository;
+        private readonly IOutboundService _outboundService;
+        private readonly IInboundRepository _inboundRepository;
+        private readonly IInboundService _inboundService;
         public ITaskRepository Repository => BaseDal;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
@@ -75,7 +84,7 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 100 && x < 500).ToList();
 
-        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IStockService stockService, IBasicRepository basicRepository, IApiInfoRepository apiInfoRepository, IInvokeERPService invokeERPService, IPalletTypeInfoRepository palletTypeInfoRepository, IAGVStationInfoRepository agvStationInfoRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IStockService stockService, IBasicRepository basicRepository, IInvokeERPService invokeERPService,  IOutboundRepository outboundRepository, IOutboundService outboundService, IInboundRepository inboundRepository,IInboundService inboundService,IInvokeMESService invokeMESService) : base(BaseDal)
         {
             _mapper = mapper;
             _unitOfWorkManage = unitOfWorkManage;
@@ -84,10 +93,12 @@
             _recordService = recordService;
             _stockService = stockService;
             _basicRepository = basicRepository;
-            _apiInfoRepository = apiInfoRepository;
             _invokeERPService = invokeERPService;
-            _palletTypeInfoRepository = palletTypeInfoRepository;
-            _agvStationInfoRepository = agvStationInfoRepository;
+            _invokeMESService = invokeMESService;
+            _outboundRepository = outboundRepository;
+            _outboundService = outboundService;
+            _inboundRepository = inboundRepository;
+            _inboundService = inboundService;
         }
 
         /// <summary>
@@ -98,6 +109,10 @@
         {
             try
             {
+                if (tasks==null || tasks.Count == 0)
+                {
+                    return WebResponseContent.Instance.Error($"浼犲叆浠诲姟涓虹┖");
+                }
                 List<WMSTaskDTO> taskDTOs = _mapper.Map<List<WMSTaskDTO>>(tasks);
                 taskDTOs.ForEach(x =>
                 {
@@ -140,5 +155,35 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+        private readonly static object lockerAddSG = new object();
+        public WebResponseContent AddOutSGOrder(List<SGOutOrderDTO> outOrderDTOs)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                lock (lockerAddSG)
+                {
+                    int outDetailId = _outboundRepository.OutSGOrderDetailRepository.QueryData().OrderByDescending(x=>x.Id).FirstOrDefault()?.Id ?? 0;
+                    content = _outboundService.OutSGOrderService.AddOutSGOrder(outOrderDTOs);
+                    if (!content.Status)
+                    {
+                        return content;
+                    }
+                    List<int> ints = _outboundRepository.OutSGOrderDetailRepository.QueryData(x=>x.Id>outDetailId).Select(x=>x.Id).ToList();
+                    int[] reseponse= new int[ints.Count];
+                    for (int i = 0; i < ints.Count; i++)
+                    {
+                        reseponse[i] = ints[i];
+                    }
+                    content.Message = CreateSGOutboundTasks(reseponse).Message;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
+        }
     }
 }

--
Gitblit v1.9.3