Beispiel #1
0
        /// <summary>
        /// 取消任务
        /// 处理:WMS向WCS发送的取消任务
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private HttpResponse StockCancelHandle(HttpRequest request)
        {
            try
            {
                if (request.Content != null)
                {
                    WmsModel model = JsonConvert.DeserializeObject <WmsModel>(request.Content);
                    if (string.IsNullOrEmpty(model.Task_UID) && model.Task_type != WmsStatus.Cancel)
                    {
                        return(new HttpResponse()
                        {
                            ContentAsUTF8 = "Task error",
                            ReasonPhrase = "OK",
                            StatusCode = "200"
                        });
                    }

                    if (!WmsModelAdd(model, out string result))
                    {
                        return(FailResponse(model.Task_UID));
                    }
                    return(OkResponse(model.Task_UID));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(EmptyMssage());
        }
Beispiel #2
0
        /// <summary>
        /// 检查Wms请求过来的信息是否完整
        /// </summary>
        /// <param name="model"></param>
        /// <param name="tasktype"></param>
        /// <param name="checkWdloc"></param>
        /// <returns></returns>
        private HttpResponse CheckWmsModel(WmsModel model, WmsStatus tasktype, bool checkWdloc)
        {
            string msg = "";

            //是否检查目标货位是否为空
            if (checkWdloc)
            {
                if (model.W_D_Loc == null || model.W_D_Loc.Length == 0)
                {
                    msg = "W_D_Loc can't be empty";
                }
            }

            //任务ID不能为空
            if (model.Task_UID == null || model.Task_UID.Length == 0)
            {
                msg = "Task_UID can't be empty";
            }
            //任务类型不能为空
            else if (model.Task_type == WmsStatus.Empty)
            {
                msg = "Task_type can't be empty";
            }
            //货位条形码不能为空
            else if (model.Barcode == null || model.Barcode.Length == 0)
            {
                msg = "Barcode can't be empty";
            }
            //源货位不能为空
            else if (model.W_S_Loc == null || model.W_S_Loc.Length == 0)
            {
                msg = "W_S_Loc can't be empty";
            }

            if (msg.Length != 0)
            {
                Console.WriteLine("请求错误:" + msg);
                return(new HttpResponse()
                {
                    ContentAsUTF8 = msg,
                    ReasonPhrase = "OK",
                    StatusCode = "200"
                });
            }

            return(null);
        }
Beispiel #3
0
 /// <summary>
 /// 移库任务
 /// 处理:WMS向WCS发送的移库任务
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 private HttpResponse StockMoveHandle(HttpRequest request)
 {
     try
     {
         if (request.Content != null)
         {
             WmsModel     model    = JsonConvert.DeserializeObject <WmsModel>(request.Content);
             HttpResponse response = CheckWmsModel(model, WmsStatus.StockMoveTask, true);
             if (response != null)
             {
                 return(response);
             }
             if (!WmsModelAdd(model, out string result))
             {
                 return(FailResponse(result));
             }
             return(OkResponse());
         }
     }catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
     return(EmptyMssage());
 }
Beispiel #4
0
 /// <summary>
 /// WMS任务请求 ->  NDC-HTTP服务接收 -> 通知WCS
 /// </summary>
 /// <param name="model"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 private bool Routes_WmsModelAdd(WmsModel model, out string result)
 {
     return(WmsModelAdd(model, out result));
 }