Administrator
2025-05-08 f928756ecbf68886443ab87ce458b99aba73a763
Merge branch 'master' of http://47.95.120.53:8083/r/JC34WMS
10个文件已修改
2个文件已添加
370 ■■■■ 已修改文件
HTML/views/ASNSetting/BoxInfo.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/productEnterQuantity.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/InterFaceModel/HttpModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/HttpServer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IHttpServer.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/DownApiController.cs 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/appsettings.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/BoxInfo.html
@@ -351,7 +351,7 @@
            var TotalColsArr = [[
                { field: 'BoxNo', title: '箱号', align: 'center', fixed: 'left', width: 220, "disabled": true },
                { field: 'BoxNo2', title: '盒号', align: 'center', fixed: 'left' },
                { field: 'BoxNo3', title: '支号', align: 'center', fixed: 'left', width: 220, "disabled": true },
                { field: 'BoxNo3', title: '支号', align: 'center', fixed: 'left', width: 220 },
                { field: 'SkuNo', title: '物料编码', align: 'center', fixed: 'left', width: 140, "disabled": true },
                { field: 'SkuName', title: '物料名称', align: 'center', fixed: 'left', width: 240, "disabled": true },
                { field: 'LotNo', title: '批次号', align: 'center', width: 155, },
Pda/View/AsnSetting/productEnterQuantity.html
@@ -944,7 +944,7 @@
                                time: 1000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () {
                                setOrderGoods();
                                refreshTable();
                                //refreshTable();
                                $("#BOXCODE").val("");
                                $("#BOXCODE2").val("");
                                $("#QTY").val("");
@@ -1001,7 +1001,7 @@
                                time: 1000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () {
                                setOrderGoods();
                                refreshTable();
                                //refreshTable();
                                $("#STOCKCODE").val("");
                                $("#SkuQty").val("");
                            });
Wms/Model/InterFaceModel/HttpModel.cs
@@ -74,13 +74,22 @@
    #region WCS接口实体类
    /// <summary>
    /// 接收wcs接口返回参数的model
    /// 接收wcs接口返回WCS结果参数的model
    /// </summary>
    public class WcsModel
    {
        public int StatusCode { get; set; }
        public string Msg { get; set; }
    }
    /// <summary>
    /// 接受WCS反馈的参数
    /// </summary>
    public class WcsModel2
    {
        public int code { get; set; }
        public string message { get; set; }
    }
    public enum PLCTypeEnum
    {
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -1435,6 +1435,7 @@
                var skuNo = ""; //入库物料
                var isAddTask = true; //是否添加新任务
                var oldTaskNo = "";  //旧任务号
                var starLocate = ""; // 起始储位
                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
                //验证物料是否有成品
                foreach (var item in stockDetail)
@@ -1461,7 +1462,7 @@
                            {
                                PalletNo = palletNo,//托盘号
                                StartRoadway = beingTask.StartRoadway, // 起始巷道
                                StartLocate = "", // 起始位置
                                StartLocate = starLocate, // 起始位置
                                EndLocate = beingTask.EndLocat, // 目标位置
                                EndRoadway = beingTask.EndRoadway,                           //  目标巷道
                                TaskNo = beingTask.TaskNo, // 任务号
@@ -1529,9 +1530,21 @@
                    {
                        throw new Exception($"{palletNo}托盘条码不具有箱码信息,不可入库!");
                    }
                    if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) > 0)
                    if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) == 0)
                    {
                        throw new Exception("当前托盘已在库内,请核实");
                        throw new Exception("当前托盘没有在平库储位上,请核实");
                    }
                    starLocate = stockDetail.First().LocatNo;
                    var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m=>m.AreaNo).ToList();
                    var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == starLocate && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
                    if (pingLocateInfo == null )
                    {
                        throw new Exception("当前托盘所在的储位没有在系统中找到信息");
                    }
                    if (pingLocateInfo.Status != "1")
                    {
                        throw new Exception("当前托盘所在的储位状态错误,不是空储位");
                    }
                    skuNo = stockDetail.First().SkuNo;
@@ -1545,13 +1558,14 @@
                            {
                                PalletNo = palletNo,//托盘号
                                StartRoadway = beingTask.StartRoadway, // 起始巷道
                                StartLocate = "", // 起始位置
                                StartLocate = beingTask.StartLocat, // 起始位置
                                EndLocate = beingTask.EndLocat, // 目标位置
                                EndRoadway = beingTask.EndRoadway,                           //  目标巷道
                                TaskNo = beingTask.TaskNo, // 任务号
                                TaskType = "0",// 任务类型 (出库)
                                OutMode = "",  //目标地址
                                Order = 1
                                Order = 1,
                                Type = PLCTypeEnum.AGV
                            };
                            if (beingTask.IsSuccess == 0)
                            {
@@ -1663,7 +1677,7 @@
                            SendDate = DateTime.Now,  //发送时间
                            BackDate = DateTime.Now,  //返回时间
                            StartRoadway = "",            // 起始巷道
                            StartLocat = "",//起始位置
                            StartLocat = starLocate,//起始位置
                            EndLocat = locate.LocatNo,//目标位置
                            EndRoadway = locate.RoadwayNo,  // 目标巷道
                            PalletNo = palletNo,//托盘码
@@ -1779,13 +1793,14 @@
                    {
                        PalletNo = palletNo,//托盘号
                        StartRoadway = "",
                        StartLocate = "", // 起始位置
                        StartLocate = starLocate, // 起始位置
                        EndLocate = locate.LocatNo, // 目标位置 
                        EndRoadway = locate.RoadwayNo,   // 目标巷道
                        TaskNo = oldTaskNo, // 任务号
                        TaskType = "0",// 任务类型 (出库)
                        OutMode = "",  //目标地址
                        Order = 1
                        Order = 1,
                        Type = PLCTypeEnum.AGV
                    };
                }
@@ -2558,7 +2573,7 @@
        }
        /// <summary>
        /// 下发入库申请储位任务(下发==》AGV小车)
        /// 下发入库申请储位任务(下发==》WCS)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
@@ -2574,22 +2589,21 @@
                try
                {
                    var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    //response = HttpHelper.DoPost(url, jsonData, "下发给AGV叫料出库命令", "AGV");
                    response = HttpHelper.DoPost(url, jsonData, "下发给WCS入库命令", "WCS");
                    var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    var list = new List<string>() { model.TaskNo };
                    //解析返回数据
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
                    if (wcsModel.code == 200)
                    {
                        //更改任务的发送返回时间//
                        new TaskServer().EditTaskIssueOk(list, time1, time2);
                    ////解析返回数据
                    //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                    //if (wcsModel.StatusCode == 0)
                    //{
                    //    //更改任务的发送返回时间//
                    //new TaskServer().EditTaskIssueOk(list2, time1, time2);
                    //}
                    //if (wcsModel.StatusCode == -1)
                    //{
                    //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
                    //    throw new Exception(wcsModel.Msg);
                    //}
                    }else
                    {
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message);
                        throw new Exception("WCS反馈:"+wcsModel.message);
                    }
                }
                catch (Exception ex)
                {
@@ -2602,6 +2616,86 @@
            }
        }
        /// <summary>
        /// 入库任务完成JC34
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="userId"></param>
        /// <exception cref="Exception"></exception>
        public void ArrivalSuccess2(string taskNo, int userId)
        {
            try
            {
                //正常入库
                var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo);
                if (task == null)
                {
                    throw new Exception("未查询到任务信息");
                }
                if (task.Status == "2")
                {
                    throw new Exception("当前任务已完成");
                }
                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
                var upShelf = Db.Queryable<BllPalletUpShelf>().First(m => m.TaskNo == taskNo);
                if (upShelf == null)
                {
                    throw new Exception("没有找到托盘上架信息");
                }
                //当前任务中的储位信息
                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
                if (locate == null)
                {
                    throw new Exception($"未查询到任务中的储位信息");
                }
                Db.BeginTran();
                task.Status = "2";//任务状态
                task.IsSend = 0;
                task.IsCancel = 0;
                task.IsFinish = 0;
                task.FinishDate = DateTime.Now;//完成时间
                Db.Updateable(task).ExecuteCommand();
                if (userId != 0)
                {
                    //添加操作日志记录
                    var k = new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", taskNo, "完成", $"点击完成按钮、完成任务号为:{taskNo}的任务", userId);
                }
                //判断是否是回流入库完成
                if (stockDetail.Any())
                {
                    throw new Exception("没有查询到库存信息");
                }
                foreach (var item in stockDetail)
                {
                    item.WareHouseNo = locate.WareHouseNo;
                    item.RoadwayNo = locate.RoadwayNo;
                    item.AreaNo = locate.AreaNo;
                    item.LocatNo = locate.LocatNo;
                    item.UpdateTime = DateTime.Now;
                    if (userId != 0)
                    {
                        item.UpdateUser = userId;
                    }
                }
                upShelf.Status = "2";
                Db.Updateable(upShelf).ExecuteCommand();
                locate.Status = "1";
                Db.Updateable(locate).ExecuteCommand();
                Db.Updateable(stockDetail).ExecuteCommand();
                Db.CommitTran();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        #endregion
        #region 指定储位
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -1852,17 +1852,17 @@
                    var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    ////解析返回数据 
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                    if (wcsModel.StatusCode == 0)
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
                    if (wcsModel.code == 200)
                    {
                        //更改任务的发送返回时间//
                        new TaskServer().EditTaskIssueOk(list, time1, time2);
                    }
                    if (wcsModel.StatusCode == -1)
                    else
                    {
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
                        throw new Exception($"wcs返回状态异常:{wcsModel.Msg}");
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message);
                        throw new Exception($"wcs返回状态异常:{wcsModel.message}");
                    }
                }
                catch (Exception ex)
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1826,11 +1826,16 @@
                {
                    if (models[0].Status == "1")
                    {
                        sqlString = $"select count(id) from DataStockDetail where PalletNo = '{palletNo}' and isnull(LocatNo,'') != '' and isdel = '0';";
                        int rowNum = Db.Ado.GetInt(sqlString);
                        if (rowNum > 0)
                        var detail = Db.Queryable<DataStockDetail>().First(m=>m.PalletNo == palletNo );
                        if (detail!= null && !string.IsNullOrWhiteSpace(detail.LocatNo))
                        {
                            sqlMsg = "-1:托盘使用中,此托盘应在库内请核实!";
                            var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList();
                            var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == detail.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
                            if (pingLocateInfo == null)
                            {
                                sqlMsg = "-1:托盘使用中,此托盘应在库内请核实!";
                            }
                        }
                    }
                }
@@ -3287,7 +3292,7 @@
            try
            {
                string strMsg = "";
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W02");
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04");
                if (storageLocat == null)
                {
                    throw new Exception("-1:地码(储位信息)不存在或非空闲状态,请核查!");
@@ -5424,7 +5429,7 @@
                    //修改库存明细信息
                    foreach (var item in stockDetail)
                    {
                        item.Status = "0";                                  // 状态更改为待分配
                        //item.Status = "0";                                  // 状态更改为待分配
                        item.WareHouseNo = storageLocat.WareHouseNo;        // 所属仓库
                        item.RoadwayNo = storageLocat.RoadwayNo;            // 所属巷道
                        item.AreaNo = storageLocat.AreaNo;                  // 所属区域
@@ -5456,14 +5461,14 @@
                        SendDate = DateTime.Now,  //发送时间
                        BackDate = DateTime.Now,  //返回时间
                        StartLocat = "",//起始位置
                        EndLocat = "平库",//目标位置
                        EndLocat = model.LocatNo,//目标位置
                        PalletNo = model.PalletNo,//托盘码
                        IsSend = 0,//是否可再次下发
                        IsCancel = 0,//是否可取消
                        IsFinish = 0,//是否可完成
                        Type = "0",//任务类型 0 入库任务 1 出库任务  2 移库任务
                        Status = "2",//任务状态0:等待执行1正在执行2执行完成
                        OrderType = "3",//0 入库单 1 出库单  2 盘点单  3 移库单
                        OrderType = "0",//0 入库单 1 出库单  2 盘点单  3 移库单
                        Msg = "平库的入库任务",
                    };
                    Db.Insertable(exTask).ExecuteCommand();
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -2200,17 +2200,17 @@
                            var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                            ////解析返回数据 
                            var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                            if (wcsModel.StatusCode == 0)
                            var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
                            if (wcsModel.code == 200)
                            {
                                //更改任务的发送返回时间//
                                new TaskServer().EditTaskIssueOk(list2, time1, time2);
                                str += "下发成功";
                            }
                            if (wcsModel.StatusCode == -1)
                            else
                            {
                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
                                throw new Exception(wcsModel.Msg);
                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
                                throw new Exception(wcsModel.message);
                            }
                        }
                        catch (Exception ex)
@@ -5978,17 +5978,17 @@
                    var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    ////解析返回数据 
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                    if (wcsModel.StatusCode == 0)
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
                    if (wcsModel.code == 200)
                    {
                        //更改任务的发送返回时间//
                        new TaskServer().EditTaskIssueOk(list, time1, time2);
                    }
                    if (wcsModel.StatusCode == -1)
                    else
                    {
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
                        throw new Exception($"wcs返回状态异常:{wcsModel.Msg}");
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message);
                        throw new Exception($"wcs返回状态异常:{wcsModel.message}");
                    }
                }
                catch (Exception ex)
Wms/WMS.BLL/HttpServer.cs
New file
@@ -0,0 +1,59 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;
using WMS.BLL.LogServer;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL;
namespace WMS.BLL
{
    public class HttpServer:IHttpServer
    {
        private static readonly SqlSugarScope Db = DataContext.Db;
        public HttpServer() { }
        public void UpLocateByAgvOut(string taskNo, int userId)
        {
            try
            {
                var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo);
                if (task == null)
                {
                    throw new Exception("未查询到任务信息");
                }
                if (task.Status != "1")
                {
                    throw new Exception("当前任务已完成");
                }
                if (userId != 0)
                {
                    //添加操作日志记录
                    var k = new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", taskNo, "完成", $"点击完成按钮、完成任务号为:{taskNo}的任务", userId);
                }
                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
                if (locate == null)
                {
                    throw new Exception($"未查询到任务中的储位信息");
                }
                var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList();
                var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locate.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
                if (pingLocateInfo == null)
                {
                    throw new Exception("当前任务起始储位不在平库储位");
                }
                locate.Status = "0";
                Db.Updateable(locate).ExecuteCommand();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
    }
}
Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs
@@ -88,7 +88,7 @@
        /// <returns></returns>
        OutCommandDto RequestLocation(string palletNo, string houseNo);
        /// <summary>
        /// 下发入库申请储位任务(下发==》AGV小车)
        /// 下发入库申请储位任务(下发==》WCS)
        /// </summary>
        /// <param name="model"></param>
        /// <param name="url"></param>
@@ -110,6 +110,13 @@
        /// <returns></returns>
        OutCommandDto RequestMiJiLocation(string palletNo, string houseNo, string roadwayNo);
        /// <summary>
        /// 入库完成JC34
        /// </summary>
        /// <param name="taskNo">任务号</param>
        /// <param name="userId">操作人(下游系统时为空)</param>
        void ArrivalSuccess2(string taskNo, int userId);
        /// <summary>
        /// 入库完成
        /// </summary>
Wms/WMS.IBLL/IHttpServer.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.IBLL
{
    public interface IHttpServer
    {
        /// <summary>
        /// agv走出储位修改储位信息,仅限平库储位
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="userId"></param>
        void UpLocateByAgvOut(string taskNo,int userId);
    }
}
Wms/Wms/Controllers/DownApiController.cs
@@ -21,6 +21,7 @@
using Model.ModelVm.BllCheckVm;
using System.Collections.Generic;
using System.Security.Policy;
using WMS.IBLL;
namespace Wms.Controllers
{
@@ -38,7 +39,8 @@
        private readonly ITaskServer _taskSvc;//任务Svc
        private readonly IBllTaskSyncServer _taskSyncSvc;//任务同步Svc
        private readonly IWaveMageServer _waveSvc;//任务同步Svc
        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc)
        private readonly IHttpServer _http;//任务同步Svc
        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http)
        {
            _config = setting.Value;
            _exNoticeSvc = exNoticeSvc;
@@ -47,6 +49,7 @@
            _taskSvc = taskSvc;
            _taskSyncSvc = taskSyncSvc;
            _waveSvc = waveSvc;
            _http = http;
        }
        #region WMS接口 调用下游系统接口 
@@ -273,38 +276,6 @@
        #region WMS接口 被下游系统接口调用
        /// <summary>
        /// 绑定信息返回巷道口
        /// </summary>
        /// <param name="model">入库单信息</param>
        /// <returns></returns>
        //[AllowAnonymous]
        //[HttpPost]
        //public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
        //{
        //    var logStr = $@".\log\WCS\WCS托盘绑定-申请巷道" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
        //    try
        //    {
        //        var jsonData = JsonConvert.SerializeObject(model);
        //        LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道:( {jsonData} ),", logStr);
        //        _asnPalletBindSvc.BindPalletStock(model, 0);
        //        //申请巷道
        //        var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
        //        LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
        //        return Ok(new { Success = 0, Message = "托盘绑定-申请巷道成功", TaskList = list });
        //    }
        //    catch (Exception e)
        //    {
        //        LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {e.Message} ),", logStr);
        //        return Ok(new ErpModel { Success = -1, Message = e.Message });
        //    }
        //}
        /// <summary>
        /// PDA 人工申请储位 (立体库)
        /// </summary>
        /// <param name="model">入库单信息</param>
@@ -330,15 +301,15 @@
            try
            {
                var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo);
                _asnPalletBindSvc.IssueAsnTask(list, _config.ErpHost+ _config.AsnFinishUrl);//agv路径
                _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS路径
                
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的成功信息", int.Parse(userId));
                new OperationASNServer().AddLogOperationAsn("PDA模块", "申请入库", model.PalletNo, "添加", $"申请储位托盘号:{model.PalletNo}的成功信息", int.Parse(userId));
                return Ok(new HttpReturnModel { Success = "0", Message = "申请储位成功", Data = list });
            }
            catch (Exception e)
            {
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的失败信息", int.Parse(userId));
                new OperationASNServer().AddLogOperationAsn("PDA模块", "申请入库", model.PalletNo, "添加", $"申请储位托盘号:{model.PalletNo}的失败信息", int.Parse(userId));
                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
            }
@@ -458,7 +429,7 @@
                    case "0"://入库完成任务
                        if (model.TaskType == "0")//0:入库 1:出库 2:移库
                        {
                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
                            _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0);
                            return Ok(new WcsModel { StatusCode = 0, Msg = "入库完成" });
                        }
                        break;
@@ -482,7 +453,7 @@
                        }
                        else if (model.TaskType == "0")// 盘点出库托盘回库完成
                        {
                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
                            _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0);
                            return Ok(new WcsModel { StatusCode = 0, Msg = "入库完成" });
                        }
                        break;
@@ -503,6 +474,33 @@
            }
        }
        /// <summary>
        /// 接受wcs返回的信号 平库取货完成任务反馈
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IActionResult UpLocateByAgvOut(ReceiveWcsSignal model)
        {
            try
            {
                //记录log
                var logStr = $@".\log\WCS\取货完成任务反馈" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                var jsonData = JsonConvert.SerializeObject(model);
                LogFile.SaveLogToFile($"AGV取货完成WCS任务反馈:( {jsonData} ),", logStr);
                if (string.IsNullOrEmpty(model.TaskNo))
                {
                    return Ok(new WcsModel { StatusCode = -1, Msg = "接口数据不正确,任务号为空" });
                }
                _http.UpLocateByAgvOut(model.TaskNo,0);
                return Ok(new WcsModel { StatusCode = 0, Msg = "接收成功" });
            }
            catch (Exception ex)
            {
                return Ok(new WcsModel { StatusCode = -1, Msg = ex.Message });
            }
        }
        /// <summary>
        /// WCS反馈AGV任务取货完成
Wms/Wms/appsettings.json
@@ -27,8 +27,8 @@
    "WcsHost": "http://10.26.254.34:5005", //wcsIPhttp://localhost:57061/
    "BoxHost": "http://10.110.24.30:8081", //boxIP
    "IssueComApiUrl": "/api/WCSApi/AddTasks", //下发命令(出库、移库)
    "IssueComApiUrl2": "/api/WCSApi/AddTask", //重新下发命令(出库、移库)
    "IssueComApiUrl": "/api/openApi/wcsTasks", //下发命令(出库、移库)
    "IssueComApiUrl2": "/api/openApi/wcsTask", //重新下发命令(出库、移库)
    "AsnFinishUrl": "/api/wmsInterface/OutStockTask", //入库订单关闭
    "SoFinishUrl": "/api/wmsInterface/OutStockTask", //出库订单关闭