ConsentCreateParam.java 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. package com.dbs.mplus.knuh.consent;
  2. import android.content.Context;
  3. import android.os.Build;
  4. import android.util.Log;
  5. import com.dbs.mplus.knuh.BuildConfig;
  6. import com.dbs.mplus.knuh.R;
  7. import com.dbs.mplus.knuh.activity.ConsentActivity;
  8. import com.dbs.mplus.knuh.httpTask.HttpSoapConnection;
  9. import com.dbs.mplus.knuh.model.ConsentFormListVO;
  10. import com.dbs.mplus.knuh.model.PatientInfoVO;
  11. import com.dbs.mplus.knuh.model.UserVO;
  12. import com.dbs.mplus.knuh.util.ConsentConfig;
  13. import com.dbs.mplus.knuh.util.Util;
  14. import org.ksoap2.serialization.SoapObject;
  15. import java.text.ParseException;
  16. import java.text.SimpleDateFormat;
  17. import java.util.ArrayList;
  18. import java.util.Date;
  19. import java.util.HashMap;
  20. import java.util.concurrent.ExecutionException;
  21. public class ConsentCreateParam {
  22. private static final String TAG = "ConsentCreateParam";
  23. private Context mContext;
  24. private String indexPage = "";
  25. private String userDrFlag = "";
  26. private String consentState = "";
  27. private String consentStateEng = "";
  28. public ConsentCreateParam(Context mContext, String userDrFlag, String consentState, String consentStateEng) {
  29. this.mContext = mContext;
  30. this.indexPage = ((ConsentActivity) mContext).indexPage;
  31. this.userDrFlag = userDrFlag;
  32. this.consentState = consentState;
  33. this.consentStateEng = consentStateEng;
  34. }
  35. public HashMap<String, String> setGlobalParam(PatientInfoVO patientInfoVO, String consentMstRid) {
  36. HashMap<String, String> map = new HashMap<String, String>();
  37. String loginUserId = Util.getStringPreference(mContext, "userInfo", "userId");
  38. String loginUserName = Util.getStringPreference(mContext, "userInfo", "userName");
  39. String logionUserDeptCd = Util.getStringPreference(mContext, "userInfo", "deptCd");
  40. String logionUserJobKindCd = Util.getStringPreference(mContext, "userInfo", "jobKindCd");
  41. int rid = Integer.parseInt(consentMstRid);
  42. if (rid == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  43. String ordDeptCd = patientInfoVO.getOrdDeptCd();
  44. String deptEngAbbr = patientInfoVO.getDeptEngAbbr();
  45. String ordDeptNm = patientInfoVO.getOrdDeptNm();
  46. String pid = patientInfoVO.getPid();
  47. String cretNo = patientInfoVO.getCretNo();
  48. String roomCd = patientInfoVO.getRoomCd();
  49. String inDd = patientInfoVO.getInDd();
  50. String dschDd = patientInfoVO.getDschDd();
  51. String ordType = patientInfoVO.getOrdType();
  52. String instCd = patientInfoVO.getInstCd();
  53. String mainDrId = patientInfoVO.getMainDrId();
  54. String mainDrName = patientInfoVO.getMainDrName();
  55. String erDrNm = patientInfoVO.getErDrNm();
  56. String firstRgstDt = patientInfoVO.getFirstRgstDt();
  57. String sa = patientInfoVO.getSa();
  58. String patientName = patientInfoVO.getPatientName();
  59. String juminNo = patientInfoVO.getJuminNo();
  60. String zipCdAddr = patientInfoVO.getZipCdAddr();
  61. String telNum = patientInfoVO.getTelNum();
  62. String insuKind = patientInfoVO.getInsuKind();
  63. String ward = patientInfoVO.getWard();
  64. String dxCd = patientInfoVO.getDxCd();
  65. String dxNm = patientInfoVO.getDxNm();
  66. String gbn = patientInfoVO.getGbn();
  67. String opDeptCd = patientInfoVO.getOpDeptCd();
  68. String opDeptNm = patientInfoVO.getOpDeptNm();
  69. String opDrNm = patientInfoVO.getOpDrNm();
  70. String opDrId = patientInfoVO.getOpDrId();
  71. String opCnfmDd = patientInfoVO.getOpCnfmDd();
  72. String perfDrNm = patientInfoVO.getPerfDrNm();
  73. String perfDrFlag = patientInfoVO.getPerfDrFlag();
  74. String perfDrDept = patientInfoVO.getPerfDrDept();
  75. String opDiagNm = patientInfoVO.getOpDiagNm();
  76. String opNm = patientInfoVO.getOpNm();
  77. String anstDrNm1 = patientInfoVO.getAnstDrNm1();
  78. String anstDrFlag1 = patientInfoVO.getAnstDrFlag1();
  79. String anstDeptNm1 = patientInfoVO.getAnstDeptNm1();
  80. String anstDrNm2 = patientInfoVO.getAnstDrNm2();
  81. String anstDrFlag2 = patientInfoVO.getAnstDrFlag2();
  82. String anstDeptNm2 = patientInfoVO.getAnstDeptNm2();
  83. String anstDrNm3 = patientInfoVO.getAnstDrNm3();
  84. String anstDrFlag3 = patientInfoVO.getAnstDrFlag3();
  85. String anstDeptNm3 = patientInfoVO.getAnstDeptNm3();
  86. String opRsrvNo = patientInfoVO.getOpRsrvNo();
  87. String orderNo = patientInfoVO.getOrderNo();
  88. String printTime = patientInfoVO.getPrintTime();
  89. String ocrCd = patientInfoVO.getOcrCd();
  90. String inputId = patientInfoVO.getInputId();
  91. String inputNm = patientInfoVO.getInputNm();
  92. String signImg = patientInfoVO.getSignImg();
  93. String bp = patientInfoVO.getBp();
  94. String dm = patientInfoVO.getDm();
  95. String heart = patientInfoVO.getHeart();
  96. String kidney = patientInfoVO.getKidney();
  97. String respiration = patientInfoVO.getRespiration();
  98. String hx = patientInfoVO.getHx();
  99. String allergy = patientInfoVO.getAllergy();
  100. String drug = patientInfoVO.getDrug();
  101. String smoking = patientInfoVO.getSmoking();
  102. String idio = patientInfoVO.getIdio();
  103. String nacrotics = patientInfoVO.getNacrotics();
  104. String airway = patientInfoVO.getAirway();
  105. String hemorrhage = patientInfoVO.getHemorrhage();
  106. String statusEtc = patientInfoVO.getStatusEtc();
  107. String signImage = "";
  108. HashMap<String, String> mData = new HashMap<String, String>();
  109. if (userDrFlag.equals("Y") && ordType.equals("O")) {
  110. mData.put("userId", mainDrId);
  111. mData.put("deptCd", ordDeptCd);
  112. map.put("mainDrId", mainDrId);
  113. } else {
  114. mData.put("userId", loginUserId);
  115. mData.put("deptCd", logionUserDeptCd);
  116. map.put("mainDrId", loginUserId);
  117. }
  118. mData.put("instCd", BuildConfig.INST_CD);
  119. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_SIGN_DATA, mData);
  120. try {
  121. SoapObject object = connection.execute().get();
  122. if (object != null) {
  123. signImage = object.getProperty("SignImage").toString().trim();
  124. signImage = signImage.equals(ConsentConfig.RETURN_NULL) ? "" : signImage;
  125. }
  126. } catch (ExecutionException e) {
  127. e.printStackTrace();
  128. } catch (InterruptedException e) {
  129. e.printStackTrace();
  130. }
  131. UserVO userVO = new UserVO();
  132. connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_USER_INFO, mData);
  133. try {
  134. SoapObject object = connection.execute().get();
  135. String userId = object.getProperty("userId").toString().trim();
  136. String userName = object.getProperty("userName").toString().trim();
  137. String userDeptCode = object.getProperty("userDeptCode").toString().trim();
  138. String userDeptName = object.getProperty("userDeptName").toString().trim();
  139. String userDeptEngAbbr = object.getProperty("deptEngAbbr").toString().trim();
  140. String jobKindCd = object.getProperty("jobKindCd").toString().trim();
  141. String jobKindNm = object.getProperty("jobKindNm").toString().trim();
  142. String userInstCd = object.getProperty("instCd").toString().trim();
  143. String userTelNo = object.getProperty("userTelNo").toString().trim();
  144. String ioFlag = object.getProperty("ioFlag").toString().trim();
  145. userId = userId.equals(ConsentConfig.RETURN_NULL) ? "" : userId;
  146. userName = userName.equals(ConsentConfig.RETURN_NULL) ? "" : userName;
  147. userDeptCode = userDeptCode.equals(ConsentConfig.RETURN_NULL) ? "" : userDeptCode;
  148. userDeptName = userDeptName.equals(ConsentConfig.RETURN_NULL) ? "" : userDeptName;
  149. userDeptEngAbbr = deptEngAbbr.equals(ConsentConfig.RETURN_NULL) ? "" : deptEngAbbr;
  150. jobKindCd = jobKindCd.equals(ConsentConfig.RETURN_NULL) ? "" : jobKindCd;
  151. jobKindNm = jobKindNm.equals(ConsentConfig.RETURN_NULL) ? "" : jobKindNm;
  152. userInstCd = userInstCd.equals(ConsentConfig.RETURN_NULL) ? "" : userInstCd;
  153. userTelNo = userTelNo.equals(ConsentConfig.RETURN_NULL) ? "" : userTelNo;
  154. ioFlag = ioFlag.equals(ConsentConfig.RETURN_NULL) ? "" : ioFlag;
  155. userVO.setUserId(userId);
  156. userVO.setUserName(userName);
  157. userVO.setUserDeptCode(userDeptCode);
  158. userVO.setUserDeptName(userDeptName);
  159. userVO.setDeptEngAbbr(userDeptEngAbbr);
  160. userVO.setJobKindCd(jobKindCd);
  161. userVO.setJobKindNm(jobKindNm);
  162. userVO.setUserInstCd(userInstCd);
  163. userVO.setUserTelNo(userTelNo);
  164. userVO.setIoFlag(ioFlag);
  165. } catch (ExecutionException e) {
  166. e.printStackTrace();
  167. } catch (InterruptedException e) {
  168. e.printStackTrace();
  169. }
  170. map.put("parCMDCFT_device", "M");
  171. map.put("parCMDCFT_1PrintIP", "");
  172. map.put("parCMDCHD_1PatientNo", pid);
  173. map.put("parCMDCHD_1SexAge", sa);
  174. map.put("parCMDCHD_1PatientNm", patientName);
  175. map.put("parCMDCHD_1SocialSecuNo", juminNo);
  176. map.put("parNUR_Fast_HospitalroomNo", roomCd);
  177. map.put("parCMDCHD_1VisitDt", inDd);
  178. map.put("parCMDCHD_1DepartmentNm", deptEngAbbr);
  179. map.put("parCMDCHD_1DepartmentCd", ordDeptCd);
  180. map.put("parCMDCBD_PopupV1_SurgeryDepartment", perfDrFlag.equals("전문의") ? perfDrDept : "");
  181. map.put("parCMDCBD_PopupV1_SurgeryDoctor", perfDrNm);
  182. map.put("parCMDCBD_PopupV1_DxNm", opDiagNm.equals("") ? dxNm : "");
  183. map.put("parCMDCBD_DiseaseBox_bp", bp);
  184. map.put("parCMDCBD_DiseaseBox_dm", dm);
  185. map.put("parCMDCBD_DiseaseBox_1CardioVascular", heart);
  186. map.put("parCMDCBD_DiseaseBox_3Metabolic", kidney);
  187. map.put("parCMDCBD_DiseaseBox_2Respiratory", respiration);
  188. map.put("parCMDCBD_DiseaseBox_9History1", hx);
  189. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution2", allergy);
  190. map.put("parCMDCBD_DiseaseBox_6Medicine", drug);
  191. map.put("parCMDCBD_DiseaseBox_8HabitSmoking", smoking);
  192. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution1", idio);
  193. map.put("parCMDCBD_DiseaseBox_9History2", nacrotics);
  194. map.put("parCMDCBD_DiseaseBox_7Airway", airway);
  195. map.put("parCMDCBD_DiseaseBox_5Blood", hemorrhage);
  196. map.put("parCMDCBD_status_etc", statusEtc);
  197. String opcnfmddStr = "";
  198. try {
  199. opcnfmddStr = String.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(opCnfmDd));
  200. } catch (ParseException e) {
  201. e.printStackTrace();
  202. Log.e(TAG, "date error");
  203. }
  204. map.put("parCMDCBD_signdate", opcnfmddStr);
  205. map.put("parCMDCBD_signtime", "");
  206. map.put("parCMDCFT_1PrintDt", "");
  207. map.put("parCMDCBD_Doctor_Doctor1Nm", mainDrName); // 담당의사
  208. map.put("parCMSGBD_INPUTNm", userVO.getUserName());
  209. // if (userDrFlag.equals("Y") && ordType.equals("O")) {
  210. // map.put("parCMSGBD_INPUTNm", userVO.getUserName());
  211. // } else {
  212. // map.put("parCMSGBD_INPUTNm", loginUserName);
  213. // }
  214. map.put("parCMSGBD_INPUTSignature", signImage);
  215. map.put("parCMSGBD_PT_address", zipCdAddr);
  216. map.put("parCMSGBD_PT_tel", telNum);
  217. map.put("parCMSGBD_Insukind", insuKind);
  218. map.put("parCMSGBD_PT_birthday", juminNo.split("-")[0]);
  219. map.put("parCMDCBD_PopupV1_OPNm", opNm);
  220. map.put("parCMDCBD_PopupV1_SPNm", opNm);
  221. map.put("parCMSGBD_INPUTTelNo", userVO.getUserTelNo());
  222. map.put("parDEFAULT_DUTINSTCD", instCd);
  223. map.put("parDEFAULT_POPUP_PATH", "https://ema031.knuh.kr:9091");
  224. // map.put("parDEFAULT_POPUP_PATH", BuildConfig.CONSENT_SERVER_URL);
  225. map.put("parCMDCBD_PopupV1_SurgeryCommonDepartment", perfDrFlag.equals("전공의") ? "" : perfDrDept);
  226. map.put("parCMDCBD_Anst1DrNm", anstDrNm1);
  227. map.put("parCMDCBD_Anst1DeptNm", anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  228. map.put("parCMDCBD_Anst1CommonDeptNm", anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  229. map.put("parCMDCBD_Anst2DrNm", anstDrNm2);
  230. map.put("parCMDCBD_Anst2DeptNm", anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  231. map.put("parCMDCBD_Anst2CommonDeptNm", anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  232. map.put("parCMDCBD_Anst3DrNm", anstDrNm3);
  233. map.put("parCMDCBD_Anst3DeptNm", anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  234. map.put("parCMDCBD_Anst3CommonDeptNm", anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  235. map.put("parCMSGBD_INPUTDeptcd", userVO.getUserDeptCode());
  236. map.put("parCMSGBD_Cretno", cretNo);
  237. map.put("parCMDCBD_OpRsrvNo", opRsrvNo);
  238. map.put("parCMDCHD_1PatientNmFix", patientName);
  239. map.put("parCMSGBD_PT_birthdayFix", juminNo.split("-")[0]);
  240. map.put("parCMSGBD_PT_telFix", telNum);
  241. map.put("parCMSGBD_ExplDrNm", "");
  242. map.put("parCMSGBD_ExplDrSignature", "");
  243. map.put("parCMSGBD_ExplDrTelNo", "");
  244. if (logionUserJobKindCd.indexOf("03") > 0) {
  245. map.put("parCMSGBD_ExplDrNm", userVO.getUserName());
  246. map.put("parCMSGBD_ExplDrSignature", signImage);
  247. map.put("parCMSGBD_ExplDrTelNo", userVO.getUserTelNo());
  248. }
  249. map.put("parCMDCBD_SpDrYN", "");
  250. map.put("parCMDCBD_ContStartDate", "");
  251. map.put("parCMDCBD_ContEndDate", "");
  252. map.put("parCMDCBD_RoomCapa", "");
  253. map.put("parCMDCBD_ContStaff1Name", "");
  254. map.put("parCMDCBD_ContStaff2Name", "");
  255. map.put("parCMDCBD_ContStaff3Name", "");
  256. map.put("parCMDCBD_CardNo", "");
  257. map.put("ordType", ordType);
  258. map.put("ward", ward);
  259. }
  260. return map;
  261. }
  262. public ArrayList<HashMap<String, String>> setFormParam(String consentMstRid, String formRid, String guid, String formPrntNm, String formCd, String linkFormCd, String ocrTag) {
  263. ArrayList<HashMap<String, String>> mapArrayList = new ArrayList<HashMap<String, String>>();
  264. HashMap<String, String> map = new HashMap<String, String>();
  265. HashMap<String, String> mData = new HashMap<String, String>();
  266. int rid = Integer.parseInt(consentMstRid);
  267. if(rid == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  268. map.put("newConsent", "true");
  269. } else {
  270. map.put("newConsent", "false");
  271. }
  272. map.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
  273. map.put("parCMDCFT_1PrintNm", formPrntNm);
  274. map.put("rid", consentMstRid);
  275. map.put("guid", guid);
  276. map.put("formCd", formCd);
  277. map.put("formRid", formRid);
  278. mapArrayList.add(map);
  279. if (!linkFormCd.equals("")) {
  280. mData.put("formCd", linkFormCd);
  281. mData.put("instCd", BuildConfig.INST_CD);
  282. Log.e(TAG, "mData -- > + " + mData);
  283. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_CONSENT, ConsentConfig.GET_CONSENT_BY_FORMCD, mData);
  284. try {
  285. SoapObject object = connection.execute().get();
  286. Log.e(TAG, "link object-- > " + object);
  287. if (object.getPropertyCount() > 1) {
  288. String _consentMstRid = object.getProperty("consentMstRid").toString().trim();
  289. String _formGuid = object.getProperty("formGuid").toString().trim();
  290. String _formPrntNm = object.getProperty("formPrntNm").toString().trim();
  291. String _formRid = object.getProperty("formRid").toString().trim();
  292. String _formCd = object.getProperty("formCd").toString().trim();
  293. HashMap<String, String> linkMap = new HashMap<String, String>();
  294. if(rid == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  295. linkMap.put("newConsent", "true");
  296. } else {
  297. linkMap.put("newConsent", "false");
  298. }
  299. linkMap.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
  300. linkMap.put("rid", _consentMstRid);
  301. linkMap.put("guid", _formGuid);
  302. linkMap.put("formRid", _formRid);
  303. linkMap.put("formCd", _formCd);
  304. linkMap.put("parCMDCFT_1PrintNm", _formPrntNm);
  305. mapArrayList.add(linkMap);
  306. }
  307. } catch (ExecutionException e) {
  308. e.printStackTrace();
  309. } catch (InterruptedException e) {
  310. e.printStackTrace();
  311. }
  312. }
  313. return mapArrayList;
  314. }
  315. private String getOcrTag() {
  316. HashMap<String, String> mData = new HashMap<String, String>();
  317. mData.put("instCd", BuildConfig.INST_CD);
  318. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_OCR_TAG, mData);
  319. String ocrTag = "";
  320. try {
  321. SoapObject object = connection.execute().get();
  322. if (object != null) {
  323. ocrTag = object.getProperty("responseData").toString().trim();
  324. }
  325. } catch (ExecutionException e) {
  326. e.printStackTrace();
  327. } catch (InterruptedException e) {
  328. e.printStackTrace();
  329. }
  330. return ocrTag;
  331. }
  332. }