SPMMB00600.xjs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2015-02-03
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2015-02-03 Live Converter TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. var gSELECT = "";
  16. var gOPCOL = "";
  17. var gDIAGCOL= "";
  18. // var sPRMSPRCPSETLIST = "/root/main/prmsprcpsetinfo/prmsprcpsetlist"; ds_main_prmsprcpsetlist
  19. // var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist"; ds_hidden_prmsprcpsetlist
  20. // var sETCPRMSPRCPSETDETLLIST = "/root/main/etcprmsprcpsetdetlinfo/etcprmsprcpsetdetllist"; ds_main_etcprmsprcpsetdetllist
  21. // var sPRMSPRCPSETLIST_TMP = "/root/hidden/etcprmsprcpsettmp/etcprmsprcpsetlist"; ds_main_etcprmsprcpsetlist
  22. var arErrorCode = new HashArray();
  23. //=======================================================================================
  24. // Function
  25. //---------------------------------------------------------------------------------------
  26. /****************************************************************************************
  27. * Function : fInitialize_SPMMB00600
  28. * Description : 진단연계수술 초기화
  29. * Argument :
  30. * return type :
  31. * Creator :
  32. ****************************************************************************************/
  33. function fInitialize_SPMMB00600(){
  34. fReqDiagOpCoordSETTree("D");
  35. btn_deldiag.enable = false;
  36. btn_savediag.enable = false;
  37. btn_delop.enable = false;
  38. btn_saveop.enable = false;
  39. btn_op.enable = false;
  40. ds_main_diaglinklist.clearData();
  41. ds_main_oplinklist.clearData();
  42. ds_main_diaglinklist.addRow();
  43. }
  44. /****************************************************************************************
  45. * Function : fReqDiagOpCoordSETTree
  46. * Description : 진단연계수술 SET Tree조회
  47. * Argument : setkindcd : set 조회 조건 (D:부서 / P:개인)
  48. * return type :
  49. * Creator :
  50. ****************************************************************************************/
  51. function fReqDiagOpCoordSETTree(setkindcd){
  52. if(setkindcd == "P"){ //개인
  53. var deptcd = "";
  54. var deptnm = "";
  55. var settypecd = "A";
  56. }else{
  57. var deptcd = sysf_getUserInfo("dutplcecd");
  58. var deptnm = sysf_getUserInfo("dutplcenm");
  59. var settypecd = "B";
  60. }
  61. ds_send_reqdata.clear();
  62. dsf_makeValue(ds_send_reqdata,"setkindcd","string", setkindcd); //개인, 부서
  63. dsf_makeValue(ds_send_reqdata,"setclscd" ,"string", "D"); //의사
  64. dsf_makeValue(ds_send_reqdata,"settypecd","string", settypecd); //처방, 진단, 수술, 프로토콜
  65. dsf_makeValue(ds_send_reqdata,"procflag" ,"string", ""); //처리구분(타부서SET 조회시 설정)
  66. dsf_makeValue(ds_send_reqdata,"deptcd" ,"string", deptcd); //부서코드(타부서SET 조회시 설정)
  67. dsf_makeValue(ds_send_reqdata,"deptnm" ,"string", deptnm); //부서명 (타부서SET 조회시 설정)
  68. dsf_makeValue(ds_send_reqdata,"ioflag" ,"string", "O"); //외래입원구분
  69. var oParam = {};
  70. oParam.id = "TRMMB00601";
  71. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  72. oParam.method = "reqGetPrmsPrcpSetList";
  73. oParam.inds = "req=ds_send_reqdata";
  74. oParam.outds = "ds_main_prmsprcpsetlist=prmsprcpsetlist";
  75. oParam.async = false;
  76. oParam.callback = "";
  77. tranf_submit(oParam);
  78. // if(submit("TRMMB00601")){
  79. // trv_prmsprcpsetlist.rebuild();
  80. // }
  81. }
  82. /****************************************************************************************
  83. * Function : fClearDiagOpGrd
  84. * Description : 진단연계수술 그리드 clear
  85. * Argument :
  86. * return type :
  87. * Creator :
  88. ****************************************************************************************/
  89. function fClearDiagOpGrd(){
  90. ds_main_diaglinklist.clearData();
  91. ds_main_oplinklist.clearData();
  92. ds_main_diaglinklist.addRow();
  93. ds_main_oplinklist.addRow();
  94. }
  95. /****************************************************************************************
  96. * Function : fPopupMenu
  97. * Description : 팝업메뉴 선택시 실행 함수
  98. * Argument :
  99. * return type :
  100. * Creator :
  101. ****************************************************************************************/
  102. function fPopupMenu(obj:PopupMenu, e:MenuClickEventInfo) {
  103. if(e.id == "N") {
  104. fAddPrmsDiagSet();
  105. } else if(e.id == "R") {
  106. fUpdtPrmsDiagSet();
  107. } else if(e.id == "D") {
  108. fDelPrmsDiagSet();
  109. }
  110. }
  111. /****************************************************************************************
  112. * Function : fAddPrmsDiagSet
  113. * Description : 새폴더 추가
  114. * Argument :
  115. * return type :
  116. * Creator :
  117. ****************************************************************************************/
  118. function fAddPrmsDiagSet(){
  119. // var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  120. // var rowPos = item.index + 1;
  121. var rowPos = ds_main_prmsprcpsetlist.rowposition;
  122. if(fSetPrmsDiagInfo(rowPos, "i")!=-1){
  123. ds_hidden_prmsprcpsetlist.setColumn(0,"status","i");
  124. fShowWndIptBox();
  125. }
  126. }
  127. /****************************************************************************************
  128. * Function : fUpdtPrmsDiagSet
  129. * Description : 폴더 수정
  130. * Argument :
  131. * return type :
  132. * Creator :
  133. ****************************************************************************************/
  134. function fUpdtPrmsDiagSet(){
  135. // var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  136. // var rowPos = item.index + 1;
  137. var rowPos = ds_main_prmsprcpsetlist.rowposition;
  138. if(fSetPrmsDiagInfo(rowPos, "u")!=-1){
  139. fShowWndIptBox();
  140. }
  141. }
  142. /****************************************************************************************
  143. * Function : fDelPrmsDiagSet
  144. * Description : 폴더 삭제
  145. * Argument :
  146. * return type :
  147. * Creator :
  148. ****************************************************************************************/
  149. function fDelPrmsDiagSet(){
  150. // var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  151. // var rowPos = item.index + 1;
  152. var rowPos = ds_main_prmsprcpsetlist.rowposition;
  153. if(fSetPrmsDiagInfo(rowPos, "d")!= -1){
  154. fSavePrmsDiagSet();
  155. }
  156. }
  157. /****************************************************************************************
  158. * Function : fShowWndIptBox
  159. * Description : 약속SET 폴더명을 입력할 InputBox를 보여줌.
  160. * Argument :
  161. * return type :
  162. * Creator :
  163. ****************************************************************************************/
  164. function fShowWndIptBox(){
  165. group1.position.top = trv_prmsprcpsetlist.position.top + cusorY;
  166. group1.position.height = 55;
  167. group1.visible = true;
  168. group1.ipt_setnm.setFocus();
  169. }
  170. /****************************************************************************************
  171. * Function : fSetPrmsDiagInfo
  172. * Description : 약속SET정보 SETTING
  173. * Argument : rowpos : 선택한 Row index
  174. * : status : 처리하려는 작업(u : 수정 / d : 삭제)
  175. * return type :
  176. * Creator :
  177. ****************************************************************************************/
  178. function fSetPrmsDiagInfo(rowpos, status){
  179. var setno = ds_main_prmsprcpsetlist.getColumn(rowpos,"setno");
  180. var settypecd = ds_main_prmsprcpsetlist.getColumn(rowpos,"settypecd");
  181. if(status == "u" && setno == 1){
  182. sysf_messageBox("선택한 폴더는 수정", "E001");
  183. return -1;
  184. }else if(status == "d" && setno == 1){
  185. sysf_messageBox("선택한 폴더는 삭제", "E001");
  186. return -1;
  187. }else if(settypecd == "E"){
  188. sysf_messageBox("선택한 폴더는 사용", "E001");
  189. return -1;
  190. }
  191. var levl = ds_main_prmsprcpsetlist.getColumn(rowpos,"levl");
  192. var supsetno = ds_main_prmsprcpsetlist.getColumn(rowpos,"supsetno");
  193. var setkindcd = ds_main_prmsprcpsetlist.getColumn(rowpos,"setkindcd");
  194. var setclscd = ds_main_prmsprcpsetlist.getColumn(rowpos,"setclscd");
  195. var settrgtcd = ds_main_prmsprcpsetlist.getColumn(rowpos,"settrgtcd");
  196. var settypecd = ds_main_prmsprcpsetlist.getColumn(rowpos,"settypecd");
  197. var setnm = ds_main_prmsprcpsetlist.getColumn(rowpos,"setnm");
  198. var sortno = ds_main_prmsprcpsetlist.getColumn(rowpos,"sortno");
  199. ds_hidden_prmsprcpsetlist.setColumn(0,"levl" , levl);
  200. ds_hidden_prmsprcpsetlist.setColumn(0,"setno" , setno);
  201. ds_hidden_prmsprcpsetlist.setColumn(0,"setkindcd", setkindcd);
  202. ds_hidden_prmsprcpsetlist.setColumn(0,"setclscd" , setclscd);
  203. ds_hidden_prmsprcpsetlist.setColumn(0,"settrgtcd", settrgtcd);
  204. ds_hidden_prmsprcpsetlist.setColumn(0,"settypecd", settypecd);
  205. ds_hidden_prmsprcpsetlist.setColumn(0,"status" , status);
  206. ds_hidden_prmsprcpsetlist.setColumn(0,"setnm" , setnm);
  207. ds_hidden_prmsprcpsetlist.setColumn(0,"ioflag" , "O");
  208. if(status == "i"){
  209. ds_hidden_prmsprcpsetlist.setColumn(0,"supsetno" , setno);
  210. }else{
  211. ds_hidden_prmsprcpsetlist.setColumn(0,"supsetno" , supsetno);
  212. }
  213. if(utlf_isNull(sortno)) {
  214. sortno = 1000;
  215. }
  216. ds_hidden_prmsprcpsetlist.setColumn(0,"sortno" , sortno);
  217. }
  218. /****************************************************************************************
  219. * Function : fSavePrmsDiagSet
  220. * Description : 약속진단 SET저장
  221. * Argument :
  222. * return type :
  223. * Creator :
  224. ****************************************************************************************/
  225. function fSavePrmsDiagSet(){
  226. var setnm = ds_main_iptbox.getColumn(0,"setnm");
  227. ds_hidden_prmsprcpsetlist.setColumn(0,"setnm", setnm);
  228. ds_send_savedata.copyData(ds_hidden_prmsprcpsetlist);
  229. var oParam = {};
  230. oParam.id = "TXMMB00601";
  231. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  232. oParam.method = "reqExeSavePrmsPrcpSet";
  233. oParam.inds = "req=ds_send_savedata";
  234. oParam.outds = "ds_main_prmsprcpsetlist=prmsprcpsetlist";
  235. oParam.async = false;
  236. oParam.callback = "";
  237. tranf_submit(oParam);
  238. // if(submit("TXMMB00601")){
  239. // trv_prmsprcpsetlist.rebuild();
  240. // }
  241. }
  242. /****************************************************************************************
  243. * Function : fSelectTreeView
  244. * Description : SET TreeView 선택시
  245. * Argument :
  246. * return type :
  247. * Creator :
  248. ****************************************************************************************/
  249. function fSelectTreeView(){
  250. // var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  251. // if(item == null){return;}
  252. if(ds_main_prmsprcpsetlist.rowposition < 0){return;}
  253. var currow = ds_main_prmsprcpsetlist.rowposition;
  254. var levl = ds_main_prmsprcpsetlist.getColumn(currow,"levl");
  255. var setno = ds_main_prmsprcpsetlist.getColumn(currow,"setno");
  256. if(levl != 1){
  257. btn_deldiag.enable = true;
  258. btn_savediag.enable = true;
  259. }else{
  260. btn_deldiag.enable = false;
  261. btn_savediag.enable = false;
  262. btn_delop.enable = false;
  263. btn_saveop.enable = false;
  264. btn_op.enable = false;
  265. }
  266. fReqDiagLinkOpList();
  267. ds_main_oplinklist.clearData();
  268. ds_main_diaglinklist.addRow();
  269. grd_diaglinklist.setFocus();
  270. grd_diaglinklist.setCellPos(grd_diaglinklist.getBindCellIndex("body","dispdiagcd"));
  271. // grd_diaglinklist.editCell();
  272. grd_diaglinklist.showEditor(true);
  273. ds_selected.setColumn(0,"setno", setno);
  274. }
  275. /****************************************************************************************
  276. * Function : fReqDiagLinkOpList
  277. * Description : 진단수술연계 진단 조회
  278. * Argument :
  279. * return type :
  280. * Creator :
  281. ****************************************************************************************/
  282. function fReqDiagLinkOpList(){
  283. ds_send_reqdata.clearData();
  284. var reqflag = ds_main_cond.getColumn(0,"reqflag");
  285. if(reqflag == "P"){ //개인
  286. var settypecd = "A";
  287. }else{
  288. var settypecd = "B";
  289. }
  290. dsf_makeValue(ds_send_reqdata,"setno" ,"string",ds_main_prmsprcpsetlist.getColumn(ds_main_prmsprcpsetlist.rowposition,"setno"));
  291. dsf_makeValue(ds_send_reqdata,"settypecd","string",settypecd);
  292. var oParam = {};
  293. oParam.id = "TRMMB00607";
  294. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  295. oParam.method = "reqGetDiagLinkOpSetList";
  296. oParam.inds = "req=ds_send_reqdata";
  297. oParam.outds = "ds_main_diaglinklist=diaglinklist";
  298. oParam.async = false;
  299. oParam.callback = "";
  300. tranf_submit(oParam);
  301. }
  302. /****************************************************************************************
  303. * Function : fSavePrmsDiagSet
  304. * Description : 약속SET저장
  305. * Argument :
  306. * return type :
  307. * Creator :
  308. ****************************************************************************************/
  309. function fSavePrmsDiagSet(){
  310. var setnm = ds_main_iptbox.getColumn(0,"setnm");
  311. ds_hidden_prmsprcpsetlist.setColumn(0,"setnm", setnm);
  312. ds_send_savedata.copyData(ds_hidden_prmsprcpsetlist);
  313. var oParam = {};
  314. oParam.id = "TXMMB00601";
  315. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  316. oParam.method = "reqExeSavePrmsPrcpSet";
  317. oParam.inds = "req=ds_send_savedata";
  318. oParam.outds = "ds_main_prmsprcpsetlist=prmsprcpsetlist";
  319. oParam.async = false;
  320. oParam.callback = "";
  321. tranf_submit(oParam);
  322. // if(submit("TXMMB00601")){
  323. // model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  324. // }
  325. }
  326. /****************************************************************************************
  327. * Function : fClkGrdDiagLinkList
  328. * Description : 진단그리드 클릭시
  329. * Argument : curcol : 클릭한 컬럼 인덱스
  330. * return type :
  331. * Creator :
  332. ****************************************************************************************/
  333. function fClkGrdDiagLinkList(curcol){
  334. var status = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"status");
  335. if(status == "i" || status == ""){ //신규인 경우는 처리안함
  336. btn_delop.enable = false;
  337. btn_saveop.enable = false;
  338. btn_op.enable = false;
  339. ds_main_oplinklist.clearData();
  340. ds_main_oplinklist.addRow();
  341. grd_diaglinklist.setFocus();
  342. grd_diaglinklist.setCellPos(curcol);
  343. grd_diaglinklist.showEditor(true);
  344. }else{
  345. btn_delop.enable = true;
  346. btn_saveop.enable = true;
  347. btn_op.enable = true;
  348. var reqflag = ds_main_cond.getColumn(0,"reqflag");
  349. if(reqflag == "P"){
  350. var settypecd = "A";
  351. }else{
  352. var settypecd = "B";
  353. }
  354. var diagcd = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"diagcd");
  355. var setno = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"setno");
  356. var status = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"status");
  357. dsf_makeValue(ds_send_reqdata,"setno" ,"string", setno);
  358. dsf_makeValue(ds_send_reqdata,"diagcd" ,"string", diagcd);
  359. dsf_makeValue(ds_send_reqdata,"settypecd","string", settypecd);
  360. fReqDiagLinkOpDetlList(diagcd, setno);
  361. }
  362. }
  363. /****************************************************************************************
  364. * Function : fReqDiagLinkOpDetlList
  365. * Description : 진단수술 연계 SET 수술상세 조회
  366. * Argument : diagcd : 진단코드
  367. * : setno : SET번호
  368. * return type :
  369. * Creator :
  370. ****************************************************************************************/
  371. function fReqDiagLinkOpDetlList(diagcd, setno){
  372. var reqflag = ds_main_cond.getColumn(0,"reqflag");
  373. if(reqflag == "P"){ //개인
  374. settypecd = "A";
  375. }else{
  376. settypecd = "B";
  377. }
  378. ds_send_reqdata.clear();
  379. dsf_makeValue(ds_send_reqdata,"setno" ,"string", setno);
  380. dsf_makeValue(ds_send_reqdata,"diagcd" ,"string", diagcd);
  381. dsf_makeValue(ds_send_reqdata,"settypecd","string", settypecd);
  382. var oParam = {};
  383. oParam.id = "TRMMB00608";
  384. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  385. oParam.method = "reqGetDiagLinkOpDetlList";
  386. oParam.inds = "req=ds_";
  387. oParam.outds = "ds_=oplinklist";
  388. oParam.async = false;
  389. oParam.callback = "cf_TRMMB00608";
  390. tranf_submit(oParam);
  391. if(arErrorCode.pop("TRMMB00608") > -1){
  392. ds_selected.setColumn(0,"diagcd", diagcd);
  393. ds_main_oplinklist.addRow();
  394. ds_main_oplinklist
  395. grd_oplinklist.setFocus();
  396. grd_oplinklist.setCellPos(grd_oplinklist.getBindCellIndex("body","dispopcd"));
  397. grd_oplinklist.showEditor(true);
  398. }
  399. }
  400. /****************************************************************************************
  401. * Function : cf_TRMMB00608
  402. * Description : TRMMB00608 콜백 함수
  403. * Argument :
  404. * return type :
  405. * Creator :
  406. ****************************************************************************************/
  407. function cf_TRMMB00608(sSvcId, nErrorCode, sErrorMsg) {
  408. arErrorCode.push(sSvcId, nErrorCode);
  409. }
  410. /****************************************************************************************
  411. * Function : fSearchDiagTermCD
  412. * Description : 진단용어코드 검색
  413. * Argument :
  414. * return type :
  415. * Creator :
  416. ****************************************************************************************/
  417. function fSearchDiagTermCD(){
  418. var status = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"status");
  419. var dispdiagcd = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"dispdiagcd");
  420. var diagengnm = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"diagengnm");
  421. if(status == "-"){ //기존의 data를 클릭한 경우
  422. return;
  423. }
  424. if(utlf_isNull(dispdiagcd) && utlf_isNull(diagengnm)){ //아무 값도 입력하지 않는 경우 return
  425. return;
  426. }
  427. grd_diaglinklist.setFocus();
  428. grd_diaglinklist.setCellPos(gDIAGCOL);
  429. //alert(grd_diaglinklist.col + "," + grd_diaglinklist.colRef("dispdiagcd"));
  430. if(grd_diaglinklist.getCellPos() == grd_diaglinklist.getBindCellIndex("body","dispdiagcd")){
  431. frmf_setParameter("SPMMO00800_cond1", 1);
  432. frmf_setParameter("SPMMO00800_cond2", 1);
  433. frmf_setParameter("SPMMO00800_cond3", "E");
  434. frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
  435. frmf_setParameter("SPMMO00800_cond5", ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"dispdiagcd"));
  436. }else if(grd_diaglinklist.getCellPos() == grd_diaglinklist.getBindCellIndex("body","diagengnm")){
  437. frmf_setParameter("SPMMO00800_cond1", 2);
  438. frmf_setParameter("SPMMO00800_cond2", 2);
  439. frmf_setParameter("SPMMO00800_cond3", lf_isHangul(diagengnm));
  440. frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
  441. frmf_setParameter("SPMMO00800_cond5", ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"diagengnm"));
  442. }else{
  443. return;
  444. }
  445. // modal("SPMMO00800");
  446. frmf_modal("SPMMO00800", "SPMMO00800", "", "", "", "", "", "", "", "", "", "", "M");
  447. var useyn = frmf_getParameter("SPMMO00800_rtn_useyn");
  448. if(useyn == "Y"){
  449. frmf_setParameter("SPMMO00800_rtn_useyn", "");
  450. fSetDiagTermCD();
  451. }else{
  452. frmf_setParameter("SPMMO00800_rtn_useyn", "");
  453. var currow = ds_main_diaglinklist.rowposition;
  454. ds_main_diaglinklist.setColumn(currow,"dispdiagcd", "");
  455. ds_main_diaglinklist.setColumn(currow,"diagengnm" , "");
  456. ds_main_diaglinklist.deleteRow(currow);
  457. }
  458. }
  459. /****************************************************************************************
  460. * Function : fSetDiagTermCD
  461. * Description : 진단용어코드 설정
  462. * Argument :
  463. * return type :
  464. * Creator :
  465. ****************************************************************************************/
  466. function fSetDiagTermCD(){
  467. var rtnparam = frmf_getParameter("SPMMO00800_rtn");
  468. rtnparam = rtnparam.split("▩");
  469. var setno = ds_selected.getColumn(0,"setno");
  470. var reqflag = ds_main_cond.getColumn(0,"reqflag");
  471. if(reqflag == "P"){ //개인
  472. settypecd = "A";
  473. }else{
  474. settypecd = "B";
  475. }
  476. for(var i = 0; i < rtnparam.length-1; i++){
  477. var tmpstr = rtnparam[i];
  478. tmpstr = tmpstr.split("▦");
  479. var currow = ds_main_diaglinklist.rowposition;
  480. ds_main_diaglinklist.setColumn(currow,"status" , "i");
  481. ds_main_diaglinklist.setColumn(currow,"dispdiagcd", tmpstr[1]);
  482. ds_main_diaglinklist.setColumn(currow,"diagcd" , tmpstr[9]);
  483. ds_main_diaglinklist.setColumn(currow,"diagengnm" , tmpstr[2]);
  484. ds_main_diaglinklist.setColumn(currow,"setno" , setno);
  485. ds_main_diaglinklist.setColumn(currow,"settypecd" , settypecd);
  486. ds_main_diaglinklist.setColumn(currow,"orgdiagcd" , tmpstr[6]); //원진단코드추가(2008.02.12)
  487. ds_main_diaglinklist.addRow();
  488. }
  489. }
  490. /****************************************************************************************
  491. * Function : fClkBtnDel
  492. * Description : 삭제버튼 클릭
  493. * Argument : grdobj : 삭제대상 그리드
  494. * return type :
  495. * Creator :
  496. ****************************************************************************************/
  497. function fClkBtnDel(grdobj){
  498. var currow = objects[grdobj.binddataset].rowposition;
  499. if(currow < 0){
  500. return;
  501. }
  502. var sNODE_PATH = objects[grdobj.binddataset];
  503. var status = sNODE_PATH.getColumn(currow,"status");
  504. if(status == "i"){ //신규인경우
  505. sNODE_PATH.deleteRow(currow);
  506. }else{
  507. sNODE_PATH.setColumn(currow,"status", "d");
  508. }
  509. }
  510. /****************************************************************************************
  511. * Function : fSelectOpCD
  512. * Description : 진단수술 연계 SET 수술상세 선택
  513. * Argument :
  514. * return type :
  515. * Creator :
  516. ****************************************************************************************/
  517. function fSelectOpCD(){
  518. var diagcd = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"diagcd");
  519. var dispdiagcd = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"dispdiagcd");
  520. var diagengnm = ds_main_diaglinklist.getColumn(ds_main_diaglinklist.rowposition,"diagengnm");
  521. var opcd = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"opcd");
  522. var dispopcd = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"dispopcd");
  523. var opengnm = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"opengnm");
  524. var param = diagcd + "▦" + dispdiagcd + "▦" + diagengnm + "▦" + opcd + "▦" + dispopcd + "▦" + opengnm;
  525. opener.frmf_setParameter("SPMMB00600_rtn_param", param);
  526. opener.frmf_setParameter("SPMMB00600_rtn_useyn", "Y");
  527. this.close();
  528. }
  529. /****************************************************************************************
  530. * Function : fSearchOpTermCD
  531. * Description : 수술용어코드 검색
  532. * Argument :
  533. * return type :
  534. * Creator :
  535. ****************************************************************************************/
  536. function fSearchOpTermCD(){
  537. var dispopcd = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"dispopcd");
  538. var opengnm = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"opengnm");
  539. var status = ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"status");
  540. if(status == "-"){ //기존의 data를 클릭한 경우
  541. return;
  542. }
  543. if(utlf_isNull(dispopcd) && utlf_isNull(opengnm)){ //아무 값도 입력하지 않는 경우 return
  544. return;
  545. }
  546. // grd_oplinklist.col = gOPCOL; //addRow이후 grid focus를 놓치는 버그 때문에 추가함
  547. grd_oplinklist.setFocus();
  548. grd_oplinklist.setCellPos(gOPCOL);
  549. if(grd_oplinklist.getCellPos() == grd_oplinklist.getBindCellIndex("body","dispopcd")){
  550. var param = "1▦" + "1▦E▦" + utlf_getCurrentDate() + "▦" + ds_main_oplinklist.getColumn(ds_main_oplinklist.rowposition,"dispopcd");
  551. frmf_setParameter("SPMMO05200_param", param);
  552. }else if(grd_oplinklist.getCellPos() == grd_oplinklist.getBindCellIndex("body","opengnm")){
  553. var param = "2▦2▦" + lf_isHangul(opengnm) + "▦" + utlf_getCurrentDate() + "▦" + opengnm;
  554. frmf_setParameter("SPMMO05200_param", param);
  555. }
  556. // modal("SPMMO05200");
  557. frmf_modal("SPMMO05200", "SPMMO05200", "", "", "", "", "", "", "", "", "", "", "M");
  558. var useyn = frmf_getParameter("SPMMO05200_rtn_useyn");
  559. if(useyn == "Y"){
  560. frmf_setParameter("SPMMO05200_rtn_useyn", "");
  561. fSetOpTermCD();
  562. }else{
  563. frmf_setParameter("SPMMO05200_rtn_useyn", "");
  564. var currow = ds_main_oplinklist.rowposition;
  565. ds_main_oplinklist.setColumn(currow,"dispopcd" , "");
  566. ds_main_oplinklist.setColumn(currow,"opengnm" , "");
  567. }
  568. }
  569. /****************************************************************************************
  570. * Function : fSetOpTermCD
  571. * Description : 수술용어코드 설정
  572. * Argument :
  573. * return type :
  574. * Creator :
  575. ****************************************************************************************/
  576. function fSetOpTermCD(){
  577. var rtnparam = frmf_getParameter("SPMMO05200_rtn_param");
  578. rtnparam = rtnparam.split("▩");
  579. var reqflag = ds_main_cond.getColumn(0,"reqflag");
  580. if(reqflag == "P"){ //개인
  581. settypecd = "A";
  582. }else{
  583. settypecd = "B";
  584. }
  585. for(var i = 0; i <= rtnparam.length-2; i++){
  586. var tmpstr = rtnparam[i];
  587. tmpstr = tmpstr.split("▦");
  588. var currow = ds_main_oplinklist.rowcount-1;
  589. ds_main_oplinklist.setColumn(currow,"status" , "i");
  590. ds_main_oplinklist.setColumn(currow,"setno" , ds_selected.getColumn(0,"setno"));
  591. ds_main_oplinklist.setColumn(currow,"settypecd" , settypecd);
  592. ds_main_oplinklist.setColumn(currow,"diagcd" , ds_selected.getColumn(0,"diagcd"));
  593. ds_main_oplinklist.setColumn(currow,"opcd" , tmpstr[1]);
  594. ds_main_oplinklist.setColumn(currow,"dispopcd" , tmpstr[0]);
  595. ds_main_oplinklist.setColumn(currow,"opengnm" , tmpstr[2]);
  596. ds_main_oplinklist.addRow();
  597. }
  598. }]]></Script>