hudong
2025-05-30 1483d0e74b4dde9eb22e022276390bfa1f24495b
process/TaskProcess.cs
@@ -14,6 +14,7 @@
using System.Threading.Tasks;
using static HH.WCS.Mobox3.pinggao.models.SapRoot.WcReturnRoot;
using static HH.WCS.Mobox3.pinggao.api.OtherModel;
using NLog.Fluent;
namespace HH.WCS.Mobox3.pinggao.process
{
@@ -94,7 +95,10 @@
                db.CommitTran();
                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
                {
                    if (TN_Task.S_START_LOC == TN_Task.S_END_LOC)
                    {
                    weight(TN_Task);
                    }
                }
@@ -108,7 +112,10 @@
                db.CommitTran();
                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
                {
                    if (TN_Task.S_START_LOC == TN_Task.S_END_LOC)
                    {
                    weight(TN_Task);
                    }
                }
            }
@@ -156,6 +163,11 @@
                                       .PartitionBy(it => it.N_LAYER)
                                       .Take(1)
                                       .ToList();
                        if (TN_Task.N_ERR == 2)//前移车
                        {
                            endlist = endlist.Where(s => s.N_LAYER < 7).ToList();
                        }
                            foreach (var item in endlist)
                            {
                                LogHelper.Info($"重量{decimal.Parse(extData)}");
@@ -245,6 +257,10 @@
                                       .PartitionBy(it => it.N_LAYER)
                                       .Take(1)
                                       .ToList();
                        if (TN_Task.N_ERR == 2)//前移车
                        {
                            endlist = endlist.Where(s => s.N_LAYER < 7).ToList();
                        }
                            foreach (var item in endlist)
                            {
                                LogHelper.Info($"重量{decimal.Parse(extData)}");
@@ -289,16 +305,20 @@
                            LogHelper.Info($"小车回调未找到可用库位");
                            throw new Exception($"小车回调未找到可用库位");
                        }
                    //var lcrList = db.Queryable<LocCntrRel>().Includes(a => a.Container).Where(a => a.S_LOC_CODE == TN_Task.S_CNTR_CODE).ToList();
                    //if (lcrList.Count == 0) {
                        TN_Task.S_END_LOC = result.S_CODE;
                        TN_Task.S_END_AREA = result.S_AREA_CODE;
                        TN_Task.S_END_WH = result.S_WH_CODE;
                        db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
                        WMStask.S_END_LOC = result.S_CODE;
                        WMStask.S_END_AREA = result.S_AREA_CODE;
                        WMStask.S_END_WH = result.S_WH_CODE;
                        db.Updateable<WMSTask>(WMStask).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
                    //}
                    var S_AGV_SITE = "";
                    if (TN_Task.N_ERR==1)//前移车
                    {
@@ -313,7 +333,7 @@
                    }
                        var dic = new Dictionary<string, string>();
                        dic.Add("No", TN_Task.S_CODE);
                        dic.Add("ParamNo", "3");
                    dic.Add("ParamNo", "2");
                        dic.Add("Param1", S_AGV_SITE);
                    //dic.Add("Pri", TN_Task.N_PRIORITY.ToString());
                    //dic.Add("No", TN_Task.S_CODE.Trim());
@@ -333,9 +353,15 @@
                            dics.Add("Param1", "2");
                            var ss = NDC.ChangeOrder(dics);
                            LogHelper.Info($"小车前往新库位" + JsonConvert.SerializeObject(ss));
                        //if (lcrList.Count()==0)
                        //{
                            LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList());
                            LocationHelper.LockLoc(TN_Task.S_END_LOC,1);
                        //}
                        }
                        db.CommitTran();
                    }
                    catch (Exception)
@@ -572,6 +598,41 @@
                        var startloc = LocationHelper.GetLoc(mst.S_START_LOC);
                        var endloc = LocationHelper.GetLoc(mst.S_END_LOC);
                        LogHelper.Info($"获取站点{startloc.N_LAYER}");
                        if (mst.S_TYPE.Contains("入库"))
                        {
                            var task = WCSHelper.GetWaitingTaskGoList();//查询是否有前移车正在执行的任务
                            if (task.Count() == 0)
                            {
                                mst.N_ERR = 1;
                                start = startlocs;
                                end = endlocs;
                            }
                            else
                            {
                                var task12 = WCSHelper.GetWaitingTaskGoBackList();//查询是否有堆垛车正在执行的任务、
                                LogHelper.Info($"count{task12.Count()}");
                                if (task12.Count() == 0)
                                {      //堆垛车 去 站点表去查
                                    mst.N_ERR = 2;
                                    start = dstart;
                                    end = dend;
                                }
                                else
                                {
                                    var task1 = WCSHelper.GetWaitingTaskGoList();///查询是否有前移车正在执行的任务
                                    LogHelper.Info($"查询是否有前移车正在执行的任务count{task1.Count()}");
                                    if (task1.Count() == 0)
                                    {
                                        mst.N_ERR = 1;
                                        start = startlocs;
                                        end = endlocs;
                                    }
                                }
                            }
                        }
                        else
                        {
                        if (startloc.N_LAYER > 7 || endloc.N_LAYER > 7)//大于七层 找有无 前移车的任务 有 不推 无推送
                        {
                            var task = WCSHelper.GetWaitingTaskGoList();//查询是否有前移车正在执行的任务
@@ -605,6 +666,8 @@
                                }
                            }
                        }
                        }
                        LogHelper.Info($"站点{start}/{end}");
                        if (!string.IsNullOrEmpty(start) && !string.IsNullOrEmpty(end))
                        {