AdapterDataSet.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.yihu.ehr.model.entity.adapter;
  2. import com.yihu.ehr.dbhelper.jdbc.DBHelper;
  3. import com.yihu.ehr.model.PatientIdentity;
  4. import com.yihu.ehr.model.entity.BaseEntity;
  5. import com.yihu.ehr.model.entity.standard.StdMetaDataT;
  6. import com.yihu.ehr.util.operator.CollectionUtil;
  7. import org.json.JSONObject;
  8. import java.util.*;
  9. /**
  10. * @author Air
  11. * @version 1.0
  12. * @created 2015.08.11 11:29
  13. */
  14. public class AdapterDataSet extends BaseEntity {
  15. private List<AdapterMetaData> adapterMetaDataList;
  16. private AdapterDataSetT adapterDataSetT;
  17. private Map<String, AdapterMetaData> adapterMetaDataMap;
  18. private List<StdMetaDataT> stdMetaDataList;
  19. private Map<String, StdMetaDataT> stdMetaDataMap;
  20. private String eventNoCode;
  21. public AdapterDataSet(AdapterDataSetT adapterDataSetT, DBHelper db) {
  22. setDBHelper(db);
  23. this.adapterDataSetT = adapterDataSetT;
  24. getAdapterMetaDataList();
  25. getAdapterMetaDataMap();
  26. getStdMetaDataList();
  27. getStdMetaDataMap();
  28. }
  29. public AdapterDataSetT getAdapterDataSetT() {
  30. return adapterDataSetT;
  31. }
  32. public List<AdapterMetaData> getAdapterMetaDataList() {
  33. if (CollectionUtil.isEmpty(adapterMetaDataList)) {
  34. adapterMetaDataList = new ArrayList<>();
  35. List<JSONObject> adapterMetaDataTList = db.query( "select id, std_metadata_id, std_metadata_code, org_metadata_code from adapter_metadata where adapter_dataset_id = ?", adapterDataSetT.getId());
  36. if (!CollectionUtil.isEmpty(adapterMetaDataTList)) {
  37. for (JSONObject json : adapterMetaDataTList) {
  38. AdapterMetaDataT adapterMetaDataT = new AdapterMetaDataT();
  39. adapterMetaDataT.setId(json.getInt("id"));
  40. adapterMetaDataT.setStdMetadataId(json.getInt("std_metadata_id"));
  41. adapterMetaDataT.setStdMetadataCode(json.getString("std_metadata_code"));
  42. if (!json.isNull("org_metadata_code")) {
  43. adapterMetaDataT.setOrgMetadataCode(json.getString("org_metadata_code"));
  44. }
  45. adapterMetaDataList.add(new AdapterMetaData(adapterMetaDataT, db));
  46. }
  47. }
  48. }
  49. return adapterMetaDataList;
  50. }
  51. public List<StdMetaDataT> getStdMetaDataList() {
  52. if (CollectionUtil.isEmpty(stdMetaDataList)) {
  53. stdMetaDataList = new ArrayList<>();
  54. List<JSONObject> stdMetaDataTList = db.query( "select id, code, dict_code from std_metadata where dataset_id = ?", adapterDataSetT.getStdDatasetId());
  55. if (!CollectionUtil.isEmpty(stdMetaDataTList)) {
  56. for (JSONObject json : stdMetaDataTList) {
  57. StdMetaDataT stdMetaDataT = new StdMetaDataT();
  58. stdMetaDataT.setId(json.getInt("id"));
  59. stdMetaDataT.setCode(json.getString("code"));
  60. if (!json.isNull("dict_code")) {
  61. stdMetaDataT.setDictCode(json.getString("dict_code"));
  62. }
  63. stdMetaDataList.add(stdMetaDataT);
  64. }
  65. }
  66. }
  67. return stdMetaDataList;
  68. }
  69. public Map<String, AdapterMetaData> getAdapterMetaDataMap() {
  70. if (CollectionUtil.isEmpty(adapterMetaDataList)) {
  71. getAdapterMetaDataList();
  72. }
  73. if (!CollectionUtil.isEmpty(adapterMetaDataList)) {
  74. if (adapterMetaDataMap == null) {
  75. adapterMetaDataMap = new HashMap<>();
  76. for (AdapterMetaData adapterMetaData : adapterMetaDataList) {
  77. adapterMetaDataMap.put(adapterMetaData.getAdapterMetaDataT().getStdMetadataCode(), adapterMetaData);
  78. }
  79. }
  80. }
  81. return adapterMetaDataMap;
  82. }
  83. public Map<String, StdMetaDataT> getStdMetaDataMap() {
  84. if (CollectionUtil.isEmpty(stdMetaDataList)) {
  85. getStdMetaDataList();
  86. }
  87. if (!CollectionUtil.isEmpty(stdMetaDataList)) {
  88. if (stdMetaDataMap == null) {
  89. stdMetaDataMap = new HashMap<>();
  90. for (StdMetaDataT stdMetaDataT : stdMetaDataList) {
  91. stdMetaDataMap.put(stdMetaDataT.getCode(), stdMetaDataT);
  92. }
  93. }
  94. }
  95. return stdMetaDataMap;
  96. }
  97. public StdMetaDataT getStdMetaData(String code) {
  98. if (getStdMetaDataMap() != null) {
  99. return getStdMetaDataMap().get(code);
  100. }
  101. return null;
  102. }
  103. public boolean isHavePatientID() {
  104. return findPatientIdentity(PatientIdentity.getPatientIDCode());
  105. }
  106. public boolean isHaveEventNo() {
  107. Set<String> eventNoSet = PatientIdentity.getEventNoSet();
  108. for (String eventNo : eventNoSet) {
  109. if (findPatientIdentity(eventNo)) {
  110. eventNoCode = eventNo;
  111. return true;
  112. }
  113. }
  114. return false;
  115. }
  116. public boolean isHaveLocalCardNo() {
  117. return findPatientIdentity(PatientIdentity.getLocalCardNoCode());
  118. }
  119. public boolean isHaveIdCard() {
  120. return findPatientIdentity(PatientIdentity.getIdCardCode());
  121. }
  122. public boolean findPatientIdentity(String code) {
  123. if (getStdMetaData(code) == null) {
  124. return false;
  125. }
  126. return true;
  127. }
  128. public String getEventNoCode() {
  129. return eventNoCode;
  130. }
  131. }