SPMNR05000.xjs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. SPMNR05000_간호Item 시간변경.xrw(SPMNR05000.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var xPrcpInfoPath = ds_prcpinfo;
  8. var xClsListPath = ds_clsinfo_clslist;
  9. var xTimeListPath = ds_timeinfo_timelist;
  10. var xSaveInfoPath = ds_saveinfo;
  11. var sTimeColor = "#fcd2c1";
  12. var PageFlag = "";
  13. var sApntseqno = "";
  14. var sSelectRow = "";
  15. var sPrcpdd = "";
  16. var sPrcpno = "";
  17. var sPrcpHistNo = "";
  18. //화면 초기화
  19. function fInitialize()
  20. {
  21. var sParamMsg = "";
  22. var sApntTMSpecList=""; // 기준시간setting
  23. var sRemainder = 0; // 나머지
  24. var sCareItemCD = "";
  25. var sFlag = "";
  26. var iRow = 0;
  27. var sStatus = "";
  28. if(frmf_checkOpener())
  29. {
  30. var oParam = {};
  31. oParam.id = "TRMNR04901";
  32. oParam.service = "carerecapp.RecItemMngt";
  33. oParam.method = "reqGetClsItemList";
  34. oParam.inds = "req=ds_prcpinfo";
  35. oParam.outds = "ds_clsinfo_clslist=clslist";
  36. oParam.async = false;
  37. tranf_submit(oParam);
  38. sParamMsg = opener.frmf_getParameter("SPMNR05000_Param");
  39. xPrcpInfoPath.setColumn(0, "prcpnm", lf_getArrayData(sParamMsg,1,0, "▩", "▦"));
  40. xPrcpInfoPath.setColumn(0, "prcpcd", lf_getArrayData(sParamMsg,1,1, "▩", "▦"));
  41. xPrcpInfoPath.setColumn(0, "careitemcd", lf_getArrayData(sParamMsg,1,2, "▩", "▦"));
  42. xPrcpInfoPath.setColumn(0, "apnttmspec", lf_getArrayData(sParamMsg,1,3, "▩", "▦"));
  43. xSaveInfoPath.setColumn(0, "apnttmspec", lf_getArrayData(sParamMsg,1,3, "▩", "▦"));
  44. xPrcpInfoPath.setColumn(0, "supcd", lf_getArrayData(sParamMsg,1,4, "▩", "▦"));
  45. sApntseqno = lf_getArrayData(sParamMsg,1,6, "▩", "▦");
  46. PageFlag = lf_getArrayData(sParamMsg,1,5, "▩", "▦");
  47. sStatus = lf_getArrayData(sParamMsg,1,7, "▩", "▦");
  48. sSelectRow = lf_getArrayData(sParamMsg,1,8, "▩", "▦");
  49. }
  50. //수정
  51. fSearchItem();
  52. //
  53. if(sStatus == "I")
  54. {
  55. if(PageFlag == "B")
  56. {
  57. ipt_prcpnm.enable = true;
  58. ipt_prcpnm.readonly = false;
  59. }
  60. else
  61. {
  62. if(lf_getArrayData(sParamMsg,1,4, "▩", "▦") != "")
  63. {
  64. cmb_itemcls.enable = false;
  65. }
  66. }
  67. btn_change.enable = false;
  68. }
  69. else
  70. {
  71. if(PageFlag == "B")
  72. {
  73. ipt_prcpnm.enable = true;
  74. ipt_prcpnm.readonly = false;
  75. cmb_item.enable = false;
  76. cmb_itemcls.enable = false;
  77. }
  78. else
  79. {
  80. if(lf_getArrayData(sParamMsg,1,4, "▩", "▦") != "")
  81. {
  82. cmb_itemcls.enable = false;
  83. }
  84. if(lf_getArrayData(sParamMsg,1,2, "▩", "▦") != "" && lf_getArrayData(sParamMsg,1,2, "▩", "▦") != lf_getArrayData(sParamMsg,1,4, "▩", "▦"))
  85. {
  86. cmb_item.enable = false;
  87. }
  88. }
  89. btn_add.enable = false;
  90. }
  91. if(PageFlag == "B")
  92. {
  93. caption14.text = "지시처방 직접입력";
  94. }
  95. else
  96. {
  97. sPrcpdd = lf_getArrayData(sParamMsg,1,8, "▩", "▦");
  98. sPrcpno = lf_getArrayData(sParamMsg,1,9, "▩", "▦");
  99. sPrcpHistNo = lf_getArrayData(sParamMsg,1,10, "▩", "▦");
  100. }
  101. // 시간 세팅
  102. xTimeListPath.clearData();
  103. var i = 1;
  104. for(iRow=0; iRow < 4; iRow++){
  105. ds_timeinfo_timelist.addRow(false);
  106. for(var iCol = 1; iCol <= 6; iCol++){
  107. if(i == 24){
  108. i=0;
  109. }
  110. xTimeListPath.setColumn(iRow, "time"+iCol, i);
  111. i++;
  112. }
  113. }
  114. sApntTMSpecList = xPrcpInfoPath.getColumn(0, "apnttmspec");
  115. if( !utlf_isNull(sApntTMSpecList) )
  116. {
  117. var sApntTMSpec = sApntTMSpecList.split(",");
  118. for(i=0; i<sApntTMSpec.length; i++)
  119. {
  120. sRemainder = eval(sApntTMSpec[i]) % 6;
  121. if(sRemainder == 0) sRemainder += 6;
  122. //grdf_setCellStyle(grd_timelist, "0", sApntTMSpec[i], "time"+sRemainder , "equal");
  123. ds_timeinfo_timelist.filter("time" + sRemainder + " == '"+sApntTMSpec[i]+"'");
  124. ds_timeinfo_timelist.setColumn(0, "time"+sRemainder+"_1", sTimeColor);
  125. ds_timeinfo_timelist.filter("");
  126. }
  127. }
  128. }
  129. //분류별 Item List 조회
  130. function fSearchItem()
  131. {
  132. dsf_makeValue(ds_send, "itemcd", "string", cmb_itemcls.value);
  133. var oParam = {};
  134. oParam.id = "TRMNR05001";
  135. oParam.service = "carerecapp.RecItemMngt";
  136. oParam.method = "reqGetSubItemList";
  137. oParam.inds = "req=ds_send";
  138. oParam.outds = "ds_iteminfo_itemlist=itemlist";
  139. oParam.async = false;
  140. tranf_submit(oParam);
  141. }
  142. //desc : 간호Item 또는 시간 setting 초기화
  143. //param : pFlag ( time : 시간setting, item :
  144. function fClearGrid()
  145. {
  146. for(var i = 0; i < ds_timeinfo_timelist.rowcount; i++)
  147. {
  148. for(var j = 0; j < 12 ; j++)
  149. {
  150. if(j >= 0 && j < 6)
  151. {
  152. // grd_timelist.setCellProperty("Body", j, "background", "");
  153. // grd_timelist.setCellProperty("Body", j, "background2", "");
  154. }
  155. else if(j >= 6)
  156. {
  157. ds_timeinfo_timelist.setColumn(i, j, "");
  158. }
  159. }
  160. }
  161. xSaveInfoPath.setColumn(0, "apnttmspec", "");
  162. }
  163. //그리드 클릭시
  164. function fClinckGridRow()
  165. {
  166. var iRow = grd_timelist.currentrow;
  167. var iCol = grd_timelist.currentcol;
  168. var sApntTMSpec = "";
  169. //var sExprBack = "EXPR(";
  170. if(utlf_isNull(ds_timeinfo_timelist.getColumn(iRow, iCol + 6)))
  171. {
  172. ds_timeinfo_timelist.setColumn(iRow, iCol + 6, sTimeColor);
  173. }
  174. else if(!utlf_isNull(ds_timeinfo_timelist.getColumn(iRow, iCol + 6)))
  175. {
  176. ds_timeinfo_timelist.setColumn(iRow, iCol + 6, "");
  177. }
  178. for(var i = 0; i < 4; i++)
  179. {
  180. for(var j = 0; j < 6; j++)
  181. {
  182. if(!utlf_isNull(ds_timeinfo_timelist.getColumn(i, j + 6)))
  183. {
  184. if(sApntTMSpec == "")
  185. {
  186. sApntTMSpec = ds_timeinfo_timelist.getColumn(i, j);
  187. }
  188. else
  189. {
  190. sApntTMSpec += "," + ds_timeinfo_timelist.getColumn(i, j);
  191. }
  192. }
  193. }
  194. }
  195. xSaveInfoPath.setColumn(0, "apnttmspec", sApntTMSpec);
  196. // grd_timelist.row = 0;
  197. // grd_timelist.col = -1;
  198. }
  199. //Interval지정 시간 계산
  200. function fIntervalCalculate()
  201. {
  202. for(var i = 0; i < ds_timeinfo_timelist.rowcount; i++)
  203. {
  204. for(var j = 0; j < 12 ; j++)
  205. {
  206. if(j >= 0 && j < 6)
  207. {
  208. // grd_timelist.setCellProperty("Body", j, "background", "");
  209. // grd_timelist.setCellProperty("Body", j, "background2", "");
  210. }
  211. else if(j >= 6)
  212. {
  213. ds_timeinfo_timelist.setColumn(i, j, "");
  214. }
  215. }
  216. }
  217. var time = Number(ds_cond.getColumn(0, "time"));
  218. var interval = Number(ds_cond.getColumn(0, "interval"));
  219. if(time > 24 || time < 0)
  220. {
  221. sysf_messageBox("시작시간 설정이 잘 못 되었습니다.", "I");
  222. ipt_time.setFocus();
  223. return;
  224. }
  225. if(interval < 1 || interval > 24){
  226. sysf_messageBox("Interval 설정이 잘 못 되었습니다.", "I");
  227. ipt_interval.setFocus();
  228. return;
  229. }
  230. if(time == 24)
  231. {
  232. time = 0;
  233. }
  234. var curtime = time;
  235. var sApntTMSpecList = "";
  236. var cnt = 0;
  237. var sRemainder = "";
  238. var sExprBack = "EXPR(";
  239. var j = 0;
  240. var k = 0;
  241. var iRow = 0;
  242. var iCol = 0;
  243. var breackReturn = false;
  244. while(curtime <= 24)
  245. {
  246. if(cnt == 0)
  247. {
  248. if(curtime == 24)
  249. {
  250. sApntTMSpecList += "0";
  251. }
  252. else
  253. {
  254. sApntTMSpecList += curtime;
  255. }
  256. }
  257. else
  258. {
  259. if(curtime == 24)
  260. {
  261. if(time != 0 )
  262. {
  263. sApntTMSpecList += ",0";
  264. }
  265. }
  266. else
  267. {
  268. sApntTMSpecList += "," + curtime;
  269. }
  270. }
  271. curtime += interval;
  272. cnt++;
  273. }
  274. if( sApntTMSpecList != "")
  275. {
  276. var sApntTMSpec = sApntTMSpecList.split(",");
  277. for(i=0; i < sApntTMSpec.length; i++)
  278. {
  279. sRemainder = eval(sApntTMSpec[i]) % 6;
  280. if(sRemainder == 0) sRemainder += 6;
  281. breackReturn = false;
  282. for(j = 0; j < 4 ;j++)
  283. {
  284. for(k = 0; k < 6 ; k++)
  285. {
  286. if(ds_timeinfo_timelist.getColumn(j, k) == sApntTMSpec[i])
  287. {
  288. breackReturn = true;
  289. break;
  290. }
  291. }
  292. if(breackReturn == true)
  293. {
  294. break;
  295. }
  296. }
  297. iRow = j;
  298. iCol = k;
  299. if(utlf_isNull(ds_timeinfo_timelist.getColumn(iRow, iCol + 6)))
  300. {
  301. ds_timeinfo_timelist.setColumn(iRow, iCol + 6, "currow == " + iRow + " ? '" + sTimeColor + "' : " );
  302. }
  303. else if(!utlf_isNull(ds_timeinfo_timelist.getColumn(iRow, iCol + 6)))
  304. {
  305. ds_timeinfo_timelist.setColumn(iRow, iCol + 6, "");
  306. }
  307. }
  308. for(k = 0 ; k < 6 ;k++)
  309. {
  310. breackReturn = false;
  311. sExprBack = "EXPR(";
  312. for(j = 0; j < ds_timeinfo_timelist.rowcount; j++)
  313. {
  314. if( !utlf_isNull(ds_timeinfo_timelist.getColumn(j, k + 6)))
  315. {
  316. sExprBack += ds_timeinfo_timelist.getColumn(j, k + 6);
  317. breackReturn = true;
  318. }
  319. }
  320. if(breackReturn == true)
  321. {
  322. sExprBack += "'')";
  323. // grd_timelist.setCellProperty("Body", k, "background", sExprBack);
  324. // grd_timelist.setCellProperty("Body", k, "background2", sExprBack);
  325. }
  326. else
  327. {
  328. sExprBack = "";
  329. // grd_timelist.setCellProperty("Body", k, "background", sExprBack);
  330. // grd_timelist.setCellProperty("Body", k, "background2", sExprBack);
  331. }
  332. }
  333. }
  334. xSaveInfoPath.setColumn(0, "apnttmspec", sApntTMSpecList);
  335. }
  336. //간호Item 시간 Setting 전송
  337. function fSend(pFlag)
  338. {
  339. dsf_setDefaultVal(ds_prcpinfo, "all");
  340. var sApntTMSpec = ds_saveinfo.getColumn(0, "apnttmspec");
  341. var sCareItemCd = ds_prcpinfo.getColumn(0, "careitemcd");
  342. var sSupcd = ds_prcpinfo.getColumn(0, "supcd");
  343. var sPrcpnm = ds_prcpinfo.getColumn(0, "prcpnm");
  344. if(utlf_isNull(sApntTMSpec))
  345. {
  346. sysf_messageBox("시간을","C002");
  347. return;
  348. }
  349. if(utlf_isNull(sSupcd))
  350. {
  351. sysf_messageBox("간호 Item 분류를","C002");
  352. return;
  353. }
  354. var sCareItemNm = ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "itemnm");
  355. if(utlf_isNull(sCareItemNm))
  356. {
  357. sCareItemNm = "";
  358. }
  359. var sSupcdNm = ds_clsinfo_clslist.lookup("itemcd", sSupcd, "itemnm");
  360. if(PageFlag == "P")
  361. {
  362. var sReturnMsg = "flag▦careitemcd▦careitemnm▦apnttmspec▦supcd▦supnm▦apntflag▦prcpnm▦apntseqno▦rownum▦prcpdd▦prcpno▦prcphistno▩"+pFlag+"▦"+sCareItemCd+"▦"+sCareItemNm+"▦"+sApntTMSpec+"▦"+sSupcd+"▦"+sSupcdNm+"▦"+PageFlag+"▦"+"▦"+sApntseqno+"▦"+sSelectRow+"▦"+sPrcpdd+"▦"+sPrcpno+"▦"+sPrcpHistNo+"▩";
  363. var sReturnMsgItem = "careitemcd▦careitemnm▦supcd▦supnm▦clincobs▦intake▦output▦catheter▦careexec▦clincobsprcpyn▦cathprcpyn▦careexecprcpyn▦mainrecflag▦extyn▦itemorigincd▦instru▦instruprcpyn▦supsetno▩";
  364. sReturnMsgItem += sCareItemCd+"▦"+sCareItemNm+"▦"+sSupcd+"▦"+sSupcdNm+"▦"
  365. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "clincobs" )+"▦"
  366. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "intake" )+"▦"
  367. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "output" )+"▦"
  368. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "catheter" )+"▦"
  369. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "careexec" )+"▦"
  370. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "clincobsprcpyn" )+"▦"
  371. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "cathprcpyn" )+"▦"
  372. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "careexecprcpyn" )+"▦"
  373. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "mainrecflag" )+"▦"
  374. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "extyn" )+"▦"
  375. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "itemorigincd" )+"▦"
  376. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "instru" )+"▦"
  377. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "instruprcpyn" )+"▦"
  378. if( !utlf_isNull(ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "supsetno") ))
  379. {
  380. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "supsetno" )+"▩";
  381. }
  382. else
  383. {
  384. + "" +"▩";
  385. }
  386. opener.frmf_setParameter("SPMNR05000_Return",sReturnMsg);
  387. opener.frmf_setParameter("SPMNR05000_ReturnItem",sReturnMsgItem);
  388. this.close();
  389. }
  390. else
  391. {
  392. var sReturnMsg = "flag▦careitemcd▦careitemnm▦apnttmspec▦supcd▦supnm▦apntflag▦prcpnm▦apntseqno▦rownum▦prcpdd▦prcpno▦prcphistno▩"+pFlag+"▦"+sCareItemCd+"▦"+sCareItemNm+"▦"+sApntTMSpec+"▦"+sSupcd+"▦"+sSupcdNm+"▦"+PageFlag+"▦"+sPrcpnm+"▦"+sApntseqno+"▦"+sSelectRow+"▦"+"▦"+"▦"+"▩";
  393. var sReturnMsgItem = "careitemcd▦careitemnm▦supcd▦supnm▦clincobs▦intake▦output▦catheter▦careexec▦clincobsprcpyn▦cathprcpyn▦careexecprcpyn▦mainrecflag▦extyn▦itemorigincd▦instru▦instruprcpyn▦supsetno▩";
  394. sReturnMsgItem += sCareItemCd+"▦"+sCareItemNm+"▦"+sSupcd+"▦"+sSupcdNm+"▦"
  395. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "clincobs" )+"▦"
  396. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "intake" )+"▦"
  397. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "output" )+"▦"
  398. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "catheter" )+"▦"
  399. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "careexec" )+"▦"
  400. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "clincobsprcpyn" )+"▦"
  401. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "cathprcpyn" )+"▦"
  402. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "careexecprcpyn" )+"▦"
  403. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "mainrecflag" )+"▦"
  404. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "extyn" )+"▦"
  405. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "itemorigincd" )+"▦"
  406. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "instru" )+"▦"
  407. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "instruprcpyn" )+"▦"
  408. if( !utlf_isNull(ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "supsetno") ))
  409. {
  410. + ds_iteminfo_itemlist.lookup("itemcd", sCareItemCd, "supsetno" )+"▩";
  411. }
  412. else
  413. {
  414. + "" +"▩";
  415. }
  416. opener.frmf_setParameter("SPMNR05000_Return",sReturnMsg);
  417. opener.frmf_setParameter("SPMNR05000_ReturnItem",sReturnMsgItem);
  418. this.close();
  419. }
  420. }]]></Script>