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 ++++++++++++++++++++++++++ PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickInput.cs | 5 + PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickOutput.cs | 31 ++++++ PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs | 4 PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Views/Pages/PipeAccessoryPick/PipeAccessoryPick.tsx | 77 +++++++++------ PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick.ts | 5 + PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanPublicController.cs | 45 ++++++++ 7 files changed, 263 insertions(+), 36 deletions(-) diff --git a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick.ts b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick.ts index 23b4619..ce3958c 100644 --- a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick.ts +++ b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick.ts @@ -62,6 +62,11 @@ return request.post('/api/v1/PipeLineLems/WorkPlan/FindSingleByFilter', data) } + +export const getPickRet = (data: any) => { + return request.post('/api/v1/PipeLineLems/WorkPlanPublic/getPickRet', data) +} + /** * 鏍规嵁 浠诲姟缂栧彿杩涜寮�宸� * @returns diff --git a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Views/Pages/PipeAccessoryPick/PipeAccessoryPick.tsx b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Views/Pages/PipeAccessoryPick/PipeAccessoryPick.tsx index 7261c72..11339fe 100644 --- a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Views/Pages/PipeAccessoryPick/PipeAccessoryPick.tsx +++ b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryPick/Views/Pages/PipeAccessoryPick/PipeAccessoryPick.tsx @@ -17,9 +17,8 @@ getPlaceNoForStockList, getMaterialModelList, instock, - findSingleWorkPlanByFilter, - pick, - finishProduction + getPickRet, + pick } from '@/widgets/PipeAccessoryPick/Models/Service/PipeAccessoryPick' import { Message } from '@element-plus/icons-vue/dist/types' @@ -30,6 +29,7 @@ const queryForm = ref({ pipeSpecCode: '', continerNo:'', + placeNo:'', processRouteNumber: '', taskCode: '', length: '', @@ -104,12 +104,13 @@ processName:'瑁呴厤宸ュ簭', processName_FilterMode:2,//绮惧噯鏌ヨ } - const workPlan = await findSingleWorkPlanByFilter(param); + const workPlan = await getPickRet(param); console.log('杩斿洖:'+workPlan); - if(workPlan==''){ + if(workPlan.code!="200"){ ElMessage.error('娌℃湁鎵惧埌鏁版嵁'); queryForm.value ={ pipeSpecCode: '', continerNo:'', + placeNo:'', processRouteNumber: '', taskCode: '', length: '', @@ -124,7 +125,10 @@ processName: '', equipmentCode: ''} }else{ - queryForm.value=workPlan; + queryForm.value=workPlan.data.workPlan; + + queryForm.value.placeNo=workPlan.data.placeNo; + queryForm.value.continerNo=workPlan.data.continerNo; } }; @@ -146,40 +150,44 @@ const param={ pipeSpecCode:queryForm.value.pipeSpecCode, continerNo:queryForm.value.continerNo, + placeNo:queryForm.value.placeNo }; + const ret = await pick(param); console.log('杩斿洖:'+ret); - if(ret.code="200"){ + + if(ret.code=="200"){ ElMessage.success('鍒嗘嫞鎴愬姛'); }else{ ElMessage.error('鍒嗘嫞澶辫触:'+ret.message); } }) } - // 瀹屽伐浜嬩欢澶勭悊 - const finishWork = () => { - console.log('鎵ц寮�宸ユ搷浣�'); - if(queryForm.value.pipeSpecCode==''){ - ElMessage.error('璇疯緭鍏ョ娈电紪鐮�'); - return - } - ConfirmBox( - `纭畾瑕佸皢绠℃缂栫爜${queryForm.value.pipeSpecCode}瀹屽伐鍚梎 - ).then(async () => { - //鎮ㄧ殑涓氬姟閫昏緫 - const param={ - pipeSpecCode:queryForm.value.pipeSpecCode, - processName:queryForm.value.processName, - }; - const ret = await finishProduction(param); - console.log('杩斿洖:'+ret); - if(ret.code="200"){ - ElMessage.success('瀹屽伐鎴愬姛'); - }else{ - ElMessage.error('瀹屽伐澶辫触:'+ret.message); - } - }) - } + // // 瀹屽伐浜嬩欢澶勭悊 + // const finishWork = () => { + // console.log('鎵ц寮�宸ユ搷浣�'); + // if(queryForm.value.pipeSpecCode==''){ + // ElMessage.error('璇疯緭鍏ョ娈电紪鐮�'); + // return + // } + // ConfirmBox( + // `纭畾瑕佸皢绠℃缂栫爜${queryForm.value.pipeSpecCode}瀹屽伐鍚梎 + // ).then(async () => { + // //鎮ㄧ殑涓氬姟閫昏緫 + // const param={ + // pipeSpecCode:queryForm.value.pipeSpecCode, + // processName:queryForm.value.processName, + + // }; + // const ret = await finishProduction(param); + // console.log('杩斿洖:'+ret); + // if(ret.code="200"){ + // ElMessage.success('瀹屽伐鎴愬姛'); + // }else{ + // ElMessage.error('瀹屽伐澶辫触:'+ret.message); + // } + // }) + // } const tableData = ref([ { sequence: 1, flangeA: 'RF-200-1.6MPa', flangeB: 'WN-200-1.6MPa' }, { sequence: 2, flangeA: 'WN-250-2.5MPa', flangeB: 'SO-250-2.5MPa' }, @@ -215,6 +223,13 @@ class={styles.formInput} /> </ElFormItem> + <ElFormItem label="搴撲綅鍙� "> + <ElInput + v-model={queryForm.value.placeNo} + clearable + class={styles.formInput} + /> + </ElFormItem> <div class={styles.actionButtons}> <ElButton type="warning" onClick={startWork}>鍒嗘嫞</ElButton> {/* <ElButton type="warning" onClick={finishWork}>瀹屽伐</ElButton> */} diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickInput.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickInput.cs index 092fd0e..eaff4d9 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickInput.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickInput.cs @@ -23,6 +23,11 @@ /// </summary> public string ContinerNo { get; set; } + /// <summary> + /// 搴撲綅鍙� + /// </summary> + public string PlaceNo { get; set; } + } } \ No newline at end of file diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickOutput.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickOutput.cs new file mode 100644 index 0000000..f6159a8 --- /dev/null +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Dtos/WorkPlan/PickOutput.cs @@ -0,0 +1,31 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan +{ + /// <summary> + /// 鍒嗘嫞杈撳嚭鍙傛暟妯″瀷 + /// </summary> + [Serializable] + public class PickOutput + { + + public WorkPlanDto WorkPlan { get; set; } + + + /// <summary> + /// 鍒嗘嫞鎵樼洏鍙� + /// </summary> + public string ContinerNo { get; set; } + + /// <summary> + /// 搴撲綅鍙� + /// </summary> + public string PlaceNo { get; set; } + + + } +} \ No newline at end of file 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> diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs index 16f075a..ade69da 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanController.cs @@ -71,7 +71,7 @@ /// <returns></returns> [HttpPost] [Route("FindListByFilter")] - public virtual async Task<List<WorkPlanDto>> FindListByFilterAsync(GetWorkPlanInput input) + public virtual async Task<List<WorkPlanDto>> FindListByFilterAsync([FromBody]GetWorkPlanInput input) { return await _workPlanAppService.FindListByFilterAsync(input); } @@ -82,7 +82,7 @@ /// <returns></returns> [HttpPost] [Route("FindSingleByFilter")] - public virtual async Task<WorkPlanDto> FindSingleByFilterAsync(GetWorkPlanInput input) + public virtual async Task<WorkPlanDto> FindSingleByFilterAsync([FromBody] GetWorkPlanInput input) { return await _workPlanAppService.FindSingleByFilterAsync(input); diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanPublicController.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanPublicController.cs index c2ecf7d..dd87047 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanPublicController.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/WorkPlanPublicController.cs @@ -2,6 +2,7 @@ using CMS.Framework.AspNetCore.Users; using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan; using CMS.Plugin.PipeLineLems.Application.Contracts.Services; +using CMS.Plugin.PipeLineLems.Application.Implements; using CmsQueryExtensions.Entitys; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -20,7 +21,7 @@ [Route("api/v{version:apiVersion}/PipeLineLems/[controller]")] public class WorkPlanPublicController : ControllerBase { - + private readonly IWorkPlanAppService _workPlanAppService; private readonly IMesAppService _mesAppService; private readonly ICurrentUser _currentUser; private readonly Application.Implements.SharedService sharedService; @@ -31,12 +32,13 @@ /// </summary> /// <param name="testentitynameAppService">The testentityname application service.</param> public WorkPlanPublicController(IMesAppService mesAppService, ICurrentUser currentUser, Application.Implements.SharedService _sharedService, - IServiceProvider serviceProvider) + IServiceProvider serviceProvider, IWorkPlanAppService workPlanAppService) { _mesAppService = mesAppService; _currentUser = currentUser; sharedService = _sharedService; _serviceProvider = serviceProvider; + _workPlanAppService = workPlanAppService; } /// <summary> @@ -166,5 +168,44 @@ }; } } + + + /// <summary> + /// 鍒嗘嫞鏃惰幏鍙栫敓浜ц鍒掑拰鍒嗛厤鍖哄煙 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [Route("GetPickRet")] + public virtual async Task<CmsApiResponse<PickOutput>> GetPickRetAsync([FromBody] GetWorkPlanInput input) + { + + //WorkPlanDto workPlanDto = await _workPlanAppService.FindSingleByFilterAsync(input); + ////杩欓噷瑕佽幏鍙杦ms鐨勫簱瀛橈紝鏉ュ垎鏋� 瑕佹斁鍒板摢涓墭鐩橀噷 + //return new PickOutput() + //{ + // WorkPlan = workPlanDto, + // PlaceNo = "", + // ContinerNo = "" + //}; + try + { + MyCurrentUser myCurrentUser = new MyCurrentUser() + { + UserAccount = _currentUser.UserAccount, + UserId = _currentUser.UserId + }; + return await sharedService.GetPickRetAsync(input, _serviceProvider, myCurrentUser); + } + catch (Exception ex) + { + return new CmsApiResponse<PickOutput>() + { + Code = 400, + Message = ex.Message + }; + } + + } } } -- Gitblit v1.9.3