SMMMO05400.xjs 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. 수술마취일정조정 ( SMMMO05400_수술마취일정조정.xrw - JScript )
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. // var sOPANSTCNFMPATLIST_PATH = "/root/main/opanstpatinfo/opanstcnfmpatlist"; //마취수술 확정환자
  9. // var sOPANSTWAITPATLIST_PATH = "/root/main/opanstpatinfo/opanstwaitpatlist"; //마취수술 대기환자
  10. // var sOPANSTSCHECHNG_PATH = "/root/main/opanstschechng";
  11. /**
  12. * @desc : 화면 초기화
  13. * @
  14. * @param :
  15. * @return :
  16. * @author : 오지훈
  17. * @---------------------------------------------------
  18. */
  19. function fInitialize_SMMMO05400(){
  20. // model.removeNodeset(sOPANSTWAITPATLIST_PATH);
  21. // model.removeNodeset(sOPANSTCNFMPATLIST_PATH);
  22. ds_main_cond.setColumn(0, "reqdd", utlf_getCurrentDate()); //model.setValue("/root/main/cond/reqdd", getCurrentDate());
  23. appf_getCodeList([ {dsNm: "ds_M0013", cdGrpId: "M0013"},
  24. {dsNm: "ds_M0014", cdGrpId: "M0014"},
  25. {dsNm: "ds_M0015", cdGrpId: "M0015"},
  26. {dsNm: "ds_M0017", cdGrpId: "M0017"},
  27. {dsNm: "ds_M0020", cdGrpId: "M0020"},
  28. {dsNm: "ds_M0243", cdGrpId: "M0243"},
  29. {dsNm: "ds_M0244", cdGrpId: "M0244"},
  30. {dsNm: "ds_M0245", cdGrpId: "M0245"},
  31. {dsNm: "ds_M0246", cdGrpId: "M0246"},
  32. {dsNm: "ds_M0356", cdGrpId: "M0356"},
  33. {dsNm: "ds_M0377", cdGrpId: "M0377"}], true);
  34. //마취통증의학과
  35. lf_reqHardCodeInfo(ds_init_hardcd, 18); //reqHardCodeInfo("/root/send/reqdata", "/root/init/hardcd", 18);
  36. // 딜로이트 관련 수술마취 조정화면 기관별 적용 여부 조회 하드코드 222번 2010.06.16 kskim
  37. //model.makeNode("/root/init/hardcd222");
  38. lf_getHardCDList("N", 222, null, ds_init_hardcd222); //mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcd222", 222);
  39. // 수술/마취 의뢰 가확정 배치 사용 여부 하드코드: 115( 범례에서 가확정 범례 포함하여 하드코드 115로 함께 관리)
  40. //model.makeNode("/root/init/hardcd115");
  41. lf_getHardCDList("N", 115, null, ds_init_hardcd115); //mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcd115", 115);
  42. fDelroiteScrnSet();
  43. var oParam = {};
  44. oParam.id = "TRMMO05503";
  45. oParam.service = "prcpmngtapp.OpMngt";
  46. oParam.method = "reqGetPreOpAssemRecFormcd";
  47. oParam.inds = "";
  48. oParam.outds = "ds_init_formcd=hardcd";
  49. oParam.async = false;
  50. oParam.callback = "cf_TRMMO05503";
  51. tranf_submit(oParam);
  52. var gANSTDEPT_CD = ds_init_hardcd.getColumn(0, "hardcd"); // model.getValue("/root/init/hardcd/hardcd/hardcd");
  53. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D"); //mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "D");
  54. lf_mmbfGetUserComboList(ds_init_userlist, gANSTDEPT_CD, "0330"); //mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", gANSTDEPT_CD, "0330");
  55. dsf_addDsItem( ds_init_userlist, "userid", "usernm", "-", "-", "above"); //의사콤보 전체항목 추가
  56. lf_reqOpRoomList(utlf_getCurrentDate(), ds_init_oproomlist, ds_init_opallroomlist, "total"); //reqOpRoomList(getCurrentDate(), "/root/init/oproomlist", "total"); //수술방 콤보 조회
  57. dsf_addDsItem( ds_init_oproomlist, "oproomcd", "oproomnm", "방없음", "0000", "above"); //addComboInstance("/root/init/oproomlist", "oproomcd^oproomnm", "0000^방없음", "oproomlist"); //수술방 방없음 추가
  58. fReqOpAnstSche();
  59. // model.refresh();
  60. }
  61. function cf_TRMMO05503(sSvcId, nErrorCode, sErrorMsg) {
  62. if(nErrorCode < 0) return;
  63. }
  64. /*
  65. [요청번호: 847, TASK번호: 2779, 우선순위: A]
  66. 요청제목: 수술진행현황,확정수술스케줄조회,수술스케줄 변경 방법 변경 요청.
  67. @desc: 딜로이트 건과 관련하여 수술마취일정 조정화면 수정, (딜로이트 개발 건 서울성모 선 적용 후 각 병원 별 후 적용
  68. @authur: 김광성. kskim. 2010.06.16
  69. */
  70. function fDelroiteScrnSet(){
  71. var scrnFlag222 = ds_init_hardcd222.getColumn(0, "hardcd"); //model.getValue("/root/init/hardcd222/hardcd/hardcd");
  72. var scrnFlag115 = ds_init_hardcd115.getColumn(0, "hardcd"); //model.getValue("/root/init/hardcd115/hardcd/hardcd");
  73. if( utlf_isNull(scrnFlag222 ) || scrnFlag222 != "Y" ){
  74. btn_cnclBatAprv.visible = false;
  75. rectangle6.visible = false;
  76. caption12.visible = false;
  77. //일괄확정 버튼과 가확정 범례 서울성모만 보이도록 2009.07.17 이윤정
  78. btn_cfm.visible = false;
  79. // 확인 필요
  80. group5.position.left = group5.currentstyle.left + btn_cnclBatAprv.currentstyle.width; //attribute("left") = group5.currentStyle.left + btn_cnclBatAprv.currentStyle.width;
  81. }
  82. if( utlf_isNull(scrnFlag115) || scrnFlag115 != "Y"){
  83. //가확정 범례 서울성모만 보이도록 2009.07.17 이윤정
  84. caption10.visible = false;
  85. rectangle5.visible = false;
  86. }
  87. }
  88. /**
  89. * @desc : 수술마취일정 조회
  90. * @
  91. * @param :
  92. * @return :
  93. * @author : 오지훈
  94. * @---------------------------------------------------
  95. */
  96. function fReqOpAnstSche(){
  97. // model.removeNodeset("/root/send/reqdata");
  98. // model.makeNode("/root/send/reqdata");
  99. dsf_copyDs(ds_send_reqdata, ds_main_cond, "replace"); // model.copyNode("/root/send/reqdata", "/root/main/cond");
  100. dsf_makeValue(ds_send_reqdata, "instflag", "string", ds_init_hardcd222.getColumn(0, "hardcd")); //model.makeValue("/root/send/reqdata/instflag", model.getValue("/root/init/hardcd222/hardcd/hardcd"))
  101. //model.removeNodeset(grd_opanstcnfmpatlist.nodeset);
  102. // initGridStyle("grd_opanstcnfmpatlist"); // 그리드 속성 초기화
  103. // initGridStyle("grd_opanstwaitpatlist"); // 그리드 속성 초기화
  104. var oParam = {};
  105. oParam.id = "TRMMO05401";
  106. oParam.service = "prcpmngtapp.OpMngt";
  107. oParam.method = "reqGetOpAnstPatList";
  108. oParam.inds = "req=ds_send_reqdata";
  109. oParam.outds = "ds_main_opanstcnfmpatlist=opanstcnfmpatlist ds_main_opanstwaitpatlist=opanstwaitpatlist";
  110. oParam.async = false;
  111. oParam.callback = "cf_TRMMO05401";
  112. tranf_submit(oParam);
  113. }
  114. function cf_TRMMO05401(sSvcId, nErrorCode, sErrorMsg) {
  115. if(nErrorCode < 0) {
  116. return;
  117. } else {
  118. fDispAprvCnclChng();
  119. fCheckWaitOpdelivefact();
  120. }
  121. }
  122. /**
  123. * @desc : 취소/변경 승인요청 표시, 빨간색 취소, 파란색 변경
  124. * @
  125. * @param :
  126. * @return :
  127. * @author : 오지훈
  128. * @---------------------------------------------------
  129. */
  130. function fDispAprvCnclChng(){
  131. ds_main_opanstcnfmpatlist.addColumn("colorflag", "string");
  132. for(var i = 0; i < ds_main_opanstcnfmpatlist.rowcount; i++){
  133. var aprvreqno = ds_main_opanstcnfmpatlist.getColumn(i, "aprvreqno");
  134. var reqrsncd = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd");
  135. var opstatcd = ds_main_opanstcnfmpatlist.getColumn(i, "opstatcd");
  136. var opflagcd = ds_main_opanstcnfmpatlist.getColumn(i, "opflagcd");
  137. //alert("i : " + i + " aprvreqno : "+ aprvreqno + " reqrsncd : " + reqrsncd + " opstatcd : " + opstatcd + " opflagcd : " + opflagcd);
  138. if(aprvreqno != 0){
  139. if(reqrsncd < 300){ //취소
  140. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "1");
  141. //rowStyle(i, "all", "color") = "#ff0000";
  142. }else if( reqrsncd > 300 && opstatcd == 10 && opflagcd == 1 && (reqrsncd == "314" || reqrsncd == "315") ){
  143. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "2");
  144. //rowStyle(i, "all", "color") = "#999999"; // 요청번호: 847 수술일변경 2010.06.30 kskim
  145. }else if( reqrsncd > 300 ){ //변경
  146. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "3");
  147. //rowStyle(i, "all", "color") = "#0000ff";
  148. }
  149. }else if(opstatcd == 15){ //가확정 2009.07.17
  150. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "4");
  151. //rowStyle(i, "all", "color") = "#00A400";
  152. }else if(opstatcd == 10 && opflagcd == 1){
  153. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "5");
  154. //rowStyle(i, "all", "color") = "#999999"; // 정규의뢰이면서 미확정 건 2010.06.15 kskim
  155. }else{
  156. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "6");
  157. //rowStyle(i, "all", "color") = "#000000";
  158. }
  159. // 수술전달 사항(opdelivefact)컬럼 정보에 값이 있을 경우 내용이 있음을 알리는 이미지 표시
  160. ds_main_opanstcnfmpatlist.addColumn("imageflag", "string");
  161. fCheckOpdelivefact( i );
  162. }
  163. // 09.02.02 방별 grouping
  164. var oproomnm = "";
  165. for(var i = 0; i < ds_main_opanstcnfmpatlist.rowcount; i++) {
  166. var toprm = ds_main_opanstcnfmpatlist.getColumn(i, "oproomnm");
  167. if(utlf_isSearchString(oproomnm, toprm) == false) {
  168. oproomnm += toprm + "▦";
  169. }
  170. }
  171. ds_main_opanstcnfmpatlist.addColumn("bgcolorflag", "string");
  172. for( var k = 0; k < oproomnm.split("▦").length-1; k++) {
  173. var rmno = oproomnm.split("▦");
  174. for(var i = 0; i < ds_main_opanstcnfmpatlist.rowcount; i++) {
  175. var toprm = ds_main_opanstcnfmpatlist.getColumn(i, "oproomnm");
  176. if((k %2) == 0 && rmno[k] == toprm) {
  177. ds_main_opanstcnfmpatlist.setColumn(i, "bgcolorflag", "1");
  178. //rowStyle(i, "all", "background-color") = "#ffffff";
  179. } else if((k %2) == 1 && rmno[k] == toprm) {
  180. ds_main_opanstcnfmpatlist.setColumn(i, "bgcolorflag", "2");
  181. //rowStyle(i, "all", "background-color") = "#C3E1FE";
  182. }
  183. }
  184. }
  185. // (e)
  186. //09.02.17 주수술이 취소된 부수술
  187. for(var i = 0; i < ds_main_opanstcnfmpatlist.rowcount; i++){
  188. var mainoprsrvno = ds_main_opanstcnfmpatlist.getColumn(i, "mainoprsrvno");
  189. var cnstoprsrvno = ds_main_opanstcnfmpatlist.getColumn(i, "cnstoprsrvno");
  190. var cnstopflag = ds_main_opanstcnfmpatlist.getColumn(i, "cnstopflag");
  191. if(cnstopflag == "Y") {
  192. if(mainoprsrvno == cnstoprsrvno) {
  193. ds_main_opanstcnfmpatlist.setColumn(i, "colorflag", "7");
  194. //grd_opanstcnfmpatlist.setCellProperty("Body", i, "color", "#ff00ff"); //rowStyle(i, "all", "color") = "#ff00ff";
  195. }
  196. }
  197. }
  198. // (e)
  199. //grd_opanstcnfmpatlist.refresh();
  200. }
  201. /**
  202. * @desc : 수술전달 사항(opdelivefact)컬럼 정보에 값이 있을 경우 'C'로 표기된 이미지 표시함
  203. @ 요구사항 : [요청번호: 12869, TASK번호: 48146, 우선순위: SY]
  204. @ 요청제목 : 수술마취 의뢰에 전달사항 입력 시 마취과 확정/조정 화면에 전달사항 컬럼 추가 및 팝업 조회 기능 요청
  205. * @authur : 김광성. kskim 2010.04.19
  206. * @---------------------------------------------------
  207. */
  208. /*
  209. function fCheckOpdelivefact( idx ){
  210. // SMMMO05500.js에 구현
  211. }
  212. */
  213. /*
  214. function fCheckWaitOpdelivefact(){
  215. // SMMMO05500.js에 구현
  216. }
  217. */
  218. /*
  219. function fOpenSPMMO05500(grdID){
  220. // SMMMO05500.js에 구현
  221. }
  222. */
  223. /**
  224. * @desc : 변경된 내역 유무확인(스케줄 변경 확인버튼 클릭)
  225. * @
  226. * @param :
  227. * @return :
  228. * @author : 오지훈
  229. * @---------------------------------------------------
  230. */
  231. function fClkScheChngBtn(){
  232. if(lf_compareNodeVal(ds_temp_opanstschechng, ds_main_opanstschechng) == true ){ //변경된 내역이 있는 경우 compareNodeVal("/root/temp/opanstschechng", "/root/main/opanstschechng") == true
  233. //model.removeNodeset("/root/send/savedata");
  234. //model.makeNode("/root/send/savedata");
  235. dsf_copyDs(ds_send_savedata, ds_main_opanstschechng, "replace"); //model.copyNode("/root/send/savedata", "/root/main/opanstschechng");
  236. var oParam = {};
  237. oParam.id = "TXMMO05402";
  238. oParam.service = "prcpmngtapp.OpMngt";
  239. oParam.method = "reqSetOpAnstScheCnfmList";
  240. oParam.inds = "req=ds_send_savedata";
  241. oParam.outds = "";
  242. oParam.async = false;
  243. oParam.callback = "cf_TXMMO05402";
  244. tranf_submit(oParam);
  245. } else {
  246. sysf_messageBox("저장할 내역이", "I004");
  247. }
  248. }
  249. function cf_TXMMO05402(sSvcId, nErrorCode, sErrorMsg) {
  250. if(nErrorCode < 0) {
  251. return;
  252. } else {
  253. group2.position.height = 0; //attribute("height") = 0;
  254. }
  255. }
  256. /**
  257. * @desc : 수술 마취일정 변경시, 기본정보 설정
  258. * @
  259. * @param :
  260. * @return :
  261. * @---------------------------------------------------
  262. */
  263. function fChngOpAnstPatInfo(){
  264. var iRow = ds_main_opanstcnfmpatlist.rowposition; //grd_opanstcnfmpatlist.row;
  265. if(iRow < 0){
  266. return;
  267. }
  268. var anstdeptcd = ds_init_hardcd.getColumn(0, "hardcd"); //model.getValue("/root/init/hardcd/hardcd/hardcd"); //마취통증의학과 부서
  269. var authdrid = sysf_getUserInfo("userid"); //권한자
  270. var authdeptcd = sysf_getUserInfo("dutplcecd"); //권한부서
  271. if(authdrid != "EMR"){
  272. if(authdeptcd != anstdeptcd){
  273. sysf_messageBox("마취통증의학과만 수술마취변경을 ", "E001");
  274. return;
  275. }
  276. }
  277. //group2.attribute("height") = 273;
  278. fBtnDisabled(false);
  279. var oprsrvno = ds_main_opanstcnfmpatlist.getColumn(iRow, "oprsrvno"); //model.getValue(sOPANSTCNFMPATLIST_PATH + "[" + iRow + "]/oprsrvno");
  280. var ophistno = ds_main_opanstcnfmpatlist.getColumn(iRow, "ophistno");
  281. var opcnfmdd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opcnfmdd");
  282. var oproomcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "oproomcd");
  283. var opfromtmcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opfromtmcd");
  284. var opendtmcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opendtmcd");
  285. var opusetm = ds_main_opanstcnfmpatlist.getColumn(iRow, "opusetm");
  286. var perfdeptcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "perfdeptcd");
  287. var perfdrid = ds_main_opanstcnfmpatlist.getColumn(iRow, "perfdrid");
  288. var anstdrid1 = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstdrid1");
  289. var anstdrid2 = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstdrid2");
  290. var anstdrid3 = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstdrid3");
  291. var anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstmthdcd");
  292. var opflagcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opflagcd");
  293. var diagnm = ds_main_opanstcnfmpatlist.getColumn(iRow, "diagnm");
  294. var opnm = ds_main_opanstcnfmpatlist.getColumn(iRow, "opnm");
  295. var diagcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "diagcd");
  296. var opcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opcd");
  297. var anstdetlmthdcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstdetlmthdcd");
  298. var opstatcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd");
  299. var pid = ds_main_opanstcnfmpatlist.getColumn(iRow, "pid");
  300. var oppatflagcd = ds_main_opanstcnfmpatlist.getColumn(iRow, "oppatflagcd");
  301. var ccrtno = ds_main_opanstcnfmpatlist.getColumn(iRow, "ccrtno");
  302. var hngnm = ds_main_opanstcnfmpatlist.getColumn(iRow, "hngnm");
  303. var sa = ds_main_opanstcnfmpatlist.getColumn(iRow, "sa");
  304. var cnstopflag = ds_main_opanstcnfmpatlist.getColumn(iRow, "cnstopflag");
  305. var anstccrtno = ds_main_opanstcnfmpatlist.getColumn(iRow, "anstccrtno");
  306. var mainoprsrvno = ds_main_opanstcnfmpatlist.getColumn(iRow, "mainoprsrvno");
  307. var reqdd = ds_main_cond.getColumn(0, "reqdd"); //model.getValue("/root/main/cond/reqdd");
  308. //협진이면 주수술의 수술방, 시간을 함께 넘긴다.
  309. // 2008.09.25 수정함
  310. if(cnstopflag == "Y") {
  311. var hpos = grd_opanstcnfmpatlist.hscrollbar.pos;
  312. var vpos = grd_opanstcnfmpatlist.vscrollbar.pos;
  313. var mainoprsrvno = ds_main_opanstcnfmpatlist.getColumn(iRow, "mainoprsrvno");
  314. var dataSet = ds_main_opanstcnfmpatlist.filter("oprsrvno == '" + mainoprsrvno + "'"); //instance1.selectNodes( sOPANSTCNFMPATLIST_PATH + "[oprsrvno = "+ mainoprsrvno +" ]");
  315. if( dataSet.rowcount > 0) {
  316. var mOproomcd = dataSet.getColumn(0, "oproomcd"); //nodeList.item(0).selectSingleNode("oproomcd").text;
  317. var mOpfromtmcd = dataSet.getColumn(0, "opfromtmcd"); //nodeList.item(0).selectSingleNode("opfromtmcd").text;
  318. var mOpendtmcd = dataSet.getColumn(0, "opendtmcd"); //nodeList.item(0).selectSingleNode("opendtmcd").text;
  319. var mOpusetm = dataSet.getColumn(0, "opusetm"); //nodeList.item(0).selectSingleNode("opusetm").text;
  320. }
  321. ds_main_opanstcnfmpatlist.filter("");
  322. grd_opanstcnfmpatlist.hscrollbar.pos = hpos;
  323. grd_opanstcnfmpatlist.vscrollbar.pos = vpos;
  324. }
  325. var param = oprsrvno + "▦" +
  326. ophistno + "▦" +
  327. opcnfmdd + "▦" +
  328. oproomcd + "▦" +
  329. opfromtmcd + "▦" +
  330. opendtmcd + "▦" +
  331. opusetm + "▦" +
  332. perfdeptcd + "▦" +
  333. perfdrid + "▦" +
  334. anstdrid1 + "▦" +
  335. anstdrid2 + "▦" +
  336. anstdrid3 + "▦" +
  337. anstmthdcd + "▦" +
  338. opflagcd + "▦" +
  339. diagnm + "▦" +
  340. opnm + "▦" +
  341. diagcd + "▦" +
  342. opcd + "▦" +
  343. anstdetlmthdcd + "▦" +
  344. reqdd + "▦" +
  345. opstatcd + "▦" +
  346. pid + "▦" +
  347. oppatflagcd + "▦" +
  348. ccrtno + "▦" +
  349. hngnm + "▦" +
  350. sa + "▦" +
  351. cnstopflag + "▦" +
  352. mOproomcd +"▦" +
  353. mOpfromtmcd + "▦" +
  354. mOpendtmcd + "▦" +
  355. mOpusetm + "▦" +
  356. anstccrtno + "▦" +
  357. mainoprsrvno;
  358. frmf_setParameter("SPMMO05400_param", param);
  359. frmf_modal("SPMMO05400", "SPMMO05400", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO05400");
  360. if(frmf_getParameter("SPMMO05400_rtn_useyn") == "Y") {
  361. fReqOpAnstSche();
  362. }
  363. }
  364. /**
  365. * @desc : 마취의사 배정
  366. * @
  367. * @param :
  368. * @return :
  369. * @author : 오지훈
  370. * @---------------------------------------------------
  371. */
  372. function fAssgnAnstDr(){
  373. // 2008.10.23
  374. var iRow = ds_main_opanstcnfmpatlist.rowposition;
  375. if( ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 20
  376. && ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 30
  377. && ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 15 ) {
  378. sysf_messageBox("수술을 시행하여 변경", "E001");
  379. return;
  380. }
  381. //(e)
  382. fBtnDisabled(false);
  383. var selectedRows = grdf_getSelectedRows(grd_opanstcnfmpatlist); //grd_opanstcnfmpatlist.selectedRows;
  384. for(var i = 0; i < selectedRows.length; i++) {
  385. var anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstmthdcd"); //model.getValue("/root/main/opanstpatinfo/opanstcnfmpatlist[" + grd_opanstcnfmpatlist.selectedrow(i) + "]/anstmthdcd");
  386. if(anstmthdcd == "03"){ //국소마취
  387. sysf_messageBox("국소마취는 마취의를 배정", "E001");
  388. return;
  389. }
  390. }
  391. //model.refresh();
  392. group1.position.height = 117; //attribute("height") = 117;
  393. }
  394. /**
  395. * @desc : 마취의 배정 정보 저장
  396. * @
  397. * @param :
  398. * @return :
  399. * @author : 오지훈
  400. * @---------------------------------------------------
  401. */
  402. function fSaveAssgnAnstDr(){
  403. var currow = ds_main_opanstcnfmpatlist.rowposition; //grd_opanstcnfmpatlist.row;
  404. if(currow < 0){
  405. sysf_messageBox("마취의를 배정할 환자를", "C002");
  406. return;
  407. }
  408. // TF 소스 확인필요 i 가 어디있어?
  409. var anstdrnm = ds_main_opanstcnfmpatlist.getColumn(currow, "anstdrnm"); //model.getValue(sOPANSTCNFMPATLIST_PATH + "[" + grd_opanstcnfmpatlist.selectedrow(i) + "]/anstdrnm");
  410. var header = "status▦oprsrvno▦anstdrid1▦anstdrid2▦anstdrid3▦anstmthdcd▦anstdetlmthdcd▦ageflag▦oproomcd▦ccrtno▦perfdeptcd▦anstccrtno▩";
  411. var savedata = "";
  412. var anstdrid1 = ds_main_anstdrid.getColumn(0, "anstdrid1"); //model.getValue("/root/main/anstdrid/anstdrid1"); //마취의사1 ID
  413. var anstdrid2 = ds_main_anstdrid.getColumn(0, "anstdrid2"); //model.getValue("/root/main/anstdrid/anstdrid2"); //마취의사2 ID
  414. var anstdrid3 = ds_main_anstdrid.getColumn(0, "anstdrid3"); //model.getValue("/root/main/anstdrid/anstdrid3"); //마취의사3 ID
  415. if(anstdrnm == "") { // 2008.10.01 신규일 경우만 묻도록 처리
  416. if( (anstdrid1 == "" || anstdrid1 == "-") && (anstdrid2 == "" || anstdrid2 == "-") && (anstdrid3 == "" || anstdrid3 == "-")) {
  417. sysf_messageBox("마취의를", "C002");
  418. return;
  419. }
  420. //마취의1이 배정되지 않고 마취의 2,3이 선택되는 문제점 방지
  421. if( !utlf_isNull(anstdrid2) || !utlf_isNull(anstdrid3) ) {
  422. if(anstdrid1 == "" || anstdrid1 == "-") {
  423. sysf_messageBox("마취의1을", "C002");
  424. return;
  425. }
  426. }
  427. }
  428. var selectedRows = grdf_getSelectedRows(grd_opanstcnfmpatlist); //var selectedRows = grd_opanstcnfmpatlist.selectedRows;
  429. for(var i = 0; i < selectedRows.length ; i++) {
  430. var anstdrnm = ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstdrnm"); //model.getValue(sOPANSTCNFMPATLIST_PATH + "[" + grd_opanstcnfmpatlist.selectedrow(i) + "]/anstdrnm");
  431. var anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstmthdcd");
  432. if(anstdrnm == "") {
  433. //if(anstmthdcd != "03") { // 2008.10.31 국소마취가 아닌경우도 함께 배정되는 것을 막음
  434. savedata += "i" + "▦" +
  435. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "oprsrvno") + "▦" +
  436. anstdrid1 + "▦" +
  437. anstdrid2 + "▦" +
  438. anstdrid3 + "▦" +
  439. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstmthdcd") + "▦" +
  440. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstdetlmthdcd") + "▦" +
  441. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "ageflag") + "▦" +
  442. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "oproomcd") + "▦" +
  443. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "ccrtno") + "▦" +
  444. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "perfdeptcd") + "▦" +
  445. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstccrtno") + "▩";
  446. //}
  447. }else{
  448. //if(anstmthdcd != "03") { // 2008.10.31 국소마취가 아닌경우도 함께 배정되는 것을 막음
  449. savedata += "u" + "▦" +
  450. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "oprsrvno") + "▦" +
  451. anstdrid1 + "▦" +
  452. anstdrid2 + "▦" +
  453. anstdrid3 + "▦" +
  454. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstmthdcd") + "▦" +
  455. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstdetlmthdcd") + "▦" +
  456. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "ageflag") + "▦" +
  457. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "oproomcd") + "▦" +
  458. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "ccrtno") + "▦" +
  459. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "perfdeptcd") + "▦" +
  460. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "anstccrtno") + "▩";
  461. //}
  462. }
  463. // alert(savedata);
  464. }
  465. header += savedata;
  466. ds_send_savedata.clear(); //model.removeNodeset("/root/send/savedata");
  467. dsf_setCSVToDs("ds_send_savedata", header); //model.makeValue("/root/send/savedata", header);
  468. var oParam = {};
  469. oParam.id = "TXMMO05403";
  470. oParam.service = "prcpmngtapp.OpMngt";
  471. oParam.method = "reqExeSaveOpAnstDrList";
  472. oParam.inds = "req=ds_send_savedata";
  473. oParam.outds = "";
  474. oParam.async = false;
  475. oParam.callback = "cf_TXMMO05403";
  476. tranf_submit(oParam);
  477. group1.position.height = 0; //attribute("height")=0;
  478. ds_main_anstdrid.setColumn(0, "anstdrid1", "-");
  479. ds_main_anstdrid.setColumn(0, "anstdrid2", "-");
  480. ds_main_anstdrid.setColumn(0, "anstdrid3", "-");
  481. //model.refresh();
  482. }
  483. function cf_TXMMO05403(sSvcId, nErrorCode, sErrorMsg) {
  484. if(nErrorCode < 0) {
  485. return;
  486. } else {
  487. fReqOpAnstSche();
  488. }
  489. }
  490. /**
  491. * @desc : 마취방법
  492. * @
  493. * @param :
  494. * @return :
  495. * @author : 박유미
  496. * @---------------------------------------------------
  497. */
  498. function fMthdAnst() {
  499. // 2008.10.23
  500. var iRow = ds_main_opanstcnfmpatlist.rowposition; //grd_opanstcnfmpatlist.row;
  501. if( ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 20
  502. && ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 30
  503. && ds_main_opanstcnfmpatlist.getColumn(iRow, "opstatcd") != 15 ) {
  504. sysf_messageBox("수술을 시행하여 변경", "E001");
  505. return;
  506. }
  507. //(e)
  508. fBtnDisabled(false);
  509. var selectedRows = grdf_getSelectedRows(grd_opanstcnfmpatlist); //grd_opanstcnfmpatlist.selectedRows;
  510. for(var i = 0; i < selectedRows.length ; i++) {
  511. var sa = ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "sa"); //model.getValue("/root/main/opanstpatinfo/opanstcnfmpatlist[" + grd_opanstcnfmpatlist.selectedrow(i) + "]/sa");
  512. sa = sa.split("/");
  513. if(sa[1] > 16){
  514. ds_main_anstdrid.setColumn(0, "ageflag", "20");
  515. }else if(sa[1] > 12 && sa[1] <= 15){
  516. ds_main_anstdrid.setColumn(0, "ageflag", "15");
  517. }else if(sa[1] > 8 && sa[1] <= 12){
  518. ds_main_anstdrid.setColumn(0, "ageflag", "14");
  519. }else if(sa[1] > 5 && sa[1] <= 8){
  520. ds_main_anstdrid.setColumn(0, "ageflag", "13");
  521. }else if(sa[1] > 3 && sa[1] <= 5){
  522. ds_main_anstdrid.setColumn(0, "ageflag", "12");
  523. }else if(sa[1] > 1 && sa[1] <= 3){
  524. ds_main_anstdrid.setColumn(0, "ageflag", "11");
  525. }else{
  526. ds_main_anstdrid.setColumn(0, "ageflag", "10");
  527. }
  528. }
  529. //model.refresh();
  530. group2.position.height = 95; //attribute("height") = 95;
  531. }
  532. /**
  533. * @desc : 마취방법 저장(수정)
  534. * @
  535. * @param :
  536. * @return :
  537. * @author : 박유미
  538. * @---------------------------------------------------
  539. */
  540. function fSaveMnthAnst() {
  541. var header = "status▦oprsrvno▦anstmthdcd▦anstdetlmthdcd▦ageflag▩";
  542. var savedata = "";
  543. var anstmthdcd = ds_main_anstdrid.getColumn(0, "anstmthdcd");
  544. var anstdetlmthdcd= ds_main_anstdrid.getColumn(0, "anstdetlmthdcd");
  545. var ageflag = ds_main_anstdrid.getColumn(0, "ageflag");
  546. if(anstmthdcd == "00" || anstmthdcd == "-" || anstmthdcd == ""){
  547. sysf_messageBox("마취방법을", "C002");
  548. return;
  549. }
  550. if( (anstmthdcd != "03" && (anstdetlmthdcd == "00" || anstdetlmthdcd == "-" || anstdetlmthdcd == "")) ){
  551. sysf_messageBox("마취상세방법을", "C002");
  552. return;
  553. }
  554. if(ageflag == ""){
  555. sysf_messageBox("마취상세방법을", "C002");
  556. return;
  557. }
  558. var selectedRows = grdf_getSelectedRows(grd_opanstcnfmpatlist); //grd_opanstcnfmpatlist.selectedRows;
  559. for(var i = 0; i < selectedRows.length ; i++) {
  560. savedata += "i" + "▦" +
  561. ds_main_opanstcnfmpatlist.getColumn(selectedRows[i], "oprsrvno") + "▦" +
  562. anstmthdcd + "▦" +
  563. anstdetlmthdcd + "▦" +
  564. ageflag + "▩";
  565. }
  566. header += savedata;
  567. ds_send_savedata.clear(); //model.removeNodeset("/root/send/savedata");
  568. dsf_setCSVToDs("ds_send_savedata", header); //model.makeValue("/root/send/savedata", header);
  569. var oParam = {};
  570. oParam.id = "TXMMO05405";
  571. oParam.service = "prcpmngtapp.OpMngt";
  572. oParam.method = "reqExeSaveMnthAnst";
  573. oParam.inds = "req=ds_send_savedata";
  574. oParam.outds = "";
  575. oParam.async = false;
  576. oParam.callback = "cf_TXMMO05405";
  577. tranf_submit(oParam);
  578. group2.position.height = 0; //attribute("height") = 0;
  579. ds_main_anstdrid.setColumn(0, "anstmthdcd", "-"); // model.setValue("/root/main/anstdrid/anstmthdcd", "-");
  580. ds_main_anstdrid.setColumn(0, "anstdetlmthdcd", "-"); // model.setValue("/root/main/anstdrid/anstdetlmthdcd", "-");
  581. //model.refresh();
  582. }
  583. function cf_TXMMO05405(sSvcId, nErrorCode, sErrorMsg) {
  584. if(nErrorCode < 0) {
  585. return;
  586. } else {
  587. fReqOpAnstSche();
  588. }
  589. }
  590. /**
  591. * @desc : 버튼 활성화/비활성화
  592. * @
  593. * @param : bFlag - true/false
  594. * @return :
  595. * @author : 오지훈
  596. * @---------------------------------------------------
  597. */
  598. function fBtnDisabled(bFlag){
  599. if(bFlag == true) {
  600. btn_req.enable = false;
  601. btn_open.enable = false;
  602. btn_close.enable = false;
  603. } else {
  604. btn_req.enable = true;
  605. btn_open.enable = true;
  606. btn_close.enable = true;
  607. }
  608. //model.refresh();
  609. }
  610. /**
  611. * @desc : 수술 방/시간 설정
  612. * @
  613. * @param : bFlag - true/false
  614. * @return :
  615. * @author : 오지훈
  616. * @---------------------------------------------------
  617. */
  618. function fOpenOpScheTime(){
  619. var param = "u" + "▦" +
  620. ds_main_opanstschechng.getColumn(0, "oproomcd") + "▦" +
  621. ds_main_opanstschechng.getColumn(0, "oprsrvno") + "▦" +
  622. ds_main_opanstschechng.getColumn(0, "ophistno") + "▦" +
  623. ds_main_opanstschechng.getColumn(0, "pid") + "▦" +
  624. ds_main_opanstschechng.getColumn(0, "opcnfmdd") + "▦" +
  625. ds_main_opanstschechng.getColumn(0, "perfdeptcd") + "▦" +
  626. ds_main_opanstschechng.getColumn(0, "opfromtmcd") + "▦" +
  627. ds_main_opanstschechng.getColumn(0, "opendtmcd") + "▦" +
  628. "oprsrv";
  629. frmf_setParameter("SPMMO08800_param", param);
  630. frmf_modal("SPMMO05400", "SPMMO05400", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO08800");
  631. var rtnuseyn = frmf_getParameter("SPMMO08800_rtn_useyn");
  632. if(rtnuseyn == "Y"){
  633. frmf_setParameter("SPMMO08800_rtn_useyn", "N");
  634. var rtnparam = frmf_getParameter("SPMMO08800_rtn_param");
  635. rtnparam = rtnparam.split("▦");
  636. var difftime = utlf_getTimeInterval(rtnparam[1], rtnparam[2]);
  637. ds_main_opanstschechng.setColumn(0, "oproomcd", rtnparam[0]);
  638. ds_main_opanstschechng.setColumn(0, "opfromtmcd", rtnparam[1]);
  639. ds_main_opanstschechng.setColumn(0, "opendtmcd", rtnparam[2]);
  640. ds_main_opanstschechng.setColumn(0, "opusetm", fTransSecToHourMin(difftime)); //model.setValue(sOPANSTSCHECHNG_PATH + "/opusetm" , fTransSecToHourMin(difftime));
  641. // model.refresh();
  642. }
  643. }
  644. /**
  645. * @desc : 초를 시/분으로 전환
  646. * @
  647. * @param : bFlag - true/false
  648. * @return :
  649. * @author : 오지훈
  650. * @---------------------------------------------------
  651. */
  652. function fTransSecToHourMin(sec){
  653. var hr = 3600;
  654. var min = 60;
  655. hour = parseInt(sec/hr);
  656. min = parseInt(sec%hr/min);
  657. hour = ("" + hour + "").utlf_getLeftPad(2, "0");
  658. min = ("" + min + "").utlf_getLeftPad(2, "0");
  659. var rtnstr = hour.concat(min);
  660. return rtnstr;
  661. }
  662. /**
  663. * @desc : 스케줄변경 취소
  664. * @
  665. * @param : bFlag - true/false
  666. * @return :
  667. * @author : 오지훈
  668. * @---------------------------------------------------
  669. */
  670. function fClkScheCnclBtn(){
  671. group2.position.height = 0; //attribute("height") = 0;
  672. fBtnDisabled(false);
  673. // model.resetInstanceNode("/root/main/opanstschechng");
  674. // model.refresh();
  675. }
  676. /**
  677. * @desc : 마취방법 변경시 마취방법상세 변경
  678. * @
  679. * @param :
  680. * @return :
  681. * @author : 오지훈
  682. * @---------------------------------------------------
  683. */
  684. function fChngAnstMthdCmb(cmbobj, cmbobjtrgt, cmbpath){
  685. var anstmthdcd = cmbobj.value;
  686. if(anstmthdcd == "01"){ //전신마취
  687. cmbobjtrgt.innerdataset = "ds_M0243"; //cmbobjtrgt.choices.itemset.attribute("nodeset") = "/root/init/M0243/M0243";
  688. }else if(anstmthdcd == "02"){ //부위마취
  689. cmbobjtrgt.innerdataset = "ds_M0244"; //choices.itemset.attribute("nodeset") = "/root/init/M0244/M0244";
  690. }else if(anstmthdcd == "03"){ //국소마취
  691. cmbobjtrgt.innerdataset = "ds_M0245"; //choices.itemset.attribute("nodeset") = "/root/init/M0245/M0245";
  692. }
  693. // 똑같은 곳에 "-", "00" 넣고 있음
  694. cmbpath.setColumn(0, "anstdetlmthdcd", "-"); //model.setValue(cmbpath, "-");
  695. ds_main_anstdrid.setColumn(0, "anstdetlmthdcd", "00"); //model.setValue("/root/main/anstdrid/anstdetlmthdcd", "00");
  696. //model.refresh();
  697. }
  698. /**
  699. * @desc : 취소버튼 클릭, 마취의사배정 화면 숨김
  700. * @
  701. * @param :
  702. * @return :
  703. * @author : 오지훈
  704. * @---------------------------------------------------
  705. */
  706. function fClkCnclBtn(){
  707. ds_main_anstdrid.setColumn(0, "anstdrid1", "-"); //model.setValue("/root/main/anstdrid/anstdrid1", "-");
  708. ds_main_anstdrid.setColumn(0, "anstdrid2", "-"); //model.setValue("/root/main/anstdrid/anstdrid2", "-");
  709. ds_main_anstdrid.setColumn(0, "anstdrid3", "-"); //model.setValue("/root/main/anstdrid/anstdrid3", "-");
  710. group1.position.height = 0; //attribute("height") = 0;
  711. //group1.refresh();
  712. }
  713. /**
  714. * @desc : 추가, 응급 수술마취 확정처리
  715. * @
  716. * @param :
  717. * @return :
  718. * @author : 오지훈
  719. * @---------------------------------------------------
  720. */
  721. function fCnfmOpAnstSche(){
  722. var currow = ds_main_opanstwaitpatlist.rowposition;
  723. if(currow < 0){
  724. return;
  725. }
  726. var opschedd = ds_main_opanstwaitpatlist.getColumn(currow, "opschedd"); //model.getValue(sOPANSTWAITPATLIST_PATH + "[" + currow + "]/opschedd");
  727. var oproomcd = ds_main_opanstwaitpatlist.getColumn(currow, "oproomcd");
  728. var opfromtmcd = ds_main_opanstwaitpatlist.getColumn(currow, "opfromtmcd");
  729. var opendtmcd = ds_main_opanstwaitpatlist.getColumn(currow, "opendtmcd");
  730. var opusetm = ds_main_opanstwaitpatlist.getColumn(currow, "opusetm");
  731. var anstdrid1 = ds_main_opanstwaitpatlist.getColumn(currow, "anstdrid1");
  732. var anstdrid2 = ds_main_opanstwaitpatlist.getColumn(currow, "anstdrid2");
  733. var anstdrid3 = ds_main_opanstwaitpatlist.getColumn(currow, "anstdrid3");
  734. var anstmthdcd = ds_main_opanstwaitpatlist.getColumn(currow, "anstmthdcd");
  735. var oprsrvno = ds_main_opanstwaitpatlist.getColumn(currow, "oprsrvno");
  736. var ccrtno = ds_main_opanstwaitpatlist.getColumn(currow, "ccrtno");
  737. var mainoprsrvno = ds_main_opanstwaitpatlist.getColumn(currow, "mainoprsrvno");
  738. var anstreqflag = ds_main_opanstwaitpatlist.getColumn(currow, "anstreqflag");
  739. var sa = ds_main_opanstwaitpatlist.getColumn(currow, "sa");
  740. var pid = ds_main_opanstwaitpatlist.getColumn(currow, "pid");
  741. var hngnm = ds_main_opanstwaitpatlist.getColumn(currow, "hngnm");
  742. var anstdetlmthdcd = ds_main_opanstwaitpatlist.getColumn(currow, "anstdetlmthdcd");
  743. var ophistno = ds_main_opanstwaitpatlist.getColumn(currow, "ophistno");
  744. var oppatflagcd = ds_main_opanstwaitpatlist.getColumn(currow, "oppatflagcd");
  745. var opflagcd = ds_main_opanstwaitpatlist.getColumn(currow, "opflagcd");
  746. var perfdeptcd = ds_main_opanstwaitpatlist.getColumn(currow, "perfdeptcd");
  747. var perfdrid = ds_main_opanstwaitpatlist.getColumn(currow, "perfdrid");
  748. var diagcd = ds_main_opanstwaitpatlist.getColumn(currow, "diagcd");
  749. var opcd = ds_main_opanstwaitpatlist.getColumn(currow, "opcd");
  750. var orddeptcd = ds_main_opanstwaitpatlist.getColumn(currow, "orddeptcd");
  751. var cnstopflag = ds_main_opanstwaitpatlist.getColumn(currow, "cnstopflag"); // 협진flag
  752. var anstccrtno = ds_main_opanstwaitpatlist.getColumn(currow, "anstccrtno");
  753. var reopflag = ds_main_opanstwaitpatlist.getColumn(currow, "reopflag");
  754. var painlessflag = ds_main_opanstwaitpatlist.getColumn(currow, "painlessflag");
  755. // [요청번호: 847] 수술일자변경 2010.06.28 kskim
  756. var reqrsncd = ds_main_opanstwaitpatlist.getColumn(currow, "reqrsncd"); //수술변경사유코드
  757. var aprvreqno = ds_main_opanstwaitpatlist.getColumn(currow, "aprvreqno"); //승인번호
  758. // 2008.09.25 협진일경우 주수술의 방, 시간을 끌고 보여주기
  759. // 09.02.04 mainoprsrvno == '-' 인경우는 부수술이 먼저 의뢰된 경우
  760. if(cnstopflag == "Y" && mainoprsrvno != "-") {
  761. var dsListCnt = ds_main_opanstcnfmpatlist.getCaseCount("oprsrvno == '" + mainoprsrvno + "'");
  762. if(dsListCnt > 0 ) {
  763. var dsListRow = ds_main_opanstcnfmpatlist.findRow("oprsrvno", mainoprsrvno);
  764. oproomcd = ds_main_opanstcnfmpatlist.getColumn(dsListRow, "oproomcd");
  765. opfromtmcd = ds_main_opanstcnfmpatlist.getColumn(dsListRow, "opfromtmcd");
  766. opendtmcd = ds_main_opanstcnfmpatlist.getColumn(dsListRow, "opendtmcd");
  767. opusetm = ds_main_opanstcnfmpatlist.getColumn(dsListRow, "opusetm");
  768. } else {
  769. ds_send_reqdata.clearData();
  770. dsf_makeValue(ds_send_reqdata, "mainoprsrvno", "string", mainoprsrvno); //등록번호
  771. var oParam = {};
  772. oParam.id = "TRMMO05403";
  773. oParam.service = "prcpmngtapp.OpMngt";
  774. oParam.method = "reqGetMainOpInfo";
  775. oParam.inds = "req=ds_send_reqdata";
  776. oParam.outds = "ds_main_rgstinfo=rgstinfo";
  777. oParam.async = false;
  778. oParam.callback = "cf_TRMMO05403";
  779. tranf_submit(oParam);
  780. }
  781. //ds_main_opanstwaitpatlist.filter("");
  782. }
  783. // (e)
  784. frmf_setParameter("sa", sa);
  785. frmf_setParameter("opschedd", opschedd);
  786. frmf_setParameter("oproomcd", oproomcd);
  787. frmf_setParameter("opfromtmcd", opfromtmcd);
  788. frmf_setParameter("opendtmcd", opendtmcd);
  789. frmf_setParameter("opusetm", opusetm);
  790. frmf_setParameter("anstdrid1", anstdrid1);
  791. frmf_setParameter("anstdrid2", anstdrid2);
  792. frmf_setParameter("anstdrid3", anstdrid3);
  793. frmf_setParameter("anstmthdcd", anstmthdcd);
  794. frmf_setParameter("oprsrvno", oprsrvno);
  795. frmf_setParameter("ccrtno", ccrtno);
  796. frmf_setParameter("mainoprsrvno", mainoprsrvno);
  797. frmf_setParameter("anstreqflag", anstreqflag);
  798. frmf_setParameter("anstdetlmthdcd", anstdetlmthdcd);
  799. frmf_setParameter("ophistno", ophistno);
  800. frmf_setParameter("oppatflagcd", oppatflagcd); //수술환자구분
  801. frmf_setParameter("pid", pid); //등록번호
  802. frmf_setParameter("hngnm", hngnm); //이름
  803. frmf_setParameter("opflagcd", opflagcd); //수술구분코드
  804. frmf_setParameter("perfdeptcd", perfdeptcd); //집도과
  805. frmf_setParameter("perfdrid", perfdrid); //집도의
  806. frmf_setParameter("diagcd", diagcd); //진단코드
  807. frmf_setParameter("opcd", opcd); //수술코드
  808. frmf_setParameter("orddeptcd", orddeptcd);
  809. frmf_setParameter("cnstopflag", cnstopflag);
  810. frmf_setParameter("anstccrtno", anstccrtno);
  811. frmf_setParameter("reopflag", reopflag);
  812. frmf_setParameter("painlessflag", painlessflag);
  813. // [요청번호: 847] 수술일자변경 2010.06.28 kskim
  814. frmf_setParameter("reqrsncd", reqrsncd); // 수술변경사유코드
  815. frmf_setParameter("aprvreqno", aprvreqno); // 승인번호
  816. frmf_open("SPMMO15000", "SPMMO15000", null, null, null, null, null, null, null, null, null, null, "M"); //open("SPMMO15000");
  817. }
  818. function cf_TRMMO05403(sSvcId, nErrorCode, sErrorMsg) {
  819. if(nErrorCode < 0) {
  820. return;
  821. } else {
  822. var maopList = ds_main_rgstinfo; //instance1.selectNodes("/root/main/rgstinfo/rgstinfo");
  823. if(maopList.rowcount > 0) {
  824. opschedd = ds_main_rgstinfo.getColumn(0, "opcnfmdd");
  825. oproomcd = ds_main_rgstinfo.getColumn(0, "oproomcd");
  826. opfromtmcd = ds_main_rgstinfo.getColumn(0, "opfromtmcd");
  827. opendtmcd = ds_main_rgstinfo.getColumn(0, "opendtmcd");
  828. opusetm = ds_main_rgstinfo.getColumn(0, "opusetm");
  829. }
  830. }
  831. }
  832. /**
  833. * @desc : 재조회
  834. * @
  835. * @param :
  836. * @return :
  837. * @author : 박유미
  838. * @---------------------------------------------------
  839. */
  840. function fReqSearch(retflag) {
  841. if(retflag == "Y") {
  842. fReqOpAnstSche();
  843. }
  844. }
  845. /**
  846. * @desc : 마취방법 취소
  847. * @
  848. * @param :
  849. * @return :
  850. * @author : 박유미
  851. * @---------------------------------------------------
  852. */
  853. function fClkMnthCnclBtn() {
  854. ds_main_anstdrid.setColumn(0, "anstmthdcd", "-"); //model.setValue("/root/main/anstdrid/anstmthdcd", "-");
  855. ds_main_anstdrid.setColumn(0, "anstdetlmthdcd", "-"); //model.setValue("/root/main/anstdrid/anstdetlmthdcd", "-");
  856. group2.position.height = 0; //attribute("height") = 0;
  857. //model.refresh();
  858. }
  859. /**
  860. * @desc : 수술마취 확정 취소/변경 승인
  861. * @
  862. * @param :
  863. * @return :
  864. * @author : 오지훈
  865. * @---------------------------------------------------
  866. */
  867. function fOpAnstAprvChngCnl(){
  868. var currow = ds_main_opanstcnfmpatlist.rowposition; //grd_opanstcnfmpatlist.row;
  869. if(currow < 0){
  870. return;
  871. }
  872. var aprvreqno = ds_main_opanstcnfmpatlist.getColumn(currow, "aprvreqno");
  873. if(aprvreqno == 0){
  874. sysf_messageBox("변경, 취소 승인 요청 건수가" , "I004");
  875. return;
  876. }
  877. var pid = ds_main_opanstcnfmpatlist.getColumn(currow, "pid");
  878. var oprsrvno = ds_main_opanstcnfmpatlist.getColumn(currow, "oprsrvno");
  879. var ophistno = ds_main_opanstcnfmpatlist.getColumn(currow, "ophistno");
  880. var opstatcd = ds_main_opanstcnfmpatlist.getColumn(currow, "opstatcd");
  881. var opcnfmdd = ds_main_opanstcnfmpatlist.getColumn(currow, "opcnfmdd");
  882. var oproomcd = ds_main_opanstcnfmpatlist.getColumn(currow, "oproomcd");
  883. var opfromtmcd = ds_main_opanstcnfmpatlist.getColumn(currow, "opfromtmcd");
  884. var opendtmcd = ds_main_opanstcnfmpatlist.getColumn(currow, "opendtmcd");
  885. var opusetm = ds_main_opanstcnfmpatlist.getColumn(currow, "opusetm");
  886. var perfdeptcd = ds_main_opanstcnfmpatlist.getColumn(currow, "perfdeptcd");
  887. var perfdrid = ds_main_opanstcnfmpatlist.getColumn(currow, "perfdrid");
  888. var diagcd = ds_main_opanstcnfmpatlist.getColumn(currow, "diagcd");
  889. var opcd = ds_main_opanstcnfmpatlist.getColumn(currow, "opcd");
  890. var diagnm = ds_main_opanstcnfmpatlist.getColumn(currow, "diagnm");
  891. var opnm = ds_main_opanstcnfmpatlist.getColumn(currow, "opnm");
  892. var oppatflagcd = ds_main_opanstcnfmpatlist.getColumn(currow, "oppatflagcd");
  893. var anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(currow, "anstmthdcd");
  894. var anstdetlmthdcd = ds_main_opanstcnfmpatlist.getColumn(currow, "anstdetlmthdcd");
  895. var hngnm = ds_main_opanstcnfmpatlist.getColumn(currow, "hngnm");
  896. var sa = ds_main_opanstcnfmpatlist.getColumn(currow, "sa");
  897. var opposturecd = ds_main_opanstcnfmpatlist.getColumn(currow, "opposturecd");
  898. var opdirecflag = ds_main_opanstcnfmpatlist.getColumn(currow, "opdirecflag");
  899. var opcntmdg = ds_main_opanstcnfmpatlist.getColumn(currow, "opcntmdg");
  900. var opdelivefact = ds_main_opanstcnfmpatlist.getColumn(currow, "opdelivefact");
  901. var orddeptcd = ds_main_opanstcnfmpatlist.getColumn(currow, "orddeptcd");
  902. var reqrsncd = ds_main_opanstcnfmpatlist.getColumn(currow, "reqrsncd");
  903. var drgyn = ds_main_opanstcnfmpatlist.getColumn(currow, "drgyn");
  904. var drgno = ds_main_opanstcnfmpatlist.getColumn(currow, "drgno");
  905. var drgnm = ds_main_opanstcnfmpatlist.getColumn(currow, "drgnm");
  906. frmf_setParameter("SPMMO05900_param_oprsrvno", oprsrvno);
  907. frmf_setParameter("SPMMO05900_param_ophistno", ophistno);
  908. frmf_setParameter("SPMMO05900_param_aprvreqno",aprvreqno);
  909. frmf_setParameter("SPMMO05900_param_opstatcd",opstatcd); // 2008.12.23
  910. frmf_setParameter("SPMMO05900_param_reqrsncd",reqrsncd); // 2008.12.23
  911. data = opcnfmdd + "▦" +
  912. oproomcd + "▦" +
  913. opfromtmcd + "▦" +
  914. opendtmcd + "▦" +
  915. opusetm + "▦" +
  916. opcd + "▦" +
  917. opnm + "▦" +
  918. diagcd + "▦" +
  919. diagnm + "▦" +
  920. perfdeptcd + "▦" +
  921. perfdrid + "▦" +
  922. oppatflagcd+ "▦" +
  923. pid+ "▦" +
  924. anstmthdcd + "▦" +
  925. anstdetlmthdcd + "▦" +
  926. hngnm + "▦" +
  927. sa + "▦" +
  928. opposturecd + "▦" +
  929. opdirecflag + "▦" +
  930. opcntmdg + "▦" +
  931. opdelivefact + "▦" +
  932. orddeptcd + "▦" +
  933. opstatcd + "▦" +
  934. drgyn + "▦" +
  935. drgno + "▦" +
  936. drgnm
  937. ;
  938. frmf_setParameter("SPMMO05900_param_data", data);
  939. frmf_modal("SPMMO05900", "SPMMO05900", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO05900");
  940. fReqOpAnstSche();
  941. }
  942. /**
  943. * @desc : 수술마취 조정 유효성 검사
  944. * @
  945. * @param :
  946. * @return :
  947. * @author : 오지훈
  948. * @---------------------------------------------------
  949. */
  950. function fVaildOpAnstCtrl(){ // SPMMO15000_수술마취대기자확정 에서 호출
  951. var opfromtmcd = ds_main_opanstschecnfm.getColumn(0, "opfromtmcd");
  952. var opendtmcd = ds_main_opanstschecnfm.getColumn(0, "opendtmcd");
  953. var oproomcd = ds_main_opanstschecnfm.getColumn(0, "oproomcd");
  954. var anstdrid1 = ds_main_opanstschecnfm.getColumn(0, "anstdrid1");
  955. var anstmthdcd = ds_main_opanstschecnfm.getColumn(0, "anstmthdcd");
  956. var anstdetlmthdcd = ds_main_opanstschecnfm.getColumn(0, "anstdetlmthdcd");
  957. var ageflag = ds_main_opanstschecnfm.getColumn(0, "ageflag");
  958. if(opfromtmcd == "" || opendtmcd == ""){
  959. sysf_messageBox("수술시간을", "C001");
  960. return false;
  961. }
  962. if(oproomcd == ""){
  963. sysf_messageBox("수술방을", "C001");
  964. return false;
  965. }
  966. if(anstdrid1 == "-" || anstdrid1 == ""){
  967. sysf_messageBox("마취의1을" , "C001");
  968. return false;
  969. }
  970. if(anstmthdcd == ""){
  971. sysf_messageBox("마취방법코드를" , "C001");
  972. return false;
  973. }
  974. if(anstdetlmthdcd == ""){
  975. sysf_messageBox("마취방법상세코드를" , "C001");
  976. return false;
  977. }
  978. if(ageflag == ""){
  979. }
  980. }
  981. /**
  982. * @desc : 응급추가 수술시간 설정
  983. * @
  984. * @param :
  985. * @return :
  986. * @author : 오지훈
  987. * @---------------------------------------------------
  988. */
  989. function fAddERSetOpTime(){
  990. var param = "i" + "▦" +
  991. ds_main_opanstschecnfm.getColumn(0, "oproomcd") + "▦" +
  992. ds_main_opanstschecnfm.getColumn(0, "oprsrvno") + "▦" +
  993. ds_main_opanstschecnfm.getColumn(0, "ophistno") + "▦" +
  994. ds_main_opanstschecnfm.getColumn(0, "pid") + "▦" +
  995. ds_main_opanstschecnfm.getColumn(0, "opcnfmdd") + "▦" +
  996. ds_main_opanstschecnfm.getColumn(0, "perfdeptcd") + "▦" +
  997. "" + "▦" +
  998. "" + "▦" +
  999. "oprsrv";
  1000. frmf_setParameter("SPMMO08800_param", param);
  1001. frmf_modal("SPMMO08800", "SPMMO08800", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO08800");
  1002. var rtnuseyn = frmf_getParameter("SPMMO08800_rtn_useyn");
  1003. if(rtnuseyn == "Y"){
  1004. frmf_setParameter("SPMMO08800_rtn_useyn", "N");
  1005. var rtnparam = frmf_getParameter("SPMMO08800_rtn_param");
  1006. rtnparam = rtnparam.split("▦");
  1007. var difftime = utlf_getTimeInterval(rtnparam[1], rtnparam[2]);
  1008. ds_main_opanstschecnfm.setColumn(0, "oproomcd", rtnparam[0]); // model.setValue("/root/main/opanstschecnfm/oproomcd" , rtnparam[0]);
  1009. ds_main_opanstschecnfm.setColumn(0, "opfromtmcd", rtnparam[1]); // model.setValue("/root/main/opanstschecnfm/opfromtmcd", rtnparam[1]);
  1010. ds_main_opanstschecnfm.setColumn(0, "opendtmcd", rtnparam[2]); // model.setValue("/root/main/opanstschecnfm/opendtmcd" , rtnparam[2]);
  1011. ds_main_opanstschecnfm.setColumn(0, "opusetm", fTransSecToHourMin(difftime)); // model.setValue("/root/main/opanstschecnfm/opusetm" , fTransSecToHourMin(difftime));
  1012. // model.refresh();
  1013. }
  1014. }
  1015. /**
  1016. * @desc : 응급추가 수술마취 확정
  1017. * @
  1018. * @param :
  1019. * @return :
  1020. * @author : 오지훈
  1021. * @---------------------------------------------------
  1022. */
  1023. function fChkErAddOpAnstCnfm(){
  1024. var oproomcd = ds_main_opanstschecnfm.getColumn(0, "oproomcd"); //model.getValue("/root/main/opanstschecnfm/oproomcd");
  1025. var opfromtmcd = ds_main_opanstschecnfm.getColumn(0, "opfromtmcd"); //model.getValue("/root/main/opanstschecnfm/opfromtmcd");
  1026. var opendtmcd = ds_main_opanstschecnfm.getColumn(0, "opendtmcd");
  1027. var anstdrid1 = ds_main_opanstschecnfm.getColumn(0, "anstdrid1");
  1028. var anstdrid2 = ds_main_opanstschecnfm.getColumn(0, "anstdrid2");
  1029. var anstdrid3 = ds_main_opanstschecnfm.getColumn(0, "anstdrid3");
  1030. var anstmthdcd = ds_main_opanstschecnfm.getColumn(0, "anstmthdcd");
  1031. sysf_trace("opfromtmcd:"+opfromtmcd)
  1032. if(utlf_isNull(cmb_chnganstmthdcd.text)){ // 함수 호출하는 화면의 콤보ID 확인
  1033. sysf_messageBox("마취방법을", "C001");
  1034. return false;
  1035. }
  1036. if(anstmthdcd != "03" && utlf_isNull(cmb_chnganstdetlmthdcd.text)){ // 함수 호출하는 화면의 콤보ID 확인
  1037. sysf_messageBox("마취방법상세를", "C001");
  1038. return false;
  1039. }
  1040. if(utlf_isNull(opfromtmcd)){
  1041. sysf_messageBox("수술시작시간을", "C001");
  1042. return false;
  1043. }
  1044. if(utlf_isNull(opendtmcd)){
  1045. sysf_messageBox("수술종료시간을", "C001");
  1046. return false;
  1047. }
  1048. if(!utlf_isNull(opfromtmcd) || !utlf_isNull(opendtmcd)) {
  1049. if(cmb_chngoproomcd.value == "0000" || cmb_chngoproomcd.value == "2222"){ // 함수 호출하는 화면의 콤보ID 확인
  1050. sysf_messageBox("수술방을", "C001");
  1051. //model.setFocus("cmb_chngoproomcd"); 이 함수 호출하는 화면의 cmb_chngoproomcd
  1052. return false;
  1053. }
  1054. }
  1055. // 마취의 3명 다 입력하지 않아도 됨
  1056. if( (anstmthdcd != "03" && (utlf_isNull(anstdrid1) || anstdrid1 == "-")) &&
  1057. (anstmthdcd != "03" && (utlf_isNull(anstdrid2) || anstdrid2 == "-")) &&
  1058. (anstmthdcd != "03" && (utlf_isNull(anstdrid3) || anstdrid3 == "-")) ) {
  1059. sysf_messageBox("마취의를", "C002");
  1060. return;
  1061. }
  1062. //마취의1이 배정되지 않고 마취의 2,3이 선택되는 문제점 방지
  1063. if( (!utlf_isNull(anstdrid2) && anstdrid2 != '-') || (!utlf_isNull(anstdrid3) && anstdrid3 != '-') ) {
  1064. if(utlf_isNull(anstdrid1) || anstdrid1 == "-") {
  1065. sysf_messageBox("마취의1을", "C002");
  1066. return;
  1067. }
  1068. }
  1069. return true;
  1070. }
  1071. /**
  1072. * @desc : 검색 조건없이 CaseCart조회
  1073. * @
  1074. * @param :
  1075. * @return :
  1076. * @author : 오지훈
  1077. * @---------------------------------------------------
  1078. */
  1079. function fOpenCCrtSearchNoCond(){
  1080. var param = ds_main_opanstschechng.getColumn(0, "opcnfmdd") + "▦" +
  1081. ds_main_opanstschechng.getColumn(0, "perfdeptcd") + "▦" +
  1082. ds_main_opanstschechng.getColumn(0, "perfdrid") + "▦" +
  1083. "▦" +
  1084. "▦" +
  1085. "perf";
  1086. frmf_setParameter("SPMMO11000_param", param);
  1087. frmf_modal("SPMMO11000", "SPMMO11000", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO11000");
  1088. var useyn = frmf_getParameter("SPMMO11000_rtn_useyn");
  1089. if(useyn == "Y"){
  1090. var rtnparam = frmf_getParameter("SPMMO11000_rtn_param");
  1091. rtnparam = rtnparam.split("▦");
  1092. ds_main_opanstschechng.setColumn(0, "ccrtno", rtnparam[0]); // model.setValue("/root/main/opanstschechng/ccrtno" , rtnparam[0]);
  1093. ds_main_opanstschechng.setColumn(0, "ccrtstat", 1); // model.setValue("/root/main/opanstschechng/ccrtstat", 1);
  1094. ds_main_opanstschechng.setColumn(0, "opcd", rtnparam[1]); // model.setValue("/root/main/opanstschechng/opcd" , rtnparam[1]);
  1095. ds_main_opanstschechng.setColumn(0, "opnm", rtnparam[2]); // model.setValue("/root/main/opanstschechng/opnm" , rtnparam[2]);
  1096. frmf_setParameter("SPMMO11000_rtn_useyn", "N");
  1097. }
  1098. //model.refresh();
  1099. }
  1100. /**
  1101. * @desc : 두 NodeList와 NodeValue값을 비교 결과에 따라 true, false를 return한다.
  1102. * @param : desNode - 목적노드
  1103. : srcNode - 원본노드
  1104. * @return : true, false
  1105. * @authur : 오지훈 2007. 6. 14
  1106. * @---------------------------------------------------
  1107. */
  1108. /* MMOCommon.js 정의된 함수 사용
  1109. function compareNodeVal(desNode, srcNode){
  1110. var node = instance1.selectSingleNode(desNode);
  1111. var node2 = instance1.selectSingleNode(srcNode);
  1112. var nodeList = node.childNodes;
  1113. var nodeList2 = node2.childNodes;
  1114. while(childNode = nodeList.nextNode()){
  1115. childNode2 = nodeList2.nextNode();
  1116. //alert(childNode.NodeValue + "," + childNode2.NodeValue);
  1117. if(childNode.NodeValue != childNode2.NodeValue){
  1118. return true; //값이 다른 경우 true
  1119. }
  1120. }
  1121. return false; //값이 같은 경우 false
  1122. }
  1123. */
  1124. /*
  1125. [요청번호: 847, TASK번호: 2779, 우선순위: A]
  1126. 요청제목: 수술진행현황,확정수술스케줄조회,수술스케줄 변경 방법 변경 요청.
  1127. @desc: 딜로이트 건과 관련하여 수술마취일정 조정화면 수정, (딜로이트 개발 건 서울성모 선 적용 후 각 병원 별 후 적용
  1128. @authur: 김광성. kskim. 2010.06.16
  1129. */
  1130. function fCnclBatAprv(){
  1131. var msgvalue = sysf_messageBox("수술취소 의뢰된 건을 일괄 승인", "Q004");
  1132. // messageBox에서 리턴하는 값에 의해 전체 로직 수행 여부 결정
  1133. if(msgvalue == 7){
  1134. return;
  1135. }
  1136. var oprsrvno = null;
  1137. var ophistno = null;
  1138. var opstatcd = null;
  1139. var aprvreqno = null;
  1140. var opcnfmdd = null;
  1141. var oproomcd = null;
  1142. var opfromtmcd = null;
  1143. var opendtmcd = null;
  1144. var opusetm = null;
  1145. var perfdeptcd = null;
  1146. var perfdrid = null;
  1147. var diagcd = null;
  1148. var opcd = null;
  1149. var cnfmcnclresncd = null;
  1150. var orgdiagcd = null;
  1151. var oppatflagcd = null;
  1152. var pid = null;
  1153. var ccrtno = null;
  1154. //var updtflag = null;
  1155. var anstmthdcd = null;
  1156. var anstdetlmthdcd = null;
  1157. var hngnm = null;
  1158. var sa = null;
  1159. //var opchngcd = null;
  1160. //var opchngnm = null;
  1161. var opposturecd = null;
  1162. var opdirecflag = null;
  1163. var opcntmdg = null;
  1164. var opdelivefact = null;
  1165. var orddeptcd = null;
  1166. var chngmsopflag = null;
  1167. var savedata = "oprsrvno▦ophistno▦opstatcd▦aprvreqno▦opcnfmdd▦oproomcd▦opfromtmcd▦opendtmcd▦opusetm▦perfdeptcd▦perfdrid▦diagcd▦opcd▦cnfmcnclresncd▦orgdiagcd▦oppatflagcd▦pid▦ccrtno▦anstmthdcd▦anstdetlmthdcd▦hngnm▦sa▦opposturecd▦opdirecflag▦opcntmdg▦opdelivefact▦orddeptcd▦chngmsopflag▩";
  1168. var cnclcount = 0;
  1169. for(var i = 0; i < ds_main_opanstcnfmpatlist.rowcount; i++){
  1170. cnfmcnclresncd = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd"); //model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/reqrsncd");
  1171. if( !utlf_isNull(cnfmcnclresncd) && cnfmcnclresncd < 300 ){
  1172. oprsrvno = ds_main_opanstcnfmpatlist.getColumn(i, "oprsrvno");
  1173. ophistno = ds_main_opanstcnfmpatlist.getColumn(i, "ophistno");
  1174. opstatcd = ds_main_opanstcnfmpatlist.getColumn(i, "opstatcd");
  1175. aprvreqno = ds_main_opanstcnfmpatlist.getColumn(i, "aprvreqno");
  1176. opcnfmdd = ds_main_opanstcnfmpatlist.getColumn(i, "opcnfmdd");
  1177. oproomcd = ds_main_opanstcnfmpatlist.getColumn(i, "oproomcd");
  1178. opfromtmcd = ds_main_opanstcnfmpatlist.getColumn(i, "opfromtmcd");
  1179. opendtmcd = ds_main_opanstcnfmpatlist.getColumn(i, "opendtmcd");
  1180. opusetm = ds_main_opanstcnfmpatlist.getColumn(i, "opusetm");
  1181. perfdeptcd = ds_main_opanstcnfmpatlist.getColumn(i, "perfdeptcd");
  1182. perfdrid = ds_main_opanstcnfmpatlist.getColumn(i, "perfdrid");
  1183. diagcd = ds_main_opanstcnfmpatlist.getColumn(i, "diagcd");
  1184. opcd = ds_main_opanstcnfmpatlist.getColumn(i, "opcd");
  1185. cnfmcnclresncd = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd");
  1186. orgdiagcd = ds_main_opanstcnfmpatlist.getColumn(i, "diagcd");
  1187. oppatflagcd = ds_main_opanstcnfmpatlist.getColumn(i, "oppatflagcd");
  1188. pid = ds_main_opanstcnfmpatlist.getColumn(i, "pid");
  1189. ccrtno = ds_main_opanstcnfmpatlist.getColumn(i, "ccrtno");
  1190. //updtflag = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/updtflag");
  1191. anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(i, "anstmthdcd");
  1192. anstdetlmthdcd = ds_main_opanstcnfmpatlist.getColumn(i, "anstdetlmthdcd");
  1193. hngnm = ds_main_opanstcnfmpatlist.getColumn(i, "hngnm");
  1194. sa = ds_main_opanstcnfmpatlist.getColumn(i, "sa");
  1195. //opchngcd = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/opchngcd"); // 취소사유(병원사유, 개인사유 구분값)
  1196. //opchngnm = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/opchngnm");
  1197. opposturecd = ds_main_opanstcnfmpatlist.getColumn(i, "opposturecd");
  1198. opdirecflag = ds_main_opanstcnfmpatlist.getColumn(i, "opdirecflag");
  1199. opcntmdg = ds_main_opanstcnfmpatlist.getColumn(i, "opcntmdg");
  1200. opdelivefact = ds_main_opanstcnfmpatlist.getColumn(i, "opdelivefact");
  1201. orddeptcd = ds_main_opanstcnfmpatlist.getColumn(i, "orddeptcd");
  1202. chngmsopflag = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd");
  1203. savedata += oprsrvno + "▦" +
  1204. ophistno + "▦" +
  1205. opstatcd + "▦" +
  1206. aprvreqno + "▦" +
  1207. opcnfmdd + "▦" +
  1208. oproomcd + "▦" +
  1209. opfromtmcd + "▦" +
  1210. opendtmcd + "▦" +
  1211. opusetm + "▦" +
  1212. perfdeptcd + "▦" +
  1213. perfdrid + "▦" +
  1214. diagcd + "▦" +
  1215. opcd + "▦" +
  1216. cnfmcnclresncd + "▦" +
  1217. orgdiagcd + "▦" +
  1218. oppatflagcd + "▦" +
  1219. pid + "▦" +
  1220. ccrtno + "▦" +
  1221. //updtflag + "▦" +
  1222. anstmthdcd + "▦" +
  1223. anstdetlmthdcd + "▦" +
  1224. hngnm + "▦" +
  1225. sa + "▦" +
  1226. //opchngcd + "▦" +
  1227. //opchngnm + "▦" +
  1228. opposturecd + "▦" +
  1229. opdirecflag + "▦" +
  1230. opcntmdg + "▦" +
  1231. opdelivefact + "▦" +
  1232. orddeptcd + "▦" +
  1233. chngmsopflag + "▩";
  1234. cnclcount ++;
  1235. }
  1236. }
  1237. if( cnclcount > 0 ){
  1238. //alert(savedata);
  1239. dsf_setCSVToDs("ds_send_savedata", savedata); //model.makeValue("/root/send/savedata", savedata);
  1240. var oParam = {};
  1241. oParam.id = "TXMMO05410";
  1242. oParam.service = "prcpmngtapp.OpMngt";
  1243. oParam.method = "reqSetCnclBatAprvReqInfo";
  1244. oParam.inds = "req=ds_send_savedata";
  1245. oParam.outds = "";
  1246. oParam.async = false;
  1247. oParam.callback = "cf_TXMMO05410";
  1248. tranf_submit(oParam);
  1249. }
  1250. }
  1251. function cf_TXMMO05410(sSvcId, nErrorCode, sErrorMsg) {
  1252. if(nErrorCode < 0) {
  1253. return;
  1254. } else {
  1255. fReqOpAnstSche();
  1256. }
  1257. }
  1258. /*
  1259. [요청번호: 847, TASK번호: 2779, 우선순위: A]
  1260. 요청제목: 수술진행현황,확정수술스케줄조회,수술스케줄 변경 방법 변경 요청.
  1261. @desc: 딜로이트 건과 관련하여 수술마취일정 조정화면 수정, (딜로이트 개발 건 서울성모 선 적용 후 각 병원 별 후 적용
  1262. @authur: 김광성. kskim. 2010.06.16
  1263. */
  1264. function fCnclAprvOpAnst(){
  1265. var selflag;
  1266. var selRows = grdf_getSelectedRows(grd_opanstcnfmpatlist); //grd_opanstcnfmpatlist.selectedRows;
  1267. var oprsrvno = null;
  1268. var ophistno = null;
  1269. var opstatcd = null;
  1270. var aprvreqno = null;
  1271. var opcnfmdd = null;
  1272. var oproomcd = null;
  1273. var opfromtmcd = null;
  1274. var opendtmcd = null;
  1275. var opusetm = null;
  1276. var perfdeptcd = null;
  1277. var perfdrid = null;
  1278. var diagcd = null;
  1279. var opcd = null;
  1280. var cnfmcnclresncd = null;
  1281. var orgdiagcd = null;
  1282. var oppatflagcd = null;
  1283. var pid = null;
  1284. var ccrtno = null;
  1285. //var updtflag = null;
  1286. var anstmthdcd = null;
  1287. var anstdetlmthdcd = null;
  1288. var hngnm = null;
  1289. var sa = null;
  1290. //var opchngcd = null;
  1291. //var opchngnm = null;
  1292. var opposturecd = null;
  1293. var opdirecflag = null;
  1294. var opcntmdg = null;
  1295. var opdelivefact = null;
  1296. var orddeptcd = null;
  1297. var chngmsopflag = null;
  1298. var savedata = "oprsrvno▦ophistno▦opstatcd▦aprvreqno▦opcnfmdd▦oproomcd▦opfromtmcd▦opendtmcd▦opusetm▦perfdeptcd▦perfdrid▦diagcd▦opcd▦cnfmcnclresncd▦orgdiagcd▦oppatflagcd▦pid▦ccrtno▦anstmthdcd▦anstdetlmthdcd▦hngnm▦sa▦opposturecd▦opdirecflag▦opcntmdg▦opdelivefact▦orddeptcd▦chngmsopflag▩";
  1299. var cnclcount = 0;
  1300. for(var rowidx = 0; rowidx < selRows.length; rowidx++){
  1301. var i = selRows[rowidx]; //grd_opanstcnfmpatlist.selectedRow(rowidx);
  1302. cnfmcnclresncd = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd"); //model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/reqrsncd");
  1303. if( !utlf_isNull(cnfmcnclresncd) && cnfmcnclresncd < 300 ){
  1304. oprsrvno = ds_main_opanstcnfmpatlist.getColumn(i, "oprsrvno"); //model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/oprsrvno");
  1305. ophistno = ds_main_opanstcnfmpatlist.getColumn(i, "ophistno");
  1306. opstatcd = ds_main_opanstcnfmpatlist.getColumn(i, "opstatcd");
  1307. aprvreqno = ds_main_opanstcnfmpatlist.getColumn(i, "aprvreqno");
  1308. opcnfmdd = ds_main_opanstcnfmpatlist.getColumn(i, "opcnfmdd");
  1309. oproomcd = ds_main_opanstcnfmpatlist.getColumn(i, "oproomcd");
  1310. opfromtmcd = ds_main_opanstcnfmpatlist.getColumn(i, "opfromtmcd");
  1311. opendtmcd = ds_main_opanstcnfmpatlist.getColumn(i, "opendtmcd");
  1312. opusetm = ds_main_opanstcnfmpatlist.getColumn(i, "opusetm");
  1313. perfdeptcd = ds_main_opanstcnfmpatlist.getColumn(i, "perfdeptcd");
  1314. perfdrid = ds_main_opanstcnfmpatlist.getColumn(i, "perfdrid");
  1315. diagcd = ds_main_opanstcnfmpatlist.getColumn(i, "diagcd");
  1316. opcd = ds_main_opanstcnfmpatlist.getColumn(i, "opcd");
  1317. cnfmcnclresncd = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd");
  1318. orgdiagcd = ds_main_opanstcnfmpatlist.getColumn(i, "diagcd");
  1319. oppatflagcd = ds_main_opanstcnfmpatlist.getColumn(i, "oppatflagcd");
  1320. pid = ds_main_opanstcnfmpatlist.getColumn(i, "pid");
  1321. ccrtno = ds_main_opanstcnfmpatlist.getColumn(i, "ccrtno");
  1322. //updtflag = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/updtflag");
  1323. anstmthdcd = ds_main_opanstcnfmpatlist.getColumn(i, "anstmthdcd");
  1324. anstdetlmthdcd = ds_main_opanstcnfmpatlist.getColumn(i, "anstdetlmthdcd");
  1325. hngnm = ds_main_opanstcnfmpatlist.getColumn(i, "hngnm");
  1326. sa = ds_main_opanstcnfmpatlist.getColumn(i, "sa");
  1327. //opchngcd = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/opchngcd"); // 취소사유(병원사유, 개인사유 구분값)
  1328. //opchngnm = model.getValue(grd_opanstcnfmpatlist.nodeset + "[" + i + "]/opchngnm");
  1329. opposturecd = ds_main_opanstcnfmpatlist.getColumn(i, "opposturecd");
  1330. opdirecflag = ds_main_opanstcnfmpatlist.getColumn(i, "opdirecflag");
  1331. opcntmdg = ds_main_opanstcnfmpatlist.getColumn(i, "opcntmdg");
  1332. opdelivefact = ds_main_opanstcnfmpatlist.getColumn(i, "opdelivefact");
  1333. orddeptcd = ds_main_opanstcnfmpatlist.getColumn(i, "orddeptcd");
  1334. chngmsopflag = ds_main_opanstcnfmpatlist.getColumn(i, "reqrsncd");
  1335. savedata += oprsrvno + "▦" +
  1336. ophistno + "▦" +
  1337. opstatcd + "▦" +
  1338. aprvreqno + "▦" +
  1339. opcnfmdd + "▦" +
  1340. oproomcd + "▦" +
  1341. opfromtmcd + "▦" +
  1342. opendtmcd + "▦" +
  1343. opusetm + "▦" +
  1344. perfdeptcd + "▦" +
  1345. perfdrid + "▦" +
  1346. diagcd + "▦" +
  1347. opcd + "▦" +
  1348. cnfmcnclresncd + "▦" +
  1349. orgdiagcd + "▦" +
  1350. oppatflagcd + "▦" +
  1351. pid + "▦" +
  1352. ccrtno + "▦" +
  1353. //updtflag + "▦" +
  1354. anstmthdcd + "▦" +
  1355. anstdetlmthdcd + "▦" +
  1356. hngnm + "▦" +
  1357. sa + "▦" +
  1358. //opchngcd + "▦" +
  1359. //opchngnm + "▦" +
  1360. opposturecd + "▦" +
  1361. opdirecflag + "▦" +
  1362. opcntmdg + "▦" +
  1363. opdelivefact + "▦" +
  1364. orddeptcd + "▦" +
  1365. chngmsopflag + "▩";
  1366. cnclcount ++;
  1367. }
  1368. }//for
  1369. if( cnclcount > 0 ){
  1370. //alert(savedata);
  1371. dsf_setCSVToDs("ds_send_savedata", savedata); //model.makeValue("/root/send/savedata", savedata);
  1372. var oParam = {};
  1373. oParam.id = "TXMMO05410";
  1374. oParam.service = "prcpmngtapp.OpMngt";
  1375. oParam.method = "reqSetCnclBatAprvReqInfo";
  1376. oParam.inds = "req=ds_send_savedata";
  1377. oParam.outds = "";
  1378. oParam.async = false;
  1379. oParam.callback = "cf_TXMMO05410";
  1380. tranf_submit(oParam);
  1381. }
  1382. }
  1383. ]]></Script>