1
pulg
15 小时以前 8741f7e84dc7c0a1150c92758ebb2cf4b7d18c73
HH.WCS.QingXiNongfu/process/DeviceProcess.cs
@@ -334,7 +334,7 @@
                            }
                            else
                            {
                                if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 3 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
                                if (!string.IsNullOrEmpty(_clrel0.S_TYPE))
                                    goto ballll;
                            }
                        }
@@ -2312,7 +2312,7 @@
                        }
                        //获取指定库区 指定排 满的货位 然后排除 比最大列还小的空货位
                        var Mhw = locationInLock.FindAll(e => e.N_CURRENT_NUM > 0).ToList();
                        var Mhw = locationInLock.FindAll(e => e.N_CURRENT_NUM > 0 && e.S_LOCK_STATE == "无").ToList();
                        if (Mhw.Count() > 0)
                        {
                            var RowLis = Mhw.GroupBy(e => e.N_ROW).Select(f => f.First()).ToList();
@@ -4219,6 +4219,13 @@
                    }
                    if (hojs.N_CURRENT_NUM == 0)//上托盘 否则下托盘
                    {
                        List<string> TaskState = new List<string>() { "完成", "取消" };
                        var TaskListNum = LocationHelper.GetList<WMSTask>(x => x.S_START_LOC == location && !TaskState.Contains(x.S_B_STATE));
                        if (TaskListNum.Count() > 0)
                        {
                            throw new Exception("只能生成一个任务 进出");
                        }
                        //上托盘 满托
                        var jcjykk = bcpList.FindAll(e => e.S_CNTR_TYPE == "满托").OrderByDescending(g => g.N_PRI).ToList();
                        var AreaList = jcjykk.Select(e => e.S_AREA_CODE).Distinct().ToList();
@@ -4277,11 +4284,17 @@
                    {
                        var time = LocationHelper.GetT_FULL_TIME(location);
                        LogHelper.Info(location + ":托盘放置时间:(" + time + ") 货位托盘数量(" + hojs.N_CURRENT_NUM + ")");
                        if (DateTime.Now.Subtract(time ?? DateTime.Now).TotalMinutes < 1)
                        if (DateTime.Now.Subtract(time ?? DateTime.Now).TotalSeconds < 10)
                        {
                            PlcHelper.SendHex(plc.address, "3F00110D0A");
                            return false;
                        }
                        List<string> TaskState = new List<string>() { "完成", "取消", "推送异常" };
                        var TaskListNum = LocationHelper.GetList<WMSTask>(x => x.S_END_LOC == location && !TaskState.Contains(x.S_B_STATE));
                        if (TaskListNum.Count() > 0)
                        {
                            throw new Exception("只能生成一个任务 进出");
                        }
                        LocCntrRel _clrel = LocationHelper.GetLocCntrRel(hojs.S_LOC_CODE).FirstOrDefault();
                        //下托盘 空框
                        var jcjykk = bcpList.FindAll(e => e.S_CNTR_TYPE == "空托").OrderByDescending(g => g.N_PRI).ToList();