Ejemplo n.º 1
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);
            }
        }