private Pro_IndateBase_MJNew_Mod GetInfo_New()
        {
            Pro_IndateBase_MJNew_Mod info = new Pro_IndateBase_MJNew_Mod();
            int    IsIdentitycard         = Convert.ToInt32(_content[22].ToString());//有无身份证(128:无身份证)
            string CardType = "";
            string ICCard   = "";
            string HouseNum = "";      //房东编号。

            if (IsIdentitycard >= 128)
            {
                CardType = _content[13].ToString();
                ICCard   = ConverUtil.ByteToStr_4(_content, 14); //IC卡。
                HouseNum = (IsIdentitycard - 128).ToString();
            }
            else
            {
                CardType = "0";
                ICCard   = ConverUtil.ByteToStr_Q(_content, 10, 8); //租客身份证。
                HouseNum = IsIdentitycard.ToString();
            }
            info.pi_bigtype      = "2";
            info.pi_devicetime   = ConverUtil.Time(_content, 0);
            info.pi_protocoltype = CmdId;
            info.pi_devicecode   = ConverUtil.ByteToStr_4(_content, 6); //门戒编号。
            info.pi_cardtype     = CardType;
            info.pi_cardid       = ICCard;
            info.pi_houseno      = HouseNum;
            info.pi_activecardid = ConverUtil.ByteToStr_4(_content, 18);  //有源卡。
            info.pi_stationno    = StationId.ToString();
            info.pi_servicetime  = PlatformTime;
            return(info);
        }
        public bool Execute()
        {
            try
            {
                if (_content.Length == 17)
                {
                    Info = GetInfo_Old();
                }
                else if (_content.Length == 23)
                {
                    Info = GetInfo_New();
                }
                else
                {
                    MyLibrary.Log.Debug(Name + "长度无效:原始代码:" + OriginalCode);
                    return(true);
                }



                Other.ChuZuWu.Pro_IndateBase_MJNew_Bll c = new Other.ChuZuWu.Pro_IndateBase_MJNew_Bll(Info);
                string Result = c.Exec();
                if (Result != "0")
                {
                    MyLibrary.Log.Debug(Name + "出错:" + Result + " 原始代码:" + OriginalCode);
                }
            }
            catch (Exception ex)
            {
                MyLibrary.Log.Error(Name + "出错:" + ex.Message + " 原始代码:" + OriginalCode);
            }


            return(true);
        }
Exemple #3
0
        public static void Exec(Pro_IndateBase_MJNew_Mod info, out int resultnum, out string reason)
        {
            Database  db  = DataConnect.GetConnect;
            DbCommand cmd = db.GetStoredProcCommand("pro_indatebase_mjnew");

            db.AddInParameter(cmd, ":pi_bigtype", DbType.String, info.pi_bigtype);
            db.AddInParameter(cmd, ":pi_devicetype", DbType.String, info.pi_devicetype);
            db.AddInParameter(cmd, ":pi_protocoltype", DbType.String, info.pi_protocoltype);
            db.AddInParameter(cmd, ":pi_devicecode", DbType.String, info.pi_devicecode);
            db.AddInParameter(cmd, ":pi_newdevicecode", DbType.String, info.pi_newdevicecode);
            db.AddInParameter(cmd, ":pi_devicetime", DbType.Date, info.pi_devicetime);
            db.AddInParameter(cmd, ":pi_cardtype", DbType.String, info.pi_cardtype);
            db.AddInParameter(cmd, ":pi_cardid", DbType.String, info.pi_cardid);
            db.AddInParameter(cmd, ":pi_houseno", DbType.String, info.pi_houseno);
            db.AddInParameter(cmd, ":pi_activecardid", DbType.String, info.pi_activecardid);
            db.AddInParameter(cmd, ":pi_policecard", DbType.String, info.pi_policecard);
            db.AddInParameter(cmd, ":pi_status", DbType.String, info.pi_status);
            db.AddInParameter(cmd, ":pi_stationno", DbType.String, info.pi_stationno);
            db.AddInParameter(cmd, ":pi_relayno", DbType.String, info.pi_relayno);
            db.AddInParameter(cmd, ":pi_version", DbType.String, info.pi_version);
            db.AddInParameter(cmd, ":pi_servicetime", DbType.Date, info.pi_servicetime);
            db.AddOutParameter(cmd, ":po_resultnum", DbType.String, 256);
            db.AddOutParameter(cmd, ":po_reason", DbType.String, 1024);
            db.ExecuteNonQuery(cmd);
            resultnum = Convert.ToInt16(db.GetParameterValue(cmd, ":po_resultnum").ToString());
            reason    = db.GetParameterValue(cmd, ":po_reason").ToString();
            if (reason == null)
            {
                reason = "";
            }
        }
Exemple #4
0
        private Pro_IndateBase_MJNew_Mod GetInfo_Old()
        {
            Pro_IndateBase_MJNew_Mod info = new Pro_IndateBase_MJNew_Mod();

            info.pi_bigtype      = "3";
            info.pi_protocoltype = CmdId;
            info.pi_devicecode   = ConverUtil.ByteToStr_4(_content, 0);  //门戒ID。
            info.pi_devicetime   = PlatformTime;
            info.pi_stationno    = StationId.ToString();
            info.pi_servicetime  = PlatformTime;
            return(info);
        }
        private Pro_IndateBase_MJNew_Mod GetInfo_New()
        {
            Pro_IndateBase_MJNew_Mod info = new Pro_IndateBase_MJNew_Mod();
            int Count = (_content.Length - 10) / 13;

            string[] CardTypeArray = new string[Count]; //卡类型数组。
            string[] CardIdArray   = new string[Count]; //是身份证或Ic卡数组。
            string[] HouseNumArray = new string[Count]; //房东号数组。
            string[] ActivecArray  = new string[Count]; //有源卡数组。
            byte[]   Data;
            int      IsIdentitycard;

            for (int i = 0; i < Count; i++)
            {
                Data = new byte[13];
                Array.Copy(_content, (i * 13) + 10, Data, 0, 13);
                IsIdentitycard = Convert.ToInt32(Data[0].ToString());
                if (IsIdentitycard >= 128)
                {
                    CardTypeArray[i] = Data[4].ToString();
                    CardIdArray[i]   = ConverUtil.ByteToStr_4(Data, 5);
                    HouseNumArray[i] = (IsIdentitycard - 128).ToString();
                }
                else
                {
                    CardTypeArray[i] = "0";
                    CardIdArray[i]   = ConverUtil.ByteToStr_Q(Data, 1, 8);
                    HouseNumArray[i] = IsIdentitycard.ToString();
                }
                ActivecArray[i] = ConverUtil.ByteToStr_4(Data, 9);
            }
            info.pi_bigtype      = "2";
            info.pi_protocoltype = CmdId;
            info.pi_devicetime   = ConverUtil.Time(_content, 0);
            info.pi_devicecode   = ConverUtil.ByteToStr_4(_content, 6); //门戒Id。
            info.pi_cardtype     = ConverUtil.GetArrayToStr(CardTypeArray);
            info.pi_cardid       = ConverUtil.GetArrayToStr(CardIdArray);
            info.pi_houseno      = ConverUtil.GetArrayToStr(HouseNumArray);
            info.pi_activecardid = ConverUtil.GetArrayToStr(ActivecArray);
            info.pi_stationno    = StationId.ToString();
            info.pi_servicetime  = PlatformTime;
            return(info);
        }
Exemple #6
0
 public Pro_IndateBase_MJNew_Bll(Pro_IndateBase_MJNew_Mod info)
 {
     this.Info = info;
 }