zhaowc
2025-04-01 af73aff35be4607dd22232d5695e30ca3059c436
Wms/Wms/Controllers/DownApiController.cs
@@ -37,6 +37,7 @@
        private readonly IPdaAsnServer _paAsnSvc;//空托跺绑定
        private readonly IStockServer _stockSvc;//AGV任务完成箅
        private readonly IPdaCrServer _pdaCrServer; // PDA任务调度
        private static readonly object OLock = new object();
        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc,IPdaCrServer pdaCrServer)
        {
@@ -219,45 +220,47 @@
        [HttpPost]
        public IActionResult RequestRoadWay(RequestLocate model)
        {
            var logStr = "";
            lock (OLock) {
                var logStr = "";
            logStr = $@".\log\WCS\WCS申请巷道" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                logStr = $@".\log\WCS\WCS申请巷道" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            try
            {
                var jsonData = JsonConvert.SerializeObject(model);
                LogFile.SaveLogToFile($"WCS申请巷道:( {jsonData} ),", logStr);
                if (model.TaskModel == "1")
                try
                {
                    var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
                    LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"WCS申请巷道:( {jsonData} ),", logStr);
                    if (model.TaskModel == "1")
                    {
                        var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
                        LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                        new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo,
                            "申请巷道", $"申请巷道托盘号:{model.PalletNo}的成功信息", 2);
                        return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                    }
                    else
                    {
                        var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
                        LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                        new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8),
                            "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);
                        return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                    }
                }
                catch (Exception e)
                {
                    LogFile.SaveLogToFile($"WCS申请巷道返回:( {e.Message} ),", logStr);
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo,
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo}的成功信息", 2);
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo}的失败信息", 2);
                    return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                    return Ok(new ErpModel { Success = -1, Message = e.Message });
                }
                else
                {
                    var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
                    LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8),
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);
                    return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                }
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"WCS申请巷道返回:( {e.Message} ),", logStr);
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo,
                    "申请巷道", $"申请巷道托盘号:{model.PalletNo}的失败信息", 2);
                return Ok(new ErpModel { Success = -1, Message = e.Message });
            }
        }
@@ -284,65 +287,68 @@
            //}
            //string palletno = model.PalletNo;
            var logStr = "";
            if (model.PalletNo.Length == 9)
            lock (OLock)
            {
                logStr = $@".\log\WCS\WMS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            else if (model.PalletNo.Length == 8)
            {
                logStr = $@".\log\WCS\WCS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            }
            try
            {
                var logStr = "";
                if (model.PalletNo.Length == 9)
                {
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"WMS申请储位:( {jsonData} ),", logStr);
                    logStr = $@".\log\WCS\WMS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                }
                else if (model.PalletNo.Length == 8)
                {
                    var jsonData = JsonConvert.SerializeObject(model);
                    LogFile.SaveLogToFile($"WCS申请储位:( {jsonData} ),", logStr);
                    logStr = $@".\log\WCS\WCS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                }
                }
                string pallet = model.PalletNo.Substring(0, 8);
                OutCommandDto list;
                if (model.TaskModel == "1")
                try
                {
                    list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
                }
                else
                {
                    list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
                }
                    if (model.PalletNo.Length == 9)
                    {
                        var jsonData = JsonConvert.SerializeObject(model);
                        LogFile.SaveLogToFile($"WMS申请储位:( {jsonData} ),", logStr);
                    }
                    else if (model.PalletNo.Length == 8)
                    {
                        var jsonData = JsonConvert.SerializeObject(model);
                        LogFile.SaveLogToFile($"WCS申请储位:( {jsonData} ),", logStr);
                    }
                    string pallet = model.PalletNo.Substring(0, 8);
                    OutCommandDto list;
                    if (model.TaskModel == "1")
                    {
                        list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
                    }
                    else
                    {
                        list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
                    }
                
                if (model.PalletNo.Length == 9)
                {
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);// int.Parse(userId)
                    LogFile.SaveLogToFile($"WMS申请储位成功:( {JsonConvert.SerializeObject(list)} ),", logStr);
                }
                else if (model.PalletNo.Length == 8)
                {
                    LogFile.SaveLogToFile($"WCS申请储位返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                }
                    if (model.PalletNo.Length == 9)
                    {
                        new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);// int.Parse(userId)
                        LogFile.SaveLogToFile($"WMS申请储位成功:( {JsonConvert.SerializeObject(list)} ),", logStr);
                    }
                    else if (model.PalletNo.Length == 8)
                    {
                        LogFile.SaveLogToFile($"WCS申请储位返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                    }
                
                return Ok(new { Success = 0, Message = "申请储位成功", TaskList = list });
            }
            catch (Exception e)
            {
                if (model.PalletNo.Length == 9)
                {
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的失败信息", 2);//int.Parse(userId)
                    LogFile.SaveLogToFile($"WMS申请储位失败返回:( {e.Message} ),", logStr);
                    return Ok(new { Success = 0, Message = "申请储位成功", TaskList = list });
                }
                else if (model.PalletNo.Length == 8)
                catch (Exception e)
                {
                    LogFile.SaveLogToFile($"WCS申请储位返回:( {e.Message} ),", logStr);
                }
                    if (model.PalletNo.Length == 9)
                    {
                        new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的失败信息", 2);//int.Parse(userId)
                        LogFile.SaveLogToFile($"WMS申请储位失败返回:( {e.Message} ),", logStr);
                    }
                    else if (model.PalletNo.Length == 8)
                    {
                        LogFile.SaveLogToFile($"WCS申请储位返回:( {e.Message} ),", logStr);
                    }
                return Ok(new ErpModel { Success = -1, Message = e.Message });
                    return Ok(new ErpModel { Success = -1, Message = e.Message });
                }
            }
        }
@@ -555,6 +561,8 @@
        public IActionResult BindPlnInHouseWcs(PalletsBind model)
        {
            var logStr = $@".\log\WCS\WCS又叠托机申请空托入库" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                var strMsg = _paAsnSvc.BindNullPallets(model);
@@ -579,6 +587,8 @@
        public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model)
        {
            var logStr = $@".\log\WCS\WCS申请空托出库" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0);
@@ -603,6 +613,8 @@
        public IActionResult IssuePlnCheckHouseWcs(CheckModePalletVm model)
        {
            var logStr = $@".\log\WCS\WMS拣货申请空托出库" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                string list = _pdaSoSvc.IssuePlnCehckHouseWcs(model, 0,_config.AgvHost+_config.GenAgvSchedulingTask);
@@ -627,6 +639,8 @@
        public IActionResult RequestPackWcs(RequesIsBale model)
        {
            var logStr = $@".\log\WCS\WCS申请缠膜拆膜" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
               int t = _asnPalletBindSvc.RequestPackWcs(model.PalletNo);
@@ -652,6 +666,8 @@
        public IActionResult RequestUnPackWcs(RequesIsBale model)
        {
            var logStr = $@".\log\WCS\WCS申请缠膜拆膜" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                int t = _asnPalletBindSvc.RequestUnPackWcs(model.PalletNo);
@@ -676,6 +692,8 @@
        public IActionResult RequestPackedWcs(RequesIsBale model)
        {
            var logStr = $@".\log\WCS\WCS申请缠膜拆膜" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                int t = _asnPalletBindSvc.RequestPackedWcs(model.PalletNo);
@@ -736,6 +754,8 @@
        public IActionResult ResultBoxInfoCheckWcs(BoxInfoCheck model)
        {
            var logStr = $@".\log\WCS\WCS申请拆垛托盘信息" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                RequestBoxInfoCheck list = _exNoticeSvc.BoxInfoCheckWcs(model);
@@ -761,17 +781,19 @@
        public IActionResult ResultBoxInfoExportWcs(BoxInfoCheck model)
        {
            var logStr = $@".\log\WCS\WCS申请成品箱码拆垛拣货信息" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            var jsonData = JsonConvert.SerializeObject(model);
            LogFile.SaveLogToFile($"任务反馈:( {jsonData} ),", logStr);
            try
            {
                //返回出库分拣装车口
                var list = _exNoticeSvc.BoxInfoExportWcs(model.BoxNo);
                return Ok(new { Success = "1", Message = "成品箱码拆垛拣货成功", loadubgAddre = list });
                return Ok(new { Success = "1", Message = "成品箱码拆垛拣货成功", loadingAddre = list });
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"WCS申请成品箱码拆垛拣货异常返回:( {e.Message} ),", logStr);
                return Ok(new  { Success = "-1", Message = e.Message, loadubgAddre ="" });
                return Ok(new  { Success = "-1", Message = e.Message, loadingAddre = "" });
            }
        }