SPMNV07000_진료실일정등록관리.xrw 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>진료실전광판관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <search>
  11. <orddd/>
  12. <centcd/>
  13. <orddeptcd/>
  14. <subdeptcd/>
  15. <orddrid/>
  16. </search>
  17. <ordschelist>
  18. <ordschelistinfo>
  19. <orddd/>
  20. <centcd/>
  21. <orddeptcd/>
  22. <ordroomcdnm/>
  23. <ordroomcd/>
  24. <ordflag/>
  25. <orddrid/>
  26. <chrgempid/>
  27. <autoflag/>
  28. <status/>
  29. </ordschelistinfo>
  30. </ordschelist>
  31. <cond>
  32. <chkdata/>
  33. </cond>
  34. <returnsts>
  35. <statusinfo>
  36. <restatus/>
  37. </statusinfo>
  38. </returnsts>
  39. <temp/>
  40. </main>
  41. <send>
  42. <savedata/>
  43. <reqdata/>
  44. <removedata/>
  45. </send>
  46. <init>
  47. <centcd>
  48. <centcdlist>
  49. <cdnm/>
  50. <cdid/>
  51. </centcdlist>
  52. </centcd>
  53. <subdeptcd>
  54. <subdeptcdlist>
  55. <cdid/>
  56. <cdnm/>
  57. </subdeptcdlist>
  58. <orddeptdrcdlist>
  59. <cdid/>
  60. <cdnm/>
  61. </orddeptdrcdlist>
  62. <chrgemplist>
  63. <cdnm/>
  64. <cdid/>
  65. </chrgemplist>
  66. </subdeptcd>
  67. <orddeptcd>
  68. <orddeptcdlist>
  69. <cdid/>
  70. <cdnm/>
  71. </orddeptcdlist>
  72. </orddeptcd>
  73. <ordroomcd>
  74. <cdid/>
  75. <cdnm/>
  76. </ordroomcd>
  77. </init>
  78. <hidden>
  79. <init>
  80. <cntrsuborddeptlist>
  81. <dept>
  82. <cdid/>
  83. <cdnm/>
  84. </dept>
  85. </cntrsuborddeptlist>
  86. <cntrorddeptdoctorlist>
  87. <user>
  88. <cdid/>
  89. <cdnm/>
  90. </user>
  91. </cntrorddeptdoctorlist>
  92. <cntrchrgemplist>
  93. <chrgemp/>
  94. </cntrchrgemplist>
  95. </init>
  96. <con>
  97. <orddd/>
  98. <centcd/>
  99. <orddeptcd/>
  100. <subdeptcd/>
  101. <orddrid/>
  102. <chrgempid/>
  103. <basedd/>
  104. <ordroomcd/>
  105. <ordflag/>
  106. <orddrnm/>
  107. <ordnurnm/>
  108. <status/>
  109. <msgflag/>
  110. <autoflag/>
  111. <statflag/>
  112. </con>
  113. <cond>
  114. <condwait/>
  115. </cond>
  116. </hidden>
  117. <temp>
  118. </temp>
  119. <cond>
  120. <con/>
  121. </cond>
  122. <chkvalue>
  123. <chk/>
  124. </chkvalue>
  125. </root>
  126. </instance>
  127. <script type="javascript" ev:event="xforms-ready">
  128. <![CDATA[
  129. fInit();
  130. ]]>
  131. </script>
  132. <submission id="TRZSD00208" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  133. <submission id="TRZSU10118" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  134. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  135. <submission id="TRPMOCOM01" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/session" replace="instance" resultref="/root/init"/>
  136. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init_com/init"/>
  137. <submission id="TRMNV07001" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" ref="/root/send/reqdata" resultref="/root/init/subdeptcd"/>
  138. <submission id="TRMNV07002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init"/>
  139. <submission id="TRMNV07006" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/subdeptcd"/>
  140. <submission id="TRMNV07007" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ordschelist"/>
  141. <submission id="TXMNV07008" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/chkdata" resultref="/root/main/returnsts"/>
  142. <submission id="TRMNV07008" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/subdeptcd"/>
  143. </model>
  144. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  145. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  146. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  147. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  148. <script type="javascript" src="../../.S./com/commonweb/js/numericHelper.js"/>
  149. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  150. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  151. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  152. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  153. <script type="javascript" src="../../../emr/waitguideweb/js/SMMNV1200.js"/>
  154. <script type="javascript">
  155. <![CDATA[
  156. function fInit()
  157. {
  158. var CurrentDate = getCurrentDate();
  159. model.makeValue("/root/hidden/con/orddd",CurrentDate);
  160. //model.makeValue("/root/hidden/con/orddd",'20090316');
  161. model.removeNodeset("/root/main/ordschelist");
  162. fGetUserInfosSampling(); // * @desc : 세션정보 추출하기 PMOCOM.js
  163. model.copyNode("/root/send/reqdata","/root/hidden/con");
  164. submit("TRMNV07002"); //센터, 진료과 정보 가져옴
  165. //var userid=getUserInfo("userid");//
  166. var userid=getUserInfo("userid");
  167. var usernm=getUserInfo("usernm");
  168. var dutplcecd=getUserInfo("dutplcecd");
  169. //var userid='DEVB10';
  170. //var dutplcecd='2240000000';
  171. // var userid='DEV504';
  172. // var dutplcecd='2010300000';
  173. model.makeValue("/root/hidden/con/orddeptcd",dutplcecd); //진료과코드 셋팅
  174. // model.makeValue("/root/hidden/con/orddeptcd",'2010300000');
  175. // model.makeValue("/root/hidden/con/chrgempid",'97031058'); //담당직원코드 셋팅
  176. // model.makeValue("/root/hidden/con/ordroomcd",'1000000002'); //담당직원코드 셋팅
  177. // model.makeValue("/root/hidden/con/orddrid",'95031108');
  178. //model.makeValue("/root/hidden/con/basedd",model.getValue("/root/hidden/con/orddd")); //기준일자는 진료일자
  179. model.copyNode("/root/send/reqdata","/root/hidden/con");
  180. submit("TRMNV07001"); // 진료과 선택시 담당의, 세부진료과, 담당직원 가져오는 코드 셋팅
  181. model.copyNode("/root/send/reqdata","/root/hidden/con");
  182. //addComboItem("cmb_chrgempid", " ","","above");
  183. addComboItem("cmb_orddrid", " ","","above");
  184. // var NodeCnt=eval(getNodesetCount("/root/init/subdeptcd/chrgemplist")); //갯수를 셈
  185. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+1+"]/chrgempid",'');
  186. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+1+"]/chrgempnm",' ');
  187. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempid",'97031058');
  188. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempnm",'한아연');
  189. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+3+"]/chrgempid",'10108919');
  190. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+3+"]/chrgempnm",'송여진');
  191. model.refresh();
  192. }
  193. /**---------------------------------------------------
  194. * @desc : 세션정보 추출하기
  195. * @---------------------------------------------------
  196. */
  197. function fGetUserInfosSampling()
  198. {
  199. var sUserInfosS = getUserInfos();
  200. sUserInfosS = sUserInfosS + "|";
  201. var UserInfosS_Array = sUserInfosS.split("|");
  202. var userid = UserInfosS_Array[0]; //사용자번호
  203. var usernm = UserInfosS_Array[1]; //사용자이름
  204. var posinstcd = UserInfosS_Array[2]; //소속기관코드
  205. var posinstnm = UserInfosS_Array[3]; //소속기관명
  206. var posdeptcd = UserInfosS_Array[4]; //소속부서코드
  207. var posdeptnm = UserInfosS_Array[5]; //소속부서명
  208. var dutplceinstcd = UserInfosS_Array[6]; //근무지기관코드
  209. var dutplceinstnm = UserInfosS_Array[7]; //근무지기관명
  210. var dutplcecd = UserInfosS_Array[8]; //근무지부서코드
  211. var dutplcenm = UserInfosS_Array[9]; //근무지부서명
  212. var jobkindcd = UserInfosS_Array[10]; //직종코드
  213. var jobkindnm = UserInfosS_Array[11]; //직종명
  214. var jobposcd = UserInfosS_Array[12]; //직위코드
  215. var jobposnm = UserInfosS_Array[13]; //직위명
  216. var jobrespcd = UserInfosS_Array[14]; //직책코드
  217. var jobrespnm = UserInfosS_Array[15]; //직책명
  218. var prfshipflagcd = UserInfosS_Array[16]; //교직구분코드
  219. var prfshipflagnm = UserInfosS_Array[17]; //고직구분명
  220. var licnsno = UserInfosS_Array[18]; //자격면허번호
  221. var specordyn = UserInfosS_Array[19]; //선택진료여부
  222. var deptabbr = UserInfosS_Array[20]; //부서약어
  223. var orddeptflag = UserInfosS_Array[21]; //진료과구분
  224. var wardflag = UserInfosS_Array[22]; //병동구분
  225. var systemcd = UserInfosS_Array[23]; //시스템코드
  226. var systemnm = UserInfosS_Array[24]; //시스템명칭
  227. var systeminstcd = UserInfosS_Array[25]; //시스템소속기관코드
  228. var systeminstnm = UserInfosS_Array[26]; //시스템소속기관명
  229. var logindt = UserInfosS_Array[27]; //로그인일시밀리쵸
  230. model.makeNode("/root/hidden/session/sess_" + "userid");
  231. model.makeNode("/root/hidden/session/sess_" + "usernm");
  232. model.makeNode("/root/hidden/session/sess_" + "posinstcd");
  233. model.makeNode("/root/hidden/session/sess_" + "posinstnm");
  234. model.makeNode("/root/hidden/session/sess_" + "posdeptcd");
  235. model.makeNode("/root/hidden/session/sess_" + "posdeptnm");
  236. model.makeNode("/root/hidden/session/sess_" + "dutplceinstcd");
  237. model.makeNode("/root/hidden/session/sess_" + "dutplceinstnm");
  238. model.makeNode("/root/hidden/session/sess_" + "dutplcecd");
  239. model.makeNode("/root/hidden/session/sess_" + "dutplcenm");
  240. model.makeNode("/root/hidden/session/sess_" + "jobkindcd");
  241. model.makeNode("/root/hidden/session/sess_" + "jobkindnm");
  242. model.makeNode("/root/hidden/session/sess_" + "jobposcd");
  243. model.makeNode("/root/hidden/session/sess_" + "jobposnm");
  244. model.makeNode("/root/hidden/session/sess_" + "jobrespcd");
  245. model.makeNode("/root/hidden/session/sess_" + "jobrespnm");
  246. model.makeNode("/root/hidden/session/sess_" + "prfshipflagcd");
  247. model.makeNode("/root/hidden/session/sess_" + "prfshipflagnm");
  248. model.makeNode("/root/hidden/session/sess_" + "licnsno");
  249. model.makeNode("/root/hidden/session/sess_" + "specordyn");
  250. model.makeNode("/root/hidden/session/sess_" + "deptabbr");
  251. model.makeNode("/root/hidden/session/sess_" + "orddeptflag");
  252. model.makeNode("/root/hidden/session/sess_" + "wardflag");
  253. model.makeNode("/root/hidden/session/sess_" + "systemcd");
  254. model.makeNode("/root/hidden/session/sess_" + "systemnm");
  255. model.makeNode("/root/hidden/session/sess_" + "systeminstcd");
  256. model.makeNode("/root/hidden/session/sess_" + "systeminstnm");
  257. model.makeNode("/root/hidden/session/sess_" + "logindt");
  258. if (userid == null || userid == "" || userid == " " || userid == "-") userid = "pam";
  259. if (posinstcd == null || posinstcd == "" || posinstcd == " " || posinstcd == "-") posinstcd = "012";
  260. model.setValue("/root/hidden/session/sess_userid",userid);
  261. model.setValue("/root/hidden/session/sess_usernm",usernm);
  262. model.setValue("/root/hidden/session/sess_posinstcd",posinstcd);
  263. model.setValue("/root/hidden/session/sess_posinstnm",posinstnm);
  264. model.setValue("/root/hidden/session/sess_posdeptcd",posdeptcd);
  265. model.setValue("/root/hidden/session/sess_posdeptnm",posdeptnm);
  266. model.setValue("/root/hidden/session/sess_dutplceinstcd",dutplceinstcd);
  267. model.setValue("/root/hidden/session/sess_dutplceinstnm",dutplceinstnm);
  268. model.setValue("/root/hidden/session/sess_dutplcecd",dutplcecd);
  269. model.setValue("/root/hidden/session/sess_dutplcenm",dutplcenm);
  270. model.setValue("/root/hidden/session/sess_jobkindcd",jobkindcd);
  271. model.setValue("/root/hidden/session/sess_jobkindnm",jobkindnm);
  272. model.setValue("/root/hidden/session/sess_jobposcd",jobposcd);
  273. model.setValue("/root/hidden/session/sess_jobposnm",jobposnm);
  274. model.setValue("/root/hidden/session/sess_jobrespcd",jobrespcd);
  275. model.setValue("/root/hidden/session/sess_jobrespnm",jobrespnm);
  276. model.setValue("/root/hidden/session/sess_prfshipflagcd",prfshipflagcd);
  277. model.setValue("/root/hidden/session/sess_prfshipflagnm",prfshipflagnm);
  278. model.setValue("/root/hidden/session/sess_licnsno",licnsno);
  279. model.setValue("/root/hidden/session/sess_specordyn",specordyn);
  280. model.setValue("/root/hidden/session/sess_deptabbr",deptabbr);
  281. model.setValue("/root/hidden/session/sess_orddeptflag",orddeptflag);
  282. model.setValue("/root/hidden/session/sess_wardflag",wardflag);
  283. model.setValue("/root/hidden/session/sess_systemcd",systemcd);
  284. model.setValue("/root/hidden/session/sess_systemnm",systemnm);
  285. model.setValue("/root/hidden/session/sess_systeminstcd",systeminstcd);
  286. model.setValue("/root/hidden/session/sess_systeminstnm",systeminstnm);
  287. model.setValue("/root/hidden/session/sess_logindt",logindt);
  288. model.refresh();
  289. }
  290. function fOrdScheList() //의사 진료 일정 조회
  291. {
  292. model.removeNodeset("/root/send/reqdata");
  293. model.makeNode("/root/send/reqdata");
  294. //rdo_ordflag.value=='1';
  295. var orddd=model.getValue("/root/hidden/con/orddd");
  296. var centcd=model.getValue("/root/hidden/con/centcd");
  297. var orddeptcd=model.getValue("/root/hidden/con/orddeptcd");
  298. var subdeptcd=model.getValue("/root/hidden/con/subdeptcd");
  299. var orddrid=model.getValue("/root/hidden/con/orddrid");
  300. var chrgempid=model.getValue("/root/hidden/con/chrgempid");
  301. var ordroomcd=model.getValue("/root/hidden/con/ordroomcd");
  302. var ordflag=model.getValue("/root/hidden/con/ordflag");
  303. var autoflag=model.getValue("/root/hidden/con/autoflag");
  304. if(isNull(orddd))
  305. {
  306. //model.makeValue("/root/send/reqdata/chrgempid","%");
  307. messageBox("진료일자는","I003");
  308. model.setFocus("ipt_orddd");
  309. return;
  310. }
  311. else
  312. {
  313. model.makeValue("/root/send/reqdata/orddd",orddd);
  314. }
  315. if(isNull(centcd)||centcd=='-')
  316. {
  317. if(isNull(orddeptcd)||orddeptcd=='-')
  318. {
  319. messageBox("센터 및 진료과를 선택","I008");
  320. model.setFocus("cmb_centcd");
  321. return;
  322. }
  323. model.makeValue("/root/send/reqdata/centcd","-");
  324. }
  325. else
  326. {
  327. if(isNull(orddeptcd))
  328. {
  329. messageBox("센터 선택시 진료과는","I003");
  330. model.setFocus("combo3");
  331. return;
  332. }
  333. else
  334. {
  335. model.makeValue("/root/send/reqdata/centcd",centcd);
  336. }
  337. }
  338. if(isNull(orddeptcd)||orddeptcd=='-')
  339. {
  340. model.makeValue("/root/send/reqdata/orddeptcd","-");
  341. }
  342. else
  343. {
  344. model.makeValue("/root/send/reqdata/orddeptcd",orddeptcd);
  345. }
  346. if(isNull(centcd)&&isNull(orddeptcd))
  347. {
  348. messageBox("센터와 진료과 둘중 하나는","I003");
  349. model.setFocus("cmb_centcd");
  350. return;
  351. }
  352. if(isNull(orddrid))
  353. {
  354. //model.makeValue("/root/send/reqdata/orddrid",'');
  355. }
  356. else
  357. {
  358. model.makeValue("/root/send/reqdata/orddrid",orddrid);
  359. }
  360. if(isNull(chrgempid))
  361. {
  362. //model.makeValue("/root/send/reqdata/chrgempid",'%');
  363. }
  364. else
  365. {
  366. model.makeValue("/root/send/reqdata/chrgempid",chrgempid);
  367. }
  368. if(isNull(ordflag))
  369. {
  370. //model.makeValue("/root/send/reqdata/ordflag",'%');
  371. }
  372. else
  373. {
  374. model.makeValue("/root/send/reqdata/ordflag",ordflag);
  375. /*
  376. if(autoflag=='1') // 자동입실여부에 체크되어있을 때 ( 오전,오후,전체 의 value 값은 2,4,6)
  377. {
  378. if(ordflag=='1') //오전
  379. {
  380. model.makeValue("/root/send/reqdata/ordflag","2");
  381. }
  382. else if(ordflag=='2') //오후
  383. {
  384. model.makeValue("/root/send/reqdata/ordflag","4");
  385. }
  386. else //전체
  387. {
  388. model.makeValue("/root/send/reqdata/ordflag","");
  389. }
  390. }
  391. else // 수동입실 체크일 때 (오전,오후,전체의 value값은 1,3,5)
  392. {
  393. if(ordflag=='1') //오전
  394. {
  395. model.makeValue("/root/send/reqdata/ordflag","1");
  396. }
  397. else if(ordflag=='2') //오후
  398. {
  399. model.makeValue("/root/send/reqdata/ordflag","3");
  400. }
  401. else //전체
  402. {
  403. model.makeValue("/root/send/reqdata/ordflag","");
  404. }
  405. }
  406. */
  407. }
  408. if(submit("TRMNV07007")==true)
  409. {
  410. //var NodeCnt=eval(getNodesetCount("/root/init/subdeptcd/chrgemplist")); //갯수를 셈
  411. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+1+"]/chrgempid",'');
  412. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+1+"]/chrgempnm",' ');
  413. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempid",'97031058');
  414. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempnm",'한아연');
  415. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+2+"]/chrgempid",'10108919');
  416. //model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+2+"]/chrgempnm",'송여진');
  417. /*
  418. var ordflag=model.getValue("/root/hidden/con/ordflag");
  419. if(ordflag=='2'||ordflag=='4'||ordflag=='6') // 자동입실일때
  420. {
  421. model.makeValue("/root/hidden/con/autoflag","1");// 자동입실플래그 저장
  422. if(ordflag=='2')
  423. {
  424. model.makeValue("/root/hidden/con/ordflag","1"); //자동입실 오전
  425. }
  426. else if(ordflag=='4')
  427. {
  428. model.makeValue("/root/hidden/con/ordflag","2"); //자동입실 오후
  429. }
  430. else if(ordflag=='6')
  431. {
  432. model.makeValue("/root/hidden/con/ordflag","3"); //자동입실 전체
  433. }
  434. }
  435. else
  436. {
  437. model.makeValue("/root/hidden/con/autoflag",""); //수동입실 저장
  438. if(ordflag=='1')
  439. {
  440. model.makeValue("/root/hidden/con/ordflag","1"); //수동입실 오전
  441. }
  442. else if(ordflag=='3')
  443. {
  444. model.makeValue("/root/hidden/con/ordflag","2"); //수동입실 오후
  445. }
  446. else if(ordflag=='5')
  447. {
  448. model.makeValue("/root/hidden/con/ordflag","3"); //수동입실 전체
  449. }
  450. }
  451. */
  452. }
  453. model.refresh();
  454. }
  455. function fOrdCentReq() //센터 선택시 진료과 및 세부과 가져오는 함수
  456. {
  457. var centcd = model.getValue("/root/hidden/con/centcd");
  458. var subdeptcd=model.getValue("/root/hidden/con/subdeptcd");
  459. model.resetInstanceNode("/root/hidden/con/subdeptcd");
  460. model.resetInstanceNode("/root/hidden/con/orddrid");
  461. model.resetInstanceNode("/root/hidden/con/chrgempid");
  462. model.resetInstanceNode("/root/hidden/con/autoflag");
  463. model.resetInstanceNode("/root/hidden/con/ordflag");
  464. model.resetInstanceNode("/root/hidden/con/ordroomcd");
  465. model.resetInstanceNode("/root/hidden/con/orddeptcd");
  466. //alert(centcd);
  467. //alert(subdeptcd);
  468. if(centcd=='-'||centcd=='')
  469. {
  470. combo3.visible = false;
  471. cmb_orddeptcd.visible = true;
  472. submit("TRMNV07002"); //센터, 진료과 정보 가져옴
  473. }
  474. else //센터 선택시 센터에 따른 진료과, 진료실 셋팅
  475. {
  476. var instcd = model.getValue("/root/hidden/session/sess_dutplceinstcd");
  477. var deptcd = model.getValue("/root/hidden/con/centcd");
  478. var base_dd = new Date().getDateFormat("YYYYMMDD");
  479. var sort_field = "dispseq";//정렬필드(출력순서:'dispseq')
  480. var sort_method = "asc"; //정렬방법(오름차순:'asc')
  481. zsufGetCntrSubOrdDepartmentList(instcd, deptcd, 'out', "/root/hidden/init/cntrsuborddeptlist", base_dd);
  482. // 센터에 따른 진료과 셋팅
  483. model.resetInstanceNode("cmb_subdeptcd");
  484. combo3.visible = true;
  485. cmb_orddeptcd.visible = false;
  486. model.copyNode("/root/send/reqdata","/root/hidden/con");
  487. submit("TRMNV07006"); //진료실 가져오는 서브미션
  488. }
  489. }
  490. function fOrdDridSet() //진료과 선택시 세부진료과, 담당의, 담당직원 조회
  491. {
  492. model.resetInstanceNode("/root/hidden/con/subdeptcd");
  493. model.resetInstanceNode("/root/hidden/con/orddrid");
  494. model.resetInstanceNode("/root/hidden/con/chrgempid");
  495. model.resetInstanceNode("/root/hidden/con/autoflag");
  496. model.resetInstanceNode("/root/hidden/con/ordflag");
  497. model.resetInstanceNode("/root/hidden/con/ordroomcd");
  498. //model.makeValue("/root/hidden/con/basedd",model.getValue("/root/hidden/con/orddd")); //기준일자는 진료일자
  499. model.copyNode("/root/send/reqdata","/root/hidden/con");
  500. submit("TRMNV07008");
  501. var userid=getUserInfo("userid");
  502. var usernm=getUserInfo("usernm");
  503. addComboItem("cmb_chrgempid", " ","","above");
  504. addComboItem("cmb_orddrid", " ","","above");
  505. var NodeCnt=eval(getNodesetCount("/root/init/subdeptcd/chrgemplist")); //갯수를 셈
  506. model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempid",userid);
  507. model.makeValue("/root/init/subdeptcd/chrgemplist"+"["+NodeCnt+1+"]/chrgempnm",usernm);
  508. // model.makeValue("/root/hidden/con/chrgempid",userid);
  509. fOrdScheList();
  510. //var userid=getUserInfo("userid");
  511. //var usernm=getUserInfo("usernm");
  512. //alert(usernm);
  513. // addComboItem("cmb_chrgempid",usernm,userid,"above"); //로그인한 사용자 추가
  514. //cmb_chrgempid.select(0);
  515. model.refresh();
  516. }
  517. function fOrdRoomScheSave()
  518. {
  519. var idxRow=grd_ordschelistinfo.rows;
  520. var idxRows=grd_ordschelistinfo.fixedRows;
  521. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  522. {
  523. var rowstatus=grd_ordschelistinfo.rowStatus(i);
  524. //alert(rowstatus);
  525. if(rowstatus=='2'||rowstatus=='4'||rowstatus=='6')
  526. {
  527. var ordflag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordflag");
  528. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddrid");
  529. var chrgempid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chrgempid");
  530. var autoflag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/autoflag");
  531. if(rowstatus=='6')
  532. {
  533. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/status",'u');
  534. }
  535. if(isNull(ordflag))
  536. {
  537. messageBox("진료구분은","I003");
  538. return;
  539. }
  540. if(isNull(orddrid))
  541. {
  542. messageBox("담당의는","I003");
  543. return;
  544. }
  545. if(isNull(chrgempid))
  546. {
  547. messageBox("담당직원은","I003");
  548. return;
  549. }
  550. if(isNull(autoflag))
  551. {
  552. messageBox("자동입실여부는","I003");
  553. return;
  554. }
  555. }
  556. var centcd=model.getValue("/root/hidden/con/centcd");
  557. //var autoflag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/autoflag");
  558. var orddeptcd=model.getValue("/root/hidden/con/orddeptcd");
  559. var orddd=model.getValue("/root/hidden/con/orddd");
  560. if(isNull(centcd))
  561. {
  562. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/centcd",'-');
  563. }
  564. else
  565. {
  566. if(isNull(orddeptcd)) //센터 선택되었을 때 진료과 선택이 안되면 경고 메시지
  567. {
  568. messageBox("센터를 선택시 진료과는","I003");
  569. model.setFocus("cmb_orddeptcd");
  570. return;
  571. }
  572. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/centcd",centcd);
  573. }
  574. if(isNull(orddeptcd))
  575. {
  576. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd",'-');
  577. }
  578. else
  579. {
  580. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd",orddeptcd);
  581. }
  582. if(isNull(centcd)&&isNull(orddeptcd))
  583. {
  584. messageBox("센터와 진료과 둘중 하나는","I003");
  585. model.setFocus("cmb_centcd");
  586. return;
  587. }
  588. if(isNull(orddeptcd))
  589. {
  590. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd",'-');
  591. }
  592. else
  593. {
  594. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd",orddeptcd);
  595. }
  596. if(isNull(orddd))
  597. {
  598. messageBox("진료일자는","I003");
  599. model.setFocus("ipt_orddd");
  600. return;
  601. }
  602. else
  603. {
  604. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddd",orddd);
  605. }
  606. if(autoflag=='1') // 자동입실여부에 체크되어있을 때 ( 오전,오후,전체 의 value 값은 2,4,6)
  607. {
  608. if(ordflag=='1') //오전
  609. {
  610. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","2");
  611. }
  612. else if(ordflag=='2') //오후
  613. {
  614. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","4");
  615. }
  616. else if(ordflag=='3') //전체
  617. {
  618. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","6");
  619. }
  620. }
  621. else // 수동입실 체크일 때 (오전,오후,전체의 value값은 1,3,5)
  622. {
  623. if(ordflag=='1') //오전
  624. {
  625. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","1");
  626. }
  627. else if(ordflag=='2') //오후
  628. {
  629. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","3");
  630. }
  631. else if(ordflag=='3') //전체
  632. {
  633. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/rordflag","5");
  634. }
  635. }
  636. }
  637. model.refresh();
  638. model.makeValue("/root/send/chkdata",grd_ordschelistinfo.getUpdateData());
  639. if(submit("TXMNV07008")==true)
  640. {
  641. if(model.getValue("/root/main/returnsts/statusinfo/restatus")=="G")
  642. {
  643. messageBox("해당과에 해당 의사로 이미 외래 진료실 일정이 등록되어","I010");
  644. return;
  645. }
  646. fOrdScheList();
  647. }
  648. model.refresh();
  649. }
  650. function fGrdScheRowDel()
  651. {
  652. var idxrow=grd_ordschelistinfo.row;
  653. // 삭제할 행
  654. if(idxrow>0)
  655. { // 삭제할 행의 정보를 변수에 담는다
  656. var rowstatus=grd_ordschelistinfo.rowStatus(idxrow);
  657. //alert(rowstatus);
  658. if(rowstatus=='4') //상태가 delete 일 때
  659. {
  660. grd_ordschelistinfo.removeStatus(idxrow,"delete"); //delete상태를 초기화 한다.
  661. model.resetInstanceNode("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/dordflag"); // 삭제 플래그 0 저장
  662. model.resetInstanceNode("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/status"); // 삭제 플래그 d저장
  663. }
  664. else if(rowstatus=='6') // delete update 일 때
  665. {
  666. //alert(rowstatus);
  667. model.resetInstanceNode("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/dordflag"); // 삭제 플래그 0 저장
  668. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/status","u"); // 삭제 플래그 d저장
  669. }
  670. else
  671. {
  672. grd_ordschelistinfo.addStatus(idxrow,"delete");
  673. // 클릭한 행에 값이 있을 때에는 delete 로 상태 표시
  674. model.setValue("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/dordflag","0"); // 삭제 플래그 0 저장
  675. model.makeValue("/root/main/ordschelist/ordschelistinfo"+"["+idxrow+"]/status","d"); // 삭제 플래그 d저장
  676. }
  677. model.refresh();
  678. // 클릭한 행에 값이 있을 때에는 delete 로 상태 표시
  679. //alert(rowstatus);
  680. /*
  681. if(rowstatus=='1'||rowstatus=='3')
  682. {
  683. // 클릭한 행이 공백일 때 행 삭제
  684. //grd_ordschelistinfo.deleteItem(idxrow);
  685. }
  686. else
  687. {
  688. if(rowstatus=='4'||rowstatus=='6') //상태가 delete또는 Update& Delete일 때
  689. {
  690. grd_ordschelistinfo.removeStatus(idxrow,"delete"); //delete상태를 초기화 한다.
  691. }
  692. else
  693. {
  694. grd_ordschelistinfo.addStatus(idxrow,"delete");
  695. // 클릭한 행에 값이 있을 때에는 delete 로 상태 표시
  696. }
  697. }
  698. */
  699. }
  700. else
  701. {
  702. messageBox("삭제할 행을 선택하십시요.", "I");
  703. }
  704. }
  705. ]]>
  706. </script>
  707. </xhtml:head>
  708. <xhtml:body pagewidth="840" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  709. <group id="group1" style="left:0px; top:0px; width:810px; height:13px; "/>
  710. <group id="group3" scroll="auto" style="left:0px; top:10px; width:815px; height:720px; ">
  711. <caption id="caption16" class="tit_2" style="left:2px; top:105px; width:130px; height:13px; ">진료실일정</caption>
  712. <datagrid id="grd_ordschelistinfo" nodeset="/root/main/ordschelist/ordschelistinfo" scroll="auto" caption="센터^진료과^진료실^진료구분^담당의^담당직원^자동입실여부^dordflag^rordflag^status^ordroomcd^orddd^종료시간^회의제목" colsep="^" colwidth="5, 4, 206, 109, 137, 167, 102, 2, 4, 2, 1, -2" dataheight="25" extendlastcol="scroll" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:129px; width:810px; height:581px; ">
  713. <col ref="centcd" visibility="hidden"/>
  714. <col ref="orddeptcd" visibility="hidden" style="text-align:center; "/>
  715. <col ref="ordroomcdnm" style="text-align:center; "/>
  716. <col ref="ordflag" type="combo" style="text-align:center; ">
  717. <choices>
  718. <item>
  719. <label>오전</label>
  720. <value>1</value>
  721. </item>
  722. <item>
  723. <label>오후</label>
  724. <value>2</value>
  725. </item>
  726. <item>
  727. <label>전체</label>
  728. <value>3</value>
  729. </item>
  730. </choices>
  731. </col>
  732. <col ref="orddrid" type="combo" style="text-align:center; ">
  733. <choices>
  734. <itemset nodeset="/root/init/subdeptcd/orddeptdrcdlist">
  735. <label ref="orddeptdrnm"/>
  736. <value ref="orddeptdrid"/>
  737. </itemset>
  738. </choices>
  739. </col>
  740. <col ref="chrgempid" type="combo" style="text-align:center; ">
  741. <choices>
  742. <itemset nodeset="/root/init/subdeptcd/chrgemplist">
  743. <label ref="chrgempnm"/>
  744. <value ref="chrgempid"/>
  745. </itemset>
  746. </choices>
  747. </col>
  748. <col ref="autoflag" type="combo" style="left:349px; top:23px; width:58px; height:23px; text-align:center; ">
  749. <choices>
  750. <item>
  751. <label>자동</label>
  752. <value>1</value>
  753. </item>
  754. <item>
  755. <label>수동</label>
  756. <value>2</value>
  757. </item>
  758. </choices>
  759. </col>
  760. <col ref="dordflag" visibility="hidden"/>
  761. <col ref="rordflag" visibility="hidden"/>
  762. <col ref="status" visibility="hidden"/>
  763. <col ref="ordroomcd" visibility="hidden"/>
  764. <col ref="orddd" visibility="hidden"/>
  765. <script type="javascript" ev:event="onmousedown">
  766. <![CDATA[
  767. if(grd_ordschelistinfo.isCell(event.target) && grd_ordschelistinfo.mouseRow >= grd_ordschelistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  768. {
  769. window.setPopupMenu(true,"/root/temp/popmenu/menu","name","func",false);
  770. }
  771. else
  772. {
  773. window.setPopupMenu(false);
  774. }
  775. ]]>
  776. </script>
  777. <script type="javascript" ev:event="DOMFocusOut">
  778. <![CDATA[
  779. window.setPopupMenu(false);
  780. ]]>
  781. </script>
  782. </datagrid>
  783. <line id="line14" class="line_1" style="x1:0px; y1:124px; x2:810px; y2:124px; "/>
  784. <group id="grp_sea" style="left:0px; top:0px; width:815px; height:100px; vertical-align:top; ">
  785. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:20px; width:811px; height:75px; "/>
  786. <button id="button1" class="btn1_letter2" navindex="5" style="left:745px; top:45px; width:56px; height:22px; ">
  787. <caption>조회</caption>
  788. <script type="javascript" ev:event="DOMActivate">
  789. <![CDATA[
  790. fOrdScheList();
  791. ]]>
  792. </script>
  793. </button>
  794. <caption id="caption1" class="search_name" style="left:18px; top:29px; width:90px; height:17px; ">진료일자 :</caption>
  795. <line id="line3" class="line_4" style="x1:735px; y1:25px; x2:735px; y2:88px; "/>
  796. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:129px; height:14px; ">진료실 일정 관리</caption>
  797. <caption id="caption11" class="search_name" style="left:226px; top:29px; width:94px; height:17px; ">센 터 :</caption>
  798. <caption id="caption4" class="search_name" style="left:488px; top:29px; width:94px; height:17px; ">진 료 과 :</caption>
  799. <input id="ipt_orddd" ref="/root/hidden/con/orddd" class="input_search" navindex="1" inputtype="date" style="left:110px; top:29px; width:85px; height:19px; "/>
  800. <select1 id="cmb_centcd" ref="/root/hidden/con/centcd" navindex="2" appearance="minimal" style="left:307px; top:29px; width:148px; height:19px; ">
  801. <choices>
  802. <itemset nodeset="/root/init/centcd/centcdlist">
  803. <label ref="nm"/>
  804. <value ref="cd"/>
  805. </itemset>
  806. </choices>
  807. <script type="javascript" ev:event="xforms-value-changed">
  808. <![CDATA[
  809. fOrdCentReq(); //센터 선택시 진료과 및 세부과 가져오는 함수
  810. //fOrdScheList();
  811. ]]>
  812. </script>
  813. </select1>
  814. <select1 id="cmb_orddeptcd" ref="/root/hidden/con/orddeptcd" navindex="3" appearance="minimal" style="left:584px; top:29px; width:130px; height:19px; ">
  815. <choices>
  816. <itemset nodeset="/root/init/orddeptcd">
  817. <label ref="nm"/>
  818. <value ref="cd"/>
  819. </itemset>
  820. </choices>
  821. <script type="javascript" ev:event="xforms-value-changed">
  822. <![CDATA[
  823. fOrdDridSet();
  824. ]]>
  825. </script>
  826. </select1>
  827. <select1 id="combo3" ref="/root/hidden/con/orddeptcd" navindex="3" visibility="hidden" appearance="minimal" style="left:584px; top:29px; width:130px; height:19px; ">
  828. <choices>
  829. <itemset nodeset="/root/hidden/init/cntrsuborddeptlist/dept">
  830. <label ref="depthngnm"/>
  831. <value ref="deptcd"/>
  832. </itemset>
  833. </choices>
  834. <script type="javascript" ev:event="xforms-value-changed">
  835. <![CDATA[
  836. fOrdDridSet(); //진료과 선택시 담당의 조회하는 함수
  837. ]]>
  838. </script>
  839. </select1>
  840. <select1 id="cmb_orddrid" ref="/root/hidden/con/orddrid" navindex="8" appearance="minimal" style="left:356px; top:61px; width:100px; height:19px; ">
  841. <choices>
  842. <itemset nodeset="/root/init/subdeptcd/orddeptdrcdlist">
  843. <label ref="orddeptdrnm"/>
  844. <value ref="orddeptdrid"/>
  845. </itemset>
  846. </choices>
  847. <script type="javascript" ev:event="xforms-value-changed">
  848. <![CDATA[
  849. fOrdScheList();
  850. ]]>
  851. </script>
  852. </select1>
  853. <select1 id="rdo_ordflag" ref="/root/hidden/con/ordflag" navindex="7" overflow="visible" appearance="full" cols="3" style="left:112px; top:62px; width:130px; height:20px; border-style:none; ">
  854. <choices>
  855. <item>
  856. <label>오전</label>
  857. <value>1</value>
  858. </item>
  859. <item>
  860. <label>오후</label>
  861. <value>2</value>
  862. </item>
  863. <item>
  864. <label>전체</label>
  865. <value>3</value>
  866. </item>
  867. </choices>
  868. </select1>
  869. <select1 id="cmb_chrgempid" ref="/root/hidden/con/chrgempid" class="combo_search" navindex="9" appearance="minimal" style="left:584px; top:61px; width:100px; height:19px; ">
  870. <choices>
  871. <itemset nodeset="/root/init/subdeptcd/chrgemplist">
  872. <label ref="chrgempnm"/>
  873. <value ref="chrgempid"/>
  874. </itemset>
  875. </choices>
  876. <script type="javascript" ev:event="xforms-value-changed">
  877. <![CDATA[
  878. fOrdScheList();
  879. ]]>
  880. </script>
  881. </select1>
  882. <caption id="caption2" class="search_name" style="left:18px; top:60px; width:90px; height:17px; ">진료구분 :</caption>
  883. <caption id="caption3" class="search_name" style="left:255px; top:60px; width:94px; height:17px; ">담 당 의 :</caption>
  884. <caption id="caption5" class="search_name" style="left:488px; top:60px; width:96px; height:17px; ">담당 직원 :</caption>
  885. </group>
  886. <button id="button2" class="btn4_letter2" style="left:681px; top:100px; width:56px; height:22px; ">
  887. <caption>저장</caption>
  888. <script type="javascript" ev:event="DOMActivate">
  889. <![CDATA[
  890. fOrdRoomScheSave(); // 진료실 일정 처리 함수
  891. ]]>
  892. </script>
  893. </button>
  894. <button id="button3" class="btn2_letter4" style="left:742px; top:101px; width:64px; height:19px; ">
  895. <caption>일정삭제</caption>
  896. <script type="javascript" ev:event="DOMActivate">
  897. <![CDATA[
  898. fGrdScheRowDel();
  899. ]]>
  900. </script>
  901. </button>
  902. </group>
  903. <line id="line4" class="line_3" style="x1:0px; y1:728px; x2:811px; y2:728px; "/>
  904. </xhtml:body>
  905. </xhtml:html>