FrmRFIPEdit.cs 2.5 KB


using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace OnlineStore.AssemblyLine
{
    internal partial class FrmRFIPEdit : FrmBase
    {
        internal FrmRFIPEdit()
        {
            InitializeComponent();
        }
        private Dictionary<string, string> rfMap = new Dictionary<string, string>();
        private void FrmPwd_Load(object sender, EventArgs e)
        {
            comboxType.Items.Clear();
            foreach (EquipBase b in LineManager.Line.AllEquipMap.Values)
            {
                b.OpenRfid();
                List<string> value = RFIDManager.GetRFIP(b.DeviceID);
                if (value != null && value.Count > 0)
                {
                    for (int i = 0; i < value.Count; i++)
                    {
                        string key = b.Name + "-容器RF" + (i==0?"线体侧":"分拣侧");
                        rfMap.Add(key, value[i]);
                        comboxType.Items.Add(key);
                    }
                }
            }
        }


        private void btnBack_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ip = txtIP.Text;
            RFIDData data = RFIDManager.ReadRFID(ip);
            string resul = data?.StrData??"";
            lblResult.Text = ("[" + ip + $"]{data.ReadResult.ToString()}:" + resul);
            LogUtil.info("点击RFID[" + ip + $"]{data.ReadResult.ToString()},结果:" + resul);
        }

        private void comboxType_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboxType.SelectedIndex >= 0)
            {
                string V = rfMap[comboxType.Text];
                if (!txtIP.Text.Equals(V))
                {
                    txtIP.Text = V;
                }
            }
        }

        private void FrmRFIPEdit_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (LineManager.Line.runStatus <= LineRunStatus.Wait)
            {
                foreach (EquipBase b in LineManager.Line.AllEquipMap.Values)
                {
                    b.CloseRfid();
                }
            }
        }
    }
}