SMMMO04500M.js.soonsu 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. var sOPPATLIST_PATH = "/root/main/oppatinfo/oppatlist";
  2. var sORDERBY = "";
  3. function fInitialize_SMMMO04500(){
  4. model.removeNodeset(sOPPATLIST_PATH);
  5. model.setValue("/root/main/cond/opcnfmdd", String(getCurrentDate()));
  6. model.setValue("/root/main/cond/perfdeptcd", getUserInfo("dutplcecd"));
  7. model.setValue("/root/main/cond/perfdrid", "-");
  8. model.setValue("/root/main/cond/oproomcd", "-");
  9. reqOpRoomList(model.getValue("/root/main/cond/opcnfmdd"), "/root/init/oproomlist", "total");
  10. addComboInstance("/root/init/oproomlist", "oproomcd^oproomnm", "0000^방없음", "oproomlist");
  11. copyNodeType("/root/hidden/mmo/oproomlists/oproomlist", "/root/init/oproomlist", "replace");
  12. addComboInstance("/root/hidden/mmo/oproomlists/oproomlist", "oproomcd^oproomnm", "-^전체", "oproomlist");
  13. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D", String(getCurrentDate()));
  14. addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept");
  15. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330", "", "N", "", "", "P");
  16. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo");
  17. fReqOPPatList();
  18. }
  19. function fSelectOpPat(){
  20. var ordrecflag = model.getValue(opener.instance1.selectSingleNode("root/main/cond/ordrecflag"));
  21. var currow = grd_oppatlist.row;
  22. var dutplcecd = getUserInfo("dutplcecd");
  23. if(currow < 1){
  24. return;
  25. }
  26. var opstatcd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/opstatcd");
  27. var painlessflag = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/painlessflag");
  28. var pid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/pid");
  29. var hngnm = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/hngnm");
  30. if(painlessflag == "N") {
  31. if(opstatcd == "00" || opstatcd == "10"){
  32. messageBox("선택된 환자는 수술확정이 되지", "E007");
  33. return;
  34. }
  35. }
  36. if(fChkScrnDisable()==false){
  37. return;
  38. }
  39. if(fChkCPPatValid(currow)==false){
  40. return;
  41. }
  42. var mainobj = getMainViewer();
  43. var mainscrnid = mainobj.getScreenID();
  44. if(mainscrnid == "SMMMR00100"){
  45. var prvIntRecPamInfRtn = mainobj.window.fPrevInitRecPamInfo();
  46. if(prvIntRecPamInfRtn == false){
  47. return;
  48. }
  49. }
  50. if(fReqOpPatPamInfo(currow)==true){
  51. var cpflag = opener.model.getValue("/root/cpflag");
  52. var ordrecflag = opener.model.getValue("/root/main/cond/ordrecflag");
  53. var recflag = opener.model.getValue("/root/main/cond/recflag");
  54. var chngflag = opener.model.getValue("/root/main/cond/chngflag");
  55. var mainObj = getMainViewer();
  56. if (recflag == "Y") {
  57. var mainObj = getMainViewer();
  58. curEmrRecObj = getOpenWindow("SMMRI00400");
  59. curExamRsltObj = getOpenWindow("SMAER00800");
  60. curNurTprObj = getOpenWindow("SMMNR00900");
  61. curNurBSEMRObj = getOpenWindow("SMMNR02500");
  62. curGrphObj = getOpenWindow("SPMRF05200");
  63. curCunsultObj = getOpenWindow("SMMMR05000");
  64. curExamRsltNewObj = getOpenWindow("SMMMI00100");
  65. var wndobj = getOpenWindow("SMMRI00400");
  66. if(wndobj != null)
  67. {
  68. setParameter("SMMRI00400_param_pid" , model.getValue("/root/source/pid"));
  69. setParameter("SMMRI00400_param_chosflag", model.getValue("/root/main/paminfo/list/ordtype"));
  70. wndobj.fInitalize();
  71. activateChild("SMMRI00400");
  72. }
  73. if(curExamRsltObj != null){
  74. curExamRsltObj.model.setvalue("/root/send/data/singdata/srchpid", pid );
  75. curExamRsltObj.btn_srch.dispatch("DOMActivate");
  76. }
  77. if(curNurTprObj != null){
  78. curNurTprObj.fInitialize("init");
  79. }
  80. if(curNurBSEMRObj != null){
  81. curNurBSEMRObj.fInitialize("init");
  82. }
  83. if(curGrphObj != null){
  84. curGrphObj.fInitialize();
  85. }
  86. if(curCunsultObj != null ){
  87. curCunsultObj.fInitalize();
  88. }
  89. if(curExamRsltNewObj != null){
  90. curExamRsltNewObj.model.setvalue("/root/send/data/singdata/srchpid", pid );
  91. curExamRsltNewObj.btn_srch.dispatch("DOMActivate");
  92. }
  93. curCpObj = mainObj.getOpenWindow("SMMMP00800");
  94. curPrcpObj = mainObj.getOpenWindow("SMMMO00100");
  95. curCpSrchObj = mainObj.getOpenWindow("SPMMP01200");
  96. if(curPrcpObj != null) {curPrcpObj.fPrcpWndClose(); }
  97. if(curCpObj != null){curCpObj.fCloseGPS();}
  98. if(curCpSrchObj != null){curCpSrchObj.fCpSrchWndClose();}
  99. clearParameter("SMMMO04100_ANSWCNT");
  100. opener.fChngEMRScrn();
  101. } else {
  102. opener.fOpenPrcpMainWnd();
  103. }
  104. }
  105. }
  106. function fReqOpPatPamInfo(iRow){
  107. var ioflag = "T"
  108. var pid = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/pid");
  109. var opcnfmdd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/opcnfmdd");
  110. var cretno = "";
  111. var instcd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/instcd");
  112. var perfdeptcd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/perfdeptcd");
  113. var perfdrid = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/perfdrid");
  114. var patflag = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/ioflag");
  115. var procflag = "F";
  116. var cnstopflag = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/cnstopflag");
  117. var oprsrvno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/oprsrvno");
  118. var mainoprsrvno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/mainoprsrvno");
  119. var ophistno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/ophistno");
  120. var srchdd = model.getValue("/root/main/cond/opcnfmdd");
  121. var param = ioflag + "▦" +
  122. pid + "▦" +
  123. opcnfmdd + "▦" +
  124. cretno + "▦" +
  125. instcd + "▦" +
  126. perfdeptcd + "▦" +
  127. perfdrid + "▦" +
  128. patflag + "▦" +
  129. procflag + "▦" +
  130. oprsrvno + "▦" +
  131. ophistno + "▦" +
  132. srchdd;
  133. setParameter("condparam", param);
  134. model.setValue("/root/init", param);
  135. modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  136. var useyn = getParameter("SPMMO08900_rtn_useyn");
  137. if(useyn == "Y"){
  138. setParameter("SPMMO08900_rtn_useyn", "");
  139. return true;
  140. }else{
  141. return false;
  142. }
  143. }
  144. function fReqOPPatList(){
  145. model.copyNode("/root/send/reqdata", "/root/main/cond");
  146. var anstpaindeptcd = model.getValue("/root/init/hardcdno/hardcd/hardcd");
  147. if(anstpaindeptcd == model.getValue("/root/main/cond/perfdeptcd")){
  148. model.setValue("/root/send/reqdata/perfdeptcd", "-");
  149. model.setValue("/root/send/reqdata/perfdrid" , "-");
  150. }
  151. var offset = parseInt(model.getValue("root/page/curpage"));
  152. if(offset == 1)
  153. {
  154. offset = offset - 1;
  155. }
  156. else
  157. {
  158. offset = (offset - 1) * 10;
  159. }
  160. model.makeValue("/root/send/reqdata/offset", String(offset));
  161. model.makeValue("/root/send/reqdata/pagesize", model.getValue("root/page/pagesize"));
  162. if(submit("TRMOB00003")){
  163. var totrow = grd_oppatlist.rows;
  164. model.setValue("/root/main/totcnt/totcnt", totrow-1);
  165. model.copyNode(opener.instance1.selectSingleNode("root/temp/oppatlist"), instance1.selectSingleNode("root/init"));
  166. model.copyNode(opener.instance1.selectSingleNode("root/cond/oppatlist"), instance1.selectSingleNode("root/main/cond"));
  167. }
  168. var maxpage = parseInt(model.getValue("/root/main/oppatinfo/retcnt/oppatcnt"));
  169. if(maxpage < 10)
  170. {
  171. model.setValue("/root/page/maxpage", "1");
  172. }
  173. else
  174. {
  175. maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1;
  176. model.setValue("/root/page/maxpage", String(maxpage));
  177. model.refresh();
  178. }
  179. var orderby = model.getValue("/root/main/cond/orderby");
  180. var sortcol = model.getValue("/root/main/cond/sortcol");
  181. if(sortcol != "" && orderby != ""){
  182. sORDERBY = orderby;
  183. grd_oppatlist.colsort(sortcol) = sORDERBY
  184. grd_oppatlist.setSort(1, 1, grd_oppatlist.rows -1, grd_oppatlist.cols -1, "usersort");
  185. grd_oppatlist.gridToInstance();
  186. grd_oppatlist.refresh();
  187. }
  188. }
  189. function fChkCPPatValid(currow){
  190. var instcd = getUserInfo("dutplceinstcd");
  191. var pid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/pid");
  192. var opcnfmdd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/opcnfmdd");
  193. var perfdeptcd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/perfdeptcd");
  194. var perfdrid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/perfdrid");
  195. var ioflag = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/ioflag");
  196. var srchdd = model.getValue("/root/main/cond/opcnfmdd");
  197. if(isNull(perfdeptcd)) perfdeptcd = model.getValue("/root/main/cond/orddeptcd");
  198. if(isNull(ioflag)) ioflag = "T";
  199. model.removeNodeset("/root/send/reqdata");
  200. model.makeValue("/root/send/reqdata/ioflag" , "T");
  201. model.makeValue("/root/send/reqdata/pid" , pid);
  202. model.makeValue("/root/send/reqdata/orddd" , opcnfmdd);
  203. model.makeValue("/root/send/reqdata/orddeptcd", perfdeptcd);
  204. model.makeValue("/root/send/reqdata/orddrid" , perfdrid);
  205. model.makeValue("/root/send/reqdata/patflag" , ioflag);
  206. model.makeValue("/root/send/reqdata/instcd" , instcd);
  207. model.makeValue("/root/send/reqdata/srchdd" , srchdd);
  208. if(submit("TRMMO04503")==true){
  209. var pid = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/pid");
  210. var orddd = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/orddd");
  211. var cretno= model.getValue("/root/init/pamkeyinfo/pamkeyinfo/cretno");
  212. var ioflag= model.getValue("/root/init/pamkeyinfo/pamkeyinfo/ioflag");
  213. var hngnm = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/hngnm");
  214. model.removeNodeset("/root/send/reqdata");
  215. model.makeValue("/root/send/reqdata/pid" , pid);
  216. model.makeValue("/root/send/reqdata/orddd" , orddd);
  217. model.makeValue("/root/send/reqdata/cretno" , cretno);
  218. model.makeValue("/root/send/reqdata/hngnm" , hngnm);
  219. model.makeValue("/root/send/reqdata/prcpgenrflag", ioflag);
  220. model.makeValue("/root/send/reqdata/srchtabflag" , "D");
  221. if(submit("TRMMO04303")==true){
  222. var cppatnode = instance1.selectNodes("/root/init/rsltgetdata/getdata");
  223. if(cppatnode.length < 1){
  224. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N");
  225. return true;
  226. }else{
  227. var appstat = model.getValue("/root/init/rsltgetdata/getdata/appstat");
  228. var cpgnm = model.getValue("/root/init/rsltgetdata/getdata/cpgnm");
  229. var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno");
  230. var msgcnts = model.getValue("/root/init/rsltgetdata/getdata/msgcnts");
  231. var msgflag = model.getValue("/root/init/rsltgetdata/getdata/msgflag");
  232. var prtlflagcd = model.getValue("/root/init/rsltgetdata/getdata/prtlflagcd");
  233. if(appstat == 52){
  234. var rtnval = messageBox(msgcnts, msgflag);
  235. if(rtnval == 6){
  236. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "X");
  237. return true;
  238. }else{
  239. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N");
  240. if(fUpdtCPPatAppStatVal(41) != false && instance1.selectSingleNode(sOPPATLIST_PATH + "[" + currow + "]/cpyn") != null){
  241. model.setValue(sOPPATLIST_PATH + "[" + currow + "]/cpyn", "N");
  242. return;
  243. }else{
  244. return false;
  245. }
  246. }
  247. }else{
  248. if( prtlflagcd == "02" && isNull(appstat) && msgflag == "P" ){
  249. setParameter("SMMMO041_hngnm" , hngnm);
  250. setParameter("SMMMO041_pid" , pid);
  251. setParameter("SMMMO041_cretno" , cretno);
  252. setParameter("SMMMO041_orddd" , orddd);
  253. setParameter("SMMMO041_ordtype" , ioflag);
  254. setParameter("SMMMO041_orddeptcd" , perfdeptcd);
  255. setParameter("SMMMO041_slipnm" , model.getValue(instance1.selectSingleNode("root/init/rsltgetdata/getdata/msgcnts")));
  256. setParameter("SMMMO041_cpgmntrflag", appstat);
  257. setParameter("SMMMO041_cpgappno" , cpgappno);
  258. setParameter("SMMMO041_cpgnm" , cpgnm);
  259. modal("SPMMP03200");
  260. if( cpgappno > 0 && cpgappno != getParameter("SPMMP032_cpgappno") && instance1.selectSingleNode(sOPPATLIST_PATH + "[" + currow + "]/cpyn") != null){
  261. model.setValue(sOPPATLIST_PATH + "[" + currow + "]/cpyn", "N");
  262. }
  263. if( !isNull(getParameter("SPMMP032_cpgappno")) && getParameter("SPMMP032_cpgappno") > 0 ){
  264. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y");
  265. }else{
  266. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N");
  267. }
  268. clearParameter("SPMMP032_cpgappno");
  269. clearParameter("SMMMO041_hngnm");
  270. clearParameter("SMMMO041_pid");
  271. clearParameter("SMMMO041_cretno");
  272. clearParameter("SMMMO041_orddd");
  273. clearParameter("SMMMO041_ordtype");
  274. clearParameter("SMMMO041_orddeptcd");
  275. clearParameter("SMMMO041_slipnm");
  276. clearParameter("SMMMO041_cpgmntrflag");
  277. clearParameter("SMMMO041_cpgappno");
  278. clearParameter("SMMMO041_cpgnm");
  279. return true;
  280. }else{
  281. if( !isNull(msgcnts) && !isNull(msgflag) ){
  282. messageBox(msgcnts, msgflag);
  283. setParameter("SMMMO043_cpgappno", cpgappno);
  284. setParameter("SMMMO043_drop" , "N");
  285. modal("SPMMP02300");
  286. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N");
  287. if( getParameter("SMMMO043_drop") == "Y" ){
  288. model.setValue(sINPATLIST_PATH + "[" + currow + "]/cpyn", "N");
  289. }else{
  290. return false;
  291. }
  292. clearParameter("SMMMO043_cpgappno");
  293. clearParameter("SMMMO043_drop");
  294. return true;
  295. }
  296. model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y");
  297. return true;
  298. }
  299. }
  300. }
  301. }
  302. }
  303. }
  304. function fUpdtCPPatAppStatVal(appstat){
  305. var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno");
  306. model.removeNodeset("/root/send/savedata");
  307. model.makeValue("/root/send/savedata/cpgappno", cpgappno);
  308. model.makeValue("/root/send/savedata/appstat" , appstat);
  309. if(submit("TXMMO04301")==false){
  310. return false;
  311. }
  312. }