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