ConsentCreateParam.java 18 KB

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