Administrator
2024-07-02 1c5addd1d2a760d9445934a79e6a6dc987c45401
Wms/Wms/Controllers/UpApiController.cs
@@ -404,24 +404,29 @@
            }
        }
        //RCS叫桶
        #region 二楼业务
        /// <summary>
        /// RCS叫桶
        /// </summary>
        /// <param name="pallmsg"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetPalletNo(Pallnetmsg pallmsg)
        {
            var Pallnet = "";
            var locate = "";
            var result = new ErpModel { Success = -1, Message = "",};
            var result = new ErpModel { Success = -1, Message = "", };
            try
            {
                if (pallmsg.lotno != null)
                if (string.IsNullOrWhiteSpace(pallmsg.Location))
                {
                    _rcsserver.GetPalletNo(pallmsg.warehouseno, pallmsg.type, pallmsg.lotno, out Pallnet, out locate);
                    result.Message = "叫料位置为空!";
                    return Ok(result);
                }
                else
                if (string.IsNullOrWhiteSpace(pallmsg.Type))
                {
                    _rcsserver.GetPalletNo(pallmsg.warehouseno, pallmsg.type, out Pallnet, out locate);
                    result.Message = "任务类型为空!";
                    return Ok(result);
                }
                _rcsserver.GetPalletNo(pallmsg);
                result.Success = 0;
                result.Message = "叫桶成功!";
                return Ok(result);
@@ -432,15 +437,94 @@
                return Ok(result);
            }
        }
        //RCS申请储位
        /// <summary>
        /// 将净桶改为脏桶并拉到脏桶区
        /// </summary>
        /// <param name="pallmsg"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult ChangePalletStatus(Pallnetmsg pallmsg)
        {
            var result = new ErpModel { Success = -1, Message = "", };
            try
            {
                if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
                {
                    result.Message = "桶编号不能为空!";
                    return Ok(result);
                }
                _rcsserver.ChangePalletStatus(pallmsg.PalletNo);
                result.Success = 0;
                result.Message = "操作成功!";
                return Ok(result);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                return Ok(result);
            }
        }
        /// <summary>
        /// MES下发清洗锁定脏桶
        /// </summary>
        /// <param name="pallmsg"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult CleanPallet(Pallnetmsg pallmsg)
        {
            var result = new ErpModel { Success = -1, Message = "", };
            try
            {
                if (string.IsNullOrWhiteSpace(pallmsg.Location))
                {
                    result.Message = "叫料位置为空!";
                    return Ok(result);
                }
                if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
                {
                    result.Message = "桶号为空!";
                    return Ok(result);
                }
                _rcsserver.CleanPallet(pallmsg);
                result.Success = 0;
                result.Message = "叫桶成功!";
                return Ok(result);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                return Ok(result);
            }
        }
        /// <summary>
        /// RCS申请储位
        /// </summary>
        /// <param name="pallmsg"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult ApplyLocatNo(Pallnetmsg pallmsg)
        {
            var lotno = "";
            var result = new ErpModel { Success = -1, Message = "" };
            try
            {
                _rcsserver.ApplyLocatNo(pallmsg.palletno,pallmsg.type, out lotno);
                if (string.IsNullOrWhiteSpace(pallmsg.Location))
                {
                    result.Message = "申请位置为空!";
                    return Ok(result);
                }
                if (string.IsNullOrWhiteSpace(pallmsg.Type))
                {
                    result.Message = "任务类型为空!";
                    return Ok(result);
                }
                if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
                {
                    result.Message = "申请托盘号为空!";
                    return Ok(result);
                }
                _rcsserver.ApplyLocatNo(pallmsg);
                result.Success = 0;
                result.Message = "申请储位成功!";
                return Ok(result);
@@ -453,31 +537,6 @@
            }
        }
        //下发调度RCS任务
        //RCS申请储位
        [HttpPost]
        public IActionResult genAgvSchedulingTask(AgvTask agvtask)
        {
            var lotno = "";
            var url = "";
            genAgvSchedulingTaskRep chrep = new genAgvSchedulingTaskRep();
            var result = new ErpModel { Success = -1, Message = "" };
            try
            {
                _rcsserver.genAgvSchedulingTask(agvtask,url,ref chrep);
                result.Success = 0;
                result.Message = "申请储位成功!";
                return Ok(result);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                return Ok(result);
            }
        }
        #region 二楼业务
        /// <summary>
        /// 入库单据下发
        /// </summary>
@@ -534,7 +593,7 @@
                    throw new Exception("未获取到用户信息");
                }*/
                result = _noticeSvc.RCSFinishTask(model.TaskNo,model.Status);
                result = _noticeSvc.RCSFinishTask(model.TaskNo, model.Status);
                return Ok(result);
            }
@@ -544,6 +603,38 @@
                return Ok(result);
            }
        }
        /// <summary>
        /// 出库单据下发
        /// </summary>
        /// <param name="model">出库单信息</param>
        /// <returns></returns>
        //[Authorize]
        [HttpPost]
        public IActionResult CreateSoWork(SoInfo model)
        {
            try
            {
                /*var claimsIdentity = this.User.Identity as ClaimsIdentity;
                if (claimsIdentity == null)
                {
                    throw new Exception("未获取到用户信息");
                }
                string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                if (string.IsNullOrWhiteSpace(UserId))
                {
                    throw new Exception("未获取到用户信息");
                }*/
                SoResInfo result = _noticeSvc.CreateSoWork(model);
                return Ok(result);
            }
            catch (Exception e)
            {
                return Ok(new ErpModel { Success = -1, Message = e.Message });
            }
        }
        #endregion
        //箱码信息 手持组托用 (赋码或追溯下发到wms)