callingMainDoctor_room.aspx.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using HNWD.Pregrant.Common;
  8. using HNWD.Pregrant.WebService;
  9. using HNWD.Pregrant.Model;
  10. namespace HNWD.DoctorHost.WebService.WDYS_I
  11. {
  12. public partial class callingMainDoctor_room : PageBase
  13. {
  14. protected void Page_Load(object sender, EventArgs e)
  15. {
  16. string DeviceID = this.GetValueByKey("deviceId");
  17. if (string.IsNullOrEmpty(DeviceID))
  18. {
  19. this.ResponseDefaultError("传入参数无效或错误:{[1]-----[deviceId]-----设备参数}");
  20. return;
  21. }
  22. if (!this.InitializeDataAccess())
  23. {
  24. this.ResponseDefaultError(this.Msg);
  25. return;
  26. }
  27. if (this.wd_PartInfoDataAccess.ext.messageDataList.Count < 0)
  28. {
  29. this.ResponseDefaultError(PromptingMessage.Error_PartInfo);
  30. return;
  31. }
  32. WD_DeviceInfo df = wd_DeviceInfoDataAccess.ext.messageDataList.Find(f => f.ID == DeviceID && f.deviceType == "2");
  33. if (df == null)
  34. {
  35. this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo_ByWDYSInfo);
  36. return;
  37. }
  38. DeviceID = df.deviceHostingID;
  39. List<WD_DeviceInfo> list_deviceInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => (f.DEVICE_TYPE == "3") ).OrderBy(f => f.DEVICE_ROOM_NUM).ToList();
  40. if (list_deviceInfo == null)
  41. {
  42. this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo);
  43. return;
  44. }
  45. //若当前门口机的主机ID是入参时,或 托管主机ID
  46. wardInformationExt wardInformationext = new wardInformationExt();
  47. foreach (WD_DeviceInfo wd in list_deviceInfo)
  48. {
  49. //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID || wd.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID))
  50. //{
  51. wardInformation wdinformation = new wardInformation();
  52. wdinformation.roomNumID = wd.ID;
  53. wdinformation.roomNum = wd.DEVICE_ROOM_NUM;
  54. wdinformation.bedNum = wd.DEVICE_BED_NUM;
  55. wdinformation.bedName = wd.DEVICE_NAME;
  56. wdinformation.SipID = wd.DEVICE_SIP_ID;
  57. wdinformation.roomByname = wd.DEVICE_NAME;
  58. //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID)
  59. //{
  60. // wdinformation.trusteeshipState = "0";
  61. //}
  62. //else
  63. //{
  64. wdinformation.trusteeshipState = "1";
  65. //}
  66. //===================================================找到对应门口机下属的分机
  67. List<WD_DeviceInfo> list_bedInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.DEVICE_ROOM_ID == wd.ID);
  68. foreach (WD_DeviceInfo wd_beddevice in list_bedInfo)
  69. {
  70. //if (wd_beddevice.DEVICE_SIP_HOSTING_ID.Contains(DeviceID) || wd_beddevice.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID))
  71. //{
  72. bedDetails bedetails = new bedDetails();
  73. bedetails.bedId = wd_beddevice.ID;
  74. bedetails.bedNum = wd_beddevice.DEVICE_BED_NUM;
  75. bedetails.bedName = wd_beddevice.DEVICE_BED_NAME;
  76. bedetails.roomNumID = wd.ID;
  77. bedetails.roomNum = wd_beddevice.DEVICE_ROOM_NUM;
  78. bedetails.deviceMac = wd_beddevice.DEVICE_ETH_MAC;
  79. bedetails.deviceSipId = wd_beddevice.DEVICE_SIP_ID;
  80. WD_PatientInfo wd_PatientInfo = wd_PatientInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_beddevice.DEVICE_HUMAN_ID);
  81. if (wd_PatientInfo == null)
  82. {
  83. bedetails.PatientID = "0";
  84. bedetails.patientName = "0";
  85. bedetails.PatientAge = "0";
  86. bedetails.patientGender = "0";
  87. bedetails.admissionTime = "0";
  88. bedetails.attendingDoctor = "0";
  89. bedetails.nurseInCharge = "0";
  90. bedetails.Condition = "0";
  91. bedetails.gradeLevel = "0";
  92. bedetails.DosageLevel = "0";
  93. bedetails.InsulateLevel = "0";
  94. bedetails.AllerayLevel = "0";
  95. }
  96. else
  97. {
  98. bedetails.PatientID = wd_PatientInfo.PATIENT_ID;
  99. bedetails.patientName = wd_PatientInfo.PATIENT_NAME;
  100. bedetails.PatientAge = wd_PatientInfo.PATIENT_AGE + wd_PatientInfo.PATIENT_AGE_UNIT;
  101. bedetails.patientGender = wd_PatientInfo.PATIENT_SEX;
  102. bedetails.admissionTime = wd_PatientInfo.PATIENT_INDATE;
  103. bedetails.patientName = wd_PatientInfo.PATIENT_NAME;
  104. bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS;
  105. List<WD_UrgeInfo> listUrgeInfo = wd_UrgeInfoDataAccess.ext.messageDataList.FindAll(f => f.URGE_PATIENT_ID == wd_PatientInfo.ID);
  106. if (listUrgeInfo == null || listUrgeInfo.Count == 0)
  107. {
  108. }
  109. else
  110. {
  111. foreach(WD_UrgeInfo ui in listUrgeInfo)
  112. {
  113. bedetails.MedicalAdvice += ui.URGE_VALUE + ",";
  114. }
  115. if (bedetails.MedicalAdvice.Contains(","))
  116. {
  117. bedetails.MedicalAdvice = bedetails.MedicalAdvice.Substring(0, bedetails.MedicalAdvice.Length - 1);
  118. }
  119. }
  120. WD_StaffInfo wd_StaffDoc = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_DOCTOR_ID);
  121. if (wd_StaffDoc == null)
  122. {
  123. bedetails.attendingDoctor = "未知";
  124. }
  125. else
  126. {
  127. bedetails.attendingDoctor = wd_StaffDoc.STAFF_NAME;
  128. }
  129. WD_StaffInfo wd_StaffNur = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_ID);
  130. if (wd_StaffNur == null)
  131. {
  132. bedetails.nurseInCharge = "未知";
  133. }
  134. else
  135. {
  136. bedetails.nurseInCharge = wd_StaffNur.STAFF_NAME;
  137. }
  138. bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS;
  139. WD_NurseCfgInfo wd_NurseCfg0 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL0);
  140. if (wd_NurseCfg0 == null)
  141. {
  142. bedetails.gradeLevel = "未知";
  143. }
  144. else
  145. {
  146. bedetails.gradeLevel = wd_NurseCfg0.NURSECFG_VALUE;
  147. bedetails.gradeNurse = wd_NurseCfg0.NURSECFG_NAME;
  148. }
  149. WD_NurseCfgInfo wd_NurseCfg1 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL1);
  150. if (wd_NurseCfg1 == null)
  151. {
  152. bedetails.DietLevel = "未知";
  153. }
  154. else
  155. {
  156. bedetails.DietLevel = wd_NurseCfg1.NURSECFG_NAME;
  157. }
  158. WD_NurseCfgInfo wd_NurseCfg2 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL2);
  159. if (wd_NurseCfg2 == null)
  160. {
  161. bedetails.DosageLevel = "未知";
  162. }
  163. else
  164. {
  165. bedetails.DosageLevel = wd_NurseCfg2.NURSECFG_NAME;
  166. }
  167. WD_NurseCfgInfo wd_NurseCfg3 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL3);
  168. if (wd_NurseCfg3 == null)
  169. {
  170. bedetails.InsulateLevel = "未知";
  171. }
  172. else
  173. {
  174. bedetails.InsulateLevel = wd_NurseCfg3.NURSECFG_NAME;
  175. }
  176. WD_NurseCfgInfo wd_NurseCfg4 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL4);
  177. if (wd_NurseCfg4 == null)
  178. {
  179. bedetails.AllerayLevel = "未知";
  180. }
  181. else
  182. {
  183. bedetails.AllerayLevel = wd_NurseCfg4.NURSECFG_NAME;
  184. }
  185. }
  186. wdinformation.sickbedList.Add(bedetails);
  187. }
  188. //}
  189. wardInformationext.wardInformationList.Add(wdinformation);
  190. //}
  191. }
  192. List<WD_DeviceInfo> list_deviceInfo1 = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => (f.DEVICE_TYPE == "11")).OrderBy(f => f.DEVICE_ROOM_NUM).ToList();
  193. if (list_deviceInfo1 == null)
  194. {
  195. this.ResponseDefaultError(PromptingMessage.Error_DeviceInfo);
  196. return;
  197. }
  198. foreach (WD_DeviceInfo wd1 in list_deviceInfo1)
  199. {
  200. //if (wd1.DEVICE_SIP_HOSTING_ID == DeviceID || wd1.DEVICE_SIP_HOSTING_ID.Contains("#" + DeviceID))
  201. //{
  202. List<WD_DeviceInfo> list_deviceInfo2 = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.deviceHostingID == wd1.ID && f.deviceType == "13");
  203. foreach (WD_DeviceInfo wd in list_deviceInfo2)
  204. {
  205. wardInformation wdinformation = new wardInformation();
  206. wdinformation.roomNumID = wd.ID;
  207. wdinformation.roomNum = wd.DEVICE_ROOM_NUM;
  208. wdinformation.bedNum = wd.DEVICE_BED_NUM;
  209. wdinformation.bedName = wd.DEVICE_NAME;
  210. wdinformation.SipID = wd.DEVICE_SIP_ID;
  211. wdinformation.roomByname = wd.DEVICE_NAME;
  212. //if (wd.DEVICE_SIP_HOSTING_ID == DeviceID)
  213. //{
  214. // wdinformation.trusteeshipState = "0";
  215. //}
  216. //else
  217. //{
  218. wdinformation.trusteeshipState = "1";
  219. //}
  220. //===================================================找到对应门口机下属的分机
  221. List<WD_DeviceInfo> list_bedInfo = wd_DeviceInfoDataAccess.ext.messageDataList.FindAll(f => f.DEVICE_ROOM_ID == wd.ID && f.deviceType == "12");
  222. foreach (WD_DeviceInfo wd_beddevice in list_bedInfo)
  223. {
  224. bedDetails bedetails = new bedDetails();
  225. bedetails.bedId = wd_beddevice.ID;
  226. bedetails.bedNum = wd_beddevice.DEVICE_BED_NUM;
  227. bedetails.bedName = wd_beddevice.DEVICE_BED_NAME;
  228. bedetails.roomNumID = wd.ID;
  229. bedetails.roomNum = wd_beddevice.DEVICE_ROOM_NUM;
  230. bedetails.deviceMac = wd_beddevice.DEVICE_ETH_MAC;
  231. bedetails.deviceSipId = wd_beddevice.DEVICE_SIP_ID;
  232. WD_PatientInfo wd_PatientInfo = wd_PatientInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_beddevice.DEVICE_HUMAN_ID);
  233. if (wd_PatientInfo == null)
  234. {
  235. bedetails.PatientID = "0";
  236. bedetails.patientName = "0";
  237. bedetails.PatientAge = "0";
  238. bedetails.patientGender = "0";
  239. bedetails.admissionTime = "0";
  240. bedetails.attendingDoctor = "0";
  241. bedetails.nurseInCharge = "0";
  242. bedetails.Condition = "0";
  243. bedetails.gradeLevel = "0";
  244. bedetails.DosageLevel = "0";
  245. bedetails.InsulateLevel = "0";
  246. bedetails.AllerayLevel = "0";
  247. }
  248. else
  249. {
  250. bedetails.PatientID = wd_PatientInfo.PATIENT_ID;
  251. bedetails.patientName = wd_PatientInfo.PATIENT_NAME;
  252. bedetails.PatientAge = wd_PatientInfo.PATIENT_AGE + wd_PatientInfo.PATIENT_AGE_UNIT;
  253. bedetails.patientGender = wd_PatientInfo.PATIENT_SEX;
  254. bedetails.admissionTime = wd_PatientInfo.PATIENT_INDATE;
  255. bedetails.patientName = wd_PatientInfo.PATIENT_NAME;
  256. bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS;
  257. List<WD_UrgeInfo> listUrgeInfo = wd_UrgeInfoDataAccess.ext.messageDataList.FindAll(f => f.URGE_PATIENT_ID == wd_PatientInfo.ID);
  258. if (listUrgeInfo == null || listUrgeInfo.Count == 0)
  259. {
  260. }
  261. else
  262. {
  263. foreach (WD_UrgeInfo ui in listUrgeInfo)
  264. {
  265. bedetails.MedicalAdvice += ui.URGE_VALUE + ",";
  266. }
  267. if (bedetails.MedicalAdvice.Contains(","))
  268. {
  269. bedetails.MedicalAdvice = bedetails.MedicalAdvice.Substring(0, bedetails.MedicalAdvice.Length - 1);
  270. }
  271. }
  272. WD_StaffInfo wd_StaffDoc = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_DOCTOR_ID);
  273. if (wd_StaffDoc == null)
  274. {
  275. bedetails.attendingDoctor = "未知";
  276. }
  277. else
  278. {
  279. bedetails.attendingDoctor = wd_StaffDoc.STAFF_NAME;
  280. }
  281. WD_StaffInfo wd_StaffNur = wd_StaffInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_ID);
  282. if (wd_StaffNur == null)
  283. {
  284. bedetails.nurseInCharge = "未知";
  285. }
  286. else
  287. {
  288. bedetails.nurseInCharge = wd_StaffNur.STAFF_NAME;
  289. }
  290. bedetails.Condition = wd_PatientInfo.PATIENT_ILLNESS;
  291. WD_NurseCfgInfo wd_NurseCfg0 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL0);
  292. if (wd_NurseCfg0 == null)
  293. {
  294. bedetails.gradeLevel = "未知";
  295. }
  296. else
  297. {
  298. bedetails.gradeLevel = wd_NurseCfg0.NURSECFG_VALUE;
  299. bedetails.gradeNurse = wd_NurseCfg0.NURSECFG_NAME;
  300. }
  301. WD_NurseCfgInfo wd_NurseCfg1 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL1);
  302. if (wd_NurseCfg1 == null)
  303. {
  304. bedetails.DietLevel = "未知";
  305. }
  306. else
  307. {
  308. bedetails.DietLevel = wd_NurseCfg1.NURSECFG_NAME;
  309. }
  310. WD_NurseCfgInfo wd_NurseCfg2 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL2);
  311. if (wd_NurseCfg2 == null)
  312. {
  313. bedetails.DosageLevel = "未知";
  314. }
  315. else
  316. {
  317. bedetails.DosageLevel = wd_NurseCfg2.NURSECFG_NAME;
  318. }
  319. WD_NurseCfgInfo wd_NurseCfg3 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL3);
  320. if (wd_NurseCfg3 == null)
  321. {
  322. bedetails.InsulateLevel = "未知";
  323. }
  324. else
  325. {
  326. bedetails.InsulateLevel = wd_NurseCfg3.NURSECFG_NAME;
  327. }
  328. WD_NurseCfgInfo wd_NurseCfg4 = wd_NurseCfgInfoDataAccess.ext.messageDataList.Find(f => f.ID == wd_PatientInfo.PATIENT_NURSE_LEVEL4);
  329. if (wd_NurseCfg4 == null)
  330. {
  331. bedetails.AllerayLevel = "未知";
  332. }
  333. else
  334. {
  335. bedetails.AllerayLevel = wd_NurseCfg4.NURSECFG_NAME;
  336. }
  337. }
  338. wdinformation.sickbedList.Add(bedetails);
  339. }
  340. wardInformationext.wardInformationList.Add(wdinformation);
  341. //}
  342. }
  343. }
  344. Response.Write(JsonHelper.SerializeWithSuffix(wardInformationext));
  345. WD_SysLogInfo wd_SysLogInfo = new WD_SysLogInfo();
  346. wd_SysLogInfo.LOG_TYPE = "2";
  347. wd_SysLogInfo.LOG_SOURCE = "主机";
  348. wd_SysLogInfo.LOG_CONTENT = "下载了所有门口机和分机的设备数据";
  349. this.DataBaseLog(wd_SysLogInfo);
  350. }
  351. }
  352. }