SMMND02700.xjs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[function fInitControl()
  3. {
  4. ds_main.clearData();
  5. ds_main.addRow();
  6. today = String(ds_temp_savedata_getdatelist_getdate.getColumn(0, "savedate")).toDate("YYYYMMDD");
  7. var isYear, isMonth, ls_day;
  8. isYear = (today.getYear()).toString();
  9. isMonth = (today.getMonth() + 1).toString();
  10. if ((isMonth.toString()).length == 1)
  11. {
  12. isMonth = ("0".concat(isMonth.toString()));
  13. }
  14. thisMonth = isYear.concat(isMonth);
  15. if (thisMonth < "200001")
  16. {
  17. ds_main.setColumn( 0, "year","2000");
  18. ds_main.setColumn( 0, "month","01");
  19. }
  20. else
  21. {
  22. ds_main.setColumn( 0, "year", isYear);
  23. ds_main.setColumn( 0, "month", isMonth);
  24. }
  25. }
  26. function fCreateCalendar()
  27. {
  28. if ( fGetHospitalCalendar() == false )
  29. {
  30. alert(" line 222 : 데이터를 가져오지 못했습니다.");
  31. fInitControl();
  32. return false;
  33. }
  34. else
  35. {
  36. ds_main_cal_weeks.clearData();
  37. }
  38. var row, col;
  39. var sDW = "sun mon tue wed thu fri sat";
  40. var sDay = sDW.split(" ");
  41. for(var i = 0; i < 6; i++)
  42. {
  43. ds_main_cal_weeks.addRow()
  44. }
  45. for (var i = 0; i < ds_main_caldatalist_caldatainfo.rowcount; i++)
  46. {
  47. row = ds_main_caldatalist_caldatainfo.getColumn(i, "weekno");
  48. col = ds_main_caldatalist_caldatainfo.getColumn(i, "dw")-1;
  49. buff = ds_main_caldatalist_caldatainfo.getColumn(i, "holiflag");
  50. if( buff == "1")
  51. {
  52. ds_main_cal_weeks.setColumn(row-1, col+14, "#ff0000");
  53. }
  54. ds_main_cal_weeks.setColumn(row-1, sDay[col], ds_main_caldatalist_caldatainfo.getColumn(i, "day"));
  55. }
  56. }
  57. function fGetHospitalCalendar()
  58. {
  59. var dd = (ds_main.getColumn(0, "year")).concat(ds_main.getColumn(0, "month"));
  60. dsf_makeValue( ds_send, "date", "string", "" );
  61. ds_send.setColumn( 0, "date", dd);
  62. ds_main_caldatalist.clearData();
  63. ds_main_caldatalist_caldatainfo.clearData();
  64. var oParam = {};
  65. oParam.id = "TRMND01109";
  66. oParam.service = "dialapp.DialPatMngt";
  67. oParam.method = "reqGetcaldata";
  68. oParam.inds = "req=ds_send";
  69. oParam.outds = "ds_main_caldatalist_caldatainfo=caldatainfo";
  70. oParam.async = false;
  71. oParam.callback = "cf_TRMND01109";
  72. tranf_submit(oParam);
  73. }
  74. function cf_TRMND01109(sSvcId, nErrorCode, sErrorMsg)
  75. {
  76. if(nErrorCode < 0)
  77. {
  78. return false;
  79. }
  80. else
  81. {
  82. return true;
  83. }
  84. }
  85. function fDone()
  86. {
  87. dsf_makeValue( ds_temp_savedata, "status", "string", "i");
  88. }
  89. function fGetDate(rsrvdd1, rsrvdd2)
  90. {
  91. var dd = ds_send.getColumn(0, "date"); //해당 년,월
  92. var iValuedd;
  93. for(var i = 0; i < 7;i++)
  94. {
  95. for(var j = 0; j < 7;j++)
  96. {
  97. ds_main_cal_weeks.rowposition = i;
  98. if(ds_main_cal_weeks.getColumn(i, j) < 10)
  99. {
  100. iValuedd = "0" + ds_main_cal_weeks.getColumn(i, j);
  101. }
  102. else
  103. {
  104. iValuedd = ds_main_cal_weeks.getColumn(i, j);
  105. }
  106. if((dd+iValuedd) == rsrvdd1)
  107. {
  108. dsf_makeValue( ds_main_datelist_dateinfo, "startfocus", "string", (i +" "+j));
  109. }
  110. if((dd+iValuedd) == rsrvdd2)
  111. {
  112. dsf_makeValue( ds_main_datelist_dateinfo, "endfocus", "string", (i +" "+j));
  113. }
  114. }
  115. }
  116. }
  117. function fInitCellColor(rsrvdd1, rsrvdd2)
  118. {
  119. var dw = ds_temp_savedata.getColumn(0, "dw");
  120. var dwcol;
  121. for(var i = 0; i < 13; i = i+2)
  122. {
  123. for(var j = 0; j < 7;j++)
  124. {
  125. var dd = ds_send.getColumn(0, "date");
  126. if(!utlf_isNull(String(dw).substr(i,1)))
  127. {
  128. dwcol = parseInt(String(dw).substr(i,1));
  129. if(ds_main_cal_weeks.getColumn(j, dwcol) < 10)
  130. {
  131. dd = dd + "0" + ds_main_cal_weeks.getColumn(j, dwcol);
  132. }
  133. else
  134. {
  135. dd = dd + ds_main_cal_weeks.getColumn(j, dwcol);
  136. }
  137. if((dd >= rsrvdd1) && (dd <= rsrvdd2) && (!utlf_isNull(ds_main_cal_weeks.getColumn(j, dwcol))))
  138. {
  139. ds_main_cal_weeks.setColumn(j, dwcol+7, "#cc99ff")
  140. }
  141. }
  142. }
  143. }
  144. }
  145. function fSaveInfo()
  146. {
  147. var sMatnDial = ds_temp_savedata.getColumn(0, "matndialflag");
  148. var xSavePath = ds_temp_savedata;
  149. var xSavePathGetDateList = ds_temp_savedata_getdatelist_getdate
  150. var xRsltSavePath = ds_send_savedata;
  151. if( sMatnDial == "P" )
  152. { //복막유지환자로 등록되어 있는 경우
  153. sysf_messageBox("복막투석 유지환자로 등록되어 있는 환자", "E008", "투석구분을 변경하십시오.");
  154. this.close();
  155. }
  156. else
  157. {
  158. ds_send_savedata.copyData(ds_temp_savedata);
  159. var rsrvcnts = ds_send_savedata.getColumn(0, "rsrvcnts");
  160. rsrvcnts = rsrvcnts.replace(",", " ");
  161. ds_send_savedata.setColumn(0, "rsrvcnts", rsrvcnts);
  162. if( sMatnDial == "H" )
  163. {
  164. if(xRsltSavePath.getColumn(0, "matnflag") != "1" )
  165. {
  166. if( xRsltSavePath.getColumn(0, "maintepatrgstdd") == sRtn )
  167. {
  168. dsf_makeValue( xRsltSavePath, "status", "string", "u", 0);
  169. }
  170. else if( xRsltSavePath.getColumn(0, "maintepatrgstdd") < sRtn)
  171. {
  172. dsf_makeValue( xRsltSavePath, "status", "string", "i");
  173. }
  174. dsf_makeValue( ds_send_savedata, "dialflag", "string", "H");
  175. var oParam = {};
  176. oParam.id = "TXMND02702";
  177. oParam.service = "dialapp.DialPatMngt";
  178. oParam.method = "reqExeSaveMatnInfo";
  179. oParam.inds = "req=ds_send_savedata";
  180. oParam.outds = "";
  181. oParam.async = false;
  182. oParam.callback = "cf_TXMND02702";
  183. tranf_submit(oParam);
  184. }
  185. }
  186. else if(utlf_isNull(sMatnDial))
  187. {
  188. dsf_makeValue( xRsltSavePath, "status", "string", "i");
  189. dsf_makeValue( xRsltSavePath, "dialflag", "string", "H");
  190. var oParam = {};
  191. oParam.id = "TXMND02702";
  192. oParam.service = "dialapp.DialPatMngt";
  193. oParam.method = "reqExeSaveMatnInfo";
  194. oParam.inds = "req=ds_send_savedata";
  195. oParam.outds = "";
  196. oParam.async = false;
  197. oParam.callback = "cf_TXMND02702_1";
  198. tranf_submit(oParam);
  199. }
  200. if(xSavePathGetDateList.rowcount > 0)
  201. {
  202. var sOrddd_Old = "";
  203. var sCretno_Old = "";
  204. var sGenrflagcd_Old = "";
  205. var sIoFlag = xSavePath.getColumn(0, "ioflag");
  206. var sParamPid = xSavePath.getColumn(0, "pid");
  207. var sParamRsrvdd = xSavePathGetDateList.getColumn(0, "savedate");
  208. if(sIoFlag == "외래" || sIoFlag == "-" )
  209. {
  210. frmf_setParameter("preDiagCond", "InjRoom▦"+sParamPid+"▦"+sParamRsrvdd+"▦▦▦ds");
  211. fFindDiagInfo();
  212. var sParamArr = frmf_getParameter("preDiagResult").split("▦");
  213. sCretno_Old = sParamArr[3];
  214. sGenrflagcd_Old = sParamArr[4];
  215. sIoFlag = "외래";
  216. if(utlf_isNull(sParamArr[1]) && utlf_isNull(sParamArr[2]))
  217. {
  218. }
  219. else
  220. {
  221. if(sGenrflagcd_Old == "O")
  222. {
  223. sOrddd_Old = sParamArr[1];
  224. }
  225. else
  226. {
  227. sOrddd_Old = sParamArr[2];
  228. }
  229. }
  230. }
  231. xRsltSavePath.clearData();
  232. for(var i = 0 ; i < xSavePathGetDateList.rowcount ; i++)
  233. {
  234. var insRow = xRsltSavePath.addRow();
  235. dsf_makeValue( xRsltSavePath, "rsrvdd", "string", xSavePathGetDateList.getColumn( i, "savedate"), insRow);
  236. dsf_makeValue( xRsltSavePath, "pid", "string", xSavePath.getColumn(0, "pid"), insRow);
  237. dsf_makeValue( xRsltSavePath, "shiftflag", "string", xSavePath.getColumn(0, "shiftflag"), insRow);
  238. dsf_makeValue( xRsltSavePath, "dialseatflag", "string", xSavePath.getColumn(0, "dialseatflag"), insRow);
  239. dsf_makeValue( xRsltSavePath, "status", "string", xSavePath.getColumn( 0, "status"), insRow);
  240. dsf_makeValue( xRsltSavePath, "ioflag", "string", sIoFlag, insRow);
  241. dsf_makeValue( xRsltSavePath, "dialflag", "string", "H", insRow);
  242. dsf_makeValue( xRsltSavePath, "rsrvcnts", "string", xSavePath.getColumn( 0, "rsrvcnts"), insRow);
  243. dsf_makeValue( xRsltSavePath, "matnflag", "string", xSavePath.getColumn( 0, "matnflag"), insRow);
  244. dsf_makeValue( xRsltSavePath, "infcflag", "string", xSavePath.getColumn( 0, "infcflag"), insRow);
  245. dsf_makeValue( xRsltSavePath, "orddd_old", "string", sOrddd_Old, insRow);
  246. dsf_makeValue( xRsltSavePath, "cretno_old", "string", sCretno_Old, insRow);
  247. dsf_makeValue( xRsltSavePath, "genrflagcd_old", "string", sGenrflagcd_Old, insRow);
  248. dsf_makeValue( xRsltSavePath, "orddeptcd_old", "string", "", insRow);
  249. dsf_makeValue( xRsltSavePath, "copyflag", "string", "Y", insRow);
  250. dsf_makeValue( xRsltSavePath, "centcd", "string", xSavePath.getColumn( 0, "centcd"), insRow);
  251. if(xSavePath.getColumn(0, "shiftflag") == "5")
  252. {
  253. var currenttime = utlf_getCurrentTime().substr(0,4);
  254. if(currenttime == "0730")
  255. {
  256. currenttime = "0731";
  257. }
  258. else if(currenttime == "1300")
  259. {
  260. currenttime = "1301";
  261. }
  262. else if(currenttime == "1700")
  263. {
  264. currenttime = "1701";
  265. }
  266. dsf_makeValue( xRsltSavePath, "ordtm", "string", currenttime, insRow);
  267. }
  268. }
  269. ds_main_retmsginfo.clearData();
  270. var oParam = {}
  271. oParam.id = "TXMND02701";
  272. oParam.service = "dialapp.DialPatMngt";
  273. oParam.method = "reqExeSaveCretInfo";
  274. oParam.inds = "req=ds_send_savedata";
  275. oParam.outds = "ds_main_retmsginfo=rtnmgs";
  276. oParam.async = false;
  277. oParam.callback = "cf_TXMND02701";
  278. tranf_submit(oParam);
  279. }
  280. else
  281. {
  282. sysf_messageBox("예약등록할 정보가 존재하지 않습니다.","I");
  283. }
  284. }
  285. }
  286. function cf_TXMND02701(sSvcId, nErrorCode, sErrorMsg)
  287. {
  288. if(nErrorCode < 0)
  289. {
  290. sysf_messageBox("저장을 실패했습니다.", "E");
  291. return;
  292. }
  293. else
  294. {
  295. if(ds_main_retmsginfo.rowcount> 0)
  296. {
  297. ds_main_retmsginfo.updatecontrol = false;
  298. ds_main_retmsginfo.enableevent = false;
  299. ds_main_retmsginfo.updateColID("rtnmgs", "rtnmsg");
  300. ds_main_retmsginfo.updatecontrol = true;
  301. ds_main_retmsginfo.enableevent = true;
  302. var pDupMsg = ""; //중복값 관련 메시지
  303. var pEmpMsg = ""; //의사미지정 관련 메시지
  304. for(var k = 0 ; k < ds_main_retmsginfo.rowcount; k++)
  305. {
  306. if(ds_main_retmsginfo.getColumn(k, "rtnmgsflag")=="dup")
  307. {
  308. if(utlf_isNull(pDupMsg))
  309. {
  310. pDupMsg += ds_main_retmsginfo.getColumn(k, "rtnmsg");
  311. }
  312. else
  313. {
  314. pDupMsg += ", " + ds_main_retmsginfo.getColumn(k, "rtnmsg");
  315. }
  316. }
  317. else
  318. {
  319. var _rtnmsg = utlf_transNullToEmpty(ds_main_retmsginfo.getColumn(k, "rtnmsg"));
  320. if(utlf_isNull(pEmpMsg))
  321. {
  322. if(_rtnmsg >= 8)
  323. {
  324. pEmpMsg += _rtnmsg.substr(0,4)+"-"
  325. + _rtnmsg.substr(4,2)+"-"
  326. + _rtnmsg.substr(6,2);
  327. }
  328. else
  329. {
  330. pEmpMsg += _rtnmsg;
  331. }
  332. }
  333. else
  334. {
  335. if(_rtnmsg.length >= 8)
  336. {
  337. pEmpMsg += ", " + _rtnmsg.substr(0,4)+"-"
  338. + _rtnmsg.substr(4,2)+"-"
  339. + _rtnmsg.substr(6,2);
  340. }
  341. else
  342. {
  343. pEmpMsg += ", " + _rtnmsg;
  344. }
  345. }
  346. }
  347. }
  348. if(!utlf_isNull(pDupMsg))
  349. {
  350. sysf_messageBox("["+pDupMsg+"]일자에 예약이", "E006", "\n확인 후 다시 시도하십시오.");
  351. }
  352. if(!utlf_isNull(pEmpMsg))
  353. {
  354. sysf_messageBox("["+pEmpMsg+"]일자에 예약의사가 지정되지 않았습니다.", "E", "\n확인 후 다시 시도하십시오.");
  355. }
  356. }
  357. this.close();
  358. }
  359. }
  360. function cf_TXMND02702(sSvcId, nErrorCode, sErrorMsg)
  361. {
  362. if(nErrorCode < 0)
  363. {
  364. return;
  365. }
  366. else
  367. {
  368. sysf_messageBox("혈액투석 유지환자로 등록 처리되었습니다.", "I001", "간호정보조사지를 기록하십시요.");
  369. }
  370. }
  371. function cf_TXMND02702_1(sSvcId, nErrorCode, sErrorMsg)
  372. {
  373. if(nErrorCode < 0)
  374. {
  375. return;
  376. }
  377. else
  378. {
  379. sysf_messageBox("혈액투석 유지환자로 등록", "I001", "간호정보조사지를 기록하십시요.");
  380. }
  381. }
  382. ]]></Script>