From 9a8168790e0d6b8601b0f7f5557976358677eeb1 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 19 5月 2025 08:00:50 +0800
Subject: [PATCH] 22

---
 PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs |  132 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 1 deletions(-)

diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
index 884a9c5..ff26b90 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
@@ -31,6 +31,7 @@
 using CMS.Plugin.HIAWms.Abstractions;
 using Newtonsoft.Json;
 using CmsQueryExtensions;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 
 namespace CMS.Plugin.PipeLineLems.Application.Implements;
 
@@ -62,6 +63,7 @@
         //3銆佸啓鍏� 鍒嗘嫞鍙橀噺
         //4銆佸啓鍏ヨ拷婧姤琛�
         //5銆佺墿鏂欑粍鐩�
+
 
         VariableService _variableService = _serviceProvider.GetRequiredService<VariableService>();
         var _workSectionManager = _serviceProvider.GetRequiredService<IWorkSectionManager>();
@@ -112,8 +114,47 @@
         var firstWorkPlans = await workPlanAppService.GetListByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode);
 
         var firstWorkPlan = await workPlanAppService.GetSingleByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode);
-
         var callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.DataIdentifier == firstWorkPlan.DataIdentifier);
+        //TODO:杩欓噷璋冪敤wms鐨勫彨鏂欐帴鍙�
+        try
+        {
+            WmsMaterialStockCreateDto param = new WmsMaterialStockCreateDto()
+            {
+                ContainerNo = input.ContinerNo,
+                MaterialModel = firstWorkPlan.MaterialMode,
+                PlaceNo = input.PlaceNo,
+                StockNumber = 1,
+                MaterialBatch = callMaterialOrder.MaterialBatch,
+
+                RedundantField1 = firstWorkPlan.ProcessRouteNumber //鎵╁睍瀛楁鏄剧ず 宸ヨ壓娴佸悜缂栧彿
+
+            };
+            string baseUrl = @"http://127.0.0.1:18000/api/v1/HIAWms/";
+            string url = baseUrl + "LMesOperate/LMesPick";
+            string json = JsonConvert.SerializeObject(param);
+            var result = HttpApiRequest.HttpPost(url, json);
+            var res = JsonConvert.DeserializeObject<CmsApiResponse<WmsMaterialStockDto>>(result);
+            if (res.Code == 200)
+            {
+                var retData = res.Data;
+                //callMaterialOrder.MaterialBatch = retData[0].MaterialBatch;
+                //callMaterialOrder.WmsTaskNo = retData[0].TaskNo;
+                //callMaterialOrder.WmsRetResult = res.Message;
+            }
+            else
+            {
+                throw new UserFriendlyException(res.Message);
+            }
+        }
+        catch (Exception)
+        {
+
+            throw;
+        }
+
+
+
+
 
         var rawPipe_DataIdentifier = await materialProvider.FindByNameAsync("鍘熸枡绠℃爣璇�");
         var rawPipe_MaterialMode = await materialProvider.FindByNameAsync("鍘熸枡绠″瀷鍙�");
@@ -1021,6 +1062,95 @@
 
     }
 
+
+    /// <summary>
+    /// 鍒嗘嫞鏃惰幏鍙栫敓浜ц鍒掑拰鍒嗛厤鍖哄煙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <param name="_serviceProvider"></param>
+    /// <param name="myCurrentUser"></param>
+    /// <returns></returns>
+    /// <exception cref="UserFriendlyException"></exception>
+    public async Task<CmsApiResponse<PickOutput>> GetPickRetAsync(GetWorkPlanInput input, IServiceProvider _serviceProvider, MyCurrentUser myCurrentUser)
+    {
+
+
+        var callMaterialOrderRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRepository>();
+        var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>();
+        var _workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>();
+        var callMaterialOrderRecordRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRecordRepository>();
+        var orderManager = _serviceProvider.GetRequiredService<IOrderManager>();
+
+        // 鏌ユ壘鏁版嵁
+
+        WorkPlanDto workPlanDto = await _workPlanAppService.FindSingleByFilterAsync(input);
+
+        //TODO:杩欓噷璋冪敤wms鐨勫彨鏂欐帴鍙�
+        try
+        {
+            List<LMesCallMaterialInput> param = new List<LMesCallMaterialInput>() {
+             new LMesCallMaterialInput(){
+
+             }
+        };
+            /*
+            string baseUrl = @"http://127.0.0.1:18000/api/v1/HIAWms/";
+            string url = baseUrl + "lMesOperate/LMesCallMaterial";
+            string json = JsonConvert.SerializeObject(param);
+            var result = HttpApiRequest.HttpPost(url, json);
+            var res = JsonConvert.DeserializeObject<CmsApiResponse<List<MyCallMaterialOutput>>>(result);
+            if (res.Code == 200)
+            {
+                var retData = res.Data;
+                //callMaterialOrder.MaterialBatch = retData[0].MaterialBatch;
+                //callMaterialOrder.WmsTaskNo = retData[0].TaskNo;
+                //callMaterialOrder.WmsRetResult = res.Message;
+
+                var data = new PickOutput()
+                {
+                    WorkPlan = workPlanDto,
+                    PlaceNo = "",//寰呰祴鍊�
+                    ContinerNo = ""//寰呰祴鍊�
+                };
+
+                var response = new CmsApiResponse<PickOutput>
+                {
+                    Code = 200,
+                    Data = data,
+                    Message = "澶勭悊鎴愬姛",
+                };
+                return response;
+
+            }
+            else
+            {
+                throw new UserFriendlyException(res.Message);
+            }
+            //*/
+            //妯℃嫙
+            var data = new PickOutput()
+            {
+                WorkPlan = workPlanDto,
+                PlaceNo = "",//寰呰祴鍊�
+                ContinerNo = ""//寰呰祴鍊�
+            };
+
+            var response = new CmsApiResponse<PickOutput>
+            {
+                Code = 200,
+                Data = data,
+                Message = "澶勭悊鎴愬姛",
+            };
+            return response;
+
+        }
+        catch (Exception)
+        {
+
+            throw;
+        }
+    }
+
     /// <summary>
     /// 鐢熸垚闅忔満鐨刉msTaskNo
     /// </summary>

--
Gitblit v1.9.3