ComponetInfo.cs 3.1 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TSA_V.DeviceLibrary;
using TSA_V.LoadCSVLibrary;

namespace TSA_V.LoadCSVLibrary
{
    public class ComponetInfo : CSVBase
    { 
        public ComponetInfo()
        {
            PositionX = 0;
            PositionY = 0;
            Notes = "";
            ComponentDes = "";
        }
         
        public int Id { get; set; }

        /// <summary>
        ///位号/编号
        /// </summary>
        [CSVAttribute("Num", true,"位号", "编号")]
        public string TagNo { get; set; }

        /// <summary>
        /// 物料编码/元器件名称
        /// </summary>
        [CSVAttribute("Code", true, "物料编码", "元器件名称", "Name")]
        public string PN { get; set; }
        /// <summary>
        ///元器件描述
        /// </summary>
        [CSVAttribute("Describe", "元器件描述", false )]
        public string ComponentDes { get; set; }

        /// <summary>
        ///数量
        /// </summary>
        [CSVAttribute("Count", "数量", true)]
        public int ComCount { get; set; }

        /// <summary>
        ///位置
        /// </summary>
        [CSVAttribute("PNum", true, "料盘位置", "位置", "PositionNum")]
        public string PositionNum { get; set; }
     
        /// <summary>
        ///X坐标
        /// </summary>
        [CSVAttribute("PositionX", "X坐标", false)]
        public double PositionX { get; set; }
        
        /// <summary>
        ///Y坐标
        /// </summary>
        [CSVAttribute("PositionY", "Y坐标", false)]
        public double PositionY { get; set; }
         
        /// <summary>
        ///注意事项
        /// </summary>
        [CSVAttribute("Notes", "注意事项", false)]
        public string Notes { get; set; }


        public int  GetSortPosition()
        {
            try
            {
              return   Convert.ToInt32(PositionNum);
            }
            catch (Exception ex)
            {
            }
            return 0;
        }

        public bool IsSameCom(ComponetInfo com)
        {
            if (String.IsNullOrEmpty(this.TagNo))
            {
                if (this.Id <= 0)
                {
                    if (this.PN.Equals(com.PN) && this.PositionNum.Equals(com.PositionNum))
                    {
                        return true;
                    }
                }
                else if (this.Id.Equals(com.Id))
                {
                    return true;
                }
            }
            else if (this.TagNo.Equals(com.TagNo))
            {
                return true;
            }
            return false;
        }
        public bool IsSameCom(SMTPointInfo point)
        {
            if (String.IsNullOrEmpty(this.TagNo))
            {
                if (this.PN.Equals(point.PN)  )
                {
                    return true;
                }
            }
            else if (this.TagNo.Equals(point.TagNo))
            {
                return true;
            }
            return false;
        }
    }
}