Exemplo n.º 1
0
        /// <summary>
        /// 扫码数据处理
        /// </summary>
        /// <param name="devName"></param>
        /// <param name="code"></param>
        public void GetCode(string devName, string code)
        {
            try
            {
                if (!code.StartsWith("@") || code.Split('@').Length != 2)
                {
                    return;
                }

                if (devices.Exists(c => c.devName == devName))
                {
                    DevInfoPKL p = devices.Find(c => c.devName == devName);

                    //if (p._.ActionStatus == ActionEnum.运行中)
                    //{
                    //    throw new Exception(string.Format("辊台未停止,不处理扫码.", code));
                    //}

                    if (p.lockID2 != code)
                    {
                        //是否存在任务
                        if (!CommonSQL.IsExistsInTask(code))
                        {
                            // 请求WMS分配
                            if (ADS.AssignInArea(p.area, code))
                            {
                                p.IsLockUnlockNew(p.isLock, p.lockID1, code);
                            }
                        }
                        else
                        {
                            throw new Exception(string.Format("读取二维码[{0}]异常.", code));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // LOG
                CommonSQL.LogErr("PKL.DoTaskNew()", "包装线作业[设备]", (ex.Message + ex.Source), devName);
            }
        }