lss
2025-07-04 3865194441f1e1da34c0be9034d86c8d0d68706c
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
@@ -6,7 +6,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using static HH.WCS.JiaTong.api.ApiModel;
using static HH.WCS.JiaTong.util.Settings;
namespace HH.WCS.JiaTong.core
{
@@ -67,7 +69,7 @@
                                break;
                        }
                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                        //物料到位通知
                        if ((TN_Task.S_TYPE == "出平库" || TN_Task.S_TYPE == "余料返回") && model.state == 6)
                        {
@@ -88,102 +90,108 @@
                        }
                        else
                        {
                            string url = "";
                            if (TN_Task.Z_TYPE == 1)
                            //立库与wms任务回报
                            TableUrl url = null;
                            switch (TN_Task.Z_TYPE)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 1).url;
                            }
                            else if (TN_Task.Z_TYPE == 3)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 9).url;
                            }
                            else if (TN_Task.Z_TYPE == 4)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 11).url;
                            }
                            else if (TN_Task.Z_TYPE == 6)//wms室内到货回报
                            {
                                url = Settings.tableUrls.Find(a => a.id == 14).url;
                            }
                            else
                            {
                                LogHelper.Info($"任务回报:任务类型错误");
                            }
                            if (TN_Task.S_TYPE.Contains("电梯"))
                            {
                                if (TN_Task.S_TYPE == "电梯1")
                                {
                                    if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
                                case 1:
                                    url = Settings.tableUrls.Find(a => a.id == 1);
                                    if (url != null)
                                    {
                                        TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                    }
                                }
                                else if (TN_Task.S_TYPE == "电梯2")
                                {
                                    if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
                                    {
                                        TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                    }
                                }
                            }
                            //原材料接口需要加上token
                            else if (TN_Task.Z_TYPE == 4)
                            {
                                Console.WriteLine($"原材料任务回报{TN_Task.S_EQ_NO}");
                                var db = new SqlHelper<object>().GetInstance();
                                var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList();
                                //分档任务回报,任务1只回报1 3 4 任务2只回报 5 6 2
                                TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                            }
                            else
                            {
                                if (!string.IsNullOrEmpty(url))
                                {
                                    if (TN_Task.S_TYPE == "电梯2" && TN_Task.S_CODE == "2")
                                    {
                                        TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                        TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url,"ML");
                                    }
                                    else
                                    {
                                        TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                        LogHelper.Info("原材料任务回报,根据id=1未找到地址配置文件,请检查配置文件");
                                    }
                                    break;
                                case 3:
                                    url = Settings.tableUrls.Find(a => a.id == 9);
                                    if (url != null)
                                    {
                                        TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url,"YBK");
                                    }
                                    else
                                    {
                                        LogHelper.Info("原材料任务回报,根据id=9未找到地址配置文件,请检查配置文件");
                                    }
                                    break;
                                case 4:
                                    url = Settings.tableUrls.Find(a => a.id == 11);
                                    if (url != null)
                                    {
                                        Console.WriteLine($"原材料任务回报{TN_Task.S_EQ_NO}");
                                        if (TN_Task.S_TYPE.Contains("电梯"))
                                        {
                                            if (TN_Task.S_TYPE == "电梯1")
                                            {
                                                if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
                                                {
                                                    TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
                                                }
                                            }
                                            else if (TN_Task.S_TYPE == "电梯2")
                                            {
                                                if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
                                                {
                                                    TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
                                                }
                                            }
                                        }
                                        else
                                        {
                                }
                                else
                                {
                                    LogHelper.Info($"任务回报:未找到回报地址,请检查配置文件==>{JsonConvert.SerializeObject(Settings.tableUrls)}");
                                }
                                            var db = new SqlHelper<object>().GetInstance();
                                            var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList();
                                            TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
                                        }
                                    }
                                    else
                                    {
                                        LogHelper.Info("原材料任务回报,根据id=11未找到地址配置文件,请检查配置文件");
                                    }
                                    break;
                                case 6:
                                    url = Settings.tableUrls.Find(a => a.id == 14);
                                    if (url != null)
                                    {
                                        TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
                                    }
                                    else
                                    {
                                        LogHelper.Info("原材料任务回报,根据id=14未找到地址配置文件,请检查配置文件");
                                    }
                                    break;
                            }
                        }
                    }
                    else
                    {
                        var db = new SqlHelper<TaskAction>().GetInstance();
                        var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First();
                        if (taskAction == null)
                        if (taskAction == null)
                        {
                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                        }
                        //安全请求等
                        string url = "";
                        string name = "";
                        if (TN_Task.Z_TYPE == 1)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 2).url;
                            name = "ML";
                        }
                        else if (TN_Task.Z_TYPE == 3)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 10).url;
                            name = "YBK";
                        }
                        else if (TN_Task.Z_TYPE == 4)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 11).url;
                            name = "YCL";
                        }
                        else
                        {
@@ -191,7 +199,7 @@
                        }
                        if (!string.IsNullOrEmpty(url))
                        {
                            TaskProcess.OperateReq(model, url, TN_Task);
                            TaskProcess.OperateReq(model, url, TN_Task,name);
                        }
                        else
                        {