SPMMO05700.xjs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 마취과스케줄 담당관리 ( SPMMO05700_마취과스케줄 담당관리.xfdl - JScript )
  5. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  6. */
  7. //마취과스케줄 담당관리 초기화
  8. function fInitialize_SPMMO05700()
  9. {
  10. ds_main_chrgschedwlist_chrgschedwlist.clearData();
  11. lf_reqHardCodeInfo(ds_init_hardcd, 18);
  12. var deptcd = ds_init_hardcd.getColumn(0, "hardcd");
  13. lf_mmbfGetUserComboList(ds_init_userlist, deptcd);
  14. ds_main_userlist_usercombo.copyData(ds_init_userlist);
  15. fReqChrgScheDWList(); //스케줄 담당요일 조회
  16. fReqOpScheRegTimeList(); //스케줄 정규시간 조회
  17. fSetupRegltmInfo(); //수술스케줄 정규시간 설정가능 범위 조회
  18. }
  19. //스케줄 담당요일 조회
  20. function fReqChrgScheDWList()
  21. {
  22. var oParam = {};
  23. oParam.id = "TRMMO05703";
  24. oParam.service = "prcpmngtapp.OpMngt";
  25. oParam.method = "reqGetChrgScheDWList";
  26. oParam.inds = "req=ds_send_reqdata";
  27. oParam.outds = "ds_main_chrgschedwlist_chrgschedwlist=chrgschedwlist";
  28. oParam.async = false;
  29. oParam.callback = "cf_callback";
  30. tranf_submit(oParam);
  31. ds_main_chrgschedwlist_chrgschedwlist.addColumn("orgchrgdwflag", "string");
  32. ds_main_chrgschedwlist_chrgschedwlist.addColumn("status", "string");
  33. if(arErrorCode.pop("TRMMO05703") > -1)
  34. {
  35. for(var i = 0; i < ds_main_chrgschedwlist_chrgschedwlist.rowcount; i++)
  36. {
  37. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = false;
  38. ds_main_chrgschedwlist_chrgschedwlist.enableevent = false;
  39. ds_main_chrgschedwlist_chrgschedwlist.setColumn(i, "orgchrgdwflag", ds_main_chrgschedwlist_chrgschedwlist.getColumn(i, "chrgdwflag"));
  40. ds_main_chrgschedwlist_chrgschedwlist.enableevent = true;
  41. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = true;
  42. }
  43. }
  44. }
  45. function cf_callback(sSvcId, nErrorCode, sErrorMsg) {
  46. arErrorCode.push(sSvcId, nErrorCode);
  47. }
  48. //담당스케줄 시간 조회
  49. function fReqOpScheRegTimeList()
  50. {
  51. dsf_makeValue(ds_send_reqdata, "nextdate", "STRING", "", 0)
  52. var oParam = {};
  53. oParam.id = "TRMMO05705";
  54. oParam.service = "prcpmngtapp.OpMngt";
  55. oParam.method = "reqGetOpScheRegTimeList";
  56. oParam.inds = "req=ds_send_reqdata";
  57. oParam.outds = "ds_main_scheregtimelist_scheregtimelist=scheregtimelist";
  58. oParam.async = false;
  59. oParam.callback = "cf_callback";
  60. tranf_submit(oParam);
  61. if(arErrorCode.pop("TRMMO05705") > -1)
  62. {
  63. var rsltxml = ds_main_scheregtimelist_scheregtimelist.rowcount;
  64. if(rsltxml == 0)
  65. {
  66. dsf_makeValue(ds_main_scheregtimelist_scheregtimelist, "regfromtm", "string", "08", 0);
  67. dsf_makeValue(ds_main_scheregtimelist_scheregtimelist, "regendtm", "string", "17", 0);
  68. dsf_makeValue(ds_main_scheregtimelist_scheregtimelist, "irregfromtm", "string", "17", 0);
  69. dsf_makeValue(ds_main_scheregtimelist_scheregtimelist, "irregendtm", "string", "08", 0);
  70. }
  71. //현재 설정된 값을 변수와 함께 관리, 값 입력 시 범위에 벗어나 값을 롤백시킬 때 필요
  72. startfromtmVal = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regfromtm");
  73. starttotmVal = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regendtm");
  74. endfromtmVal = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "irregfromtm");
  75. endtotmVal = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "irregendtm");
  76. }
  77. }
  78. //수술스케줄 정규시간 설정가능 범위 정보 조회/셋팅
  79. function fSetupRegltmInfo()
  80. {
  81. var rsltSrc = ds_init_regltminfo;
  82. startfromtm = "";
  83. starttotm = "";
  84. endfromtm = "";
  85. endtotm = "";
  86. lf_getHardCDList("N", 137, null, ds_init_regltminfo);
  87. if( ds_init_regltminfo.rowcount > 0 )
  88. {
  89. var startTmNode = ds_init_regltminfo.getColumn(0, "hardcd"); //시작시간 From~To
  90. var endTmNode = ds_init_regltminfo.getColumn(1, "hardcd"); //종료시간 From~To
  91. if( !utlf_isNull(startTmNode) )
  92. {
  93. startfromtm = startTmNode.split("|")[0];
  94. }
  95. if( !utlf_isNull(startTmNode) )
  96. {
  97. starttotm = startTmNode.split("|")[1];
  98. }
  99. if( !utlf_isNull(endTmNode) )
  100. {
  101. endfromtm = endTmNode.split("|")[0];
  102. }
  103. if( !utlf_isNull(endTmNode) )
  104. {
  105. endtotm = endTmNode.split("|")[1];
  106. }
  107. ds_init_regltminfo.clear();
  108. }
  109. if( utlf_isNull(startfromtm))
  110. {
  111. startfromtm = "08";
  112. }
  113. if( utlf_isNull(starttotm))
  114. {
  115. starttotm = "-";
  116. }
  117. if( utlf_isNull(endfromtm))
  118. {
  119. endfromtm = "17";
  120. }
  121. if( utlf_isNull(endtotm))
  122. {
  123. endtotm = "21";
  124. }
  125. dsf_makeValue(ds_init_regltminfo, "startfromtm", "STRING", startfromtm, 0)
  126. dsf_makeValue(ds_init_regltminfo, "starttotm", "STRING", starttotm, 0)
  127. dsf_makeValue(ds_init_regltminfo, "endfromtm", "STRING", endfromtm, 0)
  128. dsf_makeValue(ds_init_regltminfo, "endtotm", "STRING", endtotm, 0)
  129. }
  130. //수술스케줄 관리자 조회
  131. function fGetOpScheSrchList()
  132. {
  133. ds_send_reqdata.clear();
  134. dsf_makeValue(ds_send_reqdata, "cond", "STRING", ds_main_cond.getColumn(0, "srchcond"), 0);
  135. dsf_makeValue(ds_send_reqdata, "data", "STRING", ds_main_cond.getColumn(0, "srchdata"), 0);
  136. var oParam = {};
  137. oParam.id = "TRMMO05705";
  138. oParam.service = "prcpmngtapp.OpMngt";
  139. oParam.method = "reqGetOpScheSrchList";
  140. oParam.inds = "req=ds_send_reqdata";
  141. oParam.outds = "ds_main_chrgschedwlist_chrgschedwlist=chrgschedwlist";
  142. oParam.async = false;
  143. oParam.callback = "cf_callback";
  144. tranf_submit(oParam);
  145. ds_main_chrgschedwlist_chrgschedwlist.addColumn("orgchrgdwflag", "string");
  146. ds_main_chrgschedwlist_chrgschedwlist.addColumn("status", "string");
  147. if(arErrorCode.pop("TRMMO05705") > -1)
  148. {
  149. for(var i = 0; i < ds_main_chrgschedwlist_chrgschedwlist.rowcount; i++)
  150. {
  151. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = false;
  152. ds_main_chrgschedwlist_chrgschedwlist.enableevent = false;
  153. ds_main_chrgschedwlist_chrgschedwlist.setColumn(i, "orgchrgdwflag", ds_main_chrgschedwlist_chrgschedwlist.getColumn(i, "chrgdwflag"));
  154. ds_main_chrgschedwlist_chrgschedwlist.enableevent = true;
  155. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = true;
  156. }
  157. }
  158. }
  159. //추가
  160. function fClkBtnAdd()
  161. {
  162. group1.visible = true;
  163. }
  164. //스케줄 담당요일 저장
  165. function fSaveChrgScheDWList()
  166. {
  167. ds_send_savedata.clearData();
  168. ds_send_savedata.copyData(ds_main_chrgschedwlist_chrgschedwlist);
  169. var oParam = {};
  170. oParam.id = "TXMMO05702";
  171. oParam.service = "prcpmngtapp.OpMngt";
  172. oParam.method = "reqExeSaveChrgScheDWList";
  173. oParam.inds = "req=ds_send_savedata";
  174. oParam.outds = "ds_main_chrgschedwlist_chrgschedwlist=chrgschedwlist";
  175. oParam.async = false;
  176. oParam.callback = "cf_callback";
  177. tranf_submit(oParam);
  178. ds_main_chrgschedwlist_chrgschedwlist.addColumn("orgchrgdwflag", "string");
  179. ds_main_chrgschedwlist_chrgschedwlist.addColumn("status", "string");
  180. if(arErrorCode.pop("TRMMO05705") > -1)
  181. {
  182. for(var i = 0; i < ds_main_chrgschedwlist_chrgschedwlist.rowcount; i++)
  183. {
  184. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = false;
  185. ds_main_chrgschedwlist_chrgschedwlist.enableevent = false;
  186. ds_main_chrgschedwlist_chrgschedwlist.setColumn(i, "orgchrgdwflag", ds_main_chrgschedwlist_chrgschedwlist.getColumn(i, "chrgdwflag"));
  187. ds_main_chrgschedwlist_chrgschedwlist.enableevent = true;
  188. ds_main_chrgschedwlist_chrgschedwlist.updatecontrol = true;
  189. }
  190. }
  191. }
  192. //담당스케줄 요일리스트 변경
  193. function fChngChrgScheDWList()
  194. {
  195. var status = ds_main_chrgschedwlist_chrgschedwlist.getColumn(ds_main_chrgschedwlist_chrgschedwlist.rowposition, "status");
  196. //신규
  197. if(status != "i")
  198. {
  199. ds_main_chrgschedwlist_chrgschedwlist.setColumn(ds_main_chrgschedwlist_chrgschedwlist.rowposition, "status", "u");
  200. }
  201. }
  202. //등록버튼 클릭
  203. function fClkBtnRgst()
  204. {
  205. var rows = grdf_getSelectedRows(group1.grd_anstdrlist);
  206. for(var i = rows.length-1 ; i >= 0; i--)
  207. {
  208. var currow = rows[i];
  209. var userid = ds_main_userlist_usercombo.getColumn(currow, "userid");
  210. var usernm = ds_main_userlist_usercombo.getColumn(currow, "usernm");
  211. var adrow = ds_main_chrgschedwlist_chrgschedwlist.addRow();
  212. ds_main_chrgschedwlist_chrgschedwlist.setColumn(adrow, "orddrid", userid);
  213. ds_main_chrgschedwlist_chrgschedwlist.setColumn(adrow, "hngnm", usernm);
  214. ds_main_chrgschedwlist_chrgschedwlist.setColumn(adrow, "status", "i");
  215. }
  216. group1.visible = false;
  217. }
  218. //닫기버튼 클릭
  219. function fClkBtnClose()
  220. {
  221. group1.visible = false;
  222. }
  223. //fromTm 변경 Up
  224. function fSetUpFromTm()
  225. {
  226. //정규시작시간 증가
  227. var srctime = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regfromtm");
  228. var tmptime = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regendtm");
  229. //시작시간이 종료시간보다 크거나 같은 경우
  230. if(srctime >= tmptime - 1)
  231. {
  232. return;
  233. }
  234. var destime = fIncDecTime(srctime, 1);
  235. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "regfromtm", destime);
  236. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "irregendtm", destime);
  237. startfromtmVal = destime;
  238. endtotmVal = destime;
  239. }
  240. //fromTm 변경 Down
  241. function fSetDownFromTm()
  242. {
  243. //정규시작시간 감소
  244. var srctime = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regfromtm");
  245. //제한 기준 변경 8 -> startfromtm
  246. if(srctime <= startfromtm)
  247. {
  248. return;
  249. }
  250. var destime = fIncDecTime(srctime, -1);
  251. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "regfromtm", destime);
  252. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "irregendtm", destime);
  253. startfromtmVal = destime;
  254. endtotmVal = destime;
  255. }
  256. //toTm 변경 Up
  257. function fSetUpToTm()
  258. {
  259. //정규종료시간 증가
  260. var srctime = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regendtm");
  261. //제한 기준 변경 21 -> endtotm
  262. if(srctime >= endtotm)
  263. {
  264. return;
  265. }
  266. var destime = fIncDecTime(srctime, 1);
  267. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "regendtm", destime);
  268. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "irregfromtm", destime);
  269. starttotmVal = destime;
  270. endfromtmVal = destime;
  271. }
  272. //toTm 변경 Down
  273. function fSetDownToTm()
  274. {
  275. //정규종료시간 감소
  276. var srctime = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regendtm");
  277. //제한 기준 변경 17 -> endfromtm
  278. if(srctime <= endfromtm)
  279. {
  280. return;
  281. }
  282. var destime = fIncDecTime(srctime, -1);
  283. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "regendtm", destime);
  284. ds_main_scheregtimelist_scheregtimelist.setColumn(0, "irregfromtm", destime);
  285. starttotmVal = destime;
  286. endfromtmVal = destime;
  287. }
  288. //정규시간 저장
  289. function fSaveOpScheRegTimeList()
  290. {
  291. ds_send_savedata.clear();
  292. var regfromtm = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regfromtm");
  293. var regendtm = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "regendtm");
  294. var irregfromtm = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "irregfromtm");
  295. var irregendtm = ds_main_scheregtimelist_scheregtimelist.getColumn(0, "irregendtm");
  296. dsf_makeValue(ds_send_savedata, "regfromtm", "STRING", regfromtm.concat("0000"), 0);
  297. dsf_makeValue(ds_send_savedata, "regendtm", "STRING", regendtm.concat("0000"), 0);
  298. dsf_makeValue(ds_send_savedata, "irregfromtm", "STRING", irregfromtm.concat("0000"), 0);
  299. dsf_makeValue(ds_send_savedata, "irregendtm", "STRING", irregendtm.concat("0000"), 0);
  300. var oParam = {};
  301. oParam.id = "TXMMO05703";
  302. oParam.service = "prcpmngtapp.OpMngt";
  303. oParam.method = "reqInsOpScheRegTimeList";
  304. oParam.inds = "req=ds_send_savedata";
  305. oParam.outds = "ds_main_scheregtimelist_scheregtimelist=scheregtimelist";
  306. oParam.async = false;
  307. //oParam.callback = "cf_TXMMO05703";
  308. tranf_submit(oParam);
  309. }
  310. // 시간 증가, 감사
  311. function fIncDecTime(srctime, chngval)
  312. {
  313. if(srctime.substr(0,1) == "0")
  314. {
  315. srctime = srctime.substr(1,1);
  316. }
  317. destime = eval(srctime) + chngval;
  318. if(destime == -1)
  319. {
  320. return "00";
  321. }
  322. else if(destime == 25)
  323. {
  324. return "24";
  325. }
  326. if(destime < 10)
  327. {
  328. destime = "0".concat(destime);
  329. }
  330. return destime;
  331. }
  332. ]]></Script>