using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using HNWD.Pregrant.Common; using HNWD.Pregrant.WebService; using HNWD.Pregrant.Model; namespace HNWD.DoctorHost.WebService.WDYS_I { public partial class callingMainDoctor_room : PageBase { protected void Page_Load(object sender, EventArgs e) { string DeviceID = this.GetValueByKey("deviceId"); if (string.IsNullOrEmpty(DeviceID)) { this.ResponseDefaultError("传入参数无效或错误:{[1]-----[deviceId]-----设备参数}"); return; } if (!this.InitializeDataAccess()) { this.ResponseDefaultError(this.Msg); return; } if (this.wd_PartInfoDataAccess.ext.messageDataList.Count < 0) { this.ResponseDefaultError(PromptingMessage.Error_PartInfo); return; } WD_DeviceInfo df = wd_DeviceInfoDataAccess.ext.messageDataList.Find(f => f.ID == DeviceID && f.deviceType == "2"); if (df == null) { this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo_ByWDYSInfo); return; } DeviceID = df.deviceHostingID; List list_deviceInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => (f.DEVICE_TYPE == "3") ).OrderBy(f => f.DEVICE_ROOM_NUM).ToList(); if (list_deviceInfo == null) { this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo); return; } //若当前门口机的主机ID是入参时,或 托管主机ID wardInformationExt wardInformationext = new wardInformationExt(); foreach (WD_DeviceInfo wd in list_deviceInfo) { //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID || wd.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID)) //{ wardInformation wdinformation = new wardInformation(); wdinformation.roomNumID = wd.ID; wdinformation.roomNum = wd.DEVICE_ROOM_NUM; wdinformation.bedNum = wd.DEVICE_BED_NUM; wdinformation.bedName = wd.DEVICE_NAME; wdinformation.SipID = wd.DEVICE_SIP_ID; wdinformation.roomByname = wd.DEVICE_NAME; //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID) //{ // wdinformation.trusteeshipState = "0"; //} //else //{ wdinformation.trusteeshipState = "1"; //} //===================================================找到对应门口机下属的分机 List list_bedInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.DEVICE_ROOM_ID == wd.ID); foreach (WD_DeviceInfo wd_beddevice in list_bedInfo) { //if (wd_beddevice.DEVICE_SIP_HOSTING_ID.Contains(DeviceID) || wd_beddevice.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID)) //{ bedDetails bedetails = new bedDetails(); bedetails.bedId = wd_beddevice.ID; bedetails.bedNum = wd_beddevice.DEVICE_BED_NUM; bedetails.bedName = wd_beddevice.DEVICE_BED_NAME; bedetails.roomNumID = wd.ID; bedetails.roomNum = wd_beddevice.DEVICE_ROOM_NUM; bedetails.deviceMac = wd_beddevice.DEVICE_ETH_MAC; bedetails.deviceSipId = wd_beddevice.DEVICE_SIP_ID; WD_PatientInfo wd_PatientInfo = wd_PatientInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_beddevice.DEVICE_HUMAN_ID); if (wd_PatientInfo == null) { bedetails.PatientID = "0"; bedetails.patientName = "0"; bedetails.PatientAge = "0"; bedetails.patientGender = "0"; bedetails.admissionTime = "0"; bedetails.attendingDoctor = "0"; bedetails.nurseInCharge = "0"; bedetails.Condition = "0"; bedetails.gradeLevel = "0"; bedetails.DosageLevel = "0"; bedetails.InsulateLevel = "0"; bedetails.AllerayLevel = "0"; } else { bedetails.PatientID = wd_PatientInfo.PATIENT_ID; bedetails.patientName = wd_PatientInfo.PATIENT_NAME; bedetails.PatientAge = wd_PatientInfo.PATIENT_AGE + wd_PatientInfo.PATIENT_AGE_UNIT; bedetails.patientGender = wd_PatientInfo.PATIENT_SEX; bedetails.admissionTime = wd_PatientInfo.PATIENT_INDATE; bedetails.patientName = wd_PatientInfo.PATIENT_NAME; bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS; List listUrgeInfo = wd_UrgeInfoDataAccess.ext.messageDataList.FindAll(f => f.URGE_PATIENT_ID == wd_PatientInfo.ID); if (listUrgeInfo == null || listUrgeInfo.Count == 0) { } else { foreach(WD_UrgeInfo ui in listUrgeInfo) { bedetails.MedicalAdvice += ui.URGE_VALUE + ","; } if (bedetails.MedicalAdvice.Contains(",")) { bedetails.MedicalAdvice = bedetails.MedicalAdvice.Substring(0, bedetails.MedicalAdvice.Length - 1); } } WD_StaffInfo wd_StaffDoc = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_DOCTOR_ID); if (wd_StaffDoc == null) { bedetails.attendingDoctor = "未知"; } else { bedetails.attendingDoctor = wd_StaffDoc.STAFF_NAME; } WD_StaffInfo wd_StaffNur = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_ID); if (wd_StaffNur == null) { bedetails.nurseInCharge = "未知"; } else { bedetails.nurseInCharge = wd_StaffNur.STAFF_NAME; } bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS; WD_NurseCfgInfo wd_NurseCfg0 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL0); if (wd_NurseCfg0 == null) { bedetails.gradeLevel = "未知"; } else { bedetails.gradeLevel = wd_NurseCfg0.NURSECFG_VALUE; bedetails.gradeNurse = wd_NurseCfg0.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg1 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL1); if (wd_NurseCfg1 == null) { bedetails.DietLevel = "未知"; } else { bedetails.DietLevel = wd_NurseCfg1.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg2 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL2); if (wd_NurseCfg2 == null) { bedetails.DosageLevel = "未知"; } else { bedetails.DosageLevel = wd_NurseCfg2.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg3 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL3); if (wd_NurseCfg3 == null) { bedetails.InsulateLevel = "未知"; } else { bedetails.InsulateLevel = wd_NurseCfg3.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg4 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL4); if (wd_NurseCfg4 == null) { bedetails.AllerayLevel = "未知"; } else { bedetails.AllerayLevel = wd_NurseCfg4.NURSECFG_NAME; } } wdinformation.sickbedList.Add(bedetails); } //} wardInformationext.wardInformationList.Add(wdinformation); //} } List list_deviceInfo1 = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => (f.DEVICE_TYPE == "11")).OrderBy(f => f.DEVICE_ROOM_NUM).ToList(); if (list_deviceInfo1 == null) { this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo); return; } foreach (WD_DeviceInfo wd1 in list_deviceInfo1) { //if (wd1.DEVICE_SIP_HOSTING_ID == DeviceID || wd1.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID)) //{ List list_deviceInfo2 = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.deviceHostingID == wd1.ID && f.deviceType == "13"); foreach (WD_DeviceInfo wd in list_deviceInfo2) { wardInformation wdinformation = new wardInformation(); wdinformation.roomNumID = wd.ID; wdinformation.roomNum = wd.DEVICE_ROOM_NUM; wdinformation.bedNum = wd.DEVICE_BED_NUM; wdinformation.bedName = wd.DEVICE_NAME; wdinformation.SipID = wd.DEVICE_SIP_ID; wdinformation.roomByname = wd.DEVICE_NAME; //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID) //{ // wdinformation.trusteeshipState = "0"; //} //else //{ wdinformation.trusteeshipState = "1"; //} //===================================================找到对应门口机下属的分机 List list_bedInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.DEVICE_ROOM_ID == wd.ID && f.deviceType == "12"); foreach (WD_DeviceInfo wd_beddevice in list_bedInfo) { bedDetails bedetails = new bedDetails(); bedetails.bedId = wd_beddevice.ID; bedetails.bedNum = wd_beddevice.DEVICE_BED_NUM; bedetails.bedName = wd_beddevice.DEVICE_BED_NAME; bedetails.roomNumID = wd.ID; bedetails.roomNum = wd_beddevice.DEVICE_ROOM_NUM; bedetails.deviceMac = wd_beddevice.DEVICE_ETH_MAC; bedetails.deviceSipId = wd_beddevice.DEVICE_SIP_ID; WD_PatientInfo wd_PatientInfo = wd_PatientInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_beddevice.DEVICE_HUMAN_ID); if (wd_PatientInfo == null) { bedetails.PatientID = "0"; bedetails.patientName = "0"; bedetails.PatientAge = "0"; bedetails.patientGender = "0"; bedetails.admissionTime = "0"; bedetails.attendingDoctor = "0"; bedetails.nurseInCharge = "0"; bedetails.Condition = "0"; bedetails.gradeLevel = "0"; bedetails.DosageLevel = "0"; bedetails.InsulateLevel = "0"; bedetails.AllerayLevel = "0"; } else { bedetails.PatientID = wd_PatientInfo.PATIENT_ID; bedetails.patientName = wd_PatientInfo.PATIENT_NAME; bedetails.PatientAge = wd_PatientInfo.PATIENT_AGE + wd_PatientInfo.PATIENT_AGE_UNIT; bedetails.patientGender = wd_PatientInfo.PATIENT_SEX; bedetails.admissionTime = wd_PatientInfo.PATIENT_INDATE; bedetails.patientName = wd_PatientInfo.PATIENT_NAME; bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS; List listUrgeInfo = wd_UrgeInfoDataAccess.ext.messageDataList.FindAll(f => f.URGE_PATIENT_ID == wd_PatientInfo.ID); if (listUrgeInfo == null || listUrgeInfo.Count == 0) { } else { foreach (WD_UrgeInfo ui in listUrgeInfo) { bedetails.MedicalAdvice += ui.URGE_VALUE + ","; } if (bedetails.MedicalAdvice.Contains(",")) { bedetails.MedicalAdvice = bedetails.MedicalAdvice.Substring(0, bedetails.MedicalAdvice.Length - 1); } } WD_StaffInfo wd_StaffDoc = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_DOCTOR_ID); if (wd_StaffDoc == null) { bedetails.attendingDoctor = "未知"; } else { bedetails.attendingDoctor = wd_StaffDoc.STAFF_NAME; } WD_StaffInfo wd_StaffNur = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_ID); if (wd_StaffNur == null) { bedetails.nurseInCharge = "未知"; } else { bedetails.nurseInCharge = wd_StaffNur.STAFF_NAME; } bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS; WD_NurseCfgInfo wd_NurseCfg0 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL0); if (wd_NurseCfg0 == null) { bedetails.gradeLevel = "未知"; } else { bedetails.gradeLevel = wd_NurseCfg0.NURSECFG_VALUE; bedetails.gradeNurse = wd_NurseCfg0.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg1 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL1); if (wd_NurseCfg1 == null) { bedetails.DietLevel = "未知"; } else { bedetails.DietLevel = wd_NurseCfg1.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg2 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL2); if (wd_NurseCfg2 == null) { bedetails.DosageLevel = "未知"; } else { bedetails.DosageLevel = wd_NurseCfg2.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg3 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL3); if (wd_NurseCfg3 == null) { bedetails.InsulateLevel = "未知"; } else { bedetails.InsulateLevel = wd_NurseCfg3.NURSECFG_NAME; } WD_NurseCfgInfo wd_NurseCfg4 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL4); if (wd_NurseCfg4 == null) { bedetails.AllerayLevel = "未知"; } else { bedetails.AllerayLevel = wd_NurseCfg4.NURSECFG_NAME; } } wdinformation.sickbedList.Add(bedetails); } wardInformationext.wardInformationList.Add(wdinformation); //} } } Response.Write(JsonHelper.SerializeWithSuffix(wardInformationext)); WD_SysLogInfo wd_SysLogInfo = new WD_SysLogInfo(); wd_SysLogInfo.LOG_TYPE = "2"; wd_SysLogInfo.LOG_SOURCE = "主机"; wd_SysLogInfo.LOG_CONTENT = "下载了所有门口机和分机的设备数据"; this.DataBaseLog(wd_SysLogInfo); } } }