123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- using HNWD.Pregrant.Model;
- using System.Collections.Generic;
- using System.Text;
- namespace HNWD.Pregrant.DataAccess
- {
- public class WD_DeviceInfoDataAccess : GenericDataAccess<WD_DeviceInfo>
- {
- private WD_DeviceInfo wd_DeviceInfo = null;
- public WD_DeviceInfoExt ext = new WD_DeviceInfoExt();
- private string webPath = string.Empty;
- private readonly static WD_DeviceInfoDataAccess wd_DeviceInfoDataAccess = new WD_DeviceInfoDataAccess();
- private readonly static object lockobj = new object();
- private WD_DeviceInfoDataAccess()
- {
- }
- public WD_DeviceInfoDataAccess(WD_DeviceInfo wd_DeviceInfo)
- {
- this.wd_DeviceInfo = wd_DeviceInfo;
- }
- public static WD_DeviceInfoDataAccess GetInstance()
- {
- lock (lockobj)
- {
- return wd_DeviceInfoDataAccess;
- }
- }
- public WD_DeviceInfoDataAccess(string webPath, string p2)
- {
- this.webPath = webPath;
- }
- public List<WD_DeviceInfo> QueryAll()
- {
- string strSql = " select {0} from [WD_DeviceInfo] ";
- ext.messageDataList = this.Query(strSql, new WD_DeviceInfo());
- ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess);
- ext.messageDataList.ForEach(f => f.Code = this.Code);
- ext.messageDataList.ForEach(f => f.Message = this.Message);
- ext.messageDataList.ForEach(f => f.Rows = this.Rows);
- ext.BedInfoArray = ext.messageDataList;
- ext.DeviceInfoArray = ext.messageDataList;
- ext.Code = this.Code;
- ext.Message = this.Message;
- ext.Rows = this.Rows;
- return ext.messageDataList;
- }
- public List<WD_DeviceInfo> QueryPartIDs()
- {
- string strSql = " select PARTID from [WD_DeviceInfo] WHERE DEVICE_TYPE = 6 AND DEVICE_STATUS = 1 GROUP BY PARTID";
- ext.messageDataList = this.Query(strSql, new WD_DeviceInfo());
- ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess);
- ext.messageDataList.ForEach(f => f.Code = this.Code);
- ext.messageDataList.ForEach(f => f.Message = this.Message);
- ext.messageDataList.ForEach(f => f.Rows = this.Rows);
- ext.BedInfoArray = ext.messageDataList;
- ext.DeviceInfoArray = ext.messageDataList;
- ext.Code = this.Code;
- ext.Message = this.Message;
- ext.Rows = this.Rows;
- return ext.messageDataList;
- }
- public void UpdateDEVICE_SIP_HOSTING_ID_Begin(string HostId, string paHostId)
- {
- StringBuilder strSql = new StringBuilder(" update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='#" + HostId + "," + paHostId + "' where [DEVICE_SIP_HOSTING_ID]='" + paHostId + "' and [DEVICE_TYPE] in (3 , 4) ;");
- strSql.Append("update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='" + HostId + "," + paHostId + "' where [ID]=" + HostId + ";");
- strSql.Append("update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='#" + HostId + "' where [ID]=" + paHostId + ";");
- strSql.Append("update [WD_RunProfile] SET [TrustResetFlag]='" + HostId + "," + paHostId + "';");
- this.Execute(strSql.ToString(), new WD_DeviceInfo());
- }
- public void UpdateDEVICE_SIP_HOSTING_ID_Stop(string HostId, string paHostId)
- {
- StringBuilder strSql = new StringBuilder(" update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='" + paHostId + "' where [DEVICE_SIP_HOSTING_ID]='#" + HostId + "," + paHostId + "' and [DEVICE_TYPE] in (3 , 4) ;");
- strSql.Append("update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='" + HostId + "' where [ID]=" + HostId + ";");
- strSql.Append("update [WD_DeviceInfo] SET [DEVICE_SIP_HOSTING_ID]='" + paHostId + "' where [ID]=" + paHostId + ";");
- strSql.Append("update [WD_RunProfile] SET [TrustResetFlag]='" + HostId + "," + paHostId + "';");
- this.Execute(strSql.ToString(), new WD_DeviceInfo());
- }
- public void DeleteAll()
- {
- StringBuilder strSql = new StringBuilder(" delete from [WD_DeviceInfo] ");
- this.Execute(strSql.ToString(), new WD_DeviceInfo());
- }
- public void Business(List<WD_DeviceInfo> il, List<WD_DeviceInfo> ul, List<WD_DeviceInfo> dl)
- {
- StringBuilder sb_itemp = new StringBuilder();
- sb_itemp.Append(" INSERT INTO [WD_DeviceInfo] ( ");
- sb_itemp.Append(" [DEVICE_TYPE],[DEVICE_ID],[DEVICE_MODEL],[DEVICE_SOFT_VER],[DEVICE_HARD_VER], ");
- sb_itemp.Append(" [DEVICE_NAME],[DEVICE_ETH_MAC],[DEVICE_ETH_IP],[DEVICE_WIFI_MAC],[DEVICE_WIFI_IP], ");
- sb_itemp.Append(" [DEVICE_WIFI_HOSTNAME],[DEVICE_STATUS],[DEVICE_ROOM_NUM],[DEVICE_ROOM_ID],[DEVICE_BED_NUM], ");
- sb_itemp.Append(" [DEVICE_BED_NAME],[DEVICE_HUMAN_TYPE],[DEVICE_HUMAN_ID],[DEVICE_SIP_IP],[DEVICE_SIP_ID], ");
- sb_itemp.Append(" [DEVICE_SIP_PASSWORD],[DEVICE_SIP_STATUS],[DEVICE_SIP_CALLLIST],[DEVICE_SIP_HOSTING_ID],[DEVICE_IR_CFG], ");
- sb_itemp.Append(" [DEVICE_ZONE0],[DEVICE_ZONE1],[DEVICE_ZONE2],[DEVICE_ZONE3],[DEVICE_ZONE4], ");
- sb_itemp.Append(" [DEVICE_ZONE5],[DEVICE_DATETIME] ");
- sb_itemp.Append(" ) values (");
- sb_itemp.Append(" '{0}','{1}','{2}','{3}','{4}', ");
- sb_itemp.Append(" '{5}','{6}','{7}','{8}','{9}', ");
- sb_itemp.Append(" '{10}','{11}','{12}','{13}','{14}', ");
- sb_itemp.Append(" '{15}','{16}','{17}','{18}','{19}', ");
- sb_itemp.Append(" '{20}','{21}','{22}','{23}','{24}', ");
- sb_itemp.Append(" '{25}','{26}','{27}','{28}','{29}', ");
- sb_itemp.Append(" '{30}','{31}' ");
- StringBuilder sb_utemp = new StringBuilder();
- sb_utemp.Append(" UPDATE [WD_DeviceInfo] SET ");
- sb_utemp.Append(" [DEVICE_TYPE] = '{0}',[DEVICE_ID] = '{1}',[DEVICE_MODEL] = '{2}',[DEVICE_SOFT_VER] = '{3}',[DEVICE_HARD_VER] = '{4}', ");
- sb_utemp.Append(" [DEVICE_NAME]= '{5}',[DEVICE_ETH_MAC]= '{6}',[DEVICE_ETH_IP]= '{7}',[DEVICE_WIFI_MAC]= '{8}',[DEVICE_WIFI_IP]= '{9}', ");
- sb_utemp.Append(" [DEVICE_WIFI_HOSTNAME]= '{10}',[DEVICE_STATUS]= '{11}',[DEVICE_ROOM_NUM]= '{12}',[DEVICE_ROOM_ID]= '{13}',[DEVICE_BED_NUM]= '{14}', ");
- sb_utemp.Append(" [DEVICE_BED_NAME]= '{15}',[DEVICE_HUMAN_TYPE]= '{16}',[DEVICE_HUMAN_ID]= '{17}',[DEVICE_SIP_IP]= '{18}',[DEVICE_SIP_ID]= '{19}', ");
- sb_utemp.Append(" [DEVICE_SIP_PASSWORD]= '{20}',[DEVICE_SIP_STATUS]= '{21}',[DEVICE_SIP_CALLLIST]= '{22}',[DEVICE_SIP_HOSTING_ID]= '{23}',[DEVICE_IR_CFG]= '{24}', ");
- sb_utemp.Append(" [DEVICE_ZONE0]= '{25}',[DEVICE_ZONE1] = '{26}',[DEVICE_ZONE2]= '{27}',[DEVICE_ZONE3]= '{28}',[DEVICE_ZONE4]= '{29}', ");
- sb_utemp.Append(" [DEVICE_ZONE5]= '{30}',[DEVICE_DATETIME]= '{31}' ");
- sb_utemp.Append(" WHERE ID = '{32}' ");
- StringBuilder sb_dtemp = new StringBuilder();
- sb_dtemp.Append(" DELETE [WD_DeviceInfo] WHERE ID = '{0}' ");
- StringBuilder sb_i = new StringBuilder();
- foreach (WD_DeviceInfo wd in il)
- {
- sb_i.AppendFormat(sb_itemp.ToString(),
- wd.DEVICE_TYPE,
- wd.DEVICE_SN,
- wd.DEVICE_MODEL,
- wd.DEVICE_SOFT_VER,
- wd.DEVICE_HARD_VER,
- wd.DEVICE_NAME,
- wd.DEVICE_ETH_MAC,
- wd.DEVICE_ETH_IP,
- wd.DEVICE_WIFI_MAC,
- wd.DEVICE_WIFI_IP,
- wd.DEVICE_WIFI_HOSTNAME,
- wd.DEVICE_STATUS,
- wd.DEVICE_ROOM_NUM,
- wd.DEVICE_ROOM_ID,
- wd.DEVICE_BED_NUM,
- wd.DEVICE_BED_NAME,
- wd.DEVICE_HUMAN_TYPE,
- wd.DEVICE_HUMAN_ID,
- wd.DEVICE_SIP_IP,
- wd.DEVICE_SIP_ID,
- wd.DEVICE_SIP_PASSWORD,
- wd.DEVICE_IR_CFG,
- wd.DEVICE_ZONE0,
- wd.DEVICE_ZONE1,
- wd.DEVICE_ZONE2,
- wd.DEVICE_ZONE3,
- wd.DEVICE_ZONE4,
- wd.DEVICE_ZONE5,
- wd.DEVICE_DATETIME
- );
- clsDataBaseRW clsDataBaseRW2 = new clsDataBaseRW(this.webPath);
- clsOpenSIPSAccount clsOpenSIPSAccount2 = new clsOpenSIPSAccount(this.webPath);
- //写MAC地址到DHCP服务器
- if (wd.DEVICE_ETH_MAC.Trim() != "")
- {
- clsDataBaseRW2.DHCP_WriteIPAddressByMAC(wd.DEVICE_ETH_MAC, wd.DEVICE_ETH_IP);
- }
- if (wd.DEVICE_TYPE == "1" || wd.DEVICE_TYPE == "2" || wd.DEVICE_TYPE == "3")
- {
- wd.DEVICE_SIP_ID = clsOpenSIPSAccount2.GetSipAccount(wd.DEVICE_TYPE, wd.ID);
- wd.DEVICE_SIP_PASSWORD = wd.DEVICE_SIP_ID;
- string StrSql = "update [WD_DeviceInfo] SET " +
- "[DEVICE_SIP_ID]='" + wd.DEVICE_SIP_ID + "'," +
- "[DEVICE_SIP_PASSWORD]='" + wd.DEVICE_SIP_PASSWORD + "',";
- // '若为护士主机,需要把ID号写到[DEVICE_SIP_HOSTING_ID]
- if (wd_DeviceInfo.DEVICE_TYPE == "1")
- {
- StrSql += " [DEVICE_SIP_HOSTING_ID] = '" + wd.ID + "',";
- }
- StrSql += "[DEVICE_DATETIME]='" + wd.DEVICE_DATETIME + "' where [ID]=" + wd.ID;
- }
- if (clsOpenSIPSAccount2.OpenSIPs_ConnectDefault())
- {
- if (clsOpenSIPSAccount2.OpenSIPs_AccountAdd(wd.DEVICE_SIP_ID, wd.DEVICE_SIP_PASSWORD))
- {
- }
- }
- clsOpenSIPSAccount2.OpenSIPs_Close();
- }
- StringBuilder sb_u = new StringBuilder();
- foreach (WD_DeviceInfo wd in ul)
- {
- sb_u.AppendFormat(sb_utemp.ToString(),
- wd.DEVICE_TYPE,
- wd.DEVICE_SN,
- wd.DEVICE_MODEL,
- wd.DEVICE_SOFT_VER,
- wd.DEVICE_HARD_VER,
- wd.DEVICE_NAME,
- wd.DEVICE_ETH_MAC,
- wd.DEVICE_ETH_IP,
- wd.DEVICE_WIFI_MAC,
- wd.DEVICE_WIFI_IP,
- wd.DEVICE_WIFI_HOSTNAME,
- wd.DEVICE_STATUS,
- wd.DEVICE_ROOM_NUM,
- wd.DEVICE_ROOM_ID,
- wd.DEVICE_BED_NUM,
- wd.DEVICE_BED_NAME,
- wd.DEVICE_HUMAN_TYPE,
- wd.DEVICE_HUMAN_ID,
- wd.DEVICE_SIP_IP,
- wd.DEVICE_SIP_ID,
- wd.DEVICE_SIP_PASSWORD,
- wd.DEVICE_IR_CFG,
- wd.DEVICE_ZONE0,
- wd.DEVICE_ZONE1,
- wd.DEVICE_ZONE2,
- wd.DEVICE_ZONE3,
- wd.DEVICE_ZONE4,
- wd.DEVICE_ZONE5,
- wd.DEVICE_DATETIME,
- wd.ID
- );
- clsDataBaseRW clsDataBaseRW2 = new clsDataBaseRW(this.webPath);
- clsOpenSIPSAccount clsOpenSIPSAccount2 = new clsOpenSIPSAccount(this.webPath);
- if (wd.DEVICE_ETH_MAC.Trim() != "")
- {
- clsDataBaseRW2.DHCP_WriteIPAddressByMAC(wd.DEVICE_ETH_MAC, wd.DEVICE_ETH_IP);
- }
- if (wd.DEVICE_TYPE == "1" || wd.deviceType == "2" || wd.deviceType == "3")
- {
- if (wd.DEVICE_SIP_ID != clsOpenSIPSAccount2.GetSipAccount(wd.DEVICE_TYPE, wd.ID))
- {
- if (clsOpenSIPSAccount2.OpenSIPs_ConnectDefault())
- {
- clsOpenSIPSAccount2.OpenSIPs_AccountDel(wd.DEVICE_SIP_ID);
- if (clsOpenSIPSAccount2.OpenSIPs_AccountAdd(wd.DEVICE_SIP_ID, wd.DEVICE_SIP_PASSWORD))
- {
- }
- }
- }
- }
- clsOpenSIPSAccount2.OpenSIPs_Close();
- }
- StringBuilder sb_d = new StringBuilder();
- foreach (WD_DeviceInfo wd in dl)
- {
- sb_d.AppendFormat(sb_dtemp.ToString(), wd.ID);
- clsDataBaseRW clsDataBaseRW2 = new clsDataBaseRW(this.webPath);
- clsOpenSIPSAccount clsOpenSIPSAccount2 = new clsOpenSIPSAccount(this.webPath);
- if (wd.DEVICE_ETH_MAC.Trim() != "")
- {
- clsDataBaseRW2.DHCP_WriteIPAddressByMAC(wd.DEVICE_ETH_MAC, "");
- }
- if (wd.DEVICE_TYPE == "1" || wd.DEVICE_TYPE == "2" || wd.DEVICE_TYPE == "3")
- {
- if (clsOpenSIPSAccount2.OpenSIPs_ConnectDefault())
- {
- clsOpenSIPSAccount2.OpenSIPs_AccountDel(wd.DEVICE_SIP_ID);
- clsOpenSIPSAccount2.OpenSIPs_Close();
- }
- }
- }
- this.Execute(sb_i.ToString(), sb_u.ToString(), sb_d.ToString());
- }
- }
- }
|