22
schangxiang@126.com
2025-05-16 cfc40ec33d286b9bf6106d32f20ee3e9533ed026
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
@@ -25,6 +25,12 @@
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 CmsQueryExtensions;
namespace CMS.Plugin.PipeLineLems.Application.Implements;
@@ -203,6 +209,13 @@
        if (input.Count == 0)
        {
            throw new UserFriendlyException("输入参数Data不能为空");
        }
        //写死 打码内容
        foreach (var item in input)
        {
            //格式 管段编码,管段名称,船号,项目号
            item.MarkingContent = item.PipeSpecCode + "," + item.PipeSectionName + "," + item.ShipNumber + "," + item.ProjectNumber;
        }
        //校验数据
@@ -460,15 +473,46 @@
        // 验证状态
        if (callMaterialOrder.CallMaterialStatus != Domain.Shared.Enums.CallMaterialStatusEnum.未执行)
        {
            throw new UserFriendlyException($"原料标识为 '{callMaterialOrder.DataIdentifier}' 的叫料记录状态为 '{callMaterialOrder.CallMaterialStatus}',不允许叫料");
            //throw new UserFriendlyException($"原料标识为 '{callMaterialOrder.DataIdentifier}' 的叫料记录状态为 '{callMaterialOrder.CallMaterialStatus}',不允许叫料");
        }
        //TODO:这里调用wms的叫料接口
        try
        {
            List<LMesCallMaterialInput> param = new List<LMesCallMaterialInput>() {
             new LMesCallMaterialInput(){
                     DataIdentifier=callMaterialOrder.DataIdentifier,
                      MaterialMode=callMaterialOrder.MaterialMode,
             }
        };
            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;
            }
            else
            {
                throw new UserFriendlyException(res.Message);
            }
        }
        catch (Exception)
        {
            throw;
        }
        // 更新数据
        callMaterialOrder.MaterialBatch = GenerateRandomBatch();//wms返回的原料批次
        callMaterialOrder.WmsRetResult = "成功";
        callMaterialOrder.WmsTaskNo = GenerateRandomTaskNo();
        //callMaterialOrder.MaterialBatch = GenerateRandomBatch();//wms返回的原料批次
        //callMaterialOrder.WmsRetResult = "成功";
        //callMaterialOrder.WmsTaskNo = GenerateRandomTaskNo();
        callMaterialOrder.CallMaterialStatus = Domain.Shared.Enums.CallMaterialStatusEnum.叫料完成;
        callMaterialOrder.LastModifierName = "SuperAdmin";