schangxiang@126.com
2024-12-16 06d6ba0da4d9036bf3eeab8a7cbef8df89565606
BZ01 齐包优化
已修改3个文件
91 ■■■■■ 文件已修改
CC/iWareCC_ASRS/FormCC.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/ThreadService/00_269工位/DataProcess_269.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/ThreadService/01_BZ01工位(清灰,洗板后工位)/DataProcess_BZ01.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/FormCC.cs
@@ -38,6 +38,10 @@
{
    public partial class FormCC : Form
    {
        /// <summary>
        /// å…¨å±€-269位置最新扫描的板件数据(格式 åŒ…号|Upi|时间点)
        /// </summary>
        public static string Globle_269_LastPackageUpi = "";
        /// <summary>
        /// å…¨å±€-配置报警信息列表
CC/iWareCC_ASRS/ThreadService/00_269¹¤Î»/DataProcess_269.cs
@@ -121,6 +121,16 @@
                                WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "269", "首次扫码");
                                ////更新配置 269_LastPackageUpi
                                //var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "269_LastPackageUpi").FirstOrDefault();
                                //if (bz30Config == null)
                                //{
                                //    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"没有配置 269_LastPackageUpi å€¼";
                                //    continue;
                                //}
                                //bz30Config.Value = upiObj.PackageCode + "|" + upiObj.UPI;
                                FormCC.Globle_269_LastPackageUpi = upiObj.PackageCode + "|" + upiObj.UPI + "|" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                                wmsDB.SaveChanges();
                                //*/
                            }
CC/iWareCC_ASRS/ThreadService/01_BZ01¹¤Î»£¨Çå»Ò£¬Ï´°åºó¹¤Î»£©/DataProcess_BZ01.cs
@@ -11,6 +11,7 @@
using System.Linq;
using System.Net.NetworkInformation;
using System.Reflection.Emit;
using System.Security.Cryptography.X509Certificates;
using System.ServiceModel.Configuration;
using System.Text;
using System.Threading;
@@ -24,6 +25,8 @@
    /// </summary>
    public static class DataProcess_BZ01
    {
        public static string timingForWait = "";//定时器,等待数据
        /// <summary>
        /// BZ01工位(清灰,洗板后工位)
        /// </summary>
@@ -32,6 +35,7 @@
            var alertMsg = "";
            LogType logType = LogType.DataProcess_BZ01;
            string lastUpi = "";//最后记录的UPI数据
            while (true)
            {
                Thread.Sleep(1000);//休眠2秒,将休眠写到前面,是为了下面的continue方法执行后不显示错误信息的提示!!!【EditBy shaocx,2022-05-24】
@@ -143,6 +147,39 @@
                                    #endregion
                                }
                                //增加优化验证 ã€Editby shaocx,2024-12-16】
                                if (qitaoReault == false)
                                {
                                    var lastPackageUpi_269 = FormCC.Globle_269_LastPackageUpi;
                                    if (!string.IsNullOrEmpty(lastPackageUpi_269))
                                    {
                                        var arr = lastPackageUpi_269.Split('|');
                                        if (upiObj.PackageCode == arr[0])
                                        {//最后一次在269扫描的包号 è·Ÿ çŽ°åœ¨BZ01的包号一致,要等待
                                         //wait
                                            var isWaitOutTime = Wait269(wmsDB);
                                            if (isWaitOutTime == false)
                                            {
                                                continue;
                                            }
                                        }
                                        else
                                        {
                                            //继续往下走
                                        }
                                    }
                                    else
                                    {
                                        //wait
                                        var isWaitOutTime = Wait269(wmsDB);
                                        if (isWaitOutTime == false)
                                        {
                                            continue;
                                        }
                                    }
                                }
                                timingForWait = "";//重置数据
                                if (qitaoReault == false)
                                {
                                    upiObj.AreaCode = (int)AreaCodeEnum.缓存分拣区;
@@ -361,6 +398,46 @@
            }
        }
        /// <summary>
        /// è¶…时验证
        /// </summary>
        /// <param name="wmsDB"></param>
        /// <param name="time"></param>
        /// <returns>true:超时 false:未超时</returns>
        private static bool Wait269(WmsDBModel wmsDB)
        {
            var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "Wait_269").FirstOrDefault();
            if (bz30Config == null)
            {
                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"没有配置 Wait_269 å€¼";
                return false;
            }
            int i = 0;
            bool right = int.TryParse(bz30Config.Value, out i);
            if (right == false)
            {
                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"配置 Wait_269 å€¼ä¸æ˜¯æ•´æ•°";
                return false;
            }
            if (string.IsNullOrEmpty(timingForWait))
            {
                timingForWait = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
            string time = timingForWait;
            //在269扫描的时间
            var time_269 = Convert.ToDateTime(time);
            TimeSpan ts = DateTime.Now - time_269;
            var sec = ts.Seconds;
            if (sec >= i)
            {
                //超时
                return true;
            }
            SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"配置 Wait_269 å€¼æ˜¯{i},当前间隔是{sec}秒,未超时。开始等待时间{timingForWait}";
            return false;
        }
        /// <summary>
        /// æ˜¯å¦å¯ä»¥æ‰§è¡Œå‡ºåº“模式