From ed231e8624dd3b5ad021ea02cb0818d9fdfc4eb1 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 19 5月 2025 15:33:15 +0800 Subject: [PATCH] 优化 --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs | 184 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 159 insertions(+), 25 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 297b6c4..7f09104 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs @@ -1,36 +1,29 @@ +using CMS.Extensions.Variable; using CMS.Plugin.FormulaManagement.Abstractions; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; +using CMS.Plugin.MaterialManagement.Abstractions; using CMS.Plugin.OrderManagement.Abstractions; using CMS.Plugin.OrderManagement.Abstractions.Enums; using CMS.Plugin.OrderManagement.Abstractions.Models; -using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; -using CMS.Plugin.ProductManagement.Abstractions; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; -using Microsoft.Extensions.DependencyInjection; -using NPOI.Util; -using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder; -using CMS.Plugin.PipeLineLems.Application.Contracts.Services; using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrder; -using Volo.Abp.Uow; -using System.Text; -using CMS.Plugin.PipeLineLems.Domain.WorkPlan; +using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; +using CMS.Plugin.PipeLineLems.Application.Contracts.Services; +using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder; using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord; -using Volo.Abp.Users; -using CmsQueryExtensions.Entitys; -using CMS.Unit.RuntimeValue.Abstractions; -using CMS.Extensions.Variable; -using CMS.Plugin.TraceManagement.Abstractions.Models.Traces; +using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using CMS.Plugin.ProcessManagement.Abstractions; -using KissUtil.Extensions; +using CMS.Plugin.ProductManagement.Abstractions; using CMS.Plugin.TraceManagement.Abstractions; -using CMS.Plugin.ProductManagement.Abstractions.Models; -using CMS.Plugin.MaterialManagement.Abstractions; -using CMS.Plugin.HIAWms.Application.Contracts.Services; -using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto; -using System.Collections.Generic; -using CMS.Plugin.HIAWms.Abstractions; -using Newtonsoft.Json; +using CMS.Plugin.TraceManagement.Abstractions.Models.Traces; using CmsQueryExtensions; +using CmsQueryExtensions.Entitys; +using CmsQueryExtensions.Extension; +using KissUtil.Extensions; +using Microsoft.Extensions.DependencyInjection; +using Newtonsoft.Json; +using Volo.Abp; +using Volo.Abp.Uow; namespace CMS.Plugin.PipeLineLems.Application.Implements; @@ -49,11 +42,20 @@ /// <returns></returns> public async Task<MesOrderResponse> CommonPick(IServiceProvider _serviceProvider, PickInput input, MyCurrentUser myCurrentUser) { + if (string.IsNullOrEmpty(input.PipeSpecCode)) + { + throw new UserFriendlyException("璇疯緭鍏ョ娈电紪鐮�"); + }; + if (string.IsNullOrEmpty(input.ContinerNo)) + { + throw new UserFriendlyException("璇疯緭鍏ユ墭鐩樺彿"); + }; //1銆佽褰曞垎鎷h褰曡〃 //2銆佹洿鏂颁綔涓氳鍒掕〃鐨勭姸鎬� =宸插垎鎷� //3銆佸啓鍏� 鍒嗘嫞鍙橀噺 //4銆佸啓鍏ヨ拷婧姤琛� //5銆佺墿鏂欑粍鐩� + VariableService _variableService = _serviceProvider.GetRequiredService<VariableService>(); var _workSectionManager = _serviceProvider.GetRequiredService<IWorkSectionManager>(); @@ -104,8 +106,49 @@ 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, //鎵╁睍瀛楁鏄剧ず 宸ヨ壓娴佸悜缂栧彿 + RedundantField2 = firstWorkPlan.PipeSpecCode, //鎵╁睍瀛楁鏄剧ず 绠℃缂栫爜 + RedundantField3 = firstWorkPlan.PipeSectionName, //鎵╁睍瀛楁鏄剧ず 绠℃鍚嶇О + + }; + 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("鍘熸枡绠″瀷鍙�"); @@ -516,6 +559,7 @@ 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) { @@ -528,6 +572,7 @@ { throw new UserFriendlyException(res.Message); } + //*/ } catch (Exception) { @@ -1013,6 +1058,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 + { + GetWmsMaterialStockInput param = new GetWmsMaterialStockInput() + { + RedundantField1 = workPlanDto.ProcessRouteNumber, + RedundantField1_FilterMode = SearchFilterModeEnum.绮惧噯鏌ヨ + }; + + string baseUrl = @"http://127.0.0.1:18000/api/v1/HIAWms/"; + string url = baseUrl + "LMesOperate/FindListByFilter"; + string json = JsonConvert.SerializeObject(param); + var result = HttpApiRequest.HttpPost(url, json); + var res = JsonConvert.DeserializeObject<CmsApiResponse<List<WmsMaterialStockDto>>>(result); + if (res.Code == 200) + { + var retData = res.Data as List<WmsMaterialStockDto>; + var data = new PickOutput() + { + WorkPlan = workPlanDto, + PlaceNo = "",//寰呰祴鍊� + ContinerNo = ""//寰呰祴鍊� + }; + if (retData?.Count > 0) + { + data.PlaceNo = retData.First().PlaceNo; + data.ContinerNo = retData.First().ContainerNo; + } + + 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