SMMNN01100.xjs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[//=======================================================================================
  3. // Global Form Variable
  4. //---------------------------------------------------------------------------------------
  5. var arErrorCode = new HashArray();
  6. var xPartrtnListPath = "ds_main_partrtnlist_partrtnlist";
  7. var xNurseListPath = "ds_main_nurseinfo_nurselist";
  8. var xPartrtnInfoPath = "ds_main_partrtninfo";
  9. // var yellow = "#ffff00";
  10. // var white = "#ffffff";
  11. // var pink = "#ffcccc";
  12. var dutplceinstcd = ""; // 기관코드 20100610 안도영 추가
  13. var seoulSungmoFlag = "N"; // 서울성모병원 구분자(Y/N) 20100610 안도영 추가
  14. /****************************************************************************************
  15. * Argument : N/A
  16. * Description : 초기화 작업을 합니다.
  17. ****************************************************************************************/
  18. function fInitialize(){
  19. eval(xNurseListPath).clearData();
  20. eval(xPartrtnListPath).clearData();
  21. //코드리스트로드
  22. // zbcfGetCodeList(new Array("M0322"), new Array("ds_init_M0322list")); // 산과처치분류(M0282), 처치코드(M0283)
  23. var arrParam = [{dsNm: "ds_init_M0322", cdGrpId: "M0322"}
  24. ];
  25. appf_getCodeList(arrParam);
  26. // '분만진행상황' 일반 공통코드에서 유형코드 조회로 변경, 로드 (20100610 안도영)
  27. // zbcfGetKindCodeList(new Array("M0040"), new Array("M0288"), new Array("ds_init_M0288list"), false);
  28. // zbcfGetKindCodeList(new Array("M0036"), new Array("M0289"), new Array("ds_init_M0289list"), false);
  29. var arrParam2 = [{bizId:"M0040", cdGrpId:"M0288", dsNm:"ds_init_M0288", sortField:"cdnm", sortMehotd:"desc"}
  30. ,{bizId:"M0036", cdGrpId:"M0289", dsNm:"ds_init_M0289", sortField:"cdnm", sortMehotd:"desc"}
  31. ];
  32. appf_getKindCodeList(arrParam2);
  33. //분만실 부서코드 조회(담당간호사 정보조회시 사용)_20090520_SMY
  34. dsf_createDs("ds_send");
  35. fGetNursHardCdInfo("'045','077'", utlf_getCurrentDate()); //CareCom.js
  36. //서울성모병원인 경우에만 '보호자호출' 기능 연동 (20100610 안도영)
  37. dutplceinstcd = ds_codelist.lookupExpr("cdgrupid == '077' && supcdid == '01'","cdid"); //서울성모병원
  38. //trace(dutplceinstcd + " / " + sysf_getUserInfo("dutplceinstcd") );
  39. if(dutplceinstcd == sysf_getUserInfo("dutplceinstcd")){
  40. grp_biz.grd_partrtnlist.setFormatColProperty(grp_biz.grd_partrtnlist.getBindCellIndex("body","procercallflag"),"size",70);
  41. seoulSungmoFlag = "Y";
  42. grp_biz.grd_partrtnlist.setFormatColProperty(grp_biz.grd_partrtnlist.getBindCellIndex("body","etcfact"),"size",140);
  43. }else{
  44. grp_biz.grd_partrtnlist.setFormatColProperty(grp_biz.grd_partrtnlist.getBindCellIndex("body","procercallflag"),"size",0);
  45. seoulSungmoFlag = "N";
  46. }
  47. //서울성모 병원 구분
  48. ds_main_cond.setColumn( 0, "instcdflag", seoulSungmoFlag);
  49. //분만일자(조회조건 로드)
  50. ds_main_cond.setColumn( 0, "dlivdd", utlf_getCurrentDate());
  51. //산모리스트 조회
  52. fGetPartRtnList("-");
  53. }
  54. /****************************************************************************************
  55. * Argument : N/A
  56. * Description : 산모정보 및 분만정보, 담당간호사 정보 저장.
  57. ****************************************************************************************/
  58. function fClickSave(){
  59. var pid = ds_main_partrtninfo.getColumn(0, "pid"); //등록번호
  60. var status = ds_main_partrtninfo.getColumn(0, "status"); //IUD상태값
  61. //trace("status : "+status);
  62. var curRow = ds_main_partrtnlist_partrtnlist.rowposition; //저장시점의 row값
  63. if(!utlf_isNull(pid)){
  64. ds_main_partrtninfo.setColumn( 0, "status", status);
  65. dsf_createDs("ds_send_savedata_partrtninfo");
  66. dsf_createDs("ds_send_savedata_nurseinfo");
  67. ds_send_savedata_partrtninfo.copyData(ds_main_partrtninfo);
  68. ds_send_savedata_nurseinfo.copyData(ds_main_nurseinfo_nurselist);
  69. eval(xNurseListPath).clearData();
  70. //IUD상태값과 입력한 산모정보, 담당간호사 정보를 담아 저장한다.
  71. var oParam = {};
  72. oParam.id = "TXMNN01101";
  73. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  74. oParam.method = "reqExeSituationSignInfo";
  75. oParam.inds = "situationsignInfo=ds_send_savedata_partrtninfo nurseinfo=ds_send_savedata_nurseinfo";
  76. oParam.outds = "ds_main_nurseinfo_nurselist=nurselist";
  77. oParam.async = false;
  78. oParam.callback = "cf_TXMNN01101";
  79. tranf_submit(oParam);
  80. if(arErrorCode.pop("TXMNN01101") > -1) {
  81. // fGetPartRtnGridSet(); //EXPR처리
  82. fGetPartRtnList(pid); //저장후 산모정보를 refresh한다.
  83. }else{
  84. }
  85. }else{
  86. sysf_messageBox("등록번호 입력후 엔터키를 누르고\n산모를","C002");
  87. }
  88. }
  89. function cf_TXMNN01101(sSvcId, nErrorCode, sErrorMsg) {
  90. arErrorCode.push(sSvcId, nErrorCode);
  91. }
  92. /****************************************************************************************
  93. * Argument : pid - 환자번호
  94. * Description : 분만실 전광판 산모 리스트 조회.
  95. ****************************************************************************************/
  96. function fGetPartRtnList(pid){
  97. ds_send_reqdata.clear();
  98. ds_send_reqdata.copyData(ds_main_cond);
  99. var oParam = {};
  100. oParam.id = "TRMNN01101";
  101. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  102. oParam.method = "reqGetSituationSignInfo";
  103. oParam.inds = "req=ds_send_reqdata";
  104. oParam.outds = "ds_main_partrtnlist_partrtnlist=partrtnlist";
  105. oParam.async = false;
  106. oParam.callback = "cf_TRMNN01101";
  107. tranf_submit(oParam);
  108. var curRow = -1;
  109. // fGetPartRtnGridSet(); //EXPR처리
  110. //선택된 환자가 있다면 선택된 환자 Refresh
  111. if(!utlf_isNull(utlf_trim(pid)) && utlf_trim(pid) != "-"){
  112. for(var i = 0; i < ds_main_partrtnlist_partrtnlist.rowposition; i++){
  113. if(eval(xPartrtnListPath).getColumn(i, "pid") == pid){
  114. curRow = i;
  115. break;
  116. }
  117. }
  118. }
  119. ds_main_partrtnlist_partrtnlist.selectRow(curRow);
  120. fClickPartrtnInfo(curRow);
  121. }
  122. function cf_TRMNN01101(sSvcId, nErrorCode, sErrorMsg) {
  123. if(nErrorCode < 0) return;
  124. ds_main_partrtnlist_partrtnlist.updatecontrol = false;
  125. dsf_setFixVal(ds_main_partrtnlist_partrtnlist, "check:false,secretflag:N,procercall:N");
  126. ds_main_partrtnlist_partrtnlist.updatecontrol = true;
  127. }
  128. /****************************************************************************************
  129. * Argument : N/A
  130. * Description : 비밀 체크시 그리드 배경색 변경(노란색)
  131. ****************************************************************************************/
  132. function fGetPartRtnGridSet(){
  133. // var deptcd = ds_codelist.lookup("cdgrupid","045","cdid");
  134. //
  135. // //선택된 환자가 있다면 선택된 환자 Refresh
  136. // for(var i = 0; i < ds_main_partrtnlist_partrtnlist.rowcount; i++){
  137. // // 분만실 병동이 2개이상일 경우 색상표시 변경_성빈센트병원요구사항_20090925(ByJA)
  138. // grd_partrtnlist.rowstyle(i, "all", "background-color") = white;
  139. // if(eval(xPartrtnListPath).getColumn(i, "nonopen") == "Y"){ // 비공개(pink)
  140. // grd_partrtnlist.rowstyle(i, "all", "background-color") = pink;
  141. // }else if(eval(xPartrtnListPath).getColumn(i, "sortflag") == "1"){ // 분만실이 아닌 환자(yellow)
  142. // grd_partrtnlist.rowstyle(i, "all", "background-color") = yellow;
  143. // }
  144. // }
  145. }
  146. /****************************************************************************************
  147. * Argument : N/A
  148. * Description : 분만실 환자정보 유무 체크 및 환자 정보 조회
  149. ****************************************************************************************/
  150. function fSearchPatInfo(){
  151. var pid = ds_main_partrtninfo.getColumn(0, "pid");
  152. var iPartrtnCnt = ds_main_partrtnlist_partrtnlist.rowcount;
  153. //산모 리스트에 존재하는지 체크
  154. if(!utlf_isNull(pid)){
  155. for(var i = 0; i < iPartrtnCnt; i++){
  156. if(pid == eval(xPartrtnListPath).getColumn(i, "pid")){
  157. sysf_messageBox("산모 리스트에 존재합니다.","E999");
  158. fClickPartrtnInfo(i);
  159. return;
  160. }
  161. }
  162. }else{
  163. fClickPartrtnInfo(-1);//산모정보 및 분만정보, 담당간호사 디스플레이
  164. return;
  165. }
  166. //등록번호를 가지고 병실과 s_a를 조회한다.
  167. group1.btn_select.setFocus();
  168. var pid = ds_main_partrtninfo.getColumn(0, "pid");
  169. var dlivdd = ds_main_cond.getColumn(0, "dlivdd");
  170. dsf_createDsRow("ds_send_reqdata", [
  171. {col:"pid", type:"STRING", size:256, val:pid}
  172. , {col:"dlivdd", type:"STRING", size:256, val:dlivdd}
  173. ]);
  174. call_TRMNN01103();
  175. if(arErrorCode.pop("TRMNN01103") > -1){
  176. //20090704_SMY추가
  177. if(utlf_isNull(ds_main_partrtninfo.getColumn(0, "pid"))){
  178. sysf_messageBox("재원중인 환자가 아닙니다.","I");
  179. dsf_makeValue( ds_main_partrtninfo, "pid", "string", "" );
  180. dsf_makeValue( ds_main_partrtninfo, "patnm", "string", "" );
  181. dsf_makeValue( ds_main_partrtninfo, "roomcd", "string", "" );
  182. dsf_makeValue( ds_main_partrtninfo, "sexage", "string", "" );
  183. dsf_makeValue( ds_main_partrtninfo, "procernm", "string", "" );
  184. dsf_makeValue( ds_main_partrtninfo, "partrtnprcsprescondflag", "string", "" );
  185. dsf_makeValue( ds_main_partrtninfo, "womnposflag", "string", "" );
  186. dsf_makeValue( ds_main_partrtninfo, "etcfactcd", "string", "" );
  187. dsf_makeValue( ds_main_partrtninfo, "etcfact", "string", "" );
  188. dsf_makeValue( ds_main_partrtninfo, "nonopen", "string", "" );
  189. dsf_makeValue( ds_main_partrtninfo, "indd", "string", "" );
  190. dsf_makeValue( ds_main_partrtninfo, "cretno", "string", "" );
  191. dsf_makeValue( ds_main_partrtninfo, "status", "string", "" );
  192. dsf_makeValue( ds_main_partrtninfo, "dlivdd", "string", "" );
  193. return;
  194. } else {
  195. dsf_makeValue( ds_main_partrtninfo, "status", "string", "I" ); //1.0에선 생성시 자동으로 넣어주나 본데 여긴 안되는듯. 강제로 셋
  196. }
  197. }
  198. }
  199. /****************************************************************************************
  200. * Argument : userflag
  201. * Description : 참여자 정보 팝업 조회
  202. * return ; "true"/"false"
  203. ****************************************************************************************/
  204. function fClickUserBtn(userflag){
  205. var jobkindcd = "11";
  206. var deptcd = ds_codelist.lookup("cdgrupid","045","cdid"); //분만실 하드코딩 수정_20090520_SMY
  207. frmf_setParameter("SPMNN02100_deptcd", deptcd);
  208. frmf_setParameter("SPMNN02100_jobkindcd", jobkindcd);
  209. frmf_setParameter("SPMNN02100_userflag", userflag); //20090520_SMY추가
  210. frmf_modal("SPMNN02100", "SPMNN02100", "", "", "", "", "", "", "", "", "", "", "M");
  211. var userid = frmf_getParameter("SPMNN02100_userid");
  212. var usernm = frmf_getParameter("SPMNN02100_usernm");
  213. if(!utlf_isNull(userid)){
  214. for(var i = 0; i < ds_main_nurseinfo_nurselist.rowcount; i++){
  215. if(eval(xNurseListPath).getColumn(i, "userid") == userid){
  216. sysf_messageBox("선택하신 간호사는 이미 담당 간호사 리스트에 등록되어 있으므로 추가", "E001");
  217. return false;
  218. }
  219. }
  220. var rows = ds_main_nurseinfo_nurselist.addRow();
  221. eval(xNurseListPath).setColumn( rows, "userid", userid); //간호사코드
  222. eval(xNurseListPath).setColumn( rows, "usernm", usernm); //간호사명
  223. eval(xNurseListPath).setColumn( rows, "iudflag", "I"); //IUD 구분
  224. eval(xNurseListPath).setColumn( rows, "entrflag", "2"); //참가구분 (1: 의사, 2: 간호사)
  225. eval(xNurseListPath).setColumn( rows, "indd", "00000000");
  226. eval(xNurseListPath).setColumn( rows, "cretno", "0");
  227. }
  228. frmf_setParameter("SPMNN02100_userid", "");
  229. frmf_setParameter("SPMNN02100_usernm", "");
  230. }
  231. /****************************************************************************************
  232. * Argument : N/A
  233. * Description : 의사/간호사 리스트에서 삭제
  234. ****************************************************************************************/
  235. function fClickGrid(){
  236. var cRow = ds_main_nurseinfo_nurselist.rowposition;
  237. var iudflag = eval(xNurseListPath).getColumn(cRow,"iudflag");
  238. if(iudflag == "I"){
  239. ds_main_nurseinfo_nurselist.deleteRow(cRow);
  240. }else if(iudflag == "D"){
  241. eval(xNurseListPath).setColumn(cRow,"iudflag", "-");
  242. }else{
  243. eval(xNurseListPath).setColumn(cRow,"iudflag", "D");
  244. }
  245. }
  246. /****************************************************************************************
  247. * Argument : N/A
  248. * Description : 그리드 데이터 엑셀 전환
  249. ****************************************************************************************/
  250. function fSaveExcel(){
  251. if( ds_main_partrtnlist_partrtnlist.rowcount > 0 ){
  252. grdf_exportExcel(grp_biz.grd_partrtnlist, "SheetName", "SheetName", false, "", "user", false);
  253. } else {
  254. sysf_messageBox("조회된 데이터가 ", "I004");
  255. }
  256. }
  257. /****************************************************************************************
  258. * Argument : N/A
  259. * Description : 산모정보 및 분만정보, 담당간호사 디스플레이
  260. ****************************************************************************************/
  261. function fClickPartrtnInfo(row){
  262. if(row != -1){
  263. eval(xPartrtnInfoPath).setColumn(0,"pid", eval(xPartrtnListPath).getColumn(row,"pid"));
  264. eval(xPartrtnInfoPath).setColumn(0,"patnm", eval(xPartrtnListPath).getColumn(row,"patnm"));
  265. eval(xPartrtnInfoPath).setColumn(0,"roomcd", eval(xPartrtnListPath).getColumn(row,"roomcd"));
  266. eval(xPartrtnInfoPath).setColumn(0,"sexage", eval(xPartrtnListPath).getColumn(row,"sexage"));
  267. eval(xPartrtnInfoPath).setColumn(0,"procernm",eval(xPartrtnListPath).getColumn(row,"procernm"));
  268. eval(xPartrtnInfoPath).setColumn(0,"partrtnprcsprescondflag", eval(xPartrtnListPath).getColumn(row,"partrtnprcsprescondflag"));
  269. eval(xPartrtnInfoPath).setColumn(0,"womnposflag", eval(xPartrtnListPath).getColumn(row,"womnposflag"));
  270. eval(xPartrtnInfoPath).setColumn(0,"etcfactcd", eval(xPartrtnListPath).getColumn(row,"etcfactcd"));
  271. eval(xPartrtnInfoPath).setColumn(0,"etcfact", eval(xPartrtnListPath).getColumn(row,"etcfact"));
  272. eval(xPartrtnInfoPath).setColumn(0,"nonopen", eval(xPartrtnListPath).getColumn(row,"nonopen"));
  273. eval(xPartrtnInfoPath).setColumn(0,"indd", "00000000");
  274. eval(xPartrtnInfoPath).setColumn(0,"cretno", "1");
  275. eval(xPartrtnInfoPath).setColumn(0,"status", eval(xPartrtnListPath).getColumn(row,"iudflag"));
  276. }else{
  277. eval(xPartrtnInfoPath).setColumn(0,"pid", "");
  278. eval(xPartrtnInfoPath).setColumn(0,"patnm", "");
  279. eval(xPartrtnInfoPath).setColumn(0,"roomcd", "");
  280. eval(xPartrtnInfoPath).setColumn(0,"sexage", "");
  281. eval(xPartrtnInfoPath).setColumn(0,"procernm", "");
  282. eval(xPartrtnInfoPath).setColumn(0,"partrtnprcsprescondflag", "");
  283. eval(xPartrtnInfoPath).setColumn(0,"womnposflag", "");
  284. eval(xPartrtnInfoPath).setColumn(0,"etcfactcd", "");
  285. eval(xPartrtnInfoPath).setColumn(0,"etcfact", "");
  286. eval(xPartrtnInfoPath).setColumn(0,"nonopen", "");
  287. eval(xPartrtnInfoPath).setColumn(0,"indd", "00000000");
  288. eval(xPartrtnInfoPath).setColumn(0,"cretno", "1");
  289. eval(xPartrtnInfoPath).setColumn(0,"status", "");
  290. }
  291. fGetNurseList();
  292. }
  293. /****************************************************************************************
  294. * Argument : N/A
  295. * Description : 담당간호사 조회
  296. ****************************************************************************************/
  297. function fGetNurseList(){
  298. eval(xNurseListPath).clearData();
  299. ds_send_reqdata.clear();
  300. ds_send_reqdata.copyData(ds_main_partrtninfo);
  301. var oParam = {};
  302. oParam.id = "TRMNN01102";
  303. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  304. oParam.method = "reqGetNurselist";
  305. oParam.inds = "req=ds_send_reqdata";
  306. oParam.outds = "ds_main_nurseinfo_nurselist=nurselist";
  307. oParam.async = false;
  308. oParam.callback = "cf_TRMNN01102";
  309. tranf_submit(oParam);
  310. }
  311. function cf_TRMNN01102(sSvcId, nErrorCode, sErrorMsg) {
  312. if(nErrorCode < 0) return;
  313. dsf_setFixVal(ds_main_nurseinfo_nurselist, "iudflag:-,check:0");
  314. }
  315. /****************************************************************************************
  316. * Argument : N/A
  317. * Description : 환자정보 및 분만정보, 담당간호사 정보 초기화
  318. ****************************************************************************************/
  319. function fInitInputInfo(){
  320. ds_main_partrtninfo.clearData();
  321. ds_main_partrtninfo.addRow();
  322. eval(xNurseListPath).clearData();
  323. ds_main_partrtnlist_partrtnlist.rowposition = -1;
  324. }
  325. /****************************************************************************************
  326. * Argument : N/A
  327. * Description : 산모리스트 삭제 및 비밀여부 저장
  328. ****************************************************************************************/
  329. function fClickGridSave(){
  330. var rows = ds_main_partrtnlist_partrtnlist.rowcount;
  331. var pid = ds_main_partrtninfo.getColumn(0,"pid");
  332. var sSaveData = grdf_getGridUpdateData(grp_biz.grd_partrtnlist, "ALL");
  333. if(utlf_isNull(sSaveData)) {
  334. sysf_messageBox("저장할 데이터가","I004");
  335. }else{
  336. dsf_createDs("ds_send_savedata_partrtnlist");
  337. ds_send_savedata_partrtnlist.copyData(sSaveData,true);
  338. //trace(ds_send_savedata_partrtnlist.saveXML());
  339. dsf_makeValue(ds_send_savedata,"dlivdd","string",ds_main_cond.getColumn(0,"dlivdd"));
  340. // 서울성모병원인 경우 (20100610 안도영)
  341. if(seoulSungmoFlag=="Y") {
  342. var oParam = {};
  343. oParam.id = "TXMNN01104";
  344. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  345. oParam.method = "reqSetSituationSignInfoVer2";
  346. oParam.inds = "partrtnlist=ds_send_savedata_partrtnlist req=ds_send_savedata";
  347. oParam.outds = "";
  348. oParam.async = false;
  349. //oParam.callback = "cf_TXMNN01104";
  350. tranf_submit(oParam);
  351. } else {
  352. var oParam = {};
  353. oParam.id = "TXMNN01102";
  354. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  355. oParam.method = "reqSetSituationSignInfo";
  356. oParam.inds = "partrtnlist=ds_send_savedata_partrtnlist req=ds_send_savedata";
  357. oParam.outds = "";
  358. oParam.async = false;
  359. //oParam.callback = "cf_TXMNN01102";
  360. tranf_submit(oParam);
  361. }
  362. fGetPartRtnList(pid);
  363. }
  364. }
  365. /****************************************************************************************
  366. * Argument : N/A
  367. * Description : 분만진행현황판 리스트 출력
  368. ****************************************************************************************/
  369. function fClickPrint(){
  370. ds_send_printdata_partrtnlist_partrtnlist.clear();
  371. ds_send_printdata_cond.clear();
  372. ds_send_printdata_partrtnlist_partrtnlist.copyData(ds_main_partrtnlist_partrtnlist);
  373. ds_send_printdata_cond.copyData(ds_main_cond);
  374. var objDOM = rptf_createDOM();
  375. var objParam = new Object();
  376. rptf_setNodeListToDOM(objDOM, "/root/send/printdata/cond" , ds_send_printdata_cond);
  377. rptf_setNodeListToDOM(objDOM, "/root/send/printdata/partrtnlist/partrtnlist", ds_send_printdata_partrtnlist_partrtnlist);
  378. objParam.xml_data_XML1 = objDOM.documentElement.source;
  379. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  380. rptf_exeReportPreview30(["RPMNN01101"],[objParam], option);
  381. }
  382. /****************************************************************************************
  383. * Argument : N/A
  384. * Description : 환자조회 팝업
  385. ****************************************************************************************/
  386. function fUseridPopup(){
  387. //환자조회 팝업을 호출한다.
  388. // dsf_createDs("ds_properties_parameters_SendData");
  389. frmf_modal("SMMNE03700","SMMNE03700","","","","","","","","","","","M");
  390. // dsf_makeValue(ds_properties_parameters_SendData,"SendDatavalue","string",frmf_getParameter("SendData"));
  391. //팝업의 결과값을 변수에 임시로 저장한다.
  392. var pParam = frmf_getParameter("SendData");
  393. var pParamValue = utlf_transNullToEmpty(pParam).split("|");
  394. var pid = pParamValue[0];
  395. if(!utlf_isNull(pid)){
  396. for(var i = 0; i < ds_main_partrtnlist_partrtnlist.rowcount; i++){
  397. if(eval(xPartrtnListPath).getColumn(i,"pid") == pid){
  398. fClickPartrtnInfo(i);//산모정보 및 분만정보, 담당간호사 디스플레이
  399. return;
  400. }
  401. }
  402. }else{
  403. fClickPartrtnInfo(-1);//산모정보 및 분만정보, 담당간호사 디스플레이
  404. return;
  405. }
  406. //등록번호를 가지고 병실과 s/a를 조회한다.
  407. ds_send_reqdata.clear();
  408. dsf_makeValue(ds_send_reqdata,"pid","string",pid);
  409. call_TRMNN01103();
  410. if(arErrorCode.pop("TRMNN01103") > -1){
  411. if(utlf_isNull(ds_main_partrtninfo.getColumn(0, "pid"))){
  412. sysf_messageBox("재원중인 환자가 아닙니다.","I");
  413. //20090704_SMY추가
  414. dsf_makeValue( ds_main_partrtninfo, "pid", "string", "" );
  415. dsf_makeValue( ds_main_partrtninfo, "patnm", "string", "" );
  416. dsf_makeValue( ds_main_partrtninfo, "roomcd", "string", "" );
  417. dsf_makeValue( ds_main_partrtninfo, "sexage", "string", "" );
  418. dsf_makeValue( ds_main_partrtninfo, "procernm", "string", "" );
  419. dsf_makeValue( ds_main_partrtninfo, "partrtnprcsprescondflag", "string", "" );
  420. dsf_makeValue( ds_main_partrtninfo, "womnposflag", "string", "" );
  421. dsf_makeValue( ds_main_partrtninfo, "etcfactcd", "string", "" );
  422. dsf_makeValue( ds_main_partrtninfo, "etcfact", "string", "" );
  423. dsf_makeValue( ds_main_partrtninfo, "nonopen", "string", "" );
  424. dsf_makeValue( ds_main_partrtninfo, "indd", "string", "" );
  425. dsf_makeValue( ds_main_partrtninfo, "cretno", "string", "" );
  426. dsf_makeValue( ds_main_partrtninfo, "status", "string", "" );
  427. dsf_makeValue( ds_main_partrtninfo, "dlivdd", "string", "" );
  428. return;
  429. }else{
  430. //partrtninfo 인스턴스를 재구성한다.
  431. ds_main_partrtninfo.setColumn( 0, "pid", pid); //등록번호
  432. ds_main_partrtninfo.setColumn( 0, "patnm", pParamValue[1]); //산모명
  433. ds_main_partrtninfo.setColumn( 0, "procernm", "");
  434. ds_main_partrtninfo.setColumn( 0, "partrtnprcsprescondflag", "");
  435. ds_main_partrtninfo.setColumn( 0, "womnposflag", "");
  436. ds_main_partrtninfo.setColumn( 0, "etcfactcd", "");
  437. ds_main_partrtninfo.setColumn( 0, "etcfact", "");
  438. ds_main_partrtninfo.setColumn( 0, "nonopen", "");
  439. ds_main_partrtninfo.setColumn( 0, "status", "I");
  440. }
  441. }
  442. }
  443. /****************************************************************************************
  444. * Argument : N/A
  445. * Description :
  446. ****************************************************************************************/
  447. function call_TRMNN01103() {
  448. ds_main_partrtninfo.clearData();
  449. var oParam = {};
  450. oParam.id = "TRMNN01103";
  451. oParam.service = "partrtnnbabyapp.PartrtnPatMngt";
  452. oParam.method = "reqGetPatInfo";
  453. oParam.inds = "req=ds_send_reqdata";
  454. oParam.outds = "ds_main_partrtninfo=partrtninfo";
  455. oParam.async = false;
  456. oParam.callback = "cf_TRMNN01103";
  457. tranf_submit(oParam);
  458. }
  459. function cf_TRMNN01103(sSvcId, nErrorCode, sErrorMsg) {
  460. arErrorCode.push(sSvcId, nErrorCode);
  461. if(ds_main_partrtninfo.rowcount < 0) ds_main_partrtninfo.addRow();
  462. }
  463. /****************************************************************************************
  464. * Argument : N/A
  465. * Description : 그리드에서 삭체 체크시
  466. ****************************************************************************************/
  467. function fDeleteCheck(){
  468. var row = ds_main_partrtnlist_partrtnlist.rowposition;
  469. var deptcd = ds_codelist.lookup("cdgrupid","045","cdid");
  470. if( eval(xPartrtnListPath).getColumn(row,"indschacptstat") == "A"
  471. // 분만실 병동이 2개이상일 경우_성빈센트병원요구사항_20090925(ByJA)
  472. // 분만실환자인 경우 리스트에서 삭제 할 수 없다.
  473. && eval(xPartrtnListPath).getColumn(row,"sortflag") == "0") {
  474. sysf_messageBox("재원중인 환자는 삭제할 수","I004");
  475. eval(xPartrtnListPath).setColumn(row, "check", 0);
  476. }else{
  477. //체크가 되면 상태값을 D로 , uncheck되면 상태값을 U로 바꿔준다.
  478. if(eval(xPartrtnListPath).getColumn(row,"check") == 1){
  479. eval(xPartrtnListPath).setColumn(row,"iudflag", "D");
  480. }else{
  481. eval(xPartrtnListPath).setColumn(row,"iudflag", "U");
  482. }
  483. }
  484. }]]></Script>