1
yangpeixing
13 小时以前 f1bd65a40104bdb65c93bea3b50381ab6d2c3837
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -3,17 +3,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
using System.Reflection;
using System.Reflection.Metadata;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.Log;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_Core.Log;
using WIDESEA_Core.LogHelper;
using WIDESEA_Core.TaskEnum;
using WIDESEA_DTO.Task;
@@ -54,6 +55,10 @@
                if (stockInfo.StockStatus == StockStatusEmun.合托出库完成.ObjToInt())
                {
                }
                if (stockInfo.StockStatus == StockStatusEmun.盘点出库完成.ObjToInt())
                {
                    return WebResponseContent.Instance.Error($"该托盘{palletCode}未盘点");
                }
                ///判断是否存在回库单,进行回原库位逻辑
                string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
@@ -351,6 +356,30 @@
                _unitOfWorkManage.BeginTran();
                int taskId = BaseDal.AddData(newTask);
                newTask.TaskId = taskId;
                List<Dt_StockInfoDetail> stockInfoDetails = stockInfo.Details;
                foreach (var stockInfoDetail in stockInfoDetails)
                {
                    WriteLog.Write_Log("API", "入库—请求LED", "请求成功", new { 请求报文 = 1 });
                    var postData = new
                    {
                        DeviceCode = newTask.CurrentAddress,    // 屏幕编号
                        MaterialCode = stockInfoDetail.MaterielCode,//物料类型
                        SendNum = stockInfoDetail.OutboundQuantity,//发料数
                        BackNum = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity//回库数
                    };
                    WriteLog.Write_Log("API", "入库—请求LED", "请求成功", new { 请求报文2 = postData });
                    string json = Newtonsoft.Json.JsonConvert.SerializeObject(postData);
                    WriteLog.Write_Log("API", "入库—请求LED", "请求成功", new { 请求报文3 = json });
                    using (var client = new HttpClient())
                    {
                        var content = new StringContent(json, Encoding.UTF8, "application/json");
                        var response = client.PostAsync(LEDAPI, content).Result;
                        string result = response.Content.ReadAsStringAsync().Result;
                        WriteLog.Write_Log("API", "入库—请求LED", "请求成功", new { 请求报文 = response, 接收报文 = result });
                    }
                    WriteLog.Write_Log("API", "入库—请求LED", "请求成功", new { 请求报文 = 4 });
                }
                if (returnOrder != null)
                {
                    returnOrder.OrderStatus = InOrderStatusEnum.入库中.ObjToInt();
@@ -656,7 +685,7 @@
                }
                return palletTypeInfo.PalletType;
            }
            else
            else
            {
                Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 2));
                if (palletTypeInfo == null)
@@ -795,8 +824,6 @@
                    houseInboundPassBack.Context.Add("Ticket", Ticket);
                    houseInboundPassBack.Context.Add("InvOrgId", InvOrgId);
                    var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSInventoryIn, houseInboundPassBack, "立库入库数量回传WMS");
                    WriteLog.Write_Log("API", "盘点差异数量回传", "请求", new { 请求报文 = houseInboundPassBack, 接收报文 = responses });
                }
                content = WebResponseContent.Instance.OK();
            }