ConsentCreateParam.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723
  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) {
  29. this.mContext = mContext;
  30. }
  31. public ConsentCreateParam(Context mContext, String userDrFlag, String consentState, String consentStateEng) {
  32. this.mContext = mContext;
  33. this.indexPage = ((ConsentActivity) mContext).indexPage;
  34. this.userDrFlag = userDrFlag;
  35. this.consentState = consentState;
  36. this.consentStateEng = consentStateEng;
  37. }
  38. /**
  39. * 동의서 단일 선택시 서식 global 파라메터
  40. * @author jksong
  41. * @since 2020-05-06 오전 10:07
  42. **/
  43. public HashMap<String, String> setGlobalParam(PatientInfoVO patientInfoVO, String consentMstRid, ConsentFormListVO consentFormListVO) {
  44. HashMap<String, String> map = new HashMap<String, String>();
  45. String loginUserId = Util.getStringPreference(mContext, "userInfo", "userId");
  46. String loginUserDeptCd = Util.getStringPreference(mContext, "userInfo", "deptCd");
  47. String loginUserJobKindCd = Util.getStringPreference(mContext, "userInfo", "jobKindCd");
  48. int rid = Integer.parseInt(consentMstRid);
  49. String ordDeptCd = patientInfoVO.getOrdDeptCd();
  50. String deptEngAbbr = patientInfoVO.getDeptEngAbbr();
  51. String ordDeptNm = patientInfoVO.getOrdDeptNm();
  52. String pid = patientInfoVO.getPid();
  53. String cretNo = patientInfoVO.getCretNo();
  54. String roomCd = patientInfoVO.getRoomCd();
  55. String inDd = patientInfoVO.getInDd();
  56. String dschDd = patientInfoVO.getDschDd();
  57. String ordType = patientInfoVO.getOrdType();
  58. String instCd = patientInfoVO.getInstCd();
  59. String mainDrId = patientInfoVO.getMainDrId();
  60. String mainDrName = patientInfoVO.getMainDrName();
  61. String erDrNm = patientInfoVO.getErDrNm();
  62. String firstRgstDt = patientInfoVO.getFirstRgstDt();
  63. String sa = patientInfoVO.getSa();
  64. String patientName = patientInfoVO.getPatientName();
  65. String juminNo = patientInfoVO.getJuminNo();
  66. String zipCdAddr = patientInfoVO.getZipCdAddr();
  67. String telNum = patientInfoVO.getTelNum();
  68. String insuKind = patientInfoVO.getInsuKind();
  69. String ward = patientInfoVO.getWard();
  70. String dxCd = patientInfoVO.getDxCd();
  71. String dxNm = patientInfoVO.getDxNm();
  72. String gbn = patientInfoVO.getGbn();
  73. String opDeptCd = patientInfoVO.getOpDeptCd();
  74. String opDeptNm = patientInfoVO.getOpDeptNm();
  75. String opDrNm = patientInfoVO.getOpDrNm();
  76. String opDrId = patientInfoVO.getOpDrId();
  77. String opCnfmDd = patientInfoVO.getOpCnfmDd();
  78. String perfDrNm = patientInfoVO.getPerfDrNm();
  79. String perfDrFlag = patientInfoVO.getPerfDrFlag();
  80. String perfDrDept = patientInfoVO.getPerfDrDept();
  81. String opDiagNm = patientInfoVO.getOpDiagNm();
  82. String opNm = patientInfoVO.getOpNm();
  83. String anstDrNm1 = patientInfoVO.getAnstDrNm1();
  84. String anstDrFlag1 = patientInfoVO.getAnstDrFlag1();
  85. String anstDeptNm1 = patientInfoVO.getAnstDeptNm1();
  86. String anstDrNm2 = patientInfoVO.getAnstDrNm2();
  87. String anstDrFlag2 = patientInfoVO.getAnstDrFlag2();
  88. String anstDeptNm2 = patientInfoVO.getAnstDeptNm2();
  89. String anstDrNm3 = patientInfoVO.getAnstDrNm3();
  90. String anstDrFlag3 = patientInfoVO.getAnstDrFlag3();
  91. String anstDeptNm3 = patientInfoVO.getAnstDeptNm3();
  92. String opRsrvNo = patientInfoVO.getOpRsrvNo();
  93. String orderNo = patientInfoVO.getOrderNo();
  94. String printTime = patientInfoVO.getPrintTime();
  95. String ocrCd = patientInfoVO.getOcrCd();
  96. String inputId = patientInfoVO.getInputId();
  97. String inputNm = patientInfoVO.getInputNm();
  98. String signImg = patientInfoVO.getSignImg();
  99. String bp = patientInfoVO.getBp();
  100. String dm = patientInfoVO.getDm();
  101. String heart = patientInfoVO.getHeart();
  102. String kidney = patientInfoVO.getKidney();
  103. String respiration = patientInfoVO.getRespiration();
  104. String hx = patientInfoVO.getHx();
  105. String allergy = patientInfoVO.getAllergy();
  106. String drug = patientInfoVO.getDrug();
  107. String smoking = patientInfoVO.getSmoking();
  108. String idio = patientInfoVO.getIdio();
  109. String nacrotics = patientInfoVO.getNacrotics();
  110. String airway = patientInfoVO.getAirway();
  111. String hemorrhage = patientInfoVO.getHemorrhage();
  112. String statusEtc = patientInfoVO.getStatusEtc();
  113. String signImage = "";
  114. HashMap<String, String> mData = new HashMap<String, String>();
  115. if (!userDrFlag.equals("Y")) {
  116. mData.put("userId", loginUserId);
  117. mData.put("deptCd", loginUserDeptCd);
  118. map.put("mainDrId", loginUserId);
  119. } else {
  120. mData.put("userId", loginUserId);
  121. mData.put("deptCd", loginUserDeptCd);
  122. map.put("mainDrId", mainDrId);
  123. }
  124. if (ordType.equals("O")) {
  125. if (loginUserJobKindCd.indexOf("03") == 0) { // 의사
  126. mData.put("userId", loginUserId);
  127. mData.put("deptCd", loginUserDeptCd);
  128. map.put("mainDrId", loginUserId);
  129. } else if (userDrFlag.equals("N")) { // 의사가 아니고 예외 서식이면 (예외서식이면 N, 예외서식이 아니면 Y)
  130. mData.put("userId", loginUserId);
  131. mData.put("deptCd", loginUserDeptCd);
  132. map.put("mainDrId", loginUserId);
  133. } else if (loginUserJobKindCd.indexOf("03") != 0 && userDrFlag.equals("Y")) { // 의사가 아니고 예외서식이 아니면
  134. mData.put("userId", mainDrId);
  135. mData.put("deptCd", ordDeptCd);
  136. map.put("mainDrId", mainDrId);
  137. }
  138. }
  139. map.put("userDrFlag", userDrFlag);
  140. mData.put("instCd", BuildConfig.INST_CD);
  141. UserVO userVO = getUserInfo(mData);
  142. if (userVO.getUserId().equals("")) {
  143. mData.put("userId", loginUserId);
  144. mData.put("deptCd", loginUserDeptCd);
  145. userVO = getUserInfo(mData);
  146. }
  147. signImage = getSignImage(mData);
  148. map.put("parCMSGBD_ExplDrNm", "");
  149. map.put("parCMSGBD_ExplDrSignature", "");
  150. map.put("parCMSGBD_ExplDrTelNo", "");
  151. if (userVO.getJobKindCd().indexOf("03") == 0) {
  152. map.put("parCMSGBD_ExplDrNm", userVO.getUserName());
  153. map.put("parCMSGBD_ExplDrSignature", signImage);
  154. map.put("parCMSGBD_ExplDrTelNo", userVO.getUserTelNo());
  155. }
  156. // 새 서식을 작성할 경우
  157. if (rid == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  158. String[] ipAddressAr = Util.getIpAddress(mContext).split("[.]");
  159. String ipAddress = ipAddressAr[2] + "." + ipAddressAr[3];
  160. map.put("parCMDCFT_device", "M");
  161. map.put("parCMDCFT_1PrintIP", ipAddress);
  162. map.put("parCMDCHD_1PatientNo", pid);
  163. map.put("parCMDCHD_1SexAge", sa);
  164. map.put("parCMDCHD_1PatientNm", patientName);
  165. map.put("parCMDCHD_1SocialSecuNo", juminNo);
  166. map.put("parCMDCHD_1VisitDt", Util.addSlashDate(inDd));
  167. map.put("parCMDCHD_1DepartmentNm", deptEngAbbr);
  168. map.put("parCMDCHD_1DepartmentCd", ordDeptCd);
  169. map.put("parCMDCBD_PopupV1_SurgeryDoctor", perfDrNm);
  170. map.put("parCMDCBD_PopupV1_DxNm", !opDiagNm.equals("") ? opDiagNm : dxNm);
  171. map.put("parCMDCBD_DiseaseBox_bp", bp);
  172. map.put("parCMDCBD_DiseaseBox_dm", dm);
  173. map.put("parCMDCBD_DiseaseBox_1CardioVascular", heart);
  174. map.put("parCMDCBD_DiseaseBox_3Metabolic", kidney);
  175. map.put("parCMDCBD_DiseaseBox_2Respiratory", respiration);
  176. map.put("parCMDCBD_DiseaseBox_9History1", hx);
  177. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution2", allergy);
  178. map.put("parCMDCBD_DiseaseBox_6Medicine", drug);
  179. map.put("parCMDCBD_DiseaseBox_8HabitSmoking", smoking);
  180. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution1", idio);
  181. map.put("parCMDCBD_DiseaseBox_9History2", nacrotics);
  182. map.put("parCMDCBD_DiseaseBox_7Airway", airway);
  183. map.put("parCMDCBD_DiseaseBox_5Blood", hemorrhage);
  184. map.put("parCMDCBD_status_etc", statusEtc);
  185. map.put("parCMDCBD_signdate", opCnfmDd);
  186. map.put("parCMDCBD_signtime", "");
  187. map.put("parCMDCFT_1PrintDt", "");
  188. map.put("parCMDCBD_Doctor_Doctor1Nm", mainDrName); // 담당의사
  189. map.put("parCMSGBD_INPUTNm", userVO.getUserName());
  190. map.put("parCMSGBD_INPUTSignature", signImage);
  191. map.put("parCMSGBD_PT_address", zipCdAddr);
  192. map.put("parCMSGBD_PT_tel", telNum);
  193. map.put("parCMSGBD_Insukind", insuKind);
  194. map.put("parCMSGBD_PT_birthday", juminNo.split("-")[0]);
  195. map.put("parCMDCBD_PopupV1_OPNm", opNm.equals("") ? consentFormListVO.getOpNm() : opNm);
  196. map.put("parCMDCBD_PopupV1_SPNm", opNm.equals("") ? consentFormListVO.getOpNm() : opNm);
  197. map.put("parCMSGBD_INPUTTelNo", userVO.getUserTelNo());
  198. map.put("parDEFAULT_DUTINSTCD", instCd);
  199. map.put("parDEFAULT_POPUP_PATH", BuildConfig.CONSENT_SERVER_URL);
  200. map.put("parCMDCBD_PopupV1_SurgeryDepartment", perfDrFlag.equals("전문의") ? perfDrDept : "");
  201. map.put("parCMDCBD_PopupV1_SurgeryCommonDepartment", perfDrFlag.equals("전공의") ? perfDrDept : "");
  202. map.put("parCMDCBD_Anst1DrNm", anstDrNm1);
  203. map.put("parCMDCBD_Anst1DeptNm", anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  204. map.put("parCMDCBD_Anst1CommonDeptNm", !anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  205. map.put("parCMDCBD_Anst2DrNm", anstDrNm2);
  206. map.put("parCMDCBD_Anst2DeptNm", anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  207. map.put("parCMDCBD_Anst2CommonDeptNm", !anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  208. map.put("parCMDCBD_Anst3DrNm", anstDrNm3);
  209. map.put("parCMDCBD_Anst3DeptNm", anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  210. map.put("parCMDCBD_Anst3CommonDeptNm", !anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  211. map.put("parCMSGBD_INPUTDeptcd", userVO.getUserDeptCode());
  212. map.put("parCMSGBD_Cretno", cretNo);
  213. map.put("parCMDCBD_OpRsrvNo", opRsrvNo);
  214. map.put("parCMDCHD_1PatientNmFix", patientName);
  215. map.put("parCMSGBD_PT_birthdayFix", juminNo.split("-")[0]);
  216. map.put("parCMSGBD_PT_telFix", telNum);
  217. map.put("parCMDCBD_SpDrYN", "");
  218. map.put("parCMDCBD_ContStartDate", "");
  219. map.put("parCMDCBD_ContEndDate", "");
  220. map.put("parCMDCBD_RoomCapa", "");
  221. map.put("parCMDCBD_ContStaff1Name", "");
  222. map.put("parCMDCBD_ContStaff2Name", "");
  223. map.put("parCMDCBD_ContStaff3Name", "");
  224. map.put("parCMDCBD_CardNo", "");
  225. map.put("ordType", ordType);
  226. map.put("ward", ward);
  227. map.put("dschDd", dschDd);
  228. if(ward.length() > 0 && roomCd.length() > 0) {
  229. map.put("parNUR_Fast_HospitalroomNo", ward + '/' + roomCd);
  230. }
  231. } else {
  232. map.put("parCMDCHD_1PatientNo", pid);
  233. map.put("parCMDCHD_1DepartmentCd", opDeptCd);
  234. map.put("ordType", ordType);
  235. map.put("parCMDCHD_1VisitDt", Util.addSlashDate(inDd));
  236. map.put("ward", ward);
  237. map.put("parCMSGBD_Cretno", cretNo);
  238. map.put("parCMDCBD_OpRsrvNo", opRsrvNo);
  239. map.put("dschDd", dschDd);
  240. if(ward.length() > 0 && roomCd.length() > 0) {
  241. map.put("parNUR_Fast_HospitalroomNo", ward + '/' + roomCd);
  242. }
  243. }
  244. return map;
  245. }
  246. /**
  247. * 동의서 단일 선택시 서식 form 파라메터
  248. * @author jksong
  249. * @since 2020-05-06 오전 10:08
  250. **/
  251. public ArrayList<HashMap<String, String>> setFormParam(String consentMstRid, String formRid, String guid, String formPrntNm, String formCd, String linkFormCd, String ocrTag, String drOnly, String formName) {
  252. ArrayList<HashMap<String, String>> mapArrayList = new ArrayList<HashMap<String, String>>();
  253. HashMap<String, String> map = new HashMap<String, String>();
  254. HashMap<String, String> mData = new HashMap<String, String>();
  255. int rid = Integer.parseInt(consentMstRid);
  256. if(rid == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  257. map.put("newConsent", "true");
  258. } else {
  259. map.put("newConsent", "false");
  260. }
  261. map.put("consentStateEng", consentStateEng);
  262. map.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
  263. map.put("parCMDCFT_1PrintNm", formPrntNm);
  264. map.put("rid", consentMstRid);
  265. map.put("guid", guid);
  266. map.put("formCd", formCd);
  267. map.put("formRid", formRid);
  268. map.put("drOnly", drOnly);
  269. map.put("formName", formName);
  270. mapArrayList.add(map);
  271. if (!linkFormCd.equals("")) {
  272. mData.put("formCd", linkFormCd);
  273. mData.put("instCd", BuildConfig.INST_CD);
  274. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_CONSENT, ConsentConfig.GET_CONSENT_BY_FORMCD, mData);
  275. try {
  276. SoapObject object = connection.execute().get();
  277. if (object.getPropertyCount() > 1) {
  278. String _consentMstRid = object.getProperty("consentMstRid").toString().trim();
  279. String _formGuid = object.getProperty("formGuid").toString().trim();
  280. String _formPrntNm = object.getProperty("formPrntNm").toString().trim();
  281. String _formRid = object.getProperty("formRid").toString().trim();
  282. String _formCd = object.getProperty("formCd").toString().trim();
  283. HashMap<String, String> linkMap = new HashMap<String, String>();
  284. if(Integer.parseInt(_consentMstRid) == 0 || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
  285. linkMap.put("newConsent", "true");
  286. } else {
  287. linkMap.put("newConsent", "false");
  288. }
  289. linkMap.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
  290. linkMap.put("rid", _consentMstRid);
  291. linkMap.put("guid", _formGuid);
  292. linkMap.put("formRid", _formRid);
  293. linkMap.put("formCd", _formCd);
  294. linkMap.put("parCMDCFT_1PrintNm", _formPrntNm);
  295. mapArrayList.add(linkMap);
  296. }
  297. } catch (ExecutionException e) {
  298. e.printStackTrace();
  299. } catch (InterruptedException e) {
  300. e.printStackTrace();
  301. }
  302. }
  303. return mapArrayList;
  304. }
  305. /**
  306. * 동의서 멀티 선택시 서식 global 파라메터
  307. * @author jksong
  308. * @since 2020-05-06 오전 10:08
  309. **/
  310. public HashMap<String, String> setMultiGlobalParam(PatientInfoVO patientInfoVO){
  311. HashMap<String, String> map = new HashMap<String, String>();
  312. String loginUserId = Util.getStringPreference(mContext, "userInfo", "userId");
  313. String loginUserDeptCd = Util.getStringPreference(mContext, "userInfo", "deptCd");
  314. String loginUserJobKindCd = Util.getStringPreference(mContext, "userInfo", "jobKindCd");
  315. String ordDeptCd = patientInfoVO.getOrdDeptCd();
  316. String pid = patientInfoVO.getPid();
  317. String cretNo = patientInfoVO.getCretNo();
  318. String roomCd = patientInfoVO.getRoomCd();
  319. String inDd = patientInfoVO.getInDd();
  320. String dschDd = patientInfoVO.getDschDd();
  321. String ordType = patientInfoVO.getOrdType();
  322. String mainDrId = patientInfoVO.getMainDrId();
  323. String ward = patientInfoVO.getWard();
  324. String opDeptCd = patientInfoVO.getOpDeptCd();
  325. String opRsrvNo = patientInfoVO.getOpRsrvNo();
  326. String signImage = "";
  327. HashMap<String, String> mData = new HashMap<String, String>();
  328. if (!userDrFlag.equals("Y")) {
  329. mData.put("userId", loginUserId);
  330. mData.put("deptCd", loginUserDeptCd);
  331. map.put("mainDrId", loginUserId);
  332. } else {
  333. mData.put("userId", loginUserId);
  334. mData.put("deptCd", loginUserDeptCd);
  335. map.put("mainDrId", mainDrId);
  336. }
  337. if (ordType.equals("O")) {
  338. if (loginUserJobKindCd.indexOf("03") == 0) { // 의사
  339. mData.put("userId", loginUserId);
  340. mData.put("deptCd", loginUserDeptCd);
  341. map.put("mainDrId", loginUserId);
  342. } else if (userDrFlag.equals("N")) { // 의사가 아니고 예외 서식이면 (예외서식이면 N, 예외서식이 아니면 Y)
  343. mData.put("userId", loginUserId);
  344. mData.put("deptCd", loginUserDeptCd);
  345. map.put("mainDrId", loginUserId);
  346. } else if (loginUserJobKindCd.indexOf("03") != 0 && userDrFlag.equals("Y")) { // 의사가 아니고 예외서식이 아니면
  347. mData.put("userId", mainDrId);
  348. mData.put("deptCd", ordDeptCd);
  349. map.put("mainDrId", mainDrId);
  350. }
  351. }
  352. map.put("userDrFlag", userDrFlag);
  353. mData.put("instCd", BuildConfig.INST_CD);
  354. UserVO userVO = getUserInfo(mData);
  355. if (userVO.getUserId().equals("")) {
  356. mData.put("userId", loginUserId);
  357. mData.put("deptCd", loginUserDeptCd);
  358. userVO = getUserInfo(mData);
  359. }
  360. signImage = getSignImage(mData);
  361. map.put("parCMSGBD_ExplDrNm", "");
  362. map.put("parCMSGBD_ExplDrSignature", "");
  363. map.put("parCMSGBD_ExplDrTelNo", "");
  364. if (userVO.getJobKindCd().indexOf("03") == 0) {
  365. map.put("parCMSGBD_ExplDrNm", userVO.getUserName());
  366. map.put("parCMSGBD_ExplDrSignature", signImage);
  367. map.put("parCMSGBD_ExplDrTelNo", userVO.getUserTelNo());
  368. }
  369. map.put("parCMDCBD_SpDrYN", "");
  370. map.put("parCMDCBD_ContStartDate", "");
  371. map.put("parCMDCBD_ContEndDate", "");
  372. map.put("parCMDCBD_RoomCapa", "");
  373. map.put("parCMDCBD_ContStaff1Name", "");
  374. map.put("parCMDCBD_ContStaff2Name", "");
  375. map.put("parCMDCBD_ContStaff3Name", "");
  376. map.put("parCMDCBD_CardNo", "");
  377. map.put("parCMDCHD_1PatientNo", pid);
  378. map.put("parCMDCHD_1DepartmentCd", opDeptCd);
  379. map.put("ordType", ordType);
  380. map.put("parCMDCHD_1VisitDt", Util.addSlashDate(inDd));
  381. map.put("ward", ward);
  382. map.put("parCMSGBD_Cretno", cretNo);
  383. map.put("parCMDCBD_OpRsrvNo", opRsrvNo);
  384. map.put("dschDd", dschDd);
  385. if(ward.length() > 0 && roomCd.length() > 0) {
  386. map.put("parNUR_Fast_HospitalroomNo", ward + '/' + roomCd);
  387. }
  388. return map;
  389. }
  390. /**
  391. * 동의서 다중선택시 form 파라메터
  392. * @author jksong
  393. * @since 2020-05-06 오전 10:25
  394. **/
  395. public HashMap<String, String> setMultiFormParam(PatientInfoVO patientInfoVO, ConsentFormListVO consentFormListVO) {
  396. // ArrayList<HashMap<String, String>> mapArrayList = new ArrayList<HashMap<String, String>>();
  397. HashMap<String, String> map = new HashMap<String, String>();
  398. String consentMstRid = consentFormListVO.getConsentMstRid();
  399. String ordDeptCd = patientInfoVO.getOrdDeptCd();
  400. String deptEngAbbr = patientInfoVO.getDeptEngAbbr();
  401. String ordDeptNm = patientInfoVO.getOrdDeptNm();
  402. String pid = patientInfoVO.getPid();
  403. String cretNo = patientInfoVO.getCretNo();
  404. String roomCd = patientInfoVO.getRoomCd();
  405. String inDd = patientInfoVO.getInDd();
  406. String dschDd = patientInfoVO.getDschDd();
  407. String ordType = patientInfoVO.getOrdType();
  408. String instCd = patientInfoVO.getInstCd();
  409. String mainDrId = patientInfoVO.getMainDrId();
  410. String mainDrName = patientInfoVO.getMainDrName();
  411. String erDrNm = patientInfoVO.getErDrNm();
  412. String firstRgstDt = patientInfoVO.getFirstRgstDt();
  413. String sa = patientInfoVO.getSa();
  414. String patientName = patientInfoVO.getPatientName();
  415. String juminNo = patientInfoVO.getJuminNo();
  416. String zipCdAddr = patientInfoVO.getZipCdAddr();
  417. String telNum = patientInfoVO.getTelNum();
  418. String insuKind = patientInfoVO.getInsuKind();
  419. String ward = patientInfoVO.getWard();
  420. String dxCd = patientInfoVO.getDxCd();
  421. String dxNm = patientInfoVO.getDxNm();
  422. String gbn = patientInfoVO.getGbn();
  423. String opDeptCd = patientInfoVO.getOpDeptCd();
  424. String opDeptNm = patientInfoVO.getOpDeptNm();
  425. String opDrNm = patientInfoVO.getOpDrNm();
  426. String opDrId = patientInfoVO.getOpDrId();
  427. String opCnfmDd = patientInfoVO.getOpCnfmDd();
  428. String perfDrNm = patientInfoVO.getPerfDrNm();
  429. String perfDrFlag = patientInfoVO.getPerfDrFlag();
  430. String perfDrDept = patientInfoVO.getPerfDrDept();
  431. String opDiagNm = patientInfoVO.getOpDiagNm();
  432. String opNm = patientInfoVO.getOpNm();
  433. String anstDrNm1 = patientInfoVO.getAnstDrNm1();
  434. String anstDrFlag1 = patientInfoVO.getAnstDrFlag1();
  435. String anstDeptNm1 = patientInfoVO.getAnstDeptNm1();
  436. String anstDrNm2 = patientInfoVO.getAnstDrNm2();
  437. String anstDrFlag2 = patientInfoVO.getAnstDrFlag2();
  438. String anstDeptNm2 = patientInfoVO.getAnstDeptNm2();
  439. String anstDrNm3 = patientInfoVO.getAnstDrNm3();
  440. String anstDrFlag3 = patientInfoVO.getAnstDrFlag3();
  441. String anstDeptNm3 = patientInfoVO.getAnstDeptNm3();
  442. String opRsrvNo = patientInfoVO.getOpRsrvNo();
  443. String orderNo = patientInfoVO.getOrderNo();
  444. String printTime = patientInfoVO.getPrintTime();
  445. String ocrCd = patientInfoVO.getOcrCd();
  446. String inputId = patientInfoVO.getInputId();
  447. String inputNm = patientInfoVO.getInputNm();
  448. String signImg = patientInfoVO.getSignImg();
  449. String bp = patientInfoVO.getBp();
  450. String dm = patientInfoVO.getDm();
  451. String heart = patientInfoVO.getHeart();
  452. String kidney = patientInfoVO.getKidney();
  453. String respiration = patientInfoVO.getRespiration();
  454. String hx = patientInfoVO.getHx();
  455. String allergy = patientInfoVO.getAllergy();
  456. String drug = patientInfoVO.getDrug();
  457. String smoking = patientInfoVO.getSmoking();
  458. String idio = patientInfoVO.getIdio();
  459. String nacrotics = patientInfoVO.getNacrotics();
  460. String airway = patientInfoVO.getAirway();
  461. String hemorrhage = patientInfoVO.getHemorrhage();
  462. String statusEtc = patientInfoVO.getStatusEtc();
  463. String signImage = "";
  464. if (consentMstRid.equals("0") || consentFormListVO.getConsentStateEng().equals(ConsentConfig.UNFINISHED)) {
  465. String[] ipAddressAr = Util.getIpAddress(mContext).split("[.]");
  466. String ipAddress = ipAddressAr[2] + "." + ipAddressAr[3];
  467. map.put("parCMDCFT_device", "M");
  468. map.put("parCMDCFT_1PrintIP", ipAddress);
  469. map.put("parCMDCHD_1PatientNo", pid);
  470. map.put("parCMDCHD_1SexAge", sa);
  471. map.put("parCMDCHD_1PatientNm", patientName);
  472. map.put("parCMDCHD_1SocialSecuNo", juminNo);
  473. map.put("parCMDCHD_1VisitDt", Util.addSlashDate(inDd));
  474. map.put("parCMDCHD_1DepartmentNm", deptEngAbbr);
  475. map.put("parCMDCHD_1DepartmentCd", ordDeptCd);
  476. map.put("parCMDCBD_PopupV1_SurgeryDoctor", perfDrNm);
  477. map.put("parCMDCBD_PopupV1_DxNm", !opDiagNm.equals("") ? opDiagNm : dxNm);
  478. map.put("parCMDCBD_DiseaseBox_bp", bp);
  479. map.put("parCMDCBD_DiseaseBox_dm", dm);
  480. map.put("parCMDCBD_DiseaseBox_1CardioVascular", heart);
  481. map.put("parCMDCBD_DiseaseBox_3Metabolic", kidney);
  482. map.put("parCMDCBD_DiseaseBox_2Respiratory", respiration);
  483. map.put("parCMDCBD_DiseaseBox_9History1", hx);
  484. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution2", allergy);
  485. map.put("parCMDCBD_DiseaseBox_6Medicine", drug);
  486. map.put("parCMDCBD_DiseaseBox_8HabitSmoking", smoking);
  487. map.put("parCMDCBD_DiseaseBox_4UnusualConstitution1", idio);
  488. map.put("parCMDCBD_DiseaseBox_9History2", nacrotics);
  489. map.put("parCMDCBD_DiseaseBox_7Airway", airway);
  490. map.put("parCMDCBD_DiseaseBox_5Blood", hemorrhage);
  491. map.put("parCMDCBD_status_etc", statusEtc);
  492. map.put("parCMDCBD_signdate", opCnfmDd);
  493. map.put("parCMDCBD_signtime", "");
  494. map.put("parCMDCFT_1PrintDt", "");
  495. map.put("parCMDCBD_Doctor_Doctor1Nm", mainDrName); // 담당의사
  496. // map.put("parCMSGBD_INPUTNm", userVO.getUserName());
  497. map.put("parCMSGBD_INPUTSignature", signImage);
  498. map.put("parCMSGBD_PT_address", zipCdAddr);
  499. map.put("parCMSGBD_PT_tel", telNum);
  500. map.put("parCMSGBD_Insukind", insuKind);
  501. map.put("parCMSGBD_PT_birthday", juminNo.split("-")[0]);
  502. map.put("parCMDCBD_PopupV1_OPNm", opNm.equals("") ? consentFormListVO.getOpNm() : opNm);
  503. map.put("parCMDCBD_PopupV1_SPNm", opNm.equals("") ? consentFormListVO.getOpNm() : opNm);
  504. // map.put("parCMSGBD_INPUTTelNo", userVO.getUserTelNo());
  505. map.put("parDEFAULT_DUTINSTCD", instCd);
  506. map.put("parDEFAULT_POPUP_PATH", BuildConfig.CONSENT_SERVER_URL);
  507. map.put("parCMDCBD_PopupV1_SurgeryDepartment", perfDrFlag.equals("전문의") ? perfDrDept : "");
  508. map.put("parCMDCBD_PopupV1_SurgeryCommonDepartment", perfDrFlag.equals("전공의") ? perfDrDept : "");
  509. map.put("parCMDCBD_Anst1DrNm", anstDrNm1);
  510. map.put("parCMDCBD_Anst1DeptNm", anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  511. map.put("parCMDCBD_Anst1CommonDeptNm", !anstDrFlag1.equals("전문의") ? anstDeptNm1 : "");
  512. map.put("parCMDCBD_Anst2DrNm", anstDrNm2);
  513. map.put("parCMDCBD_Anst2DeptNm", anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  514. map.put("parCMDCBD_Anst2CommonDeptNm", !anstDrFlag2.equals("전문의") ? anstDeptNm2 : "");
  515. map.put("parCMDCBD_Anst3DrNm", anstDrNm3);
  516. map.put("parCMDCBD_Anst3DeptNm", anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  517. map.put("parCMDCBD_Anst3CommonDeptNm", !anstDrFlag3.equals("전문의") ? anstDeptNm3 : "");
  518. // map.put("parCMSGBD_INPUTDeptcd", userVO.getUserDeptCode());
  519. map.put("parCMSGBD_Cretno", cretNo);
  520. map.put("parCMDCBD_OpRsrvNo", opRsrvNo);
  521. map.put("parCMDCHD_1PatientNmFix", patientName);
  522. map.put("parCMSGBD_PT_birthdayFix", juminNo.split("-")[0]);
  523. map.put("parCMSGBD_PT_telFix", telNum);
  524. map.put("parCMDCBD_SpDrYN", "");
  525. map.put("parCMDCBD_ContStartDate", "");
  526. map.put("parCMDCBD_ContEndDate", "");
  527. map.put("parCMDCBD_RoomCapa", "");
  528. map.put("parCMDCBD_ContStaff1Name", "");
  529. map.put("parCMDCBD_ContStaff2Name", "");
  530. map.put("parCMDCBD_ContStaff3Name", "");
  531. map.put("parCMDCBD_CardNo", "");
  532. map.put("ordType", ordType);
  533. map.put("ward", ward);
  534. map.put("dschDd", dschDd);
  535. if(ward.length() > 0 && roomCd.length() > 0) {
  536. map.put("parNUR_Fast_HospitalroomNo", ward + '/' + roomCd);
  537. }
  538. map.put("newConsent", "true");
  539. } else {
  540. map.put("newConsent", "false");
  541. }
  542. String ocrTag = consentFormListVO.getOcrTag();
  543. String formPrntNm = consentFormListVO.getFormPrntNm();
  544. String guid = consentFormListVO.getFormGuid();
  545. String formCd = consentFormListVO.getFormCd();
  546. String formRid = consentFormListVO.getFormRid();
  547. String drOnly = consentFormListVO.getDrOnly();
  548. String formName = consentFormListVO.getFormName();
  549. map.put("consentStateEng", consentFormListVO.getConsentStateEng());
  550. map.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
  551. map.put("parCMDCFT_1PrintNm", formPrntNm);
  552. map.put("rid", consentMstRid);
  553. map.put("guid", guid);
  554. map.put("formCd", formCd);
  555. map.put("formRid", formRid);
  556. map.put("drOnly", drOnly);
  557. map.put("formName", formName);
  558. return map;
  559. }
  560. private String getOcrTag() {
  561. HashMap<String, String> mData = new HashMap<String, String>();
  562. mData.put("instCd", BuildConfig.INST_CD);
  563. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_OCR_TAG, mData);
  564. String ocrTag = "";
  565. try {
  566. SoapObject object = connection.execute().get();
  567. if (object != null) {
  568. ocrTag = object.getProperty("responseData").toString().trim();
  569. }
  570. } catch (ExecutionException e) {
  571. e.printStackTrace();
  572. } catch (InterruptedException e) {
  573. e.printStackTrace();
  574. }
  575. return ocrTag;
  576. }
  577. private String getSignImage(HashMap<String, String> mData) {
  578. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_SIGN_DATA, mData);
  579. String signImage = "";
  580. try {
  581. SoapObject object = connection.execute().get();
  582. if (object != null) {
  583. signImage = object.getProperty("SignImage").toString().trim();
  584. signImage = signImage.equals(ConsentConfig.RETURN_NULL) ? "" : signImage;
  585. }
  586. } catch (ExecutionException e) {
  587. e.printStackTrace();
  588. } catch (InterruptedException e) {
  589. e.printStackTrace();
  590. }
  591. return signImage;
  592. }
  593. private UserVO getUserInfo(HashMap<String, String> mData) {
  594. UserVO userVO = new UserVO();
  595. HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_USER_INFO, mData);
  596. try {
  597. SoapObject object = connection.execute().get();
  598. Log.e(TAG, "object -- > " + object);
  599. String userId = object.getProperty("userId").toString().trim();
  600. String userName = object.getProperty("userName").toString().trim();
  601. String userDeptCode = object.getProperty("userDeptCode").toString().trim();
  602. String userDeptName = object.getProperty("userDeptName").toString().trim();
  603. String userDeptEngAbbr = object.getProperty("deptEngAbbr").toString().trim();
  604. String jobKindCd = object.getProperty("jobKindCd").toString().trim();
  605. String jobKindNm = object.getProperty("jobKindNm").toString().trim();
  606. String userInstCd = object.getProperty("instCd").toString().trim();
  607. String userTelNo = object.getProperty("userTelNo").toString().trim();
  608. String ioFlag = object.getProperty("ioFlag").toString().trim();
  609. userId = userId.equals(ConsentConfig.RETURN_NULL) ? "" : userId;
  610. userName = userName.equals(ConsentConfig.RETURN_NULL) ? "" : userName;
  611. userDeptCode = userDeptCode.equals(ConsentConfig.RETURN_NULL) ? "" : userDeptCode;
  612. userDeptName = userDeptName.equals(ConsentConfig.RETURN_NULL) ? "" : userDeptName;
  613. userDeptEngAbbr = userDeptEngAbbr.equals(ConsentConfig.RETURN_NULL) ? "" : userDeptEngAbbr;
  614. jobKindCd = jobKindCd.equals(ConsentConfig.RETURN_NULL) ? "" : jobKindCd;
  615. jobKindNm = jobKindNm.equals(ConsentConfig.RETURN_NULL) ? "" : jobKindNm;
  616. userInstCd = userInstCd.equals(ConsentConfig.RETURN_NULL) ? "" : userInstCd;
  617. userTelNo = userTelNo.equals(ConsentConfig.RETURN_NULL) ? "" : userTelNo;
  618. ioFlag = ioFlag.equals(ConsentConfig.RETURN_NULL) ? "" : ioFlag;
  619. userVO.setUserId(userId);
  620. userVO.setUserName(userName);
  621. userVO.setUserDeptCode(userDeptCode);
  622. userVO.setUserDeptName(userDeptName);
  623. userVO.setDeptEngAbbr(userDeptEngAbbr);
  624. userVO.setJobKindCd(jobKindCd);
  625. userVO.setJobKindNm(jobKindNm);
  626. userVO.setUserInstCd(userInstCd);
  627. userVO.setUserTelNo(userTelNo);
  628. userVO.setIoFlag(ioFlag);
  629. } catch (ExecutionException e) {
  630. e.printStackTrace();
  631. } catch (InterruptedException e) {
  632. e.printStackTrace();
  633. }
  634. return userVO;
  635. }
  636. }