From 733c975cd8647f6d006736f1863bad731e32e6fb Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期日, 26 十月 2025 17:15:52 +0800
Subject: [PATCH] 上传最新代码,ERP接口,MES接口优化,WMS业务优化等

---
 项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 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 835dd6a..db2a58e 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,6 +33,7 @@
 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;
@@ -74,6 +75,9 @@
         private readonly IOutBSTOrderDetailService _outBSTOrderDetailService;
         private readonly IOutMESOrderService _outMESOrderService;
         private readonly IOutMESOrderRepository _outMESOrderRepository;
+        private readonly IOutboundRepository _outboundRepository;
+        private readonly IOutboundService _outboundService;
+        private readonly IInboundRepository _inboundRepository;
         public ITaskRepository Repository => BaseDal;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
@@ -86,7 +90,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, IPurchaseBSTOrderRepository purchaseBSTOrderRepository, IPurchaseBSTOrderDetailRepository purchaseBSTOrderDetailRepository, IOutBSTOrderDetailRepository outBSTOrderDetailRepository, IOutBSTOrderRepository outBSTOrderRepository,IOutBSTOrderDetailService outBSTOrderDetailService, IOutMESOrderService outMESOrderService, IOutMESOrderRepository outMESOrderRepository) : base(BaseDal)
+        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, IPurchaseBSTOrderRepository purchaseBSTOrderRepository, IPurchaseBSTOrderDetailRepository purchaseBSTOrderDetailRepository, IOutBSTOrderDetailRepository outBSTOrderDetailRepository, IOutBSTOrderRepository outBSTOrderRepository,IOutBSTOrderDetailService outBSTOrderDetailService, IOutMESOrderService outMESOrderService, IOutMESOrderRepository outMESOrderRepository, IOutboundRepository outboundRepository, IOutboundService outboundService, IInboundRepository inboundRepository) : base(BaseDal)
         {
             _mapper = mapper;
             _unitOfWorkManage = unitOfWorkManage;
@@ -106,6 +110,9 @@
             _outBSTOrderDetailService = outBSTOrderDetailService;
             _outMESOrderService = outMESOrderService;
             _outMESOrderRepository = outMESOrderRepository;
+            _outboundRepository = outboundRepository;
+            _outboundService = outboundService;
+            _inboundRepository = inboundRepository;
         }
 
         /// <summary>
@@ -116,6 +123,10 @@
         {
             try
             {
+                if (tasks==null || tasks.Count == 0)
+                {
+                    return WebResponseContent.Instance.Error($"浼犲叆浠诲姟涓虹┖");
+                }
                 List<WMSTaskDTO> taskDTOs = _mapper.Map<List<WMSTaskDTO>>(tasks);
                 taskDTOs.ForEach(x =>
                 {
@@ -158,5 +169,36 @@
                 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;
+                    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