FrmRFIPEdit.cs 4.2 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.XLRStore
{
    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 StoreManager.XLRStore.MoveEquipMap.Values)
            { 
                string key = b.Name + "-托盘RF";
                string value = RFIDManager.GetRFIP(b.DeviceID);
                rfMap.Add(key, value);
                comboxType.Items.Add(key);
            }
            foreach (FeedingEquip b in StoreManager.XLRStore.FeedingEquipMap.Values)
            {
                string key = b.Name + "-料架RF";
                string value = RFIDManager.GetRFIP(b.DeviceID );
                rfMap.Add(key, value);
                comboxType.Items.Add(key);
            }
            foreach (HYEquipBase b in StoreManager.XLRStore.HYEquipMap.Values)
            {
                string key = b.Name + "-托盘RF";
                string value = RFIDManager.GetRFIP(b.DeviceID);
                if (!String.IsNullOrEmpty(value))
                {
                    rfMap.Add(key, value);
                    comboxType.Items.Add(key);
                }
            }
            string v = RFIDManager.GetRFIP(300);
            rfMap.Add("T3-C1-托盘RF", v);
            comboxType.SelectedIndex = 0;
            comType.SelectedIndex = 0;

            if (StoreManager.XLRStore.runStatus <= RunStatus.Wait)
            {
                    RFIDManager.Open(); 
            }
            string hostN = Dns.GetHostName();

        }


        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 = "";
            if (data != null)
            {
                resul = data.NumStr();
                numNum.Value = data.Num;
                int selIndex = data.RFType - 64;
                if (selIndex >= 0 && selIndex <= comType.Items.Count)
                {
                    comType.SelectedIndex = selIndex;
                }

            }

            lblResult.Text = ("[" + ip + "]读取到数据:" + resul);
            LogUtil.info("点击RFID[" + ip + "]读取数据测试,结果:" + 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 btnReadClear_Click(object sender, EventArgs e)
        {
            string ip = txtIP.Text;
            RFIDData data = RFIDManager.ReadRFID(ip, true);
            string resul = "";
            if (data != null)
            {
                resul = data.NumStr();
                numNum.Value = data.Num;
                int selIndex = data.RFType - 64;
                if (selIndex >= 0 && selIndex <= comboxType.Items.Count)
                {
                    comboxType.SelectedIndex = selIndex;
                }

            }
            lblResult.Text = ("[" + ip + "]读取到数据:" + resul);
            LogUtil.info("点击RFID[" + ip + "]读取数据并清理测试,结果:" + resul);
        }

        private void FrmRFIPEdit_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (StoreManager.XLRStore.runStatus <= RunStatus.Wait)
            {
                RFIDManager.Close();
            }
        }
    }
}