111
user
3 天以前 802fc04c2d744d08c3e577dd4d91d60a3071e3d7
HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
@@ -297,14 +297,18 @@
                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "瓶坯非即产补空框" && a.S_B_STATE != "完成" && a.S_B_STATE != "取消").First();
                    if(taskInfo == null)
                    {
                        //需要从库区补充空托
                        Location location = TaskProcess.FJCKTLoc();
                        var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_ROW).First();
                        if (location != null && locInfo != null)
                        var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "瓶坯非即产补空框" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First();
                        if(wmsTask == null)
                        {
                            string cntrCode = getCntrCode(db, location);
                            //创建作业
                            WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补空框", cntrCode, "瓶坯");
                            //需要从库区补充空托
                            Location location = TaskProcess.FJCKTLoc();
                            var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_ROW).First();
                            if (location != null && locInfo != null)
                            {
                                string cntrCode = getCntrCode(db, location);
                                //创建作业
                                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补空框", cntrCode, "瓶坯");
                            }
                        }
                    }
                }
@@ -312,20 +316,26 @@
                LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList();
                if (LocList.Count > 2)
                {
                    //判断任务是否存在
                    LogHelper.Info($"瓶坯非即产空托入库 {JsonConvert.SerializeObject(LocList)}");
                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "瓶坯非即产空框入库" && a.S_B_STATE != "完成" && a.S_B_STATE != "取消" && a.S_B_STATE != "卸货完成" && a.S_B_STATE != "开始卸货" && a.S_B_STATE != "取货完成").First();
                    if(taskInfo == null)
                    {
                        //需要将空托转运到库区
                        foreach (var a in LocList)
                        //判断作业是否存在
                        var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "瓶坯非即产空框入库" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First();
                        if(wmsTask == null)
                        {
                            if (a.S_LOCK_STATE == "无")
                            //需要将空托转运到库区
                            foreach (var a in LocList)
                            {
                                //生成任务
                                string cntrCode = getCntrCode(db, a);
                                //创建作业
                                WMSHelper.CreateOpTask(a.S_CODE, "", "入库", "瓶坯非即产空框入库", cntrCode, "瓶坯");
                                break;
                                if (a.S_LOCK_STATE == "无")
                                {
                                    //生成任务
                                    string cntrCode = getCntrCode(db, a);
                                    //创建作业
                                    WMSHelper.CreateOpTask(a.S_CODE, "", "入库", "瓶坯非即产空框入库", cntrCode, "瓶坯");
                                    break;
                                }
                            }
                        }
                    }
@@ -436,7 +446,7 @@
                            {
                                var rowInfo = db.Queryable<RowLock>().Where(a => a.S_AREA_CODE == endloc.S_AREA_CODE && a.S_ROW == endloc.S_ROW).First();
                                LogHelper.Info($"瓶盖小包装盖转运:查询锁信息,货位锁:{endloc.S_LOCK_STATE},排锁:{JsonConvert.SerializeObject(rowInfo)}");
                                if(rowInfo!=null && rowInfo.S_LOCK_STATE == "无" && endloc.S_LOCK_STATE == "无")
                                if(rowInfo != null && rowInfo.S_LOCK_STATE == "无" && endloc.S_LOCK_STATE == "无")
                                {
                                    endLoca = endloc;
                                    break;