SMMNI01400.js 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333
  1. /*
  2. 주사실 예방접종 전송(SMMNI01400.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var userdeptcd = getUserInfo("dutplcecd");
  7. var injdeptcd;
  8. /**
  9. * @group :
  10. * @ver : 2009.08.28
  11. * @by : 성미연
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 화면초기화
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInit(){
  21. /*
  22. // 간호하드코딩 테이블 조회_20090702_SMY
  23. var pCode = "'077'"; // 조회할 CdGrupID 코드정보(077:병원기관코드조회)
  24. var pDate = getCurrentDate(); //조회기준일자
  25. fGetNursHardCdInfo(pCode, pDate);
  26. */
  27. var jobkindcd = getUserInfo("jobkindcd");
  28. if(jobkindcd == "1140") {
  29. button1.disabled = false;
  30. button9.disabled = false;
  31. } else {
  32. button1.disabled = true;
  33. button9.disabled = true;
  34. }
  35. //병원정보조회 추가(과거이력조회시 사용)_20100113_SMY
  36. var systemcd = getUserInfo("systemcd"); //시스템코드(개발, 교육, 운영서버 구분)
  37. var machine = "";
  38. if (systemcd.length > 6) {
  39. if (systemcd.substr(6,3) == "DEV") {
  40. machine = "D";
  41. } else if (systemcd.substr(6,3) == "EDU") {
  42. machine = "E";
  43. }
  44. } else if (systemcd.length == 6){
  45. if (systemcd == "DEV999") {
  46. machine = "D";
  47. } else {
  48. machine = "R";
  49. }
  50. }else{
  51. messageBox("시스템 코드가 올바르지 않습니다", "I");
  52. return;
  53. }
  54. model.removeNodeset("/root/send");
  55. model.makeValue("/root/send/machine", machine);
  56. submit("TRMNI01403");
  57. var ioflag = getScreenMenuParameter(); //O:외래, I:입원
  58. if(ioflag == "I"){
  59. model.setValue("/root/main/cond/ioflag","I");
  60. //부서코드로드
  61. fPrcpExecDeptSrch();
  62. model.setValue("/root/main/cond/execdeptcd", getUserInfo('dutplcecd'));//시행부서코드
  63. grd_vcnrgstlist.colhidden(grd_vcnrgstlist.colRef("dgno")) = true;
  64. }else{
  65. model.setValue("/root/main/cond/ioflag","O");
  66. //부서코드로드
  67. fPrcpExecDeptSrch();
  68. //20090717 dhkim 주사실코드 가져오기
  69. if(!submit("TRMNI00504")){
  70. messageBox("주사실코드조회를", "E009");
  71. return false;
  72. }
  73. injdeptcd = model.getValue("/root/hidden/injcdinfo/injdeptcd");
  74. model.setValue("/root/main/cond/execdeptcd", getUserInfo('dutplcecd'));
  75. grd_vcnrgstlist.colhidden(grd_vcnrgstlist.colRef("dgnonm")) = true;
  76. }
  77. model.setValue("/root/main/cond/fromdd", getCurrentDate());//기준일에 현재날짜(디폴트);
  78. model.setValue("/root/main/cond/todd", getCurrentDate());//기준일에 현재날짜(디폴트);
  79. model.removeNodeset("/root/main/prcpdetl/prcpdetllist");
  80. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo");
  81. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo");
  82. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo");
  83. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo");
  84. fGetVcnRgstInfo();
  85. }
  86. /**
  87. * @group :
  88. * @ver : 2009.08.28
  89. * @by : 성미연
  90. * @---------------------------------------------------
  91. * @type : function
  92. * @access : public
  93. * @desc : 실시시행부서 조회
  94. * @param :
  95. * @return :
  96. * @---------------------------------------------------
  97. */
  98. function fPrcpExecDeptSrch(flag) {
  99. var prcpcd = model.getValue ( "/root/main/prcp/prcplist/prcpcd" );
  100. var prcpdd = opener.model.getValue ( "/root/init/prcpdd" );
  101. if ( isNull(prcpdd)) {
  102. prcpdd = model.getValue ( "/root/init/prcpdd" );
  103. if (isNull(prcpdd)) {
  104. prcpdd = getCurrentDate();
  105. }
  106. }
  107. var ioflag = model.getValue("/root/main/cond/ioflag");
  108. model.makeValue("/root/send/cond1" , prcpcd);
  109. model.makeValue("/root/send/cond2" , prcpdd);
  110. model.makeValue("/root/send/cond3" , flag);
  111. model.makeValue("/root/send/ioflag", ioflag);
  112. if(submit("TRMNI00903")){
  113. return true;
  114. }else{
  115. return false;
  116. }
  117. }
  118. /**
  119. * @group :
  120. * @ver : 20091013
  121. * @by : smy
  122. * @---------------------------------------------------
  123. * @type : function
  124. * @access : public
  125. * @desc : 엑셀저장
  126. * @param :
  127. * @return :
  128. * @---------------------------------------------------
  129. */
  130. function fsavexls(){
  131. var execdetpnm = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/execdeptcd")+"']/depthngnm");
  132. var exNm = "예방접종 등록자리스트("+ execdetpnm +")";
  133. var fileName = window.fileDialog("save", ",", false, exNm, "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  134. if(fileName != ""){
  135. grd_vcnrgstlist.saveExcel(fileName, "SheetName;colhiddenextend:false;", true, true, "", "", false);
  136. }
  137. }
  138. /**
  139. * @group :
  140. * @ver : 20090828
  141. * @by : smy
  142. * @---------------------------------------------------
  143. * @type : function
  144. * @access : public
  145. * @desc : 예방접종 등록자리스트 조회
  146. * 외래의 경우는 주사실통계화면의 예방건수 클릭시 조회로직과 같음(fstats("prvn"))
  147. * @param :
  148. * @return :
  149. * @---------------------------------------------------
  150. */
  151. function fGetVcnRgstInfo(SortFlag){
  152. //등록정보 초기화
  153. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstpatinfo");
  154. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo");
  155. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo");
  156. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo");
  157. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo");
  158. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo");
  159. var fromdd = model.getValue("/root/main/cond/fromdd");
  160. var todd = model.getValue("/root/main/cond/todd");
  161. var srchflag = model.getValue("/root/main/cond/srchflag");
  162. var execdeptcd = model.getValue("/root/main/cond/execdeptcd");
  163. var ioflag = model.getValue("/root/main/cond/ioflag");
  164. //널값처리
  165. if(fromdd == null || fromdd == ''){
  166. fromdd = getCurrentDate();
  167. }
  168. if(todd == null || todd == ''){
  169. todd = getCurrentDate();
  170. }
  171. //파라미터세팅
  172. model.removeNodeset("/root/send");
  173. model.makeValue("/root/send/fromdd", fromdd);
  174. model.makeValue("/root/send/todd", todd);
  175. model.makeValue("/root/send/execdeptcd", execdeptcd);
  176. model.makeValue("/root/send/ioflag", ioflag);
  177. if(submit("TRMNI01401")){ //입원리스트만 조회할 때의 map파일 함수명 : reqGetInPatPrcpActList
  178. //과거이력조회 초기화
  179. iviewer1.window.reload();
  180. if(SortFlag == "sort"){
  181. if(model.getValue("/root/main/cond/gridsortcol") != ""){
  182. //그리드 sort하고 저장버튼 누른 후 재조회시에는 sort가 그대로 적용되도록. 조회버튼 누를 경우만 sort 초기화됨.
  183. grd_vcnrgstlist.sortClear();
  184. grd_vcnrgstlist.colsort(model.getValue("/root/main/cond/gridsortcol")) = model.getValue("/root/main/cond/gridsortflag");
  185. grd_vcnrgstlist.sort(1, model.getValue("/root/main/cond/gridsortcol"), grd_vcnrgstlist.rows-1, grd_vcnrgstlist.cols-1) = "usersort";
  186. grd_vcnrgstlist.gridToInstance();
  187. }
  188. }else{
  189. //정렬조건 초기화
  190. model.setValue("/root/main/cond/gridsortcol" , "");
  191. model.setValue("/root/main/cond/gridsortflag", "desc");
  192. }
  193. model.refresh();
  194. }
  195. }
  196. /**
  197. * @group :
  198. * @ver : 20090828
  199. * @by : smy
  200. * @---------------------------------------------------
  201. * @type : function
  202. * @access : public
  203. * @desc : 예방접종 등록자리스트 더블 클릭시
  204. * @param :
  205. * @return :
  206. * @---------------------------------------------------
  207. */
  208. function fClickVcnRgstInfo(){
  209. //접종정보 초기화
  210. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstpatinfo");
  211. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo");
  212. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo");
  213. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo");
  214. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo");
  215. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo");
  216. var iRow = grd_vcnrgstlist.row;
  217. var sendyn = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/sendyn"); //전송여부
  218. var regyn = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/regyn"); //등록여부
  219. //신규전송
  220. if(isNull(sendyn) || isNull(regyn)){
  221. //피접종자성명에 숫자가 들어있을 경우 알림메세지 추가
  222. var hngnm = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/hngnm");
  223. for(var i=0; i< hngnm.length; i++){
  224. if(hngnm.charAt(i).isNumber() == true){
  225. messageBox("피접종자성명에는 숫자를 입력할 수 없습니다. 수정하여 전송하세요.", "I");
  226. i = hngnm.length;
  227. }
  228. }
  229. //신생아의 경우 주민번호 뒷자리 000000자동 삭제
  230. var patrgstno = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/patrgstno");
  231. if(patrgstno.substr(7,6) == "000000"){
  232. patrgstno = patrgstno.substr(0,7);
  233. }
  234. //인적정보
  235. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/hngnm" , hngnm);
  236. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno" , patrgstno);
  237. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/procernm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/procernm" )); //본원신생아인 경우 산모성명 연동
  238. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno " , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/procerrgstno")); //본원신생아인 경우 산모주민등록번호 연동
  239. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/hometel" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/hometel" ));
  240. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/mpphontel" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/mpphontel"));
  241. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype" , "1"); //default
  242. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rela" , "자"); //default
  243. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/zipcd" ));
  244. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcdaddr" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/zipcdaddr"));
  245. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/detladdr" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/detladdr" ));
  246. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/brthdd" ));
  247. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/induseyn" , "Y"); //default
  248. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/execdd").substr(0,8));
  249. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/execrnm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/execrnm" ));
  250. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/orddrnm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/orddrnm" ));
  251. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/age" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/age" ));
  252. //비용상환신청대상여부
  253. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/costrepayyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/costrepayyn"));
  254. //접종정보 : 액팅시에 lotno, 접종차수 입력한 경우는 자동 셋팅
  255. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/lotno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/lotno"));
  256. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/dgno" ));
  257. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lotno") != ""){
  258. //fSrchVcnMasterInfo("GrdClick");
  259. fPopSrchVcnInfo();
  260. }
  261. //재전송하는 경우 수정할 정보 셋팅
  262. }else{
  263. //인적정보
  264. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/hngnm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_hngnm" ));
  265. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_patrgstno" ));
  266. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/procernm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_procernm" ));
  267. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno " , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_procerrgstno"));
  268. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/hometel" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_hometel" ));
  269. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/mpphontel" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_mpphontel"));
  270. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_babytype"));
  271. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rela" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_rela"));
  272. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_zipcd" ));
  273. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcdaddr" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_zipcdaddr"));
  274. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/detladdr" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_detladdr" ));
  275. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_brthdd" ));
  276. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/induseyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_induseyn" ));
  277. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_execdd"));
  278. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/execrnm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_execrnm" ));
  279. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/orddrnm" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_orddrnm" ));
  280. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/age" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/age" ));
  281. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/sendyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/sendyn" )); // 전송여부
  282. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/regyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/regyn" )); //등록여부 : 실패(F)일 경우 삭제 블로킹처리
  283. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_patrgstno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_patrgstno"));
  284. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_procerrgstno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_procerrgstno"));
  285. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_babytype" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_babytype"));
  286. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_execdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_execdd"));
  287. //접종정보
  288. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/lotno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_lotno"));
  289. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnnam" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcnnam"));
  290. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vaname" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vaname"));
  291. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/lopperid" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_lopperid"));
  292. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vendorname" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vendorname"));
  293. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcncod"));
  294. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vacode" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vacode"));
  295. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/revcnyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_revcnyn"));
  296. //비용상환신청대상여부
  297. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/costrepayyn" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/costrepayyn"));
  298. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcncod" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcncod"));
  299. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcntme" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcntme"));
  300. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnrotnam" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcnrotnam"));
  301. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnprtnam" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcnprtnam"));
  302. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnvol" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_vcnvol"));
  303. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_demyon" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_demyon"));
  304. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_mdccom" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_mdccom"));
  305. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/mdccomdtl" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_mdccomdtl"));
  306. //fSrchVcnMasterInfo("GrdClick");
  307. fSetVcnDetlInfo();
  308. }
  309. //백신검색창에서 정상적으로 검색된 내용을 선택했을 때
  310. //if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/srchyn") == "Y"){
  311. //key정보
  312. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/pid" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/pid" ));
  313. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/orddd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/orddd" ));
  314. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/cretno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/cretno" ));
  315. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/ioflag" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/ioflag" ));
  316. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpdd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/prcpdd" ));
  317. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/prcpno" ));
  318. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/prcphistno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/prcphistno"));
  319. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/execprcpuniqno" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/execprcpuniqno"));
  320. model.setValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpcd" , model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/prcpcd"));
  321. //}
  322. //과거접종내역조회정보 셋팅
  323. model.resetInstanceNode("/root/main/vcnrefinfo");
  324. var refPatrgstno = "";
  325. var refProcerrgstno = "";
  326. var refBabytype = "";
  327. if(model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_patrgstno") != ""){
  328. refPatrgstno = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_patrgstno");
  329. }else{
  330. refPatrgstno = patrgstno;
  331. }
  332. if(model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_procerrgstno") != ""){
  333. refProcerrgstno = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_procerrgstno");
  334. }else{
  335. refProcerrgstno = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/procerrgstno");
  336. }
  337. if(model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_babytype") != ""){
  338. refBabytype = model.getValue("/root/main/prcpdetl/prcpdetllist["+iRow+"]/rgst_babytype");
  339. }else{
  340. refBabytype = "1";
  341. }
  342. model.setValue("/root/main/vcnrefinfo/patrgstno" , refPatrgstno);
  343. model.setValue("/root/main/vcnrefinfo/procerrgstno", refProcerrgstno);
  344. model.setValue("/root/main/vcnrefinfo/babytype" , refBabytype);
  345. model.refresh();
  346. //과거접종내역조회
  347. fPopRgstHistInfo();
  348. // var mdccomValue = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/mdccom");
  349. // model.alert("1");
  350. //if (mdccomValue <> "기타"){
  351. // ipt_mdccomdtl.disabled = true;
  352. //}else{
  353. // ipt_mdccomdtl.disabled = false;
  354. //}
  355. }
  356. /**
  357. * @group :
  358. * @ver : 20090828
  359. * @by : smy
  360. * @---------------------------------------------------
  361. * @type : function
  362. * @access : public
  363. * @desc : 접종차수, 접종방법, 접종부위, 접종용량 셋팅
  364. * @param :
  365. * @return :
  366. * @---------------------------------------------------
  367. */
  368. function fSetVcnDetlInfo(){
  369. //B형간염일 경우만 재접종여부 클릭 활성화
  370. var vcncod = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod");
  371. if(vcncod == '0201' || vcncod == '0202'){ //B형간염
  372. chk_revcnyn.visible = true;
  373. }else{
  374. chk_revcnyn.visible = false;
  375. }
  376. chk_revcnyn.refresh();
  377. //접종차수, 방법, 부위, 용량검색
  378. model.removeNodeset("/root/send");
  379. model.makeValue("/root/send/vcncod", model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod"));
  380. submit("TRMNI01402");
  381. //접종차수 셋팅
  382. var prcp_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme");
  383. var rgst_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcntme");
  384. if(rgst_vcntme == ""){ //등록이전에는 처방의 접종차수를 셋팅해줌
  385. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme", prcp_vcntme);
  386. //한가지씩만 있는 경우는 default 자동선택
  387. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo") == 1
  388. && model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme") == ""){
  389. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo/vcntme"));
  390. }
  391. }else{
  392. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme", rgst_vcntme);
  393. }
  394. cmb_vcntme.refresh();
  395. //접종방법
  396. var rgst_vcnrotnam = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnrotnam");
  397. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod", rgst_vcnrotnam);
  398. if(rgst_vcnrotnam == ""){
  399. //한가지씩만 있는 경우는 default 자동선택
  400. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo") == 1
  401. && model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod") == ""){
  402. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo/vcnrotcod"));
  403. }
  404. }
  405. cmb_vcnrotcod.refresh();
  406. //접종부위
  407. var rgst_vcnprtnam = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnprtnam");
  408. var brthdd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd");
  409. var patrgstno_dd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno").substr(0, 8);
  410. var execdd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd");
  411. var age = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/age");
  412. var setPrtRow = 0;
  413. if(rgst_vcnprtnam == ""){ //등록이전에는 나이에 따른 디폴트 접종부위를 셋팅해줌
  414. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo"); i++){
  415. var grd_vcnprtcod = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/vcnprtcod");
  416. var grd_prt_sttage = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/sttage");
  417. var grd_prt_endage = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/endage");
  418. if(age >= grd_prt_sttage && age <= grd_prt_endage){
  419. setPrtRow = i;
  420. }
  421. }
  422. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+setPrtRow+"]/vcnprtcod"));
  423. //한가지씩만 있는 경우는 default 자동선택
  424. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo") == 1
  425. && model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod") == ""){
  426. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo/vcnprtcod"));
  427. }
  428. }else{
  429. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod", rgst_vcnprtnam);
  430. }
  431. cmb_vcnprtcod.refresh();
  432. //접종용량
  433. var rgst_vcnvol = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnvol");
  434. var ageMth = getDateInterval(brthdd, execdd, "mm"); //실제생년월일을 기준으로 개월수 구하기
  435. var setVolRow = 0;
  436. if(rgst_vcnvol == ""){ //등록이전에는 개월수에 따른 디폴트 접종용량을 셋팅해줌
  437. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo"); i++){
  438. var grd_vcnvol = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/vcnvol");
  439. var grd_vol_sttmm = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/sttmm");
  440. var grd_vol_endmm = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/endmm");
  441. if(ageMth >= grd_vol_sttmm && ageMth <= grd_vol_endmm){
  442. setVolRow = i;
  443. }
  444. }
  445. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+setVolRow+"]/vcnvol"));
  446. //한가지씩만 있는 경우는 default 자동선택
  447. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo") == 1
  448. && model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol") == ""){
  449. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo/vcnvol"));
  450. }
  451. }else{
  452. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol", rgst_vcnvol);
  453. }
  454. cmb_vcnvol.refresh();
  455. //의학적 소견
  456. var rgst_mdccom = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_mdccom");
  457. // var rgst_mdccomdtl = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_mdccomdtl");
  458. if(rgst_mdccom == ""){ // 등록이전에는 기본값 셋팅
  459. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/mdccom", model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnmdccominfo/mdccom"));
  460. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/mdccomdtl", "");
  461. }else{
  462. //alert(rgst_mdccomdtl);
  463. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/mdccom", rgst_mdccom);
  464. // model.setValue("/root/main/vcnrgstinfo/rgstactinfo/mdccomdtl", rgst_mdccomdtl);
  465. }
  466. cmb_mdccom.refresh();
  467. }
  468. /**
  469. * @group :
  470. * @ver : 20090828
  471. * @by : smy
  472. * @---------------------------------------------------
  473. * @type : function
  474. * @access : public
  475. * @desc : 접종차수, 접종방법, 접종부위, 접종용량 셋팅
  476. * @param :
  477. * @return :
  478. * @---------------------------------------------------
  479. */
  480. function fSetVcnDetlInfo_그리드버전(){
  481. //B형간염일 경우만 재접종여부 클릭 활성화
  482. var vcncod = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod");
  483. if(vcncod == '0201' || vcncod == '0202'){ //B형간염
  484. chk_revcnyn.visible = true;
  485. }else{
  486. chk_revcnyn.visible = false;
  487. }
  488. chk_revcnyn.refresh();
  489. //접종차수, 방법, 부위, 용량검색
  490. model.removeNodeset("/root/send");
  491. model.makeValue("/root/send/vcncod", model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod"));
  492. submit("TRMNI01402");
  493. //접종차수 셋팅
  494. var prcp_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme");
  495. var rgst_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcntme");
  496. if(rgst_vcntme == ""){ //등록이전에는 처방의 접종차수를 셋팅해줌
  497. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo"); i++){
  498. var grd_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo["+i+"]/vcntme");
  499. if(grd_vcntme == prcp_vcntme){
  500. grd_vcntime.row = i;
  501. grd_vcntime.topRow = i;
  502. }
  503. }
  504. //한가지씩만 있는 경우는 default 자동선택
  505. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo") == 1 && grd_vcntime.row < 0){
  506. grd_vcntime.row = 1;
  507. }
  508. }else{
  509. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo"); i++){
  510. var grd_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo["+i+"]/vcntme");
  511. if(grd_vcntme == rgst_vcntme){
  512. grd_vcntime.row = i;
  513. grd_vcntime.topRow = i;
  514. }
  515. }
  516. }
  517. grd_vcntime.refresh();
  518. //접종방법
  519. var rgst_vcnrotnam = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnrotnam");
  520. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo"); i++){
  521. var grd_vcnrotcod = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo["+i+"]/vcnrotcod");
  522. if(grd_vcnrotcod == rgst_vcnrotnam){
  523. grd_vcnmthd.row = i;
  524. grd_vcnmthd.topRow = i;
  525. }
  526. }
  527. if(rgst_vcnrotnam == ""){
  528. //한가지씩만 있는 경우는 default 자동선택
  529. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo") == 1 && grd_vcnmthd.row < 0){
  530. grd_vcnmthd.row = 1;
  531. }
  532. }
  533. grd_vcnmthd.refresh();
  534. //접종부위
  535. var rgst_vcnprtnam = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnprtnam");
  536. var brthdd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd");
  537. var patrgstno_dd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno").substr(0, 8);
  538. var execdd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd");
  539. var age = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/age");
  540. //var age = "";
  541. /*
  542. // if(brthdd != ""){ //생년월일로 나이계산
  543. age11 = getFullAge(brthdd, execdd);
  544. // }else{ //주민번호로 나이계산
  545. age22 = getFullAge(patrgstno_dd, execdd);
  546. // }
  547. alert(age11);
  548. alert(age22);
  549. */
  550. if(rgst_vcnprtnam == ""){ //등록이전에는 나이에 따른 디폴트 접종부위를 셋팅해줌
  551. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo"); i++){
  552. var grd_vcnprtcod = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/vcnprtcod");
  553. var grd_prt_sttage = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/sttage");
  554. var grd_prt_endage = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/endage");
  555. if(age >= grd_prt_sttage && age <= grd_prt_endage){
  556. grd_vcnpart.row = i;
  557. grd_vcnpart.topRow = i;
  558. }
  559. }
  560. //한가지씩만 있는 경우는 default 자동선택
  561. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo") == 1 && grd_vcnpart.row < 0){
  562. grd_vcnpart.row = 1;
  563. }
  564. }else{
  565. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo"); i++){
  566. var grd_vcnprtcod = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo["+i+"]/vcnprtcod");
  567. if(grd_vcnprtcod == rgst_vcnprtnam){
  568. grd_vcnpart.row = i;
  569. grd_vcnpart.topRow = i;
  570. }
  571. }
  572. }
  573. grd_vcnpart.refresh();
  574. //접종용량
  575. var rgst_vcnvol = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcnvol");
  576. var ageMth = getDateInterval(brthdd, execdd, "mm"); //실제생년월일을 기준으로 개월수 구하기
  577. if(rgst_vcnvol == ""){ //등록이전에는 개월수에 따른 디폴트 접종용량을 셋팅해줌
  578. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo"); i++){
  579. var grd_vcnvol = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/vcnvol");
  580. var grd_vol_sttmm = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/sttmm");
  581. var grd_vol_endmm = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/endmm");
  582. if(ageMth >= grd_vol_sttmm && ageMth <= grd_vol_endmm){
  583. grd_vcnvolm.row = i;
  584. grd_vcnvolm.topRow = i;
  585. }
  586. }
  587. //한가지씩만 있는 경우는 default 자동선택
  588. if(getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo") == 1 && grd_vcnvolm.row < 0){
  589. grd_vcnvolm.row = 1;
  590. }
  591. }else{
  592. for(var i=1; i<= getNodesetCount("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo"); i++){
  593. var grd_vcnvol = model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo["+i+"]/vcnvol");
  594. if(grd_vcnvol == rgst_vcnvol){
  595. grd_vcnvolm.row = i;
  596. grd_vcnvolm.topRow = i;
  597. }
  598. }
  599. }
  600. grd_vcnvolm.refresh();
  601. }
  602. /**
  603. * @group :
  604. * @ver : 20090828
  605. * @by : smy
  606. * @---------------------------------------------------
  607. * @type : function
  608. * @access : public
  609. * @desc : 검색버튼 클릭시
  610. * @param :
  611. * @return :
  612. * @---------------------------------------------------
  613. */
  614. //function fSrchVcnMasterInfo(Flag){
  615. function fPopSrchVcnInfo(){
  616. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo");
  617. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo");
  618. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo");
  619. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo");
  620. model.removeNodeset("/root/main/vcnrgstinfo/rgstdetlinfo/vcnmdccominfo");
  621. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo/vcntme");
  622. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod");
  623. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod");
  624. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo/vcnvol");
  625. model.resetInstanceNode("/root/main/vcnrgstinfo/rgstactinfo/mdccom");
  626. clearParameter("vcncod");
  627. clearParameter("lotno");
  628. //clearParameter("vacode");
  629. //clearParameter("lopperid");
  630. clearParameter("execdd");
  631. //clearParameter("regyn");
  632. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/srchyn", "");
  633. setParameter("vcncod", "-");
  634. setParameter("lotno", model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lotno"));
  635. //setParameter("vacode", model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vacode"));
  636. //setParameter("lopperid", model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lopperid"));
  637. setParameter("execdd", model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd"));
  638. //regyn : 등록유무에 따라서 팝업조회로직 submit다름(등록이력이 없는 경우는 insert->select이고, 등록이력이 있어서 재조회하는 경우는 select만 호출)
  639. //setParameter("regyn", model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/regyn"));
  640. //setParameter("flag", Flag);
  641. //백신검색 팝업호출
  642. modal("SPMNI01500");
  643. //백신검색창에서 정상적으로 검색된 내용을 선택했을 때
  644. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/srchyn") == "Y"){
  645. fSetVcnDetlInfo();
  646. }else{
  647. model.setValue("/root/main/vcnrgstinfo/rgstactinfo/lotno", "");
  648. }
  649. }
  650. /**
  651. * @group :
  652. * @ver : 20090828
  653. * @by : smy
  654. * @---------------------------------------------------
  655. * @type : function
  656. * @access : public
  657. * @desc : 전송 or 삭제버튼 클릭시
  658. * @param :
  659. * @return :
  660. * @---------------------------------------------------
  661. */
  662. function fClickBtnVcnSend(Status){
  663. var iRow = grd_vcnrgstlist.row;
  664. if(iRow < 0 ){
  665. messageBox("선택된 내역이 없습니다.", "I");
  666. return;
  667. }
  668. //인적정보 데이터 검사
  669. var hngnm = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/hngnm");
  670. var patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno");
  671. var procernm = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procernm");
  672. var procerrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno");
  673. var hometel = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/hometel");
  674. var mpphontel = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/mpphontel");
  675. var babytype = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype");
  676. var rela = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rela");
  677. var brthdd = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd");
  678. var induseyn = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/induseyn");
  679. /* 선택한 항목 수정없이 삭제하고 새로 전송해야 하는 백신인 경우
  680. - 백신정보 key : 접종일, 접종차수, 접종코드, 등록기관 수정시
  681. - 피접종자주민번호 7자리일 경우 : 피접종자주민번호, 보호자 주민번호, 아기구분 수정시
  682. - 피접종자주민번호 13자리일 경우 : 피접종자주민번호 수정시
  683. */
  684. //접종차수 수정체크
  685. var rgst_vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcntme");
  686. var vcntme = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme");
  687. if(rgst_vcntme != "" && rgst_vcntme != vcntme){
  688. messageBox("접종차수는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  689. return;
  690. }
  691. //접종코드 수정체크
  692. var rgst_vcncod = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_vcncod");
  693. var vcncod = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod");
  694. if(rgst_vcncod != "" && rgst_vcncod != vcncod){
  695. messageBox("접종코드는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  696. return;
  697. }
  698. //*** 인적정보 데이터 검사
  699. if(isNull(hngnm)){
  700. messageBox("피접종자성명은 필수입력입니다.", "I");
  701. model.setFocus("ipt_hngnm");
  702. ipt_hngnm.refresh();
  703. return;
  704. }
  705. //주민등록번호 유효성검사
  706. if(patrgstno.length == '13'){
  707. var rgst_patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_patrgstno");
  708. var patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno");
  709. if(!isResidentNo(patrgstno)){
  710. //주민번호 뒷자리가 ''
  711. messageBox("피접종자 주민번호가 형식에 맞지 않습니다.", "I");
  712. model.setFocus("ipt_patrgstno");
  713. ipt_patrgstno.refresh();
  714. return;
  715. }
  716. //피접종자주민번호 수정체크(피접종자주민번호 7자리에서 13자리로 수정하는 경우 제외)
  717. if(rgst_patrgstno.length != '7'){
  718. //if(rgst_patrgstno != "" && rgst_patrgstno != patrgstno){
  719. if(rgst_patrgstno != "" && rgst_patrgstno != patrgstno){
  720. messageBox("피접종자주민번호는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  721. return;
  722. }
  723. }
  724. }else{
  725. if(patrgstno.length != '7'){
  726. messageBox("피접종자 주민번호에 7자리수(생년월일+성별구분)를 입력하세요.", "I");
  727. model.setFocus("ipt_patrgstno");
  728. ipt_patrgstno.refresh();
  729. return;
  730. }else{
  731. //피접종자주민번호 수정체크
  732. var rgst_patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_patrgstno");
  733. var patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno");
  734. if(rgst_patrgstno != "" && rgst_patrgstno != patrgstno){
  735. messageBox("피접종자주민번호는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  736. return;
  737. }
  738. //보호자 주민번호 수정체크
  739. var rgst_procerrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_procerrgstno");
  740. var procerrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno");
  741. if(rgst_procerrgstno != "" && rgst_procerrgstno != procerrgstno){
  742. messageBox("보호자 주민번호는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  743. return;
  744. }
  745. //아기구분 수정체크
  746. var rgst_babytype = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_babytype");
  747. var babytype = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype");
  748. if(rgst_babytype != "" && rgst_babytype != babytype){
  749. messageBox("아기구분은 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  750. return;
  751. }
  752. //7자리인 경우만 보호자 정보 필수 입력
  753. if(isNull(procernm)){
  754. messageBox("보호자성명은 필수입력입니다.", "I");
  755. model.setFocus("ipt_procernm");
  756. ipt_procernm.refresh();
  757. return;
  758. }
  759. if(isNull(procerrgstno)){
  760. messageBox("보호자주민번호는 필수입력입니다.", "I");
  761. model.setFocus("ipt_procerrgstno");
  762. ipt_procerrgstno.refresh();
  763. return;
  764. }
  765. if(!isResidentNo(procerrgstno)){
  766. messageBox("보호자 주민번호가 형식에 맞지 않습니다.", "I");
  767. model.setFocus("ipt_procerrgstno");
  768. ipt_procerrgstno.refresh();
  769. return;
  770. }
  771. }
  772. }
  773. if(isNull(hometel) && isNull(mpphontel)){
  774. messageBox("전화번호 또는 휴대전화번호를 입력하세요.", "I");
  775. model.setFocus("ipt_hometel");
  776. ipt_hometel.refresh();
  777. return;
  778. }
  779. if(!isNull(hometel)){
  780. //전화번호는 국번까지 필수입력
  781. var hometel_leth = 0;
  782. for(var i=0; i< hometel.length; i++){
  783. if(hometel.charAt(i).isNumber() == true){
  784. hometel_leth++;
  785. }
  786. }
  787. if(hometel != "-" && hometel_leth != 9 && hometel_leth != 10 && hometel_leth != 11){
  788. messageBox("전화번호를 정확히 입력하세요.(국번포함)", "I");
  789. model.setFocus("ipt_hometel");
  790. ipt_hometel.refresh();
  791. return;
  792. }
  793. }
  794. if(isNull(babytype)){
  795. messageBox("아기구분은 필수입력입니다.", "I");
  796. model.setFocus("cmb_babytype");
  797. cmb_babytype.refresh();
  798. return;
  799. }
  800. if(isNull(rela)){
  801. messageBox("보호자와의 관계는 필수입력입니다.", "I");
  802. model.setFocus("cmb_rela");
  803. cmb_rela.refresh();
  804. return;
  805. }
  806. if(!isValidDateTime(brthdd, "YYYYMMDD")){
  807. messageBox("실제생년월일이 유효한 날짜가 아닙니다.", "I");
  808. model.setFocus("ipt_brthdd");
  809. ipt_brthdd.refresh();
  810. return;
  811. }
  812. if(isNull(induseyn)){
  813. messageBox("개인정보사용유무는 필수입력입니다.", "I");
  814. model.setFocus("cmb_induseyn");
  815. cmb_induseyn.refresh();
  816. return;
  817. }
  818. //접종정보 데이터 검사
  819. var lotno = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lotno");
  820. if(isNull(lotno)){
  821. messageBox("로트번호를 입력하세요.", "I");
  822. model.setFocus("ipt_lotno");
  823. ipt_lotno.refresh();
  824. return;
  825. }
  826. /*
  827. if(grd_vcntime.row < 1){
  828. messageBox("접종차수를","C002");
  829. return;
  830. }
  831. if(grd_vcnmthd.row < 1){
  832. messageBox("접종방법을","C002");
  833. return;
  834. }
  835. if(grd_vcnpart.row < 1){
  836. messageBox("접종부위를","C002");
  837. return;
  838. }
  839. if(grd_vcnvolm.row < 1){
  840. messageBox("접종용량을","C002");
  841. return;
  842. }
  843. */
  844. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme") == ""){
  845. messageBox("접종차수를","C002");
  846. model.setFocus("cmb_vcntme");
  847. cmb_vcntme.refresh();
  848. return;
  849. }
  850. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod") == ""){
  851. messageBox("접종방법을","C002");
  852. model.setFocus("cmb_vcnrotcod");
  853. cmb_vcnrotcod.refresh();
  854. return;
  855. }
  856. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod") == ""){
  857. messageBox("접종부위를","C002");
  858. model.setFocus("cmb_vcnprtcod");
  859. cmb_vcnprtcod.refresh();
  860. return;
  861. }
  862. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol") == ""){
  863. messageBox("접종용량을","C002");
  864. model.setFocus("cmb_vcnvol");
  865. cmb_vcnvol.refresh();
  866. return;
  867. }
  868. //전송확인
  869. if(Status == "I"){
  870. var vacnrgst_msg = messageBox("예방접종내역을 등록하시겠습니까?", "Q");
  871. if (vacnrgst_msg == "7"){ //6:예, 7:아니오
  872. return;
  873. }
  874. //비용상환신청 대상수가코드여부 : 원무에서 대상코드만 미수금으로 처리하므로 해당 처방에 대해서만 비용상환여부를 질의함
  875. var demyon = "2";
  876. if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/costrepayyn") == "Y"){
  877. var costrepay_msg = messageBox("비용상환 신청하시겠습니까?", "Q");
  878. if (costrepay_msg == "6"){ //6:예, 7:아니오
  879. demyon = "2";
  880. //if(model.getValue("/root/main/vcnrgstinfo/rgstactinfo/costrepayyn") == "Y"){
  881. /***
  882. ========== 비용상환신청 기준 =================
  883. 1. 필수예방접종 국가부담사업에 사업에 참여한 병.의원이여야 한다.
  884. - 보건소를 통해 사업참여를 신청할 수 있음
  885. 2. 피접종자의 출생일이 1996년1월1일 이후여야 한다. -------주만번호상? 실제생년월일상?
  886. 3. DTaP접종은 7세미만인 경우에만 신청가능하다.
  887. 4. 수두2회는 13세 이상이면서 이전에 접종한 기록이 없어야 신청가능하다.
  888. 5. 반드시 접종정보에 백신정보가 포함되어있어야 한다.
  889. 6. 접종일이 2009년3월1일 이후여야 한다.
  890. 7. 대상의료기관의 사업참여계약일자가 접종일보다 커야한다.
  891. 8. 신생아인 경우 BCG 1차와 B형간염/폴리오/DTaP 1차~3차는 접종나이가 6개월이내여야 한다.
  892. 9. 접종이 사업대상접종에 포함되어야 한다.
  893. - 사업대상접종8종 :
  894. BCG(피내용) '0101'
  895. , DTaP '0301'
  896. , 폴리오(주사) '0402'
  897. , Td '0302'
  898. , B형간염(유전자재조합) '0202'
  899. , MMR '0501'
  900. , 일본뇌염(사백신) '0601'
  901. , 수두 '1301'
  902. 10. 2차 중복접종(한 접종차수에 두가지 날짜가 입력된 경우를 말함)인 경우 의학적 소견이 입력되 있어야 한다.
  903. - 단, B형간염의 경우 첫번째 등록하는 접종이 재접종이라면 의학적 소견을 입력해야 한다.
  904. - 단, 수두2회 접종인 경우 의학적 소견을 입력해야 한다.
  905. 11. 3차 중복접종 이후부터는 비용상환을 신청할 수 없다.
  906. ***/
  907. /*
  908. //9.
  909. var vcncod = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod");
  910. if (vcncod != '0101' && vcncod != '0202' && vcncod != '0301' && vcncod != '0302'
  911. && vcncod != '0402' && vcncod != '0501' && vcncod != '0601' && vcncod != '1301'){
  912. demyon = "0";
  913. }
  914. */
  915. }else{
  916. demyon = "0";
  917. }
  918. //demyon값을 수정해서 보내야 하는 경우는 기존내역을 삭제 한 후에 재전송해야함
  919. var rgst_demyon = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_demyon");
  920. if(rgst_demyon != "" && rgst_demyon != demyon){
  921. messageBox("비용상환신청 여부는 수정할 수 없습니다. 이전 전송내역을 삭제 후 새로 전송하세요.", "I");
  922. return;
  923. }
  924. }else{ //비용상환신청대상 백신코드가 아닌 경우
  925. demyon = "0";
  926. }
  927. }else{
  928. //
  929. var regyn = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/regyn");
  930. if (regyn == "F"){
  931. messageBox("등록실패이므로 삭제할 내역이 없습니다.", "I");
  932. return;
  933. }
  934. var vacnrgst_msg = messageBox("예방접종내역을 삭제하시겠습니까?", "Q");
  935. if (vacnrgst_msg == "7"){ //6:예, 7:아니오
  936. return;
  937. }
  938. var demyon = model.getValue("/root/main/vcnrgstinfo/rgstactinfo/rgst_demyon");
  939. }
  940. //전송정보 생성
  941. model.removeNodeset("/root/main/vcnsendinfo");
  942. model.makeNode("/root/main/vcnsendinfo");
  943. //인적정보
  944. var sendyn = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/sendyn"); //전송여부
  945. var regyn = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/regyn"); //등록여부
  946. //신규전송
  947. if(isNull(sendyn) || isNull(regyn)){
  948. model.makeValue("/root/main/vcnsendinfo/patresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno")); //피접종자 주민등록번호
  949. model.makeValue("/root/main/vcnsendinfo/bbytyp" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype")); //피접종자 아기구분
  950. model.makeValue("/root/main/vcnsendinfo/hldresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno")); //보호자 주민등록번호
  951. model.makeValue("/root/main/vcnsendinfo/upatresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno")); //수정할 주민등록번호
  952. model.makeValue("/root/main/vcnsendinfo/ubbytyp" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype")); //수정할 아기구분
  953. model.makeValue("/root/main/vcnsendinfo/uhldresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno")); //수정할 보호자 주민등록번호
  954. }else{
  955. model.makeValue("/root/main/vcnsendinfo/patresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_patrgstno")); //피접종자 주민등록번호
  956. model.makeValue("/root/main/vcnsendinfo/bbytyp" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_babytype")); //피접종자 아기구분
  957. model.makeValue("/root/main/vcnsendinfo/hldresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rgst_procerrgstno")); //보호자 주민등록번호
  958. model.makeValue("/root/main/vcnsendinfo/upatresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno")); //수정할 주민등록번호
  959. model.makeValue("/root/main/vcnsendinfo/ubbytyp" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype")); //수정할 아기구분
  960. model.makeValue("/root/main/vcnsendinfo/uhldresnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno")); //수정할 보호자 주민등록번호
  961. }
  962. model.makeValue("/root/main/vcnsendinfo/pid" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/pid"));
  963. model.makeValue("/root/main/vcnsendinfo/prcpno" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpno"));
  964. model.makeValue("/root/main/vcnsendinfo/prcpdd" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpdd"));
  965. model.makeValue("/root/main/vcnsendinfo/prcphistno" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/prcphistno"));
  966. model.makeValue("/root/main/vcnsendinfo/execprcpuniqno", model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execprcpuniqno"));
  967. model.makeValue("/root/main/vcnsendinfo/ioflag" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/ioflag"));
  968. model.makeValue("/root/main/vcnsendinfo/prcpcd" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/prcpcd"));
  969. model.makeValue("/root/main/vcnsendinfo/cretno" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/cretno"));
  970. model.makeValue("/root/main/vcnsendinfo/orddd" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/orddd"));
  971. //model.makeValue("/root/main/vcnsendinfo/vcnorgcod" , "31100210"); //등록기관코드(요양기관코드)_인터페이스에서 검색해서 입력해줌
  972. //model.makeValue("/root/main/vcnsendinfo/vcnorgnam" , "가톨릭대학교 성가병원"); //등록기관명_인터페이스에서 검색해서 입력해줌
  973. model.makeValue("/root/main/vcnsendinfo/patnam" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/hngnm")); //피접종자 성명
  974. model.makeValue("/root/main/vcnsendinfo/hldnam" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procernm")); //보호자 성명
  975. model.makeValue("/root/main/vcnsendinfo/pattelnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/hometel")); //전화번호
  976. model.makeValue("/root/main/vcnsendinfo/patcelnum" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/mpphontel")); //통신사번호
  977. model.makeValue("/root/main/vcnsendinfo/patadrzip" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcd")); //우편번호
  978. model.makeValue("/root/main/vcnsendinfo/patadr1" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/zipcdaddr")); //주소
  979. model.makeValue("/root/main/vcnsendinfo/patadr2" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/detladdr")); //상세주소
  980. model.makeValue("/root/main/vcnsendinfo/hldpatrel" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/rela")); //보호자와의 관계
  981. model.makeValue("/root/main/vcnsendinfo/pateml" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/pateml")); //전자우편
  982. model.makeValue("/root/main/vcnsendinfo/endupddte" , getCurrentDate()); //최종수정일
  983. model.makeValue("/root/main/vcnsendinfo/infuseyon" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/induseyn")); //개인정보공개여부(SMS발송여부)
  984. model.makeValue("/root/main/vcnsendinfo/relbirdte" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/brthdd")); //실제생년월일
  985. model.makeValue("/root/main/vcnsendinfo/patfogtyp" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patfogtyp")); //내/외국인 구분
  986. //접종정보
  987. model.makeValue("/root/main/vcnsendinfo/vact" , Status); //데이터 변경상태(I:insert/update, D:delete)
  988. model.makeValue("/root/main/vcnsendinfo/vcncod" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcncod")); //접종코드
  989. //model.makeValue("/root/main/vcnsendinfo/vcntme" , model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcntmeinfo[" + grd_vcntime.row + "]/vcntme")); //접종차수
  990. model.makeValue("/root/main/vcnsendinfo/vcntme" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcntme")); //접종차수
  991. model.makeValue("/root/main/vcnsendinfo/vcndte" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execdd")); //접종일자
  992. model.makeValue("/root/main/vcnsendinfo/lotnum" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lotno")); //로트번호
  993. model.makeValue("/root/main/vcnsendinfo/vcnexpdte" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/lopperid")); //유효기간
  994. model.makeValue("/root/main/vcnsendinfo/vaccod" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vacode")); //백신약품코드
  995. //model.makeValue("/root/main/vcnsendinfo/vcnrotnam" , model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnrotcodinfo[" + grd_vcnmthd.row + "]/vcnrotcod")); //접종방법
  996. model.makeValue("/root/main/vcnsendinfo/vcnrotnam" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnrotcod")); //접종방법
  997. //model.makeValue("/root/main/vcnsendinfo/vcnprtnam" , model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnprtcodinfo[" + grd_vcnpart.row + "]/vcnprtcod")); //접종부위
  998. model.makeValue("/root/main/vcnsendinfo/vcnprtnam" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnprtcod")); //접종부위
  999. //model.makeValue("/root/main/vcnsendinfo/vcnvol" , model.getValue("/root/main/vcnrgstinfo/rgstdetlinfo/vcnvolinfo[" + grd_vcnvolm.row + "]/vcnvol")); //접종용량
  1000. model.makeValue("/root/main/vcnsendinfo/vcnvol" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/vcnvol")); //접종용량
  1001. model.makeValue("/root/main/vcnsendinfo/injnam" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/execrnm")); //접종자성명
  1002. model.makeValue("/root/main/vcnsendinfo/exmdtrnam" , model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/orddrnm")); //예진의사명
  1003. //model.makeValue("/root/main/vcnsendinfo/devcmp" , "가톨릭대학교 성가병원"); //의원개발사명
  1004. model.makeValue("/root/main/vcnsendinfo/uvcncod" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/")); //수정될 접종코드
  1005. model.makeValue("/root/main/vcnsendinfo/uvcntme" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/")); //수정될 접종차수
  1006. model.makeValue("/root/main/vcnsendinfo/uvcndte" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/")); //수정될 접종일자
  1007. model.makeValue("/root/main/vcnsendinfo/mdccom" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/mdccom")); //의학적소견
  1008. model.makeValue("/root/main/vcnsendinfo/mdccomdtl" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/mdccomdtl")); //의학적소견 detail
  1009. model.makeValue("/root/main/vcnsendinfo/revcnyon" , model.getValue("/root/main/vcnrgstinfo/rgstactinfo/revcnyn")); //재접종여부
  1010. model.makeValue("/root/main/vcnsendinfo/demyon" , demyon); //신청여부[0,2]
  1011. //수정항목 널인 경우
  1012. if (isNull(model.getValue("/root/main/vcnsendinfo/uvcncod"))){
  1013. model.setValue("/root/main/vcnsendinfo/uvcncod", model.getValue("/root/main/vcnsendinfo/vcncod"));
  1014. }
  1015. if (isNull(model.getValue("/root/main/vcnsendinfo/uvcntme"))){
  1016. model.setValue("/root/main/vcnsendinfo/uvcntme", model.getValue("/root/main/vcnsendinfo/vcntme"));
  1017. }
  1018. if (isNull(model.getValue("/root/main/vcnsendinfo/uvcndte"))){
  1019. model.setValue("/root/main/vcnsendinfo/uvcndte", model.getValue("/root/main/vcnsendinfo/vcndte"));
  1020. }
  1021. if (isNull(model.getValue("/root/main/vcnsendinfo/revcnyon"))){ //재접종여부
  1022. model.setValue("/root/main/vcnsendinfo/revcnyon", "N");
  1023. }
  1024. model.removeNodeset("/root/send");
  1025. model.makeNode("/root/send/vcnsendinfo");
  1026. model.copyNode("/root/send/vcnsendinfo", "/root/main/vcnsendinfo");
  1027. if(submit("TXZEV00101")){
  1028. fGetVcnRgstInfo("sort");
  1029. }
  1030. //submit("TRMNI01401");
  1031. }
  1032. /**
  1033. * @group :
  1034. * @ver : 20090828
  1035. * @by : smy
  1036. * @---------------------------------------------------
  1037. * @type : function
  1038. * @access : public
  1039. * @desc : 과거이력조회 버튼 클릭시
  1040. * @param : PatResNum (주민등록번호)
  1041. OrgCod (기관코드) - 요양기관코드
  1042. NbnTyp (pppatn7, pppatn 구분 자)
  1043. HldResNum (보호자 주민번호)
  1044. BabyType (쌍둥이 구분)
  1045. ex) 운영 : http://ir.cdc.go.kr/tprevent/client_metrics.asp?PatResNum=0407294068312&OrgCod=31100210&NbnTyp=&HldResNum=&BabyType=1
  1046. 개발 : http://irir.ath.cx/tprevent/client_metrics.asp?PatResNum=0803214&OrgCod=31100210&NbnTyp=7&HldResNum=7803202481012&BabyType=1
  1047. * @return :
  1048. * @---------------------------------------------------
  1049. */
  1050. function fPopRgstHistInfo(){
  1051. //var patrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/patrgstno");
  1052. //var procerrgstno = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/procerrgstno");
  1053. var patrgstno = model.getValue("/root/main/vcnrefinfo/patrgstno");
  1054. var procerrgstno = model.getValue("/root/main/vcnrefinfo/procerrgstno");
  1055. var nbabytyp = "";
  1056. var babytype = "";
  1057. var url = "";
  1058. var machine = model.getValue("/root/main/hospinfo/hospcdinfo/machine");
  1059. var orgcod = model.getValue("/root/main/hospinfo/hospcdinfo/vcnorgcod");
  1060. if(patrgstno.length == '13'){
  1061. if(!isResidentNo(patrgstno)){ //유효하지 않은 경우 : 신생아 주민번호 따기 이전 데이터, 090910-3000000
  1062. if(patrgstno.substr(7,6) == "000000"){ //피접종자주민번호 뒷자리가 000000인 경우 자동으로 지워줌
  1063. patrgstno = patrgstno.substr(0,7);
  1064. nbabytyp = "7";
  1065. //babytype = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype");
  1066. babytype = model.getValue("/root/main/vcnrefinfo/babytype");
  1067. if(isNull(procerrgstno)){
  1068. //messageBox("보호자 주민번호를 입력하세요.", "I");
  1069. //model.setFocus("ipt_refprocerrgstno");
  1070. //return;
  1071. messageBox("보호자 주민번호를 입력 후 과거접종조회 버튼을 클릭하세요.", "I");
  1072. model.setFocus("ipt_refprocerrgstno");
  1073. iviewer1.window.reload();
  1074. }
  1075. if(isNull(babytype)){
  1076. //messageBox("아기구분 정보를 입력하세요.", "I");
  1077. //model.setFocus("cmb_refbabytype");
  1078. //return;
  1079. messageBox("아기구분 정보를 입력 후 과거접종조회 버튼을 클릭하세요.", "I");
  1080. model.setFocus("cmb_refbabytype");
  1081. iviewer1.window.reload();
  1082. }
  1083. }
  1084. }else{
  1085. nbabytyp = "";
  1086. babytype = "1";
  1087. }
  1088. }else if(patrgstno.length == '7'){
  1089. nbabytyp = "7";
  1090. //babytype = model.getValue("/root/main/vcnrgstinfo/rgstpatinfo/babytype");
  1091. babytype = model.getValue("/root/main/vcnrefinfo/babytype");
  1092. if(isNull(procerrgstno)){
  1093. //messageBox("보호자 주민번호를 입력하세요.", "I");
  1094. //model.setFocus("ipt_refprocerrgstno");
  1095. //return;
  1096. messageBox("보호자 주민번호를 입력 후 과거접종조회 버튼을 클릭하세요.", "I");
  1097. model.setFocus("ipt_refprocerrgstno");
  1098. iviewer1.window.reload();
  1099. }
  1100. if(isNull(babytype)){
  1101. //messageBox("아기구분 정보를 입력하세요.", "I");
  1102. //model.setFocus("cmb_refbabytype");
  1103. //return;
  1104. messageBox("아기구분 정보를 입력 후 과거접종조회 버튼을 클릭하세요.", "I");
  1105. model.setFocus("cmb_refbabytype");
  1106. iviewer1.window.reload();
  1107. }
  1108. }else{
  1109. if(isNull(patrgstno)){
  1110. //messageBox("피접종자 주민번호를 입력하세요.", "I");
  1111. //model.setFocus("ipt_refpatrgstno");
  1112. //return;
  1113. messageBox("피접종자 주민번호를 입력 후 과거접종조회 버튼을 클릭하세요.", "I");
  1114. model.setFocus("ipt_refpatrgstno");
  1115. iviewer1.window.reload();
  1116. }
  1117. }
  1118. //개발서버와 실제 운영서버의 url주소가 다름_20100113_SMY
  1119. if(machine == "R"){ //운영
  1120. //url = "http://ir.cdc.go.kr/tprevent/client_metrics.asp?"
  1121. url = "https://is.cdc.go.kr/iris/index_ocs_docs.jsp?service=getVcnInfo"; // 2016.11.09 운영서버 주소 변경 엄영만 질병관리본부 예방접종관리과(043 238-2915) 이병만 선생님 요청
  1122. }else{ //개발
  1123. //url = "http://irir.ath.cx/tprevent/client_metrics.asp?";
  1124. url = "http://is.picoit.co.kr/iris/index_ocs_docs.jsp?service=getVcnInfo"; // 2016.11.09 운영서버 주소 변경 엄영만 질병관리본부 예방접종관리과(043 238-2915) 이병만 선생님 요청
  1125. }
  1126. //팝업으로 띄우지 않고 메인화면에 import함
  1127. //zevfShowVcnHistory(patrgstno, nbabytyp, procerrgstno, babytype);
  1128. var navUrl = url
  1129. + "&OrgCod=" + orgcod //타기관접종정보조회 추가되면서 파라미터 추가_20100113_SMY
  1130. + "&PatResNum=" + patrgstno
  1131. + "&NbnTyp=" + nbabytyp
  1132. + "&HldResNum=" + procerrgstno
  1133. + "&BabyType=" + babytype;
  1134. //browser1.Navigate(navUrl);
  1135. iviewer1.browser1.Navigate(navUrl);
  1136. }