zhenghe.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * 整合数据
  3. * 第二步:整合。
  4. * 根据解析获取到设备列表。选择一个设备作为返回,并整合设备的参数。
  5. */
  6. function zhenghe(deviceList, analysisResult) {
  7. deviceList = JSON.parse(deviceList);
  8. analysisResult = JSON.parse(analysisResult);
  9. // 设备
  10. var device;
  11. // 设备不存在
  12. if(deviceList.length > 0){
  13. device = deviceList[0];
  14. }else if(analysisResult.hasOwnProperty('pumpCode')){
  15. device = {
  16. id: analysisResult.pumpCode,
  17. };
  18. device.items = {};
  19. device.models = {};
  20. device.createTime = new Date();
  21. }else {
  22. throw 'pumpCode不存在';
  23. }
  24. device.productId = analysisResult.productId;
  25. // 更新属性
  26. updateItems(device, analysisResult);
  27. var json = JSON.stringify(device);
  28. return json;
  29. }
  30. function updateItems(device, analysisResult) {
  31. var oldPatientCode = device.patientCode;
  32. var newPatientCode = analysisResult.patientCode;
  33. var date = new Date();
  34. // 设置输注标识
  35. if (analysisResult.hasOwnProperty('infusionId')){
  36. } else if (!device.items.hasOwnProperty("infusionId")){
  37. device.items.infusionId = 1;
  38. device.items.dataNumber = 1;
  39. } else if (oldPatientCode != newPatientCode){
  40. var infusionId = device.items.infusionId;
  41. device.items.infusionId = infusionId + 1;
  42. } else {
  43. var dataNumber = device.items.dataNumber;
  44. device.items.dataNumber = dataNumber + 1;
  45. }
  46. // 更新items
  47. for (var key in analysisResult) {
  48. if (analysisResult.hasOwnProperty(key)) {
  49. device.items[key] = analysisResult[key];
  50. }
  51. }
  52. // 更新models
  53. for (var key in device.items) {
  54. if (device.items.hasOwnProperty(key)) {
  55. device.models[key] = {
  56. time: date.getTime(),
  57. value: device.items[key],
  58. };
  59. }
  60. }
  61. device.patientCode = newPatientCode;
  62. device.updateTime = date;
  63. }