AHA010.js 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859
  1. /*******************************
  2. @AHA010.js
  3. *@조두현
  4. */
  5. /** ==========================================================================================================
  6. @author : 조두현
  7. @version : 2008-01-16
  8. @desc : 예약/접수정보를 저장 비자건진 종검과 겹치는걸 피하기 위해
  9. @param :
  10. * Mode : 공통코드A0107참조
  11. **A 예약
  12. **B 예약보류
  13. **C 예약확인
  14. **D 예약취소
  15. **E 접수
  16. **F 접수취소
  17. **G 결과
  18. **H 판정
  19. * ==========================================================================================================*/
  20. function fSaveRsrvVisaAcpt(vMode){
  21. var vHealExamFlag = fGetHealExamFlag();
  22. if( vHealExamFlag == "" ) return -1;
  23. var sMode = "";
  24. switch(vMode){
  25. case "A" : sMode = "가예약";
  26. break;
  27. case "B" : sMode = "보류";
  28. break;
  29. case "C" : sMode = "예약";
  30. break;
  31. case "D" : sMode = "예약취소";
  32. break;
  33. case "E" : sMode = "접수";
  34. break;
  35. case "F" : sMode = "접수취소";
  36. break;
  37. }
  38. sMode = sMode + "정보를";
  39. if( messageBox(sMode, "Q002") != 6) return -1;
  40. //setInputNodeCurText();
  41. if( fCheckPatInfo() == false ) return -1 ;
  42. if( !fCheckAcpt(vMode) ) return -1;
  43. var vPidYN = "Y";
  44. //예약/예약보류는 등록번호 생성하지 않음.
  45. if( (vMode == "A") || (vMode == "B") ) {
  46. vPidYN = "N";
  47. }
  48. /**
  49. * 수진자정보
  50. */
  51. model.setValue("/root/main/info/patinfo/item/pidcretfg" , vPidYN);
  52. //alert(model.getValue("/root/main/info/patinfo/item/rgstno1" ));
  53. model.copyNode("/root/send/save", "/root/main/info/patinfo/item");
  54. //alert(model.getValue("/root/send/save/item/rgstno1" ));
  55. fCheckNodeExist("/root/send/save/userid" , true);
  56. model.setValue("/root/send/save/userid", getUserId() );
  57. fCheckNodeExist("/root/send/save/instcd" , true);
  58. model.setValue("/root/send/save/instcd", getUserInfo("dutplceinstcd") );
  59. /**
  60. * 예약접수정보
  61. */
  62. fCheckNodeExist("/root/main/info/rsrvacptinfo/item/mode", true );
  63. model.setValue("/root/main/info/rsrvacptinfo/item/mode",vMode);
  64. fCheckNodeExist("/root/main/info/rsrvacptinfo/item/healexamflag", true );
  65. model.setValue("/root/main/info/rsrvacptinfo/item/healexamflag",vHealExamFlag);
  66. //model.setValue("/root/main/info/rsrvacptinfo/item/visano",fGetVisano());
  67. model.duplicate("/root/send/save", "/root/main/info/rsrvacptinfo/item");
  68. model.makeValue("/root/send/save/pkgcd",model.getValue("/root/main/info/rsrvacptinfo/item/pkgcd"));
  69. model.makeValue("/root/send/save/brthareacnts",model.getValue("/root/main/info/rsrvacptinfo/item/brthareacnts"));
  70. //추가검사내역
  71. model.makeNode("/root/send/save/addlst");
  72. var nodeList = instance1.selectNodes(grd_addlst.nodeset + "[sel='Y']");
  73. var rCSV = "";
  74. if( nodeList.length > 0) {
  75. rCSV = getNodeListCSV(nodeList);
  76. model.setValue("/root/send/save/addlst" , rCSV);
  77. }
  78. //model.setValue("/root/send/save/addlst" , grd_addlst.getUpdateData() );
  79. //일반건진의 경우
  80. if( vHealExamFlag == "G" ) {
  81. //PKG 내역
  82. if( grd_pkglst != null ){
  83. fCheckNodeExist("/root/send/save/pkglst", true);
  84. nodeList = instance1.selectNodes(grd_pkglst.nodeset + "[sel='Y']");
  85. if( nodeList.length > 0) {
  86. rCSV = getNodeListCSV(nodeList);
  87. model.setValue("/root/send/save/pkglst" , rCSV);
  88. }
  89. //model.setValue("/root/send/save/pkglst" , grd_pkglst.getUpdateData() );
  90. }
  91. }
  92. //openLoadingBar(sMode + " 처리 중입니다..") ;//처리중 화면을 오픈한다.
  93. model.resetInstanceNode("/root/hidden");
  94. model.removeNodeset("/root/tmp");
  95. var retInstance = submit("TXAHA00102") ;
  96. var uncocd= model.getValue("/root/tmp/reqadd/uncocdsen");
  97. var retemr = false;
  98. model.removeNode("/root/hidden");
  99. if (retInstance==true){
  100. fSetInstance(0);
  101. retemr = submit("TXAHA00107");
  102. }
  103. model.makeValue("/root/tmp/reqacpt/cretno" , model.getValue("/root/hidden/reqacpt[1]/cretno"));
  104. model.makeValue("/root/tmp/reqacpt/acptseqno" , model.getValue("/root/hidden/reqacpt[1]/acptseqno"));
  105. model.makeValue("/root/tmp/reqacpt/ordtm" , model.getValue("/root/hidden/reqacpt[1]/ordtm"));
  106. model.makeValue("/root/tmp/reqacpt/otpt_orddd" , model.getValue("/root/hidden/reqacpt[1]/otpt_orddd"));
  107. model.makeValue("/root/tmp/reqacpt/orddd" , model.getValue("/root/hidden/reqacpt[1]/orddd"));
  108. if ((retInstance==true)&&(retemr==true)){
  109. fSetInstance(1);
  110. retemr = submit("TXAHA00107");
  111. }
  112. if ((retInstance==true)&&(retemr==true)){
  113. fSetInstance(2);
  114. retemr = submit("TXAHA00107");
  115. }
  116. if ((retInstance==true)&&(retemr==true)){
  117. fSetInstance(3);
  118. retemr = submit("TXAHA00107");
  119. }
  120. if ((retInstance==true)&&(retemr==true)){
  121. fSetInstance(4);
  122. retemr = submit("TXAHA00107");
  123. }
  124. if ((retInstance==true)&&(retemr==true)){
  125. fSetInstance(5);
  126. retemr = submit("TXAHA00107");
  127. }
  128. if ((retInstance==true)&&(retemr==true)){
  129. fSetInstance(6);
  130. retemr = submit("TXAHA00107");
  131. }
  132. if ((retInstance==true)&&(retemr==true)){
  133. fSetInstance(7);
  134. retemr = submit("TXAHA00107");
  135. }
  136. var retAcpt=false;
  137. if((retInstance==true) &&(retemr==true)){
  138. model.makeValue("/root/hidden/reqadd/uncocdsen",uncocd);
  139. // 태그정보
  140. model.makeNode("/root/hidden/taginfo");
  141. copyNodesetType("/root/hidden/taginfo","/root/main/info/taginfo","replace");
  142. retAcpt = submit("TXAHA00106") ;
  143. //closeLoadingBar() ;//처리중 화면을 close한다.
  144. if( retAcpt == true ) {
  145. //fInitInfo(); //초기화
  146. ahafGetRsrvAcpDetltVisaInfo( model.getValue("/root/hidden/saveacpt/rsrvdd") , model.getValue("/root/hidden/saveacpt/rsrvno") );
  147. }
  148. else {
  149. return -1;
  150. }
  151. }else{
  152. return -1;
  153. }
  154. //test....
  155. /*
  156. if( (retAcpt == true ) || ( retAcpt == True )){
  157. var ret = 0 ;
  158. var rst = "R";
  159. if( vMode == "E" ){
  160. model.makeNode("/root/send/srchjobflag" );
  161. model.makeNode("/root/send/srchrcptdd" );
  162. model.makeNode("/root/send/srchrcptno" );
  163. model.makeNode("/root/send/srchrcptseqno");
  164. ret = fCalcAmt("RCPT");
  165. if( ret == 1) {
  166. //ahafRcptAmt("RCPT");
  167. ahafRcptAmt("RCPT"
  168. , model.getValue("/root/main/info/rsrvacptinfo/item/rsrvdd")
  169. , model.getValue("/root/main/info/rsrvacptinfo/item/rsrvno")
  170. , model.getValue("/root/main/info/rsrvacptinfo/item/pid")
  171. , model.getValue("/root/main/info/rsrvacptinfo/item/orddd")
  172. , model.getValue("/root/main/info/rsrvacptinfo/item/rcptstat")
  173. , "/root/temp/rcptinfo/hidden" )
  174. rst = "T";
  175. }
  176. }
  177. else if( vMode == "F" ){
  178. model.makeNode("/root/send/srchjobflag" );
  179. model.makeNode("/root/send/srchrcptdd" );
  180. model.makeNode("/root/send/srchrcptno" );
  181. model.makeNode("/root/send/srchrcptseqno");
  182. ret = fCalcAmt("CANCEL") ;
  183. if( ret == 1) {
  184. ahafRcptAmt("CANCEL"
  185. , model.getValue("/root/main/info/rsrvacptinfo/item/rsrvdd")
  186. , model.getValue("/root/main/info/rsrvacptinfo/item/rsrvno")
  187. , model.getValue("/root/main/info/rsrvacptinfo/item/pid")
  188. , model.getValue("/root/main/info/rsrvacptinfo/item/orddd")
  189. , model.getValue("/root/main/info/rsrvacptinfo/item/rcptstat")
  190. , "/root/temp/rcptinfo/hidden" )
  191. rst = "T";
  192. }
  193. }
  194. fInitInfo();
  195. ipt_pnm.currentText ="";
  196. fSetBtnStat();
  197. fGetList();
  198. }
  199. return 1;
  200. */
  201. }
  202. function ahafRcptAmtVisa(vJobFlag, vRsrvdd, vRsrvno, vPid, vOrddd, vRcptStat , vOpmiRoot ){
  203. var payownamt = model.getValue(vOpmiRoot + "/opmi_out/opmi_rcptamt") ;
  204. if( payownamt == "") {
  205. payownamt = "0";
  206. }
  207. //alert( payownamt );
  208. payownamt = parseInt(payownamt);
  209. //alert( payownamt );
  210. if( payownamt != 0 ) {
  211. ahafOpenRcpt(fGetHealExamFlag()
  212. , vRsrvdd
  213. , vRsrvno
  214. , vPid
  215. , vRcptStat
  216. , vOrddd );
  217. return ;
  218. }
  219. var vTmp = fGetHealExamFlag();
  220. if( vTmp == "" ){
  221. messageBox("건진분류 ERROR .", "E999");
  222. return ;
  223. }
  224. model.makeNode("/root/send/savercpt/srchhealexamflag");
  225. model.setValue("/root/send/savercpt/srchhealexamflag", vTmp );
  226. if( vPid == "" ) {
  227. messageBox("환자ID ERROR .", "E999");
  228. return ;
  229. }
  230. model.makeNode("/root/send/savercpt/srchpid");
  231. model.setValue("/root/send/savercpt/srchpid", vPid );
  232. if( vRsrvdd== "" ) {
  233. messageBox("등록일자 ERROR .", "E999");
  234. return ;
  235. }
  236. model.makeNode("/root/send/savercpt/srchrsrvdd" );
  237. model.setValue("/root/send/savercpt/srchrsrvdd", vRsrvdd );
  238. if( vRsrvno == "" ) {
  239. messageBox("등록번호 ERROR .", "E999");
  240. return ;
  241. }
  242. model.makeNode("/root/send/savercpt/srchrsrvno" );
  243. model.setValue("/root/send/savercpt/srchrsrvno", vRsrvno );
  244. model.makeNode("/root/send/savercpt/srchinstcd" );
  245. model.setValue("/root/send/savercpt/srchinstcd", getUserInfo("dutplceinstcd"));
  246. //2007-08-17 추가
  247. model.makeNode("/root/send/savercpt/srchjobflag" );
  248. model.makeNode("/root/send/savercpt/srchrcptdd" );
  249. model.makeNode("/root/send/savercpt/srchrcptno" );
  250. model.makeNode("/root/send/savercpt/srchrcptseqno");
  251. model.setValue("/root/send/savercpt/srchjobflag" ,vJobFlag);
  252. model.setValue("/root/send/savercpt/srchrcptdd" ,model.getValue(vOpmiRoot +"/opmi_out/org_rcptdd") );
  253. model.setValue("/root/send/savercpt/srchrcptno" ,model.getValue(vOpmiRoot +"/opmi_out/org_rcptno") );
  254. model.setValue("/root/send/savercpt/srchrcptseqno" ,model.getValue(vOpmiRoot +"/opmi_out/org_rcptseqno") );
  255. model.makeNode("/root/send/savercpt/opmi_out");
  256. model.copyNode("/root/send/savercpt/opmi_out", vOpmiRoot + "/opmi_out" );
  257. model.makeNode("/root/send/savercpt/dcgm_out");
  258. model.copyNode("/root/send/savercpt/dcgm_out", vOpmiRoot + "/dcgm_out" );
  259. model.makeNode("/root/send/savercpt/unco_out");
  260. model.copyNode("/root/send/savercpt/unco_out", vOpmiRoot + "/unco_out" );
  261. // 영수증채번을 먼저한다.
  262. // INPUT(1.수납일시)
  263. model.makeNode("/root/send/rcptdd" );
  264. model.makeNode("/root/send/genrkind" );
  265. model.setValue("/root/send/rcptdd" , getCurrentDate() );
  266. model.setValue( "/root/send/genrkind" , "R");
  267. if ( submit("TRAHA02105")){
  268. //영수증번호를 채번하여 셋팅한다.
  269. var rcptno = model.getValue("/root/temp/rcptno_out/rcptno/opmi_rcptno");
  270. model.makeNode( "/root/send/savercpt/opmi_rcptno");
  271. model.setValue( "/root/send/savercpt/opmi_rcptno", rcptno);
  272. }
  273. //openLoadingBar("수납 처리중입니다..") ;//처리중 화면을 오픈한다.
  274. if( submit("TXAHA02102") == true ){
  275. messageBox("수납 ","I001");
  276. }
  277. //closeLoadingBar() ;//처리중 화면을 close한다.
  278. }
  279. /** ==========================================================================================================
  280. @author : 조두현
  281. @version : 2008-02-12
  282. @desc : 예약접수 상세내역조회
  283. @param :
  284. * vMode : 리스트 구분
  285. * ==========================================================================================================*/
  286. function ahafGetRsrvAcptDetlVisa(vMode){
  287. fInitInfo();
  288. var vXpath = "";
  289. var idx = -1;
  290. switch (vMode) {
  291. case 1:
  292. vXpath = "/root/main/list/rsrvlst[";
  293. idx = grd_rsrvlst.row;
  294. break;
  295. case 2:
  296. vXpath = "/root/main/list/rsrvlst[";
  297. idx = grd_rsrventlst.row;
  298. break;
  299. case 3:
  300. vXpath = "/root/main/list/acptlst[";
  301. idx = grd_acptlst.row;
  302. break;
  303. case 4:
  304. vXpath = "/root/main/list/cncllst[";
  305. idx = grd_cncllst.row;
  306. break;
  307. case 5: //일반건진 2차대상자 리스트
  308. vXpath = "/root/main/list/sndlst[";
  309. idx = grd_sndlst.row;
  310. break;
  311. case 6 : //건진이력
  312. vXpath = "/root/main/info/histlst/item[";
  313. // idx = grd_sndlst.row;
  314. idx = grd_hist.row;
  315. break;
  316. default:
  317. messageBox("인자가 잘못되었습니다", "E999");
  318. return ;
  319. break;
  320. }
  321. if( idx < 1) {
  322. messageBox("건진내역을 ", "C002");
  323. return ;
  324. }
  325. var vRsrvdd = model.getValue(vXpath + idx + "]/rsrvdd");
  326. var vRsrvno = model.getValue(vXpath + idx + "]/rsrvno");
  327. /*
  328. * 가예약 일경우 환자정보 patm의 정보만으로 조회
  329. * pid가 0일 경우 ptbs에 정보가 없음
  330. */
  331. var vStatFlag = model.getValue(vXpath + idx + "]/statflag");
  332. var vPid = model.getValue(vXpath + idx + "]/pid");
  333. ahafGetRsrvAcpDetltVisaInfo(vRsrvdd, vRsrvno,vStatFlag , vPid);
  334. }
  335. /** ==========================================================================================================
  336. @author : 조두현
  337. @version : 2008-02-12
  338. @desc : 비자년번 자동생성 함수
  339. @param :
  340. * genrdd : 예약등록일자
  341. * genrkind : 구분(V)로 세팅
  342. * instcd : 기관코드
  343. @return : 비자년번 retNo
  344. * =================================================================================*/
  345. /*function fGetVisano(){
  346. var vCutVisa,vCopyVisa,vGetDD,retNo;
  347. vGetDD=getCurrentDate();
  348. //년도만 짤라냄
  349. vGetDD=vGetDD.substring(0,4);
  350. //20070000이런 식으로 나옴
  351. vGetDD=vGetDD.getRightPad(8,"0");
  352. model.makeNode("/root/send/visanosrch/genrdd");
  353. model.makeNode("/root/send/visanosrch/genrkind");
  354. model.makeNode("/root/send/visanosrch/instcd");
  355. model.setValue("/root/send/visanosrch/genrdd",vGetDD);
  356. model.setValue("/root/send/visanosrch/genrkind","V");
  357. model.setValue("/root/send/visanosrch/instcd",getUserInfo("dutplceinstcd"));
  358. retNo=submit("TRAHA00610");
  359. //model.removeNodeset("/root/main/info/rsrvacptinfo/item/visano");
  360. //model.resetInstanceNode("/root/main/info/rsrvacptinfo/item/visano");
  361. //fCheckNodeExist("/root/main/info/rsrvacptinfo/item/visano",true);
  362. //model.setValue("/root/main/info/rsrvacptinfo/item/visano",ipt_visayear.currentText);
  363. return retNo;
  364. }
  365. */
  366. /** ==========================================================================================================
  367. @author : 조두현
  368. @version : 2008-02-12
  369. @desc : 예약/접수 상세내역 조회
  370. @param :
  371. * vRsrvdd : 예약등록일자
  372. * vRsrvno : 예약번호
  373. @return : 건진상세내역
  374. * ==========================================================================================================*/
  375. function ahafGetRsrvAcpDetltVisaInfo( vRsrvdd, vRsrvno , vStatFlag , vPid ){
  376. if( (vRsrvdd == "") || (vRsrvno == "") ) return ;
  377. if(vStatFlag == "") vStatFlag == "";
  378. if(vPid == "") vPid == "";
  379. fCheckNodeExist("/root/send/srchhealexamflag" , true );
  380. fCheckNodeExist("/root/send/srchrsrvdd" , true );
  381. fCheckNodeExist("/root/send/srchrsrvno" , true );
  382. fCheckNodeExist("/root/send/srchinstcd" , true );
  383. fCheckNodeExist("/root/send/scrnnm" , true );
  384. model.setValue("/root/send/srchhealexamflag", fGetHealExamFlag());
  385. model.setValue("/root/send/srchrsrvdd" , vRsrvdd);
  386. model.setValue("/root/send/srchrsrvno" , vRsrvno);
  387. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd") );
  388. model.setValue("/root/send/scrnnm" , vStatFlag == "A"&& vPid== "0" ? "internet":"" );
  389. // model.makeValue("/root/send/srchage" , ageCalc(model.getValue("/root/main/info/patinfo/item/rgstno1"),model.getValue("/root/main/info/patinfo/item/rgstno2")) );
  390. model.resetInstanceNode("/root/main/info/patinfo/item");
  391. model.resetInstanceNode("/root/main/info/rsrvacptinfo/item");
  392. model.resetInstanceNode("/root/temp/info/rsrvacptinfo");
  393. model.resetInstanceNode("/root/temp/info/patinfo");
  394. if( submit("TRAHA00102") != true ) {
  395. return ;
  396. }
  397. var i = 0;
  398. //node clear현상때문임..
  399. // 건진정보
  400. var tmpnode = instance1.selectSingleNode("/root/temp/info/rsrvacptinfo");
  401. if( tmpnode != null){
  402. model.copyNode("/root/main/info/rsrvacptinfo/item", "/root/temp/info/rsrvacptinfo");
  403. }
  404. //추가검사내역
  405. model.removeNodeset("/root/main/info/rsrvacptinfo/addlst");
  406. var nodelst = instance1.selectNodes("/root/temp/info/addlst");
  407. model.refresh();
  408. if( nodelst.length > 0 ){
  409. for (i = 0; i < nodelst.length; i++){
  410. model.duplicate("/root/main/info/rsrvacptinfo", nodelst.item(i));
  411. }
  412. }
  413. //추가패키지내역
  414. nodelst = instance1.selectNodes("/root/temp/info/pkglst");
  415. model.removeNodeset("/root/main/info/rsrvacptinfo/pkglst");
  416. model.refresh();
  417. if( nodelst.length > 0 ){
  418. for (i = 0; i < nodelst.length; i++){
  419. model.duplicate("/root/main/info/rsrvacptinfo", nodelst.item(i));
  420. }
  421. }
  422. // 태그정보
  423. var tagNode = instance1.selecNodes("/root/temp/info/taginfo");
  424. if(tagNode != null) {
  425. copyNodesetType("/root/main/info/taginfo","/root/temp/info/taginfo","replace");
  426. }
  427. //환자정보
  428. tmpnode = instance1.selectSingleNode("/root/temp/info/patinfo");
  429. if( tmpnode != null){
  430. model.copyNode("/root/main/info/patinfo/item", "/root/temp/info/patinfo");
  431. }
  432. //수납정보
  433. /* tmpnode = instance1.selectSingleNode("/root/temp/info/opmi_out");
  434. if( tmpnode != null){
  435. model.makeNode("/root/main/info/rcptinfo/pkgamt" );
  436. model.makeNode("/root/main/info/rcptinfo/addamt" );
  437. model.makeNode("/root/main/info/rcptinfo/subtotamt" );
  438. model.makeNode("/root/main/info/rcptinfo/preamt" );
  439. model.makeNode("/root/main/info/rcptinfo/discamt" );
  440. model.makeNode("/root/main/info/rcptinfo/uncoamt" );
  441. model.makeNode("/root/main/info/rcptinfo/realamt" );
  442. tmpnode = instance1.selectSingleNode("/root/temp/info/opmi_out/opmi_discamt");
  443. if (tmpnode!=null){
  444. /*
  445. opt_preamt.visible = false;
  446. opt_discamt.visible = false;
  447. opt_uncoamt.visible = false;
  448. opt_realamt.visible = false;
  449. caption59.visible = false;
  450. caption76.visible = false;
  451. caption56.visible = false;
  452. caption54.visible = false;
  453. opt_subtotamt.visible = false;
  454. model.setValue("/root/main/info/rcptinfo/pkgamt" , model.getValue("/root/temp/info/opmi_out/opmi_baseexamamt"));
  455. model.setValue("/root/main/info/rcptinfo/addamt" , model.getValue("/root/temp/info/opmi_out/opmi_addexamamt"));
  456. model.setValue("/root/main/info/rcptinfo/subtotamt" , model.getValue("/root/temp/info/opmi_out/opmi_totamt"));
  457. // model.setValue("/root/main/info/rcptinfo/subtotamt" , model.getValue("/root/temp/info/opmi_out/opmi_cmpyamt"));
  458. // model.setValue("/root/main/info/rcptinfo/preamt" , model.getValue("/root/temp/info/opmi_out/opmi_mdlremamt"));
  459. model.setValue("/root/main/info/rcptinfo/preamt" , model.getValue("/root/temp/info/opmi_out/opmi_mdlrcptamt"));
  460. // model.setValue("/root/main/info/rcptinfo/discamt" , model.getValue("/root/temp/info/opmi_out/opmi_totdiscamt"));
  461. model.makeNode("root/temp/info/opmi_out/opmi_discamt");
  462. model.setValue("/root/main/info/rcptinfo/discamt" , model.getValue("/root/temp/info/opmi_out/opmi_discamt"));
  463. model.makeValue("/root/temp/discamt" , model.getValue("/root/temp/info/opmi_out/opmi_discamt"));
  464. model.makeValue("/root/main/info/rcptinfo/uncoamt" , model.getValue("/root/temp/info/opmi_out/opmi_restamt"));
  465. model.makeValue("/root/main/info/rcptinfo/realamt" , model.getValue("/root/temp/info/opmi_out/opmi_rcptamt"));
  466. }
  467. model.makeValue("/root/temp/rcptCheck","true"); //수납된 내역 체크
  468. } else{
  469. model.makeValue("/root/send/srchcmpycd", model.getValue("/root/main/info/rsrvacptinfo/item/cmpycd"));
  470. model.makeValue("/root/send/srchconseq", model.getValue("/root/main/info/rsrvacptinfo/item/conseq"));
  471. model.makeValue("/root/send/srchconhistseq", model.getValue("/root/main/info/rsrvacptinfo/item/conhistseq"));
  472. model.makeValue("/root/send/srchsex", model.getValue("/root/main/info/patinfo/item/sex"));
  473. model.makeValue("/root/send/srchpkgcd", model.getValue("/root/main/info/rsrvacptinfo/item/pkgcd"));
  474. model.makeValue("/root/send/srchpid", model.getValue("/root/main/info/patinfo/item/pid"));
  475. model.makeValue("/root/send/srchage", ageCalc(model.getValue("/root/main/info/patinfo/item/rgstno1"),model.getValue("/root/main/info/patinfo/item/rgstno2")));
  476. submit("TXAHA00903");
  477. model.makeValue("/root/main/info/rcptinfo/pkgamt" , model.getValue("/root/main/info/rcptinfo/rcptinfo/pkgamt"));
  478. model.makeValue("/root/main/info/rcptinfo/discamt" , model.getValue("/root/main/info/rcptinfo/rcptinfo/discamt"));
  479. model.makeValue("/root/temp/discamt", model.getValue("/root/main/info/rcptinfo/rcptinfo/discamt"));
  480. model.makeValue("/root/main/info/rcptinfo/subtotamt" , model.getValue("/root/main/info/rcptinfo/rcptinfo/subtotamt"));
  481. if((model.getValue("/root/main/info/rcptinfo/preamt")=="")|| (model.getValue("/root/main/info/rcptinfo/preamt")=="0")){
  482. model.makeValue("/root/main/info/rcptinfo/preamt", model.getValue("/root/main/info/rcptinfo/rcptinfo/cashamt"));
  483. }
  484. if(instance1.selectSingleNode("/root/main/info/rcptinfo/addamt") == null)
  485. model.makeValue("/root/main/info/rcptinfo/rcptinfo/addamt","0");
  486. model.makeValue("/root/main/info/rcptinfo/addamt" , model.getValue("/root/main/info/rcptinfo/rcptinfo/addamt"));
  487. if (model.getValue("/root/main/info/rsrvacptinfo/item/cmpyflag")=="Y"){
  488. model.makeValue("/root/main/info/rsrvacptinfo/item/pkguncocd" , model.getValue("/root/main/info/rcptinfo/rcptinfo/pkguncocd"));
  489. } else{
  490. model.makeValue("/root/main/info/rcptinfo/realamt" , model.getValue("/root/main/info/rcptinfo/rcptinfo/subtotamt"));
  491. }
  492. model.makeValue("/root/temp/rcptCheck","false"); //수납된 내역 체크
  493. fDcAmtCalc(0,0,0,0,0,0,model.getValue("/root/main/info/rsrvacptinfo/item/pkguncocd"),0);
  494. /*
  495. opt_preamt.visible = false;
  496. opt_discamt.visible = false;
  497. opt_uncoamt.visible = false;
  498. opt_realamt.visible = false;
  499. caption59.visible = false;
  500. caption76.visible = false;
  501. caption56.visible = false;
  502. caption54.visible = false;
  503. opt_subtotamt.visible = false;
  504. }
  505. */
  506. //화면상단정보 설정
  507. var sPid = model.getValue("/root/main/info/rsrvacptinfo/item/pid" );
  508. var sOrddd = model.getValue("/root/main/info/rsrvacptinfo/item/orddd" );
  509. var iCretno = model.getValue("/root/main/info/rsrvacptinfo/item/cretno" );
  510. if( (sPid != "" ) &&
  511. (sOrddd != "" ) &&
  512. (iCretno != "" ) &&
  513. (iCretno != "0" ) ){
  514. ahafSetScreenTopPatInfo( sPid, sOrddd, iCretno );
  515. }
  516. fSetBtnStat();
  517. //model.refresh();
  518. }
  519. /** ==========================================================================================================
  520. @author : 조두현
  521. @version : 2008-02-17
  522. @desc : 수진자 인적사항만 조회, 외국인일 경우 별도의 구분 없이 주민번호 뒷번호가 남/여, 5/6으로 처리.
  523. 뒷번호가 1000000->남자 번호없는 외국인 2000000->여자 번호없는 외국인
  524. @param :
  525. * 조회조건: vMode (0 -pnm:환자명, 1-rgstno: 주민번호, 2-pid:등록번호, 3-hpid:건진임시환자번호)
  526. * vPidXPath : pid node
  527. * vPnmXPath : pnm node
  528. * ==========================================================================================================*/
  529. /* function fGetPatInfoVisa(vMode ){
  530. var vCond = "";
  531. switch( vMode ){
  532. case 0: vCond = "pnm";
  533. break;
  534. case 1: vCond = "rgstno";
  535. if( fCheckRgstNoVisa() == false ){
  536. ipt_rgstno1.value = "";
  537. ipt_rgstno2.value = "";
  538. return ;
  539. }
  540. break;
  541. case 2: vCond = "pid";
  542. break;
  543. default : vCond = "hid";
  544. break;
  545. }
  546. model.removeNodeSet("/root/send/save");
  547. model.makeNode("/root/send/save");
  548. fCheckNodeExist("/root/send/srchcond" , true );
  549. fCheckNodeExist("/root/send/srchpnm" , true );
  550. fCheckNodeExist("/root/send/srchpid" , true );
  551. fCheckNodeExist("/root/send/srchrgstno1" , true );
  552. fCheckNodeExist("/root/send/srchrgstno2" , true );
  553. fCheckNodeExist("/root/send/srchhealexampid", true );
  554. fCheckNodeExist("/root/send/srchinstcd" , true );
  555. model.setValue("/root/send/srchcond" , vCond);
  556. if( vCond == "pnm") {
  557. model.setValue("/root/send/srchpnm" , ipt_pnm.currentText );
  558. }
  559. else
  560. if( vCond == "pid") {
  561. model.setValue("/root/send/srchpid" , ipt_pid.currentText );
  562. }
  563. else
  564. if( vCond == "rgstno") {
  565. model.setValue("/root/send/srchrgstno1" , ipt_rgstno1.currentText );
  566. model.setValue("/root/send/srchrgstno2" , ipt_rgstno2.currentText );
  567. }
  568. else {
  569. model.setValue("/root/send/srchhealexampid" , model.getValue("/root/main/info/patinfo/item/healexampid"));
  570. }
  571. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  572. fCheckNodeExist("/root/temp/patinfo/item", true);
  573. model.resetInstanceNode("/root/temp/patinfo/item");
  574. submit("TRAHA00101") ;
  575. //node clear현상때문임...
  576. var tmpnode = model.instance1.selectSingleNode("/root/temp/patinfo/item/pid");
  577. if( tmpnode != null ){
  578. model.copyNode("/root/main/info/patinfo/item", "/root/temp/patinfo/item");
  579. model.makeValue("/root/main/info/rsrvacptinfo/item/choiflag",model.getValue("/root/main/info/patinfo/item/choiflag"));
  580. }
  581. else {
  582. model.makeValue("/root/main/info/rsrvacptinfo/item/choiflag",model.getValue("/root/main/info/patinfo/item/choiflag"));
  583. }
  584. model.refresh();
  585. }
  586. */
  587. /** ==========================================================================================================
  588. * fCheckRgstNoVisa
  589. @author : 조두현
  590. @version : 2008-02-17
  591. @desc : 주민번호 유효여부 check 다만 뒷자리가 1000000,2000000이면 통과
  592. @param :
  593. ==========================================================================================================================*/
  594. /* function fCheckRgstNoVisa(){
  595. var vTmp = ipt_rgstno1.currentText + ipt_rgstno2.currentText ;
  596. if((ipt_rgstno1.currentText =='1000000') ||(ipt_rgstno2.currentText=='2000000') ){
  597. if( messageBox("유효하지 않은 주민번호 입니다. ", "Q003") == 6 ) {
  598. return true;
  599. }
  600. return false;
  601. }
  602. else if( isResidentNo(vTmp) == false ){
  603. if( messageBox("유효하지 않은 주민번호 입니다. ", "Q003") == 6 ) {
  604. return true;
  605. }
  606. model.setFocus("ipt_rgstno1");
  607. return false;
  608. }
  609. return true ;
  610. }
  611. */
  612. /** ==========================================================================================================
  613. @author : 조두현
  614. @version : 2008-02-17
  615. @desc : 주민번호로 생년월일/성별/나이 기본 setting
  616. @param :
  617. * ==========================================================================================================*/
  618. /*function fSetBrthDDVisa(){
  619. //if( ipt_brthdd.value != "" ) return ;
  620. var vrgstno1 = ipt_rgstno1.currentText;
  621. var vrgstno2 = ipt_rgstno2.currentText;
  622. var vSex = vrgstno2.substr( 0, 1) ;
  623. var vBrthdd = "";
  624. if( ( vSex == 3 ) || (vSex == 4) ) {
  625. vBrthdd = "20" + vrgstno1;
  626. }
  627. else {
  628. vBrthdd = "19" + vrgstno1;
  629. }
  630. ipt_brthdd.value = vBrthdd;
  631. opt_sex.value = getGender(vrgstno1+ vrgstno2);
  632. opt_age.value = getFullAgeVisa(vrgstno1+ vrgstno2);
  633. }
  634. */
  635. /**
  636. * @desc : 현재일자를 기준으로 나이계산
  637. * @param : pResidentNo - 중간 구분자를 제외한 주민번호 13자리
  638. * @param : pDate - 기준이 되는 Date Object 일자 (default는 오늘 일자)
  639. * @param : pPosition - 1세이하시 개월 계산
  640. * <pre>
  641. *
  642. * 함수 호출시 다음과 같은 두가지 형태로 사용한다.
  643. *
  644. * 1) getFullAge("1234567890123"); --> 오늘 일자를 기준으로 나이계산
  645. * 2) getFullAge("1234567890123", date); --> parameter 값으로 넘겨받은 date를 기준으로 나이계산
  646. *
  647. * </pre>
  648. * @return : 숫자 (오류시 -1)
  649. * @---------------------------------------------------
  650. */
  651. /*function getFullAgeVisa(pResidentNo, pDate, pPosition)
  652. {
  653. if(isNaN(pResidentNo)) return -1;
  654. var pivotYY = "";
  655. var pivotMM = "";
  656. var pivotDD = "";
  657. var regYY = "";
  658. var regMM = "";
  659. var regDD = "";
  660. if(typeof(pDate) == "undefined" || pDate == "" || pDate == null) {
  661. var today = new Date();
  662. pivotYY = today.getYear();
  663. pivotMM = today.getMonth() + 1;
  664. pivotDD = today.getDate();
  665. } else {
  666. pivotYY = pDate.getYear();
  667. pivotMM = pDate.getMonth() + 1;
  668. pivotDD = pDate.getDate();
  669. }
  670. if(pResidentNo.substr(6,7)=='1000000' || pResidentNo.substr(6,7)=='2000000'){
  671. plus_yy=pResidentNo.substr(0,2);
  672. regYY= 19+plus_yy;
  673. }
  674. else if(pResidentNo.substr(6,7)=='3000000' || pResidentNo.substr(6,7)=='4000000'){
  675. plus_yy=pResidentNo.substr(0,2);
  676. regYY+= 20+plus_yy;
  677. }
  678. else if(pResidentNo.length == 13 && isResidentNo(pResidentNo)){
  679. gender = pResidentNo.substr(6, 1);
  680. gender2 =pResidentNo.substr(6,7);
  681. regYY = eval(pResidentNo.substr(0, 2));
  682. regMM = eval(pResidentNo.substr(2, 2));
  683. regDD = eval(pResidentNo.substr(4, 2));
  684. if(gender == '3' || gender == '4' || gender == '7' || gender == '8') {
  685. regYY += 2000;
  686. } else if(gender == '0' || gender == '9') {
  687. regYY += 1800;
  688. } else {
  689. regYY += 1900;
  690. }
  691. }else if(pResidentNo.length == 8 && isValidDateTime(pResidentNo, "YYYYMMDD")){
  692. regYY = eval(pResidentNo.substr(0, 4));
  693. regMM = eval(pResidentNo.substr(4, 2));
  694. regDD = eval(pResidentNo.substr(6, 2));
  695. }
  696. var age = pivotYY - regYY;
  697. if(age > 0) {
  698. if(pivotMM == regMM) {
  699. if(pivotDD < regDD) {
  700. age -= 1;
  701. }
  702. } else if(pivotMM < regMM) {
  703. age -= 1;
  704. }
  705. }
  706. if ( pPosition == "M")
  707. {
  708. //12개월이하일때 계산
  709. if(age <= 0){
  710. if(pivotYY > regYY) {
  711. pivotMM += 12;
  712. }
  713. age = pivotMM - regMM ;
  714. if(pivotDD < regDD) {
  715. age -= 1;
  716. }
  717. age = "0."+age;
  718. }
  719. }
  720. return age;
  721. }
  722. */