SPMMO03300.xjs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. var bExpandFlag = false; //수술내역 grid 확장유무
  4. /**
  5. * @desc : 화면 초기화
  6. * @
  7. * @param :
  8. * @return :
  9. * @---------------------------------------------------
  10. */
  11. function fInitializeDone_SPMMO03300(){
  12. ds_opcdlist.clear();
  13. ds_selectoplist.clear();
  14. // 2009. 02.10 pymi
  15. if(opener.frmf_getParameter("SPMMO03300_opParam") == "Y") {
  16. switch1.tabindex = 1;
  17. fReqGetDeptOpIndxList();
  18. } else{
  19. switch1.tabindex = 0;
  20. fReqGetICD9IndxList();
  21. }
  22. var srchdata = opener.frmf_getParameter("SPMMO03300_SEARCHDATA"); //main창에서 검색어로 띄운 경우
  23. if(srchdata.length > 0){
  24. ds_cond.setColumn(0,"reqdata",srchdata);
  25. var e = new ClickEventInfo;
  26. btn_req.onclick.fireEvent(btn_req,e);
  27. }
  28. frmf_createPopupMenu("pmn_selectoplist"
  29. ,"fDelOpCDList"
  30. ,[{id: "1", level: "0", title: "삭제"}]
  31. );
  32. }
  33. /**
  34. * @desc : 단일 수술코드 선택, 그리드 클릭
  35. * @
  36. * @param : trgtrow - 현재 클릭한 그리드의 row 위치
  37. * @return :
  38. * @---------------------------------------------------
  39. */
  40. function fAddOp(trgtrow){
  41. var opcd = ds_opcdlist.getColumn(trgtrow,"opcd");
  42. var dispopcd= ds_opcdlist.getColumn(trgtrow,"dispopcd");
  43. var opengnm = ds_opcdlist.getColumn(trgtrow,"opengnm");
  44. var ophngnm = ds_opcdlist.getColumn(trgtrow,"ophngnm");
  45. var fndrow = ds_selectoplist.findRow("opcd", opcd) ;
  46. if(fndrow < 0){
  47. var currow = ds_selectoplist.addrow();
  48. ds_selectoplist.setColumn(currow,"opcd" , opcd);
  49. ds_selectoplist.setColumn(currow,"dispopcd", dispopcd);
  50. ds_selectoplist.setColumn(currow,"opengnm" , opengnm);
  51. ds_selectoplist.setColumn(currow,"ophngnm" , ophngnm);
  52. }
  53. }
  54. /**
  55. * @desc : 수술용어 조회(검색 조건)
  56. * @
  57. * @param :
  58. * @return :
  59. * @---------------------------------------------------
  60. */
  61. function fReqGetTermOpSrch(){
  62. var cond1;
  63. var cond2;
  64. var cond5 = ds_cond.getColumn(0,"reqdata");
  65. if(cond5.length < 1){ //검색어를 입력하지 않은 경우
  66. sysf_messageBox("검색어를", "C002")
  67. return;
  68. }else if(cond5.length < 2){ //검색어가 2단어 미만인 경우
  69. sysf_messageBox("검색어는 2단어 이상", "C001");
  70. return;
  71. }
  72. var cond3 = utlf_isHangul(cond5);
  73. var cond4 = utlf_getCurrentDate();
  74. if(cond3 == "H"){
  75. cond1 = 2;
  76. cond2 = 3;
  77. }else if(cond3 == "E"){
  78. if(utlf_isNumber(cond5.charAt(1))== true){ //코드
  79. cond1 = 1;
  80. cond2 = 1;
  81. }else{ //문장
  82. cond1 = 2;
  83. cond2 = 3;
  84. }
  85. }
  86. ds_reqdata.cleardata();
  87. ds_reqdata.addRow();
  88. ds_reqdata.setColumn(0,"cond1", cond1);
  89. ds_reqdata.setColumn(0,"cond2", cond2);
  90. ds_reqdata.setColumn(0,"cond3", cond3);
  91. ds_reqdata.setColumn(0,"cond4", cond4);
  92. ds_reqdata.setColumn(0,"cond5", cond5);
  93. var oParam = {};
  94. oParam.id = "TRMMO03110";
  95. oParam.service = "prcpmngtapp.PatDiagMngt";
  96. oParam.method = "reqGetOpTermSrch";
  97. oParam.inds = "req=ds_reqdata";
  98. oParam.outds = "ds_opcdlist=opcdlist";
  99. oParam.async = true;
  100. tranf_submit(oParam);
  101. }
  102. /**
  103. * @desc : 과색인 검색어로 조회
  104. * @
  105. * @param :
  106. * @return :
  107. * @---------------------------------------------------
  108. */
  109. function fReqGetDeptIndxSrch(){
  110. var srchdata = ds_cond.getColumn(0,"reqdata");
  111. if(srchdata.length < 1){ //검색어를 입력하지 않은 경우,
  112. sysf_messageBox("검색어를", "C002");
  113. return;
  114. }
  115. var srchflag = utlf_isHangul(srchdata);
  116. if(srchflag == "E"){
  117. if(utlf_isNumber(srchdata.charAt(1))==true){ //코드
  118. srchflag = "C";
  119. }else{ //코드가 아닌 경우
  120. srchflag = "E";
  121. }
  122. }
  123. ds_reqdata.clear();
  124. ds_reqdata.addColumn("deptindxflag","string");
  125. ds_reqdata.addColumn("deptcd","string");
  126. ds_reqdata.addColumn("srchflag","string");
  127. ds_reqdata.addColumn("srchdata","string");
  128. ds_reqdata.addRow();
  129. ds_reqdata.setColumn(0,"deptindxflag", "9");
  130. ds_reqdata.setColumn(0,"deptcd", sysf_getUserInfo("dutplcecd"));
  131. ds_reqdata.setColumn(0,"srchflag", srchflag);
  132. ds_reqdata.setColumn(0,"srchdata", srchdata.toUpperCase());
  133. var oParam = {};
  134. oParam.id = "TRMMO03113";
  135. oParam.service = "prcpmngtapp.PatDiagMngt";
  136. oParam.method = "reqGetDeptIndxOpTermList";
  137. oParam.inds = "req=ds_reqdata";
  138. oParam.outds = "ds_opcdlist=opcdlist";
  139. oParam.async = true;
  140. oParam.callback = "cf_TRMMO03113";
  141. tranf_submit(oParam);
  142. }
  143. function cf_TRMMO03113(sSvcId, nErrorCode, sErrorMsg) {
  144. if(nErrorCode < 0) return;
  145. }
  146. /**
  147. * @desc : 개인수술SET 검색어로 조회
  148. * @
  149. * @param :
  150. * @return :
  151. * @---------------------------------------------------
  152. */
  153. function fReqGetPrmsOpSETSrch(){
  154. var srchdata = ds_cond.getColumn(0,"reqdata");
  155. if(srchdata.length < 1){ //검색어를 입력하지 않은 경우,
  156. sysf_messageBox("검색어를", "C002");
  157. return;
  158. }
  159. var srchflag = utlf_isHangul(srchdata);
  160. if(srchflag == "E"){
  161. if(utlf_isNumber(srchdata.charAt(1))==true){ //코드
  162. srchflag = "C";
  163. }else{ //코드가 아닌 경우
  164. srchflag = "E";
  165. }
  166. }
  167. ds_reqdata.clear();
  168. ds_reqdata.addColumn("setkindcd","string");
  169. ds_reqdata.addColumn("setclscd","string");
  170. ds_reqdata.addColumn("settypecd","string");
  171. ds_reqdata.addColumn("settrgtcd","string");
  172. ds_reqdata.addColumn("srchflag","string");
  173. ds_reqdata.addColumn("srchdata","string");
  174. ds_reqdata.addRow();
  175. ds_reqdata.setColumn(0,"setkindcd", "P");
  176. ds_reqdata.setColumn(0,"setclscd", "D");
  177. ds_reqdata.setColumn(0,"settypecd", "O");
  178. ds_reqdata.setColumn(0,"settrgtcd", sysf_getUserInfo("userid"));
  179. ds_reqdata.setColumn(0,"srchflag", srchflag);
  180. ds_reqdata.setColumn(0,"srchdata", srchdata);
  181. var oParam = {};
  182. oParam.id = "TRMMO03116";
  183. oParam.service = "prcpmngtapp.PatDiagMngt";
  184. oParam.method = "reqGetPrmsOpSETSrch";
  185. oParam.inds = "req=ds_reqdata";
  186. oParam.outds = "ds_opcdlist=opcdlist";
  187. oParam.async = true;
  188. oParam.callback = "cf_TRMMO03116";
  189. tranf_submit(oParam);
  190. }
  191. function cf_TRMMO03116(sSvcId, nErrorCode, sErrorMsg) {
  192. if(nErrorCode < 0) return;
  193. }
  194. /**
  195. * @desc : ICD9 색인 조회
  196. * @
  197. * @param :
  198. * @return :
  199. * @---------------------------------------------------
  200. */
  201. function fReqGetICD9IndxList(){
  202. ds_reqdata.clear();
  203. ds_reqdata.addColumn("indxflag","string");
  204. ds_reqdata.addRow();
  205. ds_reqdata.setColumn(0,"indxflag", "9");
  206. var oParam = {};
  207. oParam.id = "TRMMO03101";
  208. oParam.service = "prcpmngtapp.PatDiagMngt";
  209. oParam.method = "reqGetIndxList";
  210. oParam.inds = "req=ds_reqdata";
  211. oParam.outds = "ds_indxcdlist=indxcdlist";
  212. oParam.async = true;
  213. oParam.callback = "cf_TRMMO03101";
  214. tranf_submit(oParam);
  215. }
  216. function cf_TRMMO03101(sSvcId, nErrorCode, sErrorMsg) {
  217. if(nErrorCode < 0) return;
  218. }
  219. /**
  220. * @desc : ICD9코드 선택시 진단 조회
  221. * @
  222. * @param :
  223. * @return :
  224. * @---------------------------------------------------
  225. */
  226. function fReqGetICD9CDList(){
  227. if(switch1.icd9.trv_icd9indxcdlist.getTreeChildCount(switch1.icd9.trv_icd9indxcdlist.currentRow) > 0){ //상위index만을 클릭한 경우
  228. return;
  229. }
  230. var indxcd = switch1.icd9.trv_icd9indxcdlist.getCellValue(switch1.icd9.trv_icd9indxcdlist.currentrow,0);
  231. ds_reqdata.clear();
  232. ds_reqdata.addColumn("indxflag","string");
  233. ds_reqdata.addRow();
  234. ds_reqdata.setColumn(0,"icd9indxcd", indxcd);
  235. var oParam = {};
  236. oParam.id = "TRMMO03109";
  237. oParam.service = "prcpmngtapp.PatDiagMngt";
  238. oParam.method = "reqGetICD9CdList";
  239. oParam.inds = "req=ds_reqdata";
  240. oParam.outds = "ds_opcdlist=opcdlist";
  241. oParam.async = true;
  242. oParam.callback = "cf_TRMMO03109";
  243. tranf_submit(oParam);
  244. }
  245. function cf_TRMMO03109(sSvcId, nErrorCode, sErrorMsg) {
  246. if(nErrorCode < 0) return;
  247. }]]></Script>