SMMMB02300.xjs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 지시처방조회 ( SMMMB02300_지시처방조회.xrw - JScript )
  5. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  6. */
  7. var sPRCPCLSCDLIST_PATH = ds_main_prcpclscdlist_prcpclscdlist;
  8. var sORDPRCPCDLIST_PATH = ds_main_ordprcpcdlist_ordprcpcdlist;
  9. /**
  10. * @desc : 화면 초기화
  11. * @
  12. * @param :
  13. * @return :
  14. * @author : 오지훈
  15. * @---------------------------------------------------
  16. */
  17. function fInitialize_SMMMB02300(sel){
  18. var scrnflag = opener.frmf_getParameter("SMMMB02300_scrnflag");
  19. var prcpcd = opener.frmf_getParameter("SMMMB02300_prcpcd");
  20. if(scrnflag == "Y"){
  21. ds_send_reqdata.setColumn(0, "prcpcd", prcpcd);
  22. var oParam = {};
  23. oParam.id = "TRMMB02101";
  24. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  25. oParam.method = "reqGetOrdPrcpCdList";
  26. oParam.inds = "req=ds_send_reqdata";
  27. oParam.outds = "ds_main_ordprcpcdlist_ordprcpcdlist=ordprcpcdlist";
  28. oParam.async = false;
  29. //oParam.callback = "cf_TRMMB02101";
  30. tranf_submit(oParam);
  31. }
  32. ds_main_ordprcpcdlist_ordprcpcdlist.clearData();
  33. ds_main_prcp_prcplist.clearData();
  34. ds_send_reqdata.setColumn(0, "clsflag", "genr");
  35. // 20081106 BMT처방조회 분리 요청
  36. if (sel == "bmt") {
  37. ds_send_reqdata.setColumn(0, "clsflag", "bmt");
  38. }
  39. var oParam = {};
  40. oParam.id = "TRMMB02102";
  41. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  42. oParam.method = "reqGetPrcpClsCdList";
  43. oParam.inds = "req=ds_send_reqdata";
  44. oParam.outds = "ds_main_prcpclscdlist_prcpclscdlist=prcpclscdlist";
  45. oParam.async = false;
  46. //oParam.callback = "cf_TRMMB02102";
  47. tranf_submit(oParam);
  48. var arrParam = [{dsNm: "ds_init_payflagcd_M0029", cdGrpId: "M0029"},
  49. {dsNm: "ds_init_prcpclscd_M0005", cdGrpId: "M0005"},
  50. {dsNm: "ds_init_hsctdelivepos_M0343", cdGrpId: "M0343"}]
  51. appf_getCodeList(arrParam);
  52. lf_mmbfGetDeptCodeComboList(ds_init_orddept_dept, "D"); //권한부서코드 콤보
  53. lf_mmbfGetDeptCodeComboList(ds_init_orddept2_dept, "D"); //권한부서코드 콤보
  54. ds_init_orddept_dept.insertRow(0); //권한부서콤보 전체항목 추가
  55. ds_init_orddept_dept.setColumn(0, "deptcd", "-");
  56. ds_init_orddept_dept.setColumn(0, "depthngnm", "-");
  57. fPrcpExecDeptSrch("all");
  58. ds_main_cond.setColumn(0, "stnddd" , utlf_getCurrentDate());
  59. ds_main_cond.setColumn(0, "prcpinptflag", "-");
  60. ds_main_cond.setColumn(0, "prcpuseflag" , "-");
  61. }
  62. /**
  63. * @desc : 지시처방리스트 조회(처방분류코드 조건으로)
  64. * @
  65. * @param :
  66. * @return :
  67. * @author : 오지훈
  68. * @---------------------------------------------------
  69. */
  70. function fSelectPrcpClsCD(){
  71. var item = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  72. var indx = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  73. if(item < 0){return;}
  74. var iRow = item;
  75. var prcpclscd1 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd1");
  76. var prcpclscd2 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd2");
  77. var prcpclscd3 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd3");
  78. var levl = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "lvl");
  79. var stnddd = ds_main_cond.getColumn(0, "stnddd");
  80. ds_send_reqdata.clearData();
  81. var addRow = ds_send_reqdata.addRow();
  82. dsf_makeValue(ds_send_reqdata, "prcpclscd1", "string" , prcpclscd1);
  83. dsf_makeValue(ds_send_reqdata, "prcpclscd2", "string" , prcpclscd2);
  84. dsf_makeValue(ds_send_reqdata, "prcpclscd3", "string" , prcpclscd3);
  85. dsf_makeValue(ds_send_reqdata, "stnddd", "string" , stnddd);
  86. if(levl != 1){
  87. var oParam = {};
  88. oParam.id = "TRMMB02303";
  89. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  90. oParam.method = "reqGetPrcpClsTreeOrdPrcp";
  91. oParam.inds = "req=ds_send_reqdata";
  92. oParam.outds = "ds_main_ordprcpcdlist_ordprcpcdlist=ordprcpcdlist";
  93. oParam.async = false;
  94. oParam.callback = "cf_TRMMB02303";
  95. tranf_submit(oParam);
  96. if(arErrorCode.pop("TRMMB02303") > -1){
  97. ds_main_prcp_prcplist.clearData();
  98. }
  99. }
  100. }
  101. function cf_TRMMB02303(sSvcId, nErrorCode, sErrorMsg) {
  102. arErrorCode.push(sSvcId, nErrorCode);
  103. }
  104. /**
  105. * @desc : 처방분류 추가
  106. * @
  107. * @param :
  108. * @return :
  109. * @author : 오지훈
  110. * @---------------------------------------------------
  111. */
  112. function fAddPrcpCls(){
  113. var item = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  114. var iRow = item;
  115. var lvl = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "lvl");
  116. var prcpclscd1 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd1");
  117. var prcpclscd2 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd2");
  118. var prcpclscd3 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd3");
  119. fSetCasePrcpCls(lvl, prcpclscd1, prcpclscd2, prcpclscd3);
  120. }
  121. /**
  122. * @desc : 처방분류 수정
  123. * @
  124. * @param :
  125. * @return :
  126. * @author : 오지훈
  127. * @---------------------------------------------------
  128. */
  129. function fUpdtPrcpCls(){
  130. var item = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  131. var iRow = item;
  132. var lvl = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "lvl");
  133. var prcpclscd1 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd1");
  134. var prcpclscd2 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd2");
  135. var prcpclscd3 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd3");
  136. ds_send_savedata.setColumn(0, "status", "u");
  137. ds_send_savedata.setColumn(0, "prcpclscd1", prcpclscd1);
  138. ds_send_savedata.setColumn(0, "prcpclscd2", prcpclscd2);
  139. ds_send_savedata.setColumn(0, "prcpclscd3", prcpclscd3);
  140. // if(btn_genr.selected == true){
  141. // model.makeValue("/root/send/savedata/clsflag", "genr");
  142. // }else{
  143. ds_send_savedata.setColumn(0, "clsflag", "bmt");
  144. //}
  145. fShowIptBox();
  146. }
  147. /**
  148. * @desc : 처방분류 삭제
  149. * @
  150. * @param :
  151. * @return :
  152. * @author : 오지훈
  153. * @---------------------------------------------------
  154. */
  155. function fDelPrcpCls(){
  156. var item = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  157. var iRow = item;
  158. var lvl = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "lvl");
  159. var prcpclscd1 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd1");
  160. var prcpclscd2 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd2");
  161. var prcpclscd3 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(iRow, "prcpclscd3");
  162. var clscdflag;
  163. switch(lvl){
  164. case "2" : clscdflag = "lrg"; break;
  165. case "3" : clscdflag = "mdl"; break;
  166. case "4" : clscdflag = "sml"; break;
  167. default : sysf_messageBox("신규 처방분류를 삭제 ", "E001"); return;
  168. }
  169. ds_send_savedata.setColumn(0, "status", "d");
  170. ds_send_savedata.setColumn(0, "clscdflag" , clscdflag);
  171. ds_send_savedata.setColumn(0, "prcpclscd1", prcpclscd1);
  172. ds_send_savedata.setColumn(0, "prcpclscd2", prcpclscd2);
  173. ds_send_savedata.setColumn(0, "prcpclscd3", prcpclscd3);
  174. // if(btn_genr.selected == true){
  175. // model.makeValue("/root/send/savedata/clsflag", "genr");
  176. // }else{
  177. ds_send_savedata.setColumn(0, "clsflag", "bmt");
  178. //}
  179. var oParam = {};
  180. oParam.id = "TXMMB02102";
  181. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  182. oParam.method = "reqExeSaveOrdPrcpClsCdList";
  183. oParam.inds = "req=ds_send_savedata";
  184. oParam.outds = "ds_main_prcpclscdlist_prcpclscdlist=prcpclscdlist";
  185. oParam.async = false;
  186. //oParam.callback = "cf_TXMMB02102";
  187. tranf_submit(oParam);
  188. }
  189. /**
  190. * @desc : 처방분류 추가시, 저장data 설정
  191. * @
  192. * @param :
  193. * @return :
  194. * @author : 오지훈
  195. * @---------------------------------------------------
  196. */
  197. function fSetCasePrcpCls(lvl, prcpclscd1, prcpclscd2, prcpclscd3){
  198. switch(lvl){
  199. //depth level이 1인 경우
  200. case "1" : fSetReqPrcpClsData("i", "lrg", "", "00", "00");
  201. fShowIptBox();
  202. break;
  203. //depth level이 2인 경우
  204. case "2" : fSetReqPrcpClsData("i", "mdl", prcpclscd1, "", "00");
  205. fShowIptBox();
  206. break;
  207. //depth level이 3인 경우
  208. case "3" : fSetReqPrcpClsData("i", "sml", prcpclscd1, prcpclscd2, "");
  209. fShowIptBox();
  210. break;
  211. case "4" : sysf_messageBox("신규 처방분류를 생성 ", "E001");
  212. return;
  213. }
  214. }
  215. /**
  216. * @desc : 저장 데이터 설정
  217. * @
  218. * @param :
  219. * @return :
  220. * @author : 오지훈
  221. * @---------------------------------------------------
  222. */
  223. function fSetReqPrcpClsData(status, clscdflag, prcpclscd1, prcpclscd2, prcpclscd3){
  224. ds_send_savedata.setColumn(0, "status" , status);
  225. ds_send_savedata.setColumn(0, "clscdflag" , clscdflag);
  226. ds_send_savedata.setColumn(0, "prcpclscd1", prcpclscd1);
  227. ds_send_savedata.setColumn(0, "prcpclscd2", prcpclscd2);
  228. ds_send_savedata.setColumn(0, "prcpclscd3", prcpclscd3);
  229. ds_send_savedata.setColumn(0, "useflag" , "Y");
  230. ds_send_savedata.setColumn(0, "refseq" , "0");
  231. // if(btn_genr.selected == true){
  232. // ds_send_savedata.setColumn(0, "clsflag", "genr");
  233. // }else{
  234. ds_send_savedata.setColumn(0, "clsflag", "bmt");
  235. //}
  236. }
  237. /**
  238. * @desc : 입력창 Open
  239. * @
  240. * @param :
  241. * @return :
  242. * @author : 오지훈
  243. * @---------------------------------------------------
  244. */
  245. function fShowIptBox(){
  246. group1.position.top = system.clientToScreenY(this, this.position.top);//event.clientY;
  247. group1.position.height = 55;
  248. group1.ipt_prcpclsnm.setFocus();
  249. }
  250. /**
  251. * @desc : 신규버튼 클릭
  252. * @
  253. * @param :
  254. * @return :
  255. * @author : 오지훈
  256. * @---------------------------------------------------
  257. */
  258. function fClkBtnNew(){
  259. var item = ds_main_prcpclscdlist_prcpclscdlist.rowposition;
  260. if(item > -1){
  261. var currow = item;
  262. var prcpclscd1 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(currow, "prcpclscd1");
  263. var prcpclscd2 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(currow, "prcpclscd2");
  264. var prcpclscd3 = ds_main_prcpclscdlist_prcpclscdlist.getColumn(currow, "prcpclscd3");
  265. ds_main_ordprcpcdlist_ordprcpcdlist.addRow();
  266. var trgtrow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  267. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "status" , "i");
  268. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpclscd1" , prcpclscd1);
  269. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpclscd2" , prcpclscd2);
  270. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpclscd3" , prcpclscd3);
  271. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "fromdd" , utlf_getCurrentDate());
  272. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "todd" , "99991231");
  273. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpuseflag" , "A");
  274. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpexecdeptcd", "-");
  275. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpauthdeptcd", "-");
  276. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpnmupdtflag", "N");
  277. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpinptflag" , "-");
  278. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "prcpclscd" , "00");
  279. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(trgtrow, "grupsnglflag" , "S");
  280. grd_ordprcpcdlist.setCellPos(grd_ordprcpcdlist.getBindCellIndex("body", "prcpnm"));
  281. grd_ordprcpcdlist.showEditor(true);
  282. }else{
  283. sysf_messageBox("처방분류코드를", "C002");
  284. return;
  285. }
  286. }
  287. /**
  288. * @desc : 삭제버튼 클릭
  289. * @
  290. * @param :
  291. * @return :
  292. * @author : 오지훈
  293. * @---------------------------------------------------
  294. */
  295. function fClkBtnDel(){
  296. var currow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  297. if(currow < 0){
  298. return;
  299. }
  300. var status = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "status");
  301. if(status == "i"){
  302. ds_main_ordprcpcdlist_ordprcpcdlist.deleteRow(currow);
  303. }else{
  304. ds_main_ordprcpcdlist_ordprcpcdlist.enableevent = false;
  305. ds_main_ordprcpcdlist_ordprcpcdlist.updatecontrol = false;
  306. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(currow, "status", "d");
  307. ds_main_ordprcpcdlist_ordprcpcdlist.updatecontrol = true;
  308. ds_main_ordprcpcdlist_ordprcpcdlist.enableevent = true;
  309. }
  310. }
  311. /**
  312. * @desc : 저장버튼 클릭
  313. * @
  314. * @param :
  315. * @return :
  316. * @author : 오지훈
  317. * @---------------------------------------------------
  318. */
  319. function fClkBtnSave(){
  320. var cnt = 0;
  321. for(var i = 0; i < ds_main_ordprcpcdlist_ordprcpcdlist.rowcount; i++){
  322. var status = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(i, "status");
  323. if(!utlf_isNull(status)){
  324. cnt++;
  325. }
  326. }
  327. if(cnt == 0){
  328. sysf_messageBox("저장할 내역이", "I004");
  329. return;
  330. }else{
  331. ds_send_savedata_save.assign(ds_main_ordprcpcdlist_ordprcpcdlist);
  332. var oParam = {};
  333. oParam.id = "TXMMB02101";
  334. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  335. oParam.method = "reqExeSaveOrdPrcpCdList";
  336. oParam.inds = "save=ds_send_savedata_save";
  337. oParam.outds = "ds_main_ordprcpcdlist_ordprcpcdlist=ordprcpcdlist";
  338. oParam.async = false;
  339. oParam.callback = "cf_TXMMB02101";
  340. tranf_submit(oParam);
  341. if(arErrorCode.pop("TXMMB02101") > -1){
  342. fSelectPrcpClsCD();
  343. ds_main_prcp_prcplist.clearData();
  344. }
  345. }
  346. }
  347. function cf_TXMMB02101(sSvcId, nErrorCode, sErrorMsg) {
  348. arErrorCode.push(sSvcId, nErrorCode);
  349. }
  350. /**
  351. * @desc : 수가처방등록 버튼 클릭
  352. * @
  353. * @param :
  354. * @return :
  355. * @author : 오지훈
  356. * @---------------------------------------------------
  357. */
  358. function fClkBtnCalcPrcpRgst(){
  359. var currow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  360. if(currow < 0){
  361. sysf_messageBox("수가 등록할 지시처방을", "C002");
  362. return;
  363. }else{
  364. var status = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "status");
  365. var direcprcplnkno = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "direcprcplnkno");
  366. var grupsnglflag = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "grupsnglflag");
  367. var prcpsetcd = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "prcpcd");
  368. if(status != "-"){
  369. sysf_messageBox("저장되지 않은 지시처방에 수가 등록", "E001");
  370. return;
  371. }else if(grupsnglflag != "J"){
  372. sysf_messageBox("그룹이 아닌 지시처방에 수가 등록", "E001");
  373. return;
  374. }
  375. frmf_setParameter("SMMMB02100_cond1", direcprcplnkno);
  376. frmf_setParameter("SMMMB02100_cond2", prcpsetcd);
  377. frmf_modal("SMMMB00900","SMMMB00900",null,"",1,1,1,"","","","","","M"); //yjh1
  378. frmf_clearParameter("SMMMB02100_cond1");
  379. frmf_clearParameter("SMMMB02100_cond2");
  380. fDbClkOrdPrcpGrd(currow); //수가처방 등록이 끝난 후 바로 재조회 처리함
  381. }
  382. }
  383. /**
  384. * @desc : 지시처방 그리드 클릭 -> 그룹인 경우 해당 수가리스트를 조회함
  385. * @
  386. * @param : param - row의 위치
  387. * @return :
  388. * @author : 오지훈
  389. * @---------------------------------------------------
  390. */
  391. function fDbClkOrdPrcpGrd(param){
  392. if(utlf_isNull(param)){
  393. var currow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  394. }else{
  395. var currow = param;
  396. }
  397. var status = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "status"); //신규등록인 경우는 조회를 하지 않는다.
  398. if(status == "i"){
  399. return;
  400. }
  401. if(currow >= 0){
  402. var grupsnglflag = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "grupsnglflag");
  403. if(grupsnglflag == "J"){
  404. var direcprcplnkno = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "direcprcplnkno");
  405. ds_send.setColumn(0, "cond1", direcprcplnkno);
  406. var oParam = {};
  407. oParam.id = "TRMMB00911";
  408. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  409. oParam.method = "reqGetDirecPrcpDetlSetList";
  410. oParam.inds = "req=ds_send";
  411. oParam.outds = "ds_main_prcp_prcplist=prcplist";
  412. oParam.async = false;
  413. //oParam.callback = "cf_TRMMB00911";
  414. tranf_submit(oParam);
  415. }
  416. }
  417. }
  418. /**
  419. * @desc : 지시처방 그리드 값 변경시
  420. * HSCT를 제외한 처방분류의 그룹 설정을 막는다.
  421. * 변경된 사항이 있으면 수정 상태로 설정.
  422. * @
  423. * @param :
  424. * @return :
  425. * @author : 오지훈
  426. * @---------------------------------------------------
  427. */
  428. function fChngGrdOrdPrcp(){
  429. var currow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  430. var curcol = grd_ordprcpcdlist.currentcol;
  431. var trgtcol = grd_ordprcpcdlist.getBindCellIndex("body", "grupsnglflag");
  432. if(trgtcol == curcol){ //그룹, 싱글구분을 변경시
  433. var grupsnglflag = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "grupsnglflag");
  434. var prcpclscd = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "prcpclscd");
  435. if(grupsnglflag == "J"){ //그룹으로 변경시
  436. if(prcpclscd != '04'){ //HSCT가 아니면
  437. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(currow, utlf_transNullToEmpty(grd_ordprcpcdlist.getCellProperty("Body", curcol, "text")).replace("bind:", ""), "S"); //싱글로 복귀
  438. sysf_messageBox("처방분류가 HSCT가 아니면 그룹으로 생성", "E001"); //에러메시지
  439. return;
  440. }
  441. }
  442. }
  443. var status = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "status");
  444. if(status != "i"){
  445. ds_main_ordprcpcdlist_ordprcpcdlist.setColumn(currow, "status", "u");
  446. }
  447. }
  448. /**
  449. * @desc : 그리드 data 엑셀화일로 저장
  450. * @
  451. * @param :
  452. * @event :
  453. * @return :
  454. * @---------------------------------------------------
  455. */
  456. function fSaveGridToExcel(){
  457. var currow = ds_main_ordprcpcdlist_ordprcpcdlist.rowposition;
  458. var prcpcd = ds_main_ordprcpcdlist_ordprcpcdlist.getColumn(currow, "prcpcd");
  459. var prcpdd = ds_main_cond.getColumn(0, "stnddd");
  460. lf_prcpSrchCom ( prcpcd, prcpdd, "11", "TRMMO00100", "-", "getPrcpCdSrchInfo" );
  461. lf_appendChildPrcp ( "ds_main_prcp_prcplist", "ds_prcpsrch_prcplist", "main" );
  462. var srcNodeList = ds_prcpsrch_prcplist;
  463. for ( var i=0; i < ds_prcpsrch_prcplist.rowcount; i++ ){
  464. payflagcd = ds_prcpsrch_prcplist.getColumn(i, "payflagcd" );
  465. cdnm = ds_init_payflagcd_M0029.lookup("cdid", payflagcd, "cdnm");
  466. ds_prcpsrch_prcplist.setColumn(i, "payflagcd", cdnm );
  467. hsctdelivepos = ds_prcpsrch_prcplist.getColumn(i, "hsctdelivepos" );
  468. cdnm = ds_init_hsctdelivepos_M0343.lookup("cdid", hsctdelivepos, "cdnm");
  469. ds_prcpsrch_prcplist.setColumn(i, "hsctdelivepos", cdnm );
  470. prcpexecdeptcd = ds_prcpsrch_prcplist.getColumn(i, "prcpexecdeptcd" );
  471. cdnm = ds_init_orddept_dept.lookup("deptcd", prcpexecdeptcd, "depthngnm");
  472. ds_prcpsrch_prcplist.setColumn(i, "prcpexecdeptcd", cdnm );
  473. }
  474. grdf_exportExcel(datagrid1, "BMT처방", "SheetName1", false, "", "user", false);
  475. }
  476. ]]></Script>