111
user
3 天以前 802fc04c2d744d08c3e577dd4d91d60a3071e3d7
111
1个文件已添加
3个文件已修改
50 ■■■■■ 已修改文件
.vs/农夫林芝/v17/.wsuo 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.NongFuLinZhi/.vs/HH.WCS.Mobox3.NFLZ/FileContentIndex/84e1ac29-6f81-4f45-9cdf-cbea30cc0011.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/Å©·òÁÖÖ¥/v17/.wsuo
Binary files differ
HH.WCS.Mobox3.NongFuLinZhi/.vs/HH.WCS.Mobox3.NFLZ/FileContentIndex/84e1ac29-6f81-4f45-9cdf-cbea30cc0011.vsidx
Binary files differ
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;
HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
@@ -43,6 +43,12 @@
                Console.WriteLine($"任务{mst.S_CODE} è´§ä½{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} è´§ä½{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}");
                LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList(),mst.S_TYPE);
                if (mst.S_TYPE.Contains("满托上线"))
                {
                    //解绑物料
                    new SqlHelper<object>().GetInstance().Deleteable<CntrItemRel>().Where(a => mst.S_CNTR_CODE.Contains(a.S_CNTR_CODE)).ExecuteCommand();
                    new SqlHelper<object>().GetInstance().Updateable<Container>().SetColumns(a => a.N_DETAIL_COUNT == 0).Where(a => mst.S_CNTR_CODE.Contains(a.S_CODE)).ExecuteCommand();
                }
            }
        }
@@ -1359,7 +1365,7 @@
                                                    else
                                                    {
                                                        //查询后面当前货位后一个
                                                        result = db.Queryable<Location>().Where(b => b.S_AREA_CODE == a.S_AREA_CODE && b.N_ROW == a.N_ROW && b.N_COL > a.N_COL && a.N_CURRENT_NUM < a.N_CAPACITY && b.S_LOCK_STATE == "无").OrderBy(b => b.N_COL).First();
                                                        result = db.Queryable<Location>().Where(b => b.S_AREA_CODE == a.S_AREA_CODE && b.N_ROW == a.N_ROW && b.N_COL > a.N_COL && b.N_CURRENT_NUM < b.N_CAPACITY && b.S_LOCK_STATE == "无").OrderBy(b => b.N_COL).First();
                                                    }
                                                    if (result != null)
                                                    {