111
cjs
2025-06-17 8cb4f66c6cf5639280a27e0ef28360cd46842197
HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
@@ -4,6 +4,7 @@
using HH.WCS.Mobox3.NFLZ.wms;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading;
@@ -46,33 +47,81 @@
        }
        /// <summary>
        /// 瓶盖转运
        /// 转运任务
        /// </summary>
        internal static void BottleBlankTransportation()
        {
            var db = new SqlHelper<object>().GetInstance();
            var jbwInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖入库接驳位" && a.enable == 1).FirstOrDefault();
            if (jbwInfo != null)
            #region 瓶盖满托入库
            var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖入库接驳" && a.enable == 1).FirstOrDefault();
            if (areaInfo != null)
            {
                var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == jbwInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First();
                var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First();
                if (locInfo != null)
                {
                    LogHelper.Info($"【瓶盖转运】瓶坯接驳位查询到需入库的瓶坯,货位编码:{locInfo.S_CODE}");
                    LogHelper.Info($"【瓶盖满托转运】瓶坯接驳位查询到需入库的瓶坯,货位编码:{locInfo.S_CODE}");
                    if (locInfo.LocCntrRel != null)
                    {
                        //创建作业
                        WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "瓶盖转运", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖");
                        WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖");
                    }
                    else
                    {
                        LogHelper.Info($"【瓶盖转运】当前货位未绑定托盘码,货位编码:{locInfo.S_CODE}");
                        LogHelper.Info($"【瓶盖满托转运】当前货位未绑定托盘码,货位编码:{locInfo.S_CODE}");
                    }
                }
            }
            else
            {
                LogHelper.Info("【瓶盖转运】瓶坯接驳位未配置");
                LogHelper.Info("【瓶盖满托转运】瓶盖入库接驳 未配置");
            }
            #endregion
            #region 瓶坯空托入库
            areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产空框" && a.enable == 1).FirstOrDefault();
            if(areaInfo != null)
            {
                var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First();
                if(locInfo != null && locInfo.LocCntrRel != null)
                {
                    //创建作业
                    WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "瓶盖空托入库", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖");
                }
            }
            else
            {
                LogHelper.Info("【瓶盖空托转运】瓶盖非即产空框 未配置");
            }
            #endregion
            #region 瓶坯满托入库
            areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚入库接驳" && a.enable == 1).FirstOrDefault();
            if (areaInfo != null)
            {
                var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").First();
                if (locInfo != null)
                {
                    string cntr = "";
                    var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == locInfo.S_CODE).ToList();
                    if (cntrList.Count > 0)
                    {
                        foreach (var a in cntrList)
                        {
                            cntr = cntr + a.S_CNTR_CODE + ",";
                        }
                    }
                    cntr = cntr.TrimEnd(',');
                    //创建作业
                    WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", cntr, "瓶坯");
                }
            }
            else
            {
                LogHelper.Info("【瓶坯满托转运】瓶胚入库接驳 未配置");
            }
            #endregion
        }
        /// <summary>
@@ -130,6 +179,33 @@
        }
        internal static void JBDEIN()
        {
            var db = new SqlHelper<object>().GetInstance();
            var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚入库接驳" && a.enable == 1).FirstOrDefault();
            if(areaInfo != null)
            {
                var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").First();
                if(locInfo != null)
                {
                    string cntr = "";
                    var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == locInfo.S_CODE).ToList();
                    if(cntrList.Count > 0)
                    {
                        foreach(var a in cntrList)
                        {
                            cntr = cntr + a.S_CNTR_CODE + ",";
                        }
                    }
                    cntr = cntr.TrimEnd(',');
                    //创建作业
                    WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", cntr, "瓶坯");
                }
            }
            else
            {
                LogHelper.Info("瓶胚入库接驳 未配置");
            }
        }
    }
}