예제 #1
0
파일: WmsToWcsSvr.cs 프로젝트: qq5013/WMS-6
        /// <summary>
        /// wcs向wms请求任务
        /// </summary>
        /// <param name="applyTask"></param>
        /// <returns></returns>
        public ResposeData RequireTask(RequireTaskModel requireTask)
        {
            ResposeData response = new ResposeData();

            if (requireTask == null)
            {
                response.Status   = false;
                response.Describe = "请求任务对象为空!";
                return(response);
            }


            try
            {
                ManageModel existMana = bllManage.GetModelByPalletCode(requireTask.PalletCode);
                if (existMana != null)
                {
                    response.Status   = false;
                    response.Describe = "此托盘任务已经生成!";
                    return(response);
                }
                ManageModel manage = new ManageModel();
                manage.Mange_ID = Guid.NewGuid().ToString();
                WH_Station_LogicModel stationLogic = bllStationLogic.GetModelByCellID(requireTask.RequireDevice.DeviceCode);
                if (stationLogic == null)
                {
                    response.Status   = false;
                    response.Describe = "请求设备编号错误!";
                    return(response);
                }

                if (requireTask.RequireType == EnumRequireTaskType.空筐入库.ToString())//入库请求设备对应指定库房编码,库房编码和堆垛机编码一致
                {
                    //通过stationLogic得知申请的是哪个库房的入库
                    View_CellModel targetModel = bllViewCell.ApplyCell(stationLogic.WareHouse_ID);
                    if (targetModel == null)
                    {
                        response.Status   = false;
                        response.Describe = "已经没有货位可以申请了!";
                        return(response);
                    }

                    manage.Mange_Stock_Barcode     = requireTask.PalletCode;
                    manage.Manage_BreakDown_Status = "FALSE";
                    manage.Mange_End_Cell_ID       = targetModel.Cell_Chlid_ID;
                    manage.Mange_Full_Flag         = "0";
                    manage.Mange_Start_Cell_ID     = requireTask.RequireDevice.DeviceCode;
                    manage.Mange_Status            = EnumManageTaskStatus.待执行.ToString();
                    manage.Mange_Type_ID           = "7";//空托盘上架
                }
                else if (requireTask.RequireType == EnumRequireTaskType.空筐出库.ToString())
                {
                    View_CellModel emptyPalletCell = bllViewCell.GetEmptyPalletCell();
                    if (emptyPalletCell == null)
                    {
                        response.Status   = false;
                        response.Describe = "已经没有空托盘可以申请了!";
                        return(response);
                    }

                    manage.Manage_BreakDown_Status = "FALSE";
                    manage.Mange_End_Cell_ID       = requireTask.RequireDevice.DeviceCode;
                    manage.Mange_Full_Flag         = "0";

                    manage.Mange_Start_Cell_ID = emptyPalletCell.Cell_Chlid_ID;
                    manage.Mange_Status        = EnumManageTaskStatus.待执行.ToString();
                    manage.Mange_Stock_Barcode = requireTask.PalletCode;
                    manage.Mange_Type_ID       = "9";//空托盘下架
                }
                else
                {
                    response.Status   = false;
                    response.Describe = "请求任务类型错误!";
                    return(response);
                }
                bllManage.Add(manage);

                response.Status   = true;
                response.Describe = "任务请求成功!";
                return(response);
            }
            catch (Exception ex)
            {
                response.Status   = false;
                response.Describe = "任务请求失败!" + ex.Message;
                return(response);
            }
        }
예제 #2
0
 public ResposeData RequireTask(RequireTaskModel requireTask)
 {
     throw new NotImplementedException();
 }