Demo
2024-07-17 3a9b5dcd5dd6ed033f80f1696b07135635b3e9f8
Wms/Wms/Controllers/DownApiController.cs
@@ -13,6 +13,7 @@
using WMS.IBLL.IBllSoServer;
using WMS.IBLL.ILogServer;
using Wms.Tools;
using System.Collections.Generic;
namespace Wms.Controllers
{
@@ -87,7 +88,7 @@
        /// <param name="taskNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult AgainSendSoTask(string taskNo)
        public IActionResult AgainSendSoTask(string taskNo,string Receiver)
        {
            try
            {
@@ -102,7 +103,19 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId),_config.WcsHost + _config.IssueComApiUrl2);
                //var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
                OutCommandDto list = new OutCommandDto();
                if (Receiver == "WCS")
                {
                    //需判断AGV或WCS的出库任务
                    //wcs
                    list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
                }
                else if(Receiver == "AGV")
                {
                    //agv
                    list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.ContinueTask);
                }
               
                return Ok(new { code = 0, msg = "重新下发已完成", data = list });
@@ -476,6 +489,58 @@
        //车间叫料
        #region AGV
        /// <summary>
        ///  任务执行通知接口
        ///  AGV 执行回调的方法,包含任务开始,走出储位,任务完成及任务取消。
        ///  取消通知为任务单,其他通知为单个任务组或子任务。注意:是否通知需要在任务模板配置
        /// </summary>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        [HttpPost]
        public IActionResult AgvCallback(AgvContinueTask model)
        {
            try
            {
                //记录log
                var logStr = $@".\log\AGV\任务反馈" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                var jsonData = JsonConvert.SerializeObject(model);
                LogFile.SaveLogToFile($"AGV任务反馈执行通知:( {jsonData} ),", logStr);
                //接收时间
                var time1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var orderType = _taskSvc.GetTaskOrderType(model.TaskCode);// 判断单据类型入出移
                var taskType = _taskSvc.GetTaskType(model.TaskCode);//根据任务号获取任务类型
                switch (orderType)
                {
                    case "0"://入库任务执行
                    case "1"://出库任务执行
                    case "2"://盘库任务执行
                    case "3"://移库任务执行
                        return Ok(new OutCommanAgvDto { Code = "0", Message = "成功", ReqCode = model.ReqCode });
                    default:
                        return Ok(new OutCommanAgvDto { Code = "1", Message = "失败", ReqCode = model.ReqCode });
                }
            }
            catch (Exception ex)
            {
                return Ok(new WcsModel
                {
                    StatusCode = -1,
                    Msg = ex.Message
                });
            }
        }
        #endregion
        #endregion