111
user
3 天以前 802fc04c2d744d08c3e577dd4d91d60a3071e3d7
HH.WCS.Mobox3.NongFuLinZhi/wms/WMSHelper.cs
@@ -602,7 +602,7 @@
            //修改作业状态 重新启动
            wmsTask.N_B_STATE = 2;
            WMSHelper.UpdateTaskState(wmsTask);
            WCSHelper.UpdateStorStatus(task.S_CNTR_CODE, 4);
            //WCSHelper.UpdateStorStatus(task.S_CNTR_CODE, 4);
        }
@@ -699,39 +699,31 @@
                    LogHelper.Info($"作业终点不为接驳位 查找库区{a.S_END_AREA} 可用货位");
                    
                    //其他库区
                    //var endlist = db.Queryable<Location>()
                    //.Where(it => it.S_AREA_CODE == a.S_END_AREA && it.N_CURRENT_NUM < it.N_CAPACITY)
                    //.OrderBy(it => it.N_COL)
                    //.PartitionBy(it => it.N_ROW)
                    //.Take(1)
                    //.ToList();
                    //LogHelper.Info($"符合条件的数量{endlist.Count}");
                    //foreach (var item in endlist)
                    //{
                    //    var lockinfo = db.Queryable<Location>().Where(it => it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW).First();
                    //    if (lockinfo == null)
                    //    {
                    //        result = item;
                    //        a.S_END_LOC = item.S_CODE;
                    //        break;
                    //    }
                    //    else LogHelper.Info($"货位{lockinfo.S_CODE} 有锁 当前排不可使用");
                    //}
                }
                else
                {
                    LogHelper.Info($"入库任务 计算终点,任务类型:{a.S_OP_DEF_NAME}");
                    if (a.S_OP_DEF_NAME == "瓶盖转运")
                    if (a.S_OP_DEF_NAME == "接驳位入库" || a.S_OP_DEF_NAME == "瓶盖空托入库" || a.S_OP_DEF_NAME == "瓶坯非即产空框入库" || a.S_OP_DEF_NAME == "瓶坯接驳位入库")
                    {
                        string itemCode = "";
                        var cntrInfo = db.Queryable<LocCntrRel>().Where(b => b.S_LOC_CODE == a.S_START_LOC).First();
                        if(cntrInfo != null)
                        {
                            var itemInfo = db.Queryable<CntrItemRel>().Where(b => b.S_CNTR_CODE == cntrInfo.S_CNTR_CODE).First();
                            if(itemInfo != null)
                            {
                                result = TaskProcess.BCPInOrOut(db, true, a.S_NOTE + "库区",itemInfo.S_ITEM_CODE );
                                itemCode = itemInfo.S_ITEM_CODE + itemInfo.S_BATCH_NO;
                            }
                        }
                        if (a.S_NOTE.Contains("指定库区"))
                        {
                            string areaName = a.S_NOTE.Split('-')[1];
                            result = TaskProcess.BCPInOrOut(db, true, areaName, itemCode);
                        }
                        else
                        {
                            result = TaskProcess.BCPInOrOut(db, true, a.S_NOTE + "库区", itemCode);
                        }
                    }
                    if (a.S_OP_DEF_NAME.Contains("注塑") && a.S_OP_DEF_NAME.Contains("满托下线(瓶坯)"))
                    {