/// <summary>
        /// 手工删除标签号码。
        /// </summary>
        /// <param name="code">标签号码</param>
        private void DeleteLabelByHand(string code)
        {
            // 删除号码。
            var lc = LableCode.QueryByLCode(code);

            if (lc == null)
            {
                CommonHelper.Warn("不存在这个号码!");
                return;
            }

            var area        = lc.ParseLocationArea();
            var bAndOnBoard = (area == "B" && lc.Status >= (int)LableState.OnPanel);
            var aCarea      = (area == "A" || area == "C");

            if (!bAndOnBoard && !aCarea)
            {
                CommonHelper.Warn("只能删除B区已上垛的号码, 或者A区、C区的号码!");
                return;
            }

            if (LableCode.Delete(code) || deleteFromTaskq(FrmMain.taskQ, code))
            {
                notifyOpc(code);
                lbxLog.Items.Insert(0, $"{lbxLog.Items.Count} {code}已经删除。");
                FrmMain.logOpt.Write(string.Format("删除标签{0}成功", code), LogType.NORMAL);
            }
            else
            {
                FrmMain.logOpt.Write(string.Format("删除标签{0}失败", code), LogType.NORMAL);
            }
        }
Esempio n. 2
0
        public void DeleteCodeFromQueAndDb(string code)
        {
            lock (TaskQueues.LOCK_LOCHELPER) {
                deleteFromTaskq(FrmMain.taskQ, code);
            }
            log($"号码{code}已从队列中删除");

            var label = LableCode.QueryByLCode(code);

            if (label != null)
            {
                label.Remark += ";delete";

                // 只有没计算过位置的布卷才可以从数据库中删除。
                if (string.IsNullOrEmpty(label.PanelNo) || label.FloorIndex == 0)
                {
                    LableCode.Delete(label.LCode);
                    LableCode.SaveToHistory(label);
                    log($"号码{label.LCode}已经从数据库中删除");
                }
                else
                {
                    log($"号码{label.LCode}不能从数据库删除,板号: {label.PanelNo}, 层位置: {label.FloorIndex}");
                }

                // tell plc.
                notifyOpc(label.LCode);
            }
            else
            {
                var msg = $"数据库中没有这个号码: {code}";
                log(msg);
            }
        }