SMMNA00600.xjs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[//-------------------------
  3. // 화면 호출시
  4. //-------------------------
  5. function finit()
  6. {
  7. ds_datagrid7.clearData(); //환자현황 리스트를 지운다.
  8. ds_datagrid8.clearData(); //공여자매핑 현황 리스트를 지운다.
  9. ds_datagrid9.clearData(); //헌혈경력이력을 지운다.
  10. var arrParam = [{dsNm: "ds_M0376", cdGrpId: "M0376"}
  11. ,{dsNm: "ds_L0095", cdGrpId: "L0095"}]
  12. appf_getCodeList(arrParam);
  13. fcode(); //콤보에 값설정
  14. // model.makenode("/root/tmp");
  15. // model.copyNode("/root/tmp","/root/main/dnorprcpinfo"); //공여자 입력정보 저장
  16. fGetPatinfo();
  17. }
  18. //--------------------------
  19. // 상단정보 내리기
  20. //--------------------------
  21. function fGetPatinfo() {
  22. //var sPath = "/root/main/paminfo";
  23. var sPath = ds_datagrid8;
  24. //설정된 상단정보를 불러옴
  25. //var node = getGlobalVariable("paminfo");
  26. var node = sysf_getGlobalVariable("paminfo");
  27. if (node !=null)
  28. {
  29. //model.makeNode(sPath);
  30. //setCSVToNode(sPath, node);
  31. dsf_setCSVToDS(sPath, node);
  32. var pid, indd, cretno, mskind, histstat;
  33. //pid = model.getValue(sPath +"/list/pid");
  34. pid = ds_datagrid8.getColumn(0, "pid");
  35. //patinfo 정보 셋팅
  36. if ( !isNull(pid) )
  37. {
  38. //model.setValue("/root/main/leftref/cond" , "2");
  39. ds_leftref.setColumn(0, "cond", "2");
  40. //model.setValue("/root/main/leftref/conddata", model.getValue(sPath +"/list/pid"));
  41. ds_leftref.setColumn(0, "conddata", pid)
  42. fpatient();
  43. }
  44. }
  45. }
  46. /**
  47. * @group :
  48. * @ver : 2007.12.18
  49. * @by : 신혁춘
  50. * @---------------------------------------------------
  51. * @type : function
  52. * @access : public
  53. * @desc : 공통코드 조회
  54. * @param :
  55. * @return :
  56. * @---------------------------------------------------
  57. */
  58. function fcode(flag){
  59. var oParam = {};
  60. oParam.id = "TRMNA00601";
  61. oParam.service = "apumngtapp.DnorMngt";
  62. oParam.method = "reqGetCodeBtypeList";
  63. oParam.inds = "";
  64. oParam.outds = "ds_init_btype=btype ds_init_combo12=jobcd ds_init_prcpflag=prcpflag";
  65. oParam.async = false;
  66. //oParam.callback = "cf_TRMNA00601";
  67. tranf_submit(oParam);
  68. }
  69. /**
  70. * @group :
  71. * @ver : 2007.12.18
  72. * @by : 신혁춘
  73. * @---------------------------------------------------
  74. * @type : function
  75. * @access : public
  76. * @desc : 환자리스트 조회
  77. * @param :
  78. * @return :
  79. * @---------------------------------------------------
  80. */
  81. function fpatient(flag)
  82. {
  83. var cond = ds_leftref.getColumn(0, "cond");
  84. var conddata = group5.group8.inp_code.value;
  85. //조회값
  86. if( utlf_isNull(conddata))
  87. {
  88. sysf_messageBox("검색할 값을 ", "C001");
  89. group5.group8.inp_code.setFocus();
  90. return;
  91. }
  92. //주민번호로 조회인 경우
  93. if(cond == "0")
  94. {
  95. if(conddata.length < 6)
  96. {
  97. if(utlf_isNull(conddata))
  98. {
  99. }
  100. else
  101. {
  102. sysf_messageBox("최소6자 이상", "C001");
  103. group5.group8.inp_code.setFocus();
  104. return;
  105. }
  106. }
  107. }
  108. //이름으로 조회인 경우
  109. if(cond == "1")
  110. {
  111. if(conddata.length < 2)
  112. {
  113. if(utlf_isNull(conddata))
  114. {
  115. return;
  116. }
  117. else
  118. {
  119. sysf_messageBox("최소2자 이상", "C001");
  120. group5.group8.inp_code.setFocus();
  121. return;
  122. }
  123. }
  124. }
  125. dsf_createDsRow("ds_send", [{col: "cond", val: ds_leftref.getColumn(0, "cond")}
  126. ,{col: "conddata", val:conddata}]);
  127. //submit("TRMNA00602")
  128. var oParam = {};
  129. oParam.id = "TRMNA00602";
  130. oParam.service = "apumngtapp.DnorMngt";
  131. oParam.method = "reqGetPatList";
  132. oParam.inds = "refCond=ds_send";
  133. oParam.outds = "ds_datagrid8=patlist";
  134. oParam.async = false;
  135. //oParam.callback = "cf_TRMNA00602";
  136. tranf_submit(oParam);
  137. }
  138. //
  139. // /**
  140. // * @group :
  141. // * @ver : 2007.12.20
  142. // * @by : 신혁춘
  143. // * @---------------------------------------------------
  144. // * @type : function
  145. // * @access : public
  146. // * @desc : 공여자 정보 조회
  147. // * @param :
  148. // * @return :
  149. // * @---------------------------------------------------
  150. // */
  151. function fdnorselt(flag)
  152. {
  153. if(flag != "mapping")
  154. {
  155. //var gbtext = model.getValue("/root/main/rghtref/dnorrrgstno"); //공여자조회 주민번호 입력란
  156. var gbtext =group5.group1.inp_dnorrrgstno.value;
  157. //if(gbtext == "")
  158. if(utlf_isNull(gbtext))
  159. {
  160. sysf_messageBox("검색할 값을", "C001");
  161. //model.setfocus("inp_dnorno");
  162. group5.group1.inp_dnorno.setFocus();
  163. return;
  164. }
  165. // if(gbtext < 13)
  166. // {
  167. // sysf_messageBox("주민번호가 정상적이지 않습니다.", "E999", "");
  168. // //model.setfocus("inp_dnorno");
  169. // group5.group1.inp_dnorno.setFocus();
  170. // return;
  171. // }
  172. }
  173. if(flag == "mapping")
  174. { //공여자 매핑현황리스트에서 클릭시
  175. var iRow = datagrid9.row //공여자 매핑현황리스트
  176. var Rows = datagrid9.rows
  177. //var xPatMap = "/root/main/patmapinfo/patmap"; //공여자 매핑현황리스트
  178. var xPatMap = ds_datagrid9;
  179. //model.setValue("/root/main/rghtref/dnorno", model.getValue(xPatMap+"["+iRow+"]/dnorno"));
  180. ds_rghtref.setColumn(0, "dnorno", ds_datagrid9.getColumn(iRow, "dnorno"));
  181. //model.setValue("/root/main/rghtref/dnornm", model.getValue(xPatMap+"["+iRow+"]/dnornm"));
  182. ds_rghtref.setColumn(0, "dnornm", ds_datagrid9.getColumn(iRow, "dnornm"));
  183. //model.setValue("/root/main/rghtref/dnorrrgstno",model.getValue(xPatMap+"["+iRow+"]/dnorrrgstno"));
  184. ds_rghtref.setColumn(0, "dnorrrgstno", ds_datagrid9.getColumn(iRow, "dnorrrgstno"));
  185. for(i = 0; i < Rows; i++)
  186. { //선택정리
  187. //model.setValue(xPatMap+"["+i+"]/flag","0");
  188. ds_datagrid9.setColumn(i, "flag", "0");
  189. }
  190. //model.setValue(xPatMap+"["+iRow+"]/flag","1");
  191. ds_datagrid9.setColumn(iRow, "flag", "1");
  192. }
  193. //model.removeNodeset("/root/send");
  194. //model.makeValue("/root/send/gbtext",model.getValue("/root/main/rghtref/gbtext"));
  195. //model.makeValue("/root/send/dnorno",model.getValue("/root/main/rghtref/dnorno"));
  196. // dsf_createDsRow("ds_send", [{col: "dnorno", val: ds_rghtref.getColumn(0, "dnorno")}
  197. // ,{col: "gbtext", val: ds_rghtref.getColumn(0, "gbtext")}]);
  198. ds_send.setColumn(0, "dnorno", ds_rghtref.getColumn(0, "dnorno"));
  199. ds_send.setColumn(0, "gbtext", ds_rghtref.getColumn(0, "gbtext"));
  200. //if(submit("TRMNA00603"))
  201. var oParam = {};
  202. oParam.id = "TRMNA00603";
  203. oParam.service = "apumngtapp.DnorMngt";
  204. oParam.method = "reqGetDnorPrcp";
  205. oParam.inds = "refCond=ds_send";
  206. oParam.outds = "ds_dnorprcp=dnorprcp ds_datagrid7=dnorprcplist";
  207. oParam.async = false;
  208. //oParam.callback = "cf_TRMNA00603";
  209. tranf_submit(oParam);
  210. if(flag == "mapping")
  211. {
  212. var iRow = ds_datagrid9.rowcount;
  213. //var xPatMap = "/root/main/patmapinfo/patmap"; //공여자매핑정보
  214. var xPatMap = ds_datagrid7;
  215. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/doncode",model.getValue(xPatMap+"["+iRow+"]/doncode"));
  216. ds_datagrid9.setColumn(0, "doncode", xPatMap.getColumn(iRow, "doncode"));
  217. //radio14.refresh(); //헌혈구분
  218. }
  219. //var tempinstance = "/root/main/dnorprcpinfo";
  220. var tempinstancd = ds_dnorprcp;
  221. //var resnLength = ds_hardcd.rowcount; //model.instances(0).selectNodes( "/root/hardcd/hardcd" ).length;
  222. //if (model.instances(0).selectNodes(tempinstance+ "/dnorprcp").length == 0)
  223. if(tempinstancd == 0)
  224. {
  225. //model.copyNode(tempinstance,"/root/tmp"); //공여자 입력정보 저장
  226. }
  227. }
  228. // // // control 찾기
  229. // function fControlFind(xPath)
  230. // {
  231. // //var childObjCnt = document.controls.length;
  232. // //var childObj;
  233. //
  234. // var childObjCnt = this.objects.length;
  235. //
  236. // for(var i=0; i < childObjCnt; i++)
  237. // {
  238. // //childObj = this.controls.item(i);
  239. // childObj = this.controls;
  240. // var ref = childObj.attribute("ref");
  241. //
  242. // if (ref == xPath)
  243. // {
  244. // return childObj.attribute("id");
  245. // break;
  246. // }
  247. // }
  248. // return "";
  249. // }
  250. // //---------------------
  251. //
  252. // /**
  253. // * 20090219 dhkim
  254. // * 저장전 유효성체크
  255. // */
  256. function fIsValid()
  257. {
  258. //var xPath = "/root/main/dnorprcpinfo/dnorprcp";
  259. var xPath = ds_dnorprcp;
  260. //var nNode = model.instances(0).selectSingleNode(xPath);
  261. //var resnLength = ds_hardcd.rowcount; //model.instances(0).selectNodes( "/root/hardcd/hardcd" ).length;
  262. var xNode = ds_dnorprcp.rowcount;
  263. //var max = xNode.childNodes.length;
  264. var max = xNode.length;
  265. var obj, objNm, chkflag, objContNm;
  266. //if (model.getValue(xPath + "/dnorrrgstno1") == "")
  267. if( utlf_isNull(ds_dnorprcp.getColumn(0, "dnorrrgstno1")))
  268. {
  269. sysf_messageBox("주민등록번호를 입력하세요.", "E999", "");
  270. //objContNm = fControlFind(xPath + "/dnorrrgstno1");
  271. objContNm = ds_dnorprcp.getColumn(0, "dnorrrgstno1");
  272. if( utlf_isNull(objContNm))
  273. {
  274. //model.setFocus(objContNm);
  275. group5.inp_inrrgstno1.setFocus();
  276. }
  277. return false;
  278. }
  279. //if (model.getValue(xPath + "/dnorrrgstno2") == "")
  280. if(utlf_isNull(ds_dnorprcp.getColumn(0, "dnorrrgstno2")))
  281. {
  282. sysf_messageBox("주민등록번호를 입력하세요.", "E999", "");
  283. //objContNm = fControlFind(xPath + "/dnorrrgstno2");
  284. objContNm = ds_dnorprcp.getColumn(0, "dnorrrgstno2");
  285. if( utlf_isNull(objContNm))
  286. {
  287. //model.setFocus(objContNm);
  288. group5.inp_inrrgstno2.setFocus();
  289. }
  290. return false;
  291. }
  292. //if (model.getValue(xPath + "/dnorsex") == "")
  293. if( utlf_isNull(ds_dnorprcp.getColumn(0, "dnorsex")))
  294. {
  295. sysf_messageBox("성별을 입력하세요.", "E999", "");
  296. //objContNm = fControlFind(xPath + "/dnorsex");
  297. objContNm = ds_dnorprcp.getColumn(0, "dnorsex");
  298. if( utlf_isNull(objContNm))
  299. {
  300. //model.setFocus(objContNm);
  301. group5.rad_insex.setFocus();
  302. }
  303. return false;
  304. }
  305. //if (model.getValue(xPath + "/dnorage") == "")
  306. if( utlf_isNull(ds_dnorprcp.getColumn(0, "dnorage")))
  307. {
  308. sysf_messageBox("나이를 입력하세요.", "E999", "");
  309. //objContNm = fControlFind(xPath + "/dnorage");
  310. objContNm = ds_dnorprcp.getColumn(0, "dnorage");
  311. //if(objContNm != "")
  312. if( utlf_isNull(objContNm))
  313. {
  314. //model.setFocus(objContNm);
  315. group5.inp_inage.setFocus();
  316. }
  317. return false;
  318. }
  319. //if (model.getValue(xPath + "/dnornm") == "")
  320. if( utlf_isNull(ds_dnorprcp.getColumn(0, "dnornm")))
  321. {
  322. sysf_messageBox("성명을 입력하세요.", "E999", "");
  323. //objContNm = fControlFind(xPath + "/dnornm");
  324. objContNm = ds_dnorprcp.getColumn(0, "dnornm");
  325. //if(objContNm != "")
  326. if( utlf_isNull(objContNm))
  327. {
  328. //model.setFocus(objContNm);
  329. group5.input49.setFocus();
  330. }
  331. return false;
  332. }
  333. //if (model.getValue(xPath + "/jobcd") == "")
  334. if( utlf_isNull(ds_dnorprcp.getColumn(0, "jobcd")))
  335. {
  336. sysf_messageBox("직업을 입력하세요.", "E999", "");
  337. //objContNm = fControlFind(xPath + "/jobcd");
  338. objContNm = ds_dnorprcp.getColumn(0, "jobcd");
  339. if( utlf_isNull(objContNm))
  340. {
  341. //model.setFocus(objContNm);
  342. group5.combo12.setFocus();
  343. }
  344. return false;
  345. }
  346. //if (model.getValue(xPath + "/bdht") == "")
  347. if( utlf_isNull(ds_dnorprcp.getColumn(0, "bdht")))
  348. {
  349. sysf_messageBox("신장을 입력하세요.", "E999", "");
  350. //objContNm = fControlFind(xPath + "/bdht");
  351. objContNm = ds_dnorprcp.getColumn(0, "bdht");
  352. if( utlf_isNull(objContNm))
  353. {
  354. //model.setFocus(objContNm);
  355. group5.input52.setFocus();
  356. }
  357. return false;
  358. }
  359. //if (model.getValue(xPath + "/bdwt") == "")
  360. if( utlf_isNull(ds_dnorprcp.getColumn(0, "bdwt")))
  361. {
  362. sysf_messageBox("체중을 입력하세요.", "E999", "");
  363. //objContNm = fControlFind(xPath + "/bdwt");
  364. objContNm = ds_dnorprcp.getColumn(0, "bdwt");
  365. if( utlf_isNull(objContNm))
  366. {
  367. //model.setFocus(objContNm);
  368. group5.input54.setFocus();
  369. }
  370. return false;
  371. }
  372. //if (model.getValue(xPath + "/btype") == "")
  373. if( utlf_isNull(ds_dnorprcp.getColumn(0, "btype")))
  374. {
  375. sysf_messageBox("혈액형을 입력하세요.", "E999", "");
  376. //objContNm = fControlFind(xPath + "/btype");
  377. objContNm = ds_dnorprcp.getColumn(0, "btype");
  378. if( utlf_isNull(objContNm))
  379. {
  380. //model.setFocus(objContNm);
  381. group5.btype.setFocus();
  382. }
  383. return false;
  384. }
  385. //if (model.getValue(xPath + "/doncareryn") == "")
  386. if( utlf_isNull(ds_dnorprcp.getColumn(0, "doncareryn")))
  387. {
  388. sysf_messageBox("헌혈경험을 입력하세요.", "E999", "");
  389. //objContNm = fControlFind(xPath + "/doncareryn");
  390. objContNm = ds_dnorprcp.getColumn(0, "doncareryn");
  391. //if(objContNm != "")
  392. if( utlf_isNull(objContNm))
  393. {
  394. group5.radio12.setFocus();
  395. }
  396. return false;
  397. }
  398. // var rrgstno = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno1")
  399. // + model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno2"); //주민번호
  400. var rrgstno = ds_dnorprcp.getColumn(0, "dnorrrgstno1") + ds_dnorprcp.getColumn(0, "dnorrrgstno2");
  401. //나이 만17세 미만 50세 이상인 경우 저장시 '공여자 나이를 확인하세요' valid체크
  402. var birth = lf_aezfgetFullAge(rrgstno);
  403. //var dnorage = model.getValue(xPath + "/dnorage");
  404. var dnorage = ds_dnorprcp.getColumn(0, "dnorage");
  405. if(birth < 17 || birth >= 50 || dnorage < 17 || dnorage >= 50)
  406. {
  407. sysf_messageBox("공여자 나이를 확인하세요.", "E999", "");
  408. objContNm = ds_dnorprcp.getColumn(0, "dnorrrgstno1");
  409. //if(objContNm != "")
  410. if( utlf_isNull(objContNm) )
  411. {
  412. //model.setFocus(objContNm);
  413. group5.inp_inage.setFocus();
  414. }
  415. return false;
  416. }
  417. return true;
  418. }
  419. // /**
  420. // * @group :
  421. // * @ver : 2007.12.26
  422. // * @by : 신혁춘
  423. // * @---------------------------------------------------
  424. // * @type : function
  425. // * @access : public
  426. // * @desc : 공여자 정보 저장
  427. // * @param :
  428. // * @return :
  429. // * @---------------------------------------------------
  430. // */
  431. function fdnorsave(){
  432. //var xPath = "/root/main/dnorprcpinfo/dnorprcp";
  433. var xPath = ds_dnorprcp;
  434. //var nNode = model.instances(0).selectSingleNode(xPath);
  435. //var resnLength = ds_hardcd.rowcount; //model.instances(0).selectNodes( "/root/hardcd/hardcd" ).length;
  436. var xNode = ds_dnorprcp.rowcount;
  437. //var max = nNode.childNodes.length;
  438. //var max = xNode.childNodes.length;
  439. if(fIsValid())
  440. {
  441. //20080903 default 입력
  442. //var dontims = model.getValue(xPath + "/dontims");//헌혈횟수
  443. //var dontims = ds_dnornm.getColumn(0, "dontims", ds_dnorprcp.setColumn(0, "dontims"));
  444. var dontims = ds_dnorprcp.getColumn(0, "dontims");
  445. //var rectdondd = model.getValue(xPath + "/rectdondd");//최근헌혈일
  446. //var rectdondd = ds_dnornm.getColumn(0, "rectdondd", ds_dnorprcp.setColumn(0, "rectdondd"));
  447. var rectdondd = ds_dnorprcp.getColumn(0, "rectdondd");
  448. //var doncareryn = model.getValue("/root/main/dnorprcpinfo/dnorprcp/doncareryn");//헌혈경험
  449. //var doncareryn = ds_dnornm.getColumn(0, "doncareryn", ds_dnorprcp.setColumn(0, "doncareryn"));
  450. var doncareryn = ds_dnorprcp.getColumn(0, "doncareryn");
  451. if( utlf_isNull(dontims))
  452. {
  453. dontims = '0';
  454. }
  455. if( utlf_isNull(rectdondd))
  456. {
  457. rectdondd = '00000000';
  458. }
  459. if(doncareryn == "N")
  460. {
  461. //헌혈경험무
  462. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/dontims" , "0");//헌혈횟수
  463. ds_dnorprcp.setColumn(0, "dontims", "0");
  464. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/rectdondd", "00000000");//최근헌혈일
  465. //ds_dnorprcp.setColumn(0, "rectdondd", "00000000");
  466. ds_dnorprcp.setColumn(0, "rectdondd", "00000000");
  467. }
  468. else
  469. {
  470. //헌혈경험유
  471. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/dontims" , dontims);
  472. ds_dnorprcp.setColumn(0, "dontims");
  473. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/rectdondd", rectdondd);
  474. ds_dnorprcp.setColumn(0, "dontims");
  475. }
  476. //사용하지 않음 btype에 합쳐진 혈액형이 들어감(20080115)
  477. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/dnorabo", '-');
  478. ds_dnorprcp.setColumn(0, "dnorabo", '-');
  479. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/dnorrh", '-');
  480. ds_dnorprcp.setColumn(0, "dnorrh", '-');
  481. //model.removeNodeset("/root/send");
  482. //model.makenode("/root/send");
  483. //model.copyNode("/root/send", "/root/main/dnorprcpinfo/dnorprcp");
  484. //dsf_createDsRow("ds_send", [{col: "dnorno", val: dnorno }]);
  485. ds_dnorprcp.setColumn(0, "dnorno", group5.group1.inp_dnorno.value);
  486. //if(!submit("TXMNA00601"))
  487. var oParam = {};
  488. oParam.id = "TXMNA00601";
  489. oParam.service = "apumngtapp.DnorMngt";
  490. oParam.method = "reqExeDnorPrcp";
  491. oParam.inds = "refCond=ds_dnorprcp";
  492. oParam.outds = "ds_dnorprcp=dnorprcp";
  493. oParam.async = false;
  494. //oParam.callback = "cf_TXMNA00601";
  495. tranf_submit(oParam);
  496. // {
  497. // messageBox('공여자 등록을 실패하였습니다.', 'E999');
  498. // return;
  499. // }
  500. }
  501. }
  502. //
  503. //
  504. //
  505. //
  506. // /**
  507. // * @group :
  508. // * @ver : 2007.12.26
  509. // * @by : 신혁춘
  510. // * @---------------------------------------------------
  511. // * @type : function
  512. // * @access : public
  513. // * @desc : 공여자 정보 mapping 저장
  514. // * @param :
  515. // * @return :
  516. // * @---------------------------------------------------
  517. // */
  518. function fmapping(flag)
  519. {
  520. //매핑생성
  521. if(flag == "ins")
  522. {
  523. //var dnorno = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorno"); //공여자입력란
  524. //var doncode = model.getValue("/root/main/dnorprcpinfo/dnorprcp/doncode");
  525. var dnorno = ds_dnorprcp.getColumn(0, "dnorno");
  526. var doncode = ds_dnorprcp.getColumn(0, "doncode");
  527. var Rows = ds_datagrid8.rowcount; //환자리스트
  528. var iRow = ds_datagrid8.rowposition;
  529. if(iRow < 0)
  530. {
  531. sysf_messageBox("환자를 선택 하지", "E007");
  532. return;
  533. }
  534. if(utlf_isNull(dnorno))
  535. {
  536. sysf_messageBox("공여자를 검색 또는 저장이 되지 않아 Mapping을", "E001");
  537. return;
  538. }
  539. if(utlf_usNull(doncode))
  540. {
  541. sysf_messageBox("헌혈구분을 선택 하지 않아 Mapping을", "E001");
  542. return;
  543. }
  544. //var xPatList = "/root/main/patinfo/patlist"; //환자리스트
  545. var xPatList = ds_datagrid8;
  546. //model.removeNodeset("/root/send");
  547. for(i = 0; i < Rows; i++)
  548. {
  549. //var flag = model.getValue(xPatList+"["+i+"]/flag"); //선택되었으면
  550. var flag = ds_datagrid8.getColumn(i, "flag");
  551. if(flag == 1)
  552. {
  553. ds_send.setColumn(0, "pid", ds_datagrid8.getColumn(i, "pid"));
  554. ds_send.setColumn(0, "hngnm", ds_datagrid8.getColumn(i, "hngnm"));
  555. ds_send.setColumn(0, "sex", ds_datagrid8.getColumn(i, "sex"));
  556. ds_send.setColumn(0, "age", ds_datagrid8.getColumn(i, "age"));
  557. ds_send.setColumn(0, "rrgstno1", ds_datagrid8.getColumn(i, "rrgstno1"));
  558. ds_send.setColumn(0, "rrgstno2", ds_datagrid8.getColumn(i, "rrgstno2"));
  559. break;
  560. }
  561. }
  562. //model.makeValue("/root/send/m", "I");
  563. ds_send.setColumn(0, "m", "I");
  564. //model.makeValue("/root/send/dnorno", model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorno"));
  565. ds_send.setColumn(0, "dnorno", ds_dnorprcp.getColumn(0, "dnorno"));
  566. //model.makeValue("/root/send/dnorseqno", model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorseqno"));
  567. var tempcode = "";
  568. var tempflag = "";
  569. var tempkindcd = "";
  570. //tempcode = model.getValue("/root/main/dnorprcpinfo/dnorprcp/doncode");
  571. tempcode = ds_dnorprcp.getColumn(0, "doncode");
  572. tempflag = tempcode.substr(0,1);
  573. tempkindcd = tempcode.substr(1,1);
  574. //model.makeValue("/root/send/donflag" ,tempflag );
  575. ds_send.setColumn(0, "donflag", tempflag);
  576. //model.makeValue("/root/send/donkindcd" ,tempkindcd );
  577. ds_send.setColumn(0, "donkindcd", tempkindcd);
  578. }
  579. else if(flag == "del")
  580. {
  581. //매핑취소
  582. var iRow = ds_datagrid9.rowposition; //공여자 매핑현황 리스트
  583. var xPatMap = ds_datagrid9; //공여자 매핑현황 리스트
  584. var Rows = ds_datagrid8.rowcount; //환자 현황 리스트
  585. var xPatList = ds_datagrid8; //환자 현황 리스트
  586. if(iRow < 0)
  587. {
  588. sysf_messageBox("공여자를 선택 하지", "E007");
  589. return;
  590. }
  591. ds_send.setColumn(0, "m", "D");
  592. ds_send.setColumn(0, "pid", ds_datagrid9.getColumn(iRow, "pid"));
  593. ds_send.setColumn(0, "dnorno", ds_datagrid9.getColumn(iRow, "dnorno"));
  594. ds_send.setColumn(0, "dnorseqno", ds_datagrid9.getColumn(iRow, "dnorseqno"));
  595. }
  596. //if(submit("TXMNA00602"))
  597. var oParam = {};
  598. oParam.id = "TXMNA00602";
  599. oParam.service = "apumngtapp.DnorMngt";
  600. oParam.method = "reqExePatMap";
  601. oParam.inds = "refCond=ds_send";
  602. oParam.outds = "";
  603. oParam.async = false;
  604. //oParam.callback = "cf_TXMNA00602";
  605. tranf_submit(oParam);
  606. fpatmapselect("map")
  607. }
  608. // /**
  609. // * @group :
  610. // * @ver : 2007.12.27
  611. // * @by : 신혁춘
  612. // * @---------------------------------------------------
  613. // * @type : function
  614. // * @access : public
  615. // * @desc : 공여자 정보 mapping 정보 조회
  616. // * @param :
  617. // * @return :
  618. // * @---------------------------------------------------
  619. // */
  620. function fpatmapselect(flag)
  621. {
  622. var Rows = ds_datagrid8.rowcount;
  623. var iRow = ds_datagrid8.rowposition;
  624. var xPatList = ds_datagrid8; //환자현황 리스트
  625. //model.setValue("/root/main/dnorprcpinfo/dnorprcp/doncode","");
  626. if (Rows <= 1 || iRow < 0) return;
  627. if(flag != "map")
  628. {
  629. for(i = 0; i < Rows; i++)
  630. {
  631. //model.setValue(xPatList+"["+i+"]/flag","0");
  632. ds_datagrid8.setColumn(i, "flag", "0");
  633. }
  634. //model.setValue(xPatList+"["+iRow+"]/flag","1");
  635. ds_datagrid8.setColumn(iRow, "flag", "1");
  636. }
  637. //model.removeNodeset("/root/send");
  638. //model.makeValue("/root/send/pid",model.getValue(xPatList+"["+iRow+"]/pid"));
  639. ds_send.setColumn(0, "pid", ds_datagrid8.getColumn(iRow, "pid"));
  640. var oParam = {};
  641. oParam.id = "TRMNA00604";
  642. oParam.service = "apumngtapp.DnorMngt";
  643. oParam.method = "reqGetPatMapList";
  644. oParam.inds = "refCond=ds_send";
  645. oParam.outds = "ds_datagrid9=patmap";
  646. oParam.async = false;
  647. //oParam.callback = "cf_TRMNA00604";
  648. tranf_submit(oParam);
  649. }
  650. // /**
  651. // * @group :
  652. // * @ver : 2007.12.27
  653. // * @by : 신혁춘
  654. // * @---------------------------------------------------
  655. // * @type : function
  656. // * @access : public
  657. // * @desc : 공여자 정보 조회
  658. // * @param :
  659. // * @return :
  660. // * @---------------------------------------------------
  661. // */
  662. // function fdnorprcprrg(){
  663. // setInputNodeCurText();
  664. // var dnorrrgstno1 = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno1");
  665. // var dnorrrgstno2 = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno2");
  666. //
  667. // if(dnorrrgstno2.length == 7 && dnorrrgstno1.length == 6){
  668. //
  669. // rrgstno = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno1") + model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno2")
  670. // input59.value = rrgstno;
  671. // input59.refresh();
  672. // fdnorselt();
  673. //
  674. // var dnornm = model.getValue("/root/main/dnorprcpinfo/dnorprcp/dnornm");
  675. //
  676. // if(dnornm == ""){
  677. // model.setValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno1",dnorrrgstno1);
  678. // model.setValue("/root/main/dnorprcpinfo/dnorprcp/dnorrrgstno2",dnorrrgstno2);
  679. // model.refresh();
  680. // input59.value = "";
  681. // input59.refresh();
  682. // }
  683. // }
  684. // }
  685. //
  686. // //-------------------------------------
  687. // // 주민 번호 확인
  688. // //-------------------------------------
  689. function fdnorrrgstnocheck(flag)
  690. {
  691. var dnorrrgstno1 = "";
  692. var dnorrrgstno2 = "";
  693. var tempValue1 = "";
  694. var tempValue2 = "";
  695. dnorrrgstno1 = ds_dnorprcp.getColumn(0, "dnorrrgstno1");
  696. dnorrrgstno2 = ds_dnorprcp.getColumn(0, "dnorrrgstno2");
  697. tempValue1 = dnorrrgstno1 + dnorrrgstno2;
  698. //나이자동계산설정
  699. tempValue2 = lf_aezfgetFullAge(tempValue1);
  700. if(tempValue2 == -1)
  701. {
  702. ds_dnorprcp.setColumn(0, "dnorage", "");
  703. }
  704. else
  705. {
  706. ds_dnorprcp.setColumn(0, "dnorage", tempValue2);
  707. }
  708. //주민번호체크
  709. tempValue2 = utlf_isRsrNo(tempValue1);
  710. alert(tempValue2);
  711. if (tempValue2)
  712. {
  713. tempValue2 = utlf_getSex(tempValue1);
  714. ds_dnorprcp.setColumn(0, "dnorsex", tempValue2);
  715. }
  716. else
  717. {
  718. sysf_messageBox("유효한 주민번호가 아닙니다.", "E999", "");
  719. ds_dnorprcp.setColumn(0, "dnorsex", "");
  720. group5.inp_inrrgstno2.setFocus();
  721. return;
  722. }
  723. }
  724. //
  725. //
  726. // // --------------------------------------------------
  727. // // 상단환자정보세팅하기
  728. // // --------------------------------------------------
  729. function fSetPatInfo()
  730. {
  731. alert("fSetPatInfo");
  732. var pGrd = ds_datagrid8;
  733. if (pGrd.rowcount <= 0 || pGrd.rowposition <= 0) return;
  734. var pGrdRow = ds_datagrid8.rowposition;
  735. //var sPath = "/root/main/patinfo/patlist["+ pGrdRow+"]" ;
  736. //var sPath = ds_datagrid8.setColumn(pGrdRow);
  737. //var siogb = model.getValue(sPath + "/iogb");
  738. var siogb = ds_datagrid8.getColumn(pGrdRow, "iogb");
  739. if (siogb == "입원") siogb = "I";
  740. if (siogb == "외래") siogb = "O";
  741. alert(siogb);
  742. if (utlf_isNull(siogb))
  743. {
  744. sysf_messageBox("접수정보가 없습니다.", "E999", "");
  745. return;
  746. }
  747. //var pid = model.getValue(sPath + "/pid");
  748. var pid = ds_datagrid8.getColumn(pGrdRow, "pid");
  749. //var orddd = model.getValue(sPath + "/orddd");
  750. var orddd = ds_datagrid8.getColumn(pGrdRow, "orddd");
  751. //var cretno = model.getValue(sPath + "/cretno");
  752. var cretmp = ds_datagrid8.getColumn(pGrdRow, "cretno");
  753. //var instcd = getUserInfo("dutplceinstcd");
  754. var instcd = sysf_getUserInfo("dutplceinstcd");
  755. var param = siogb + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
  756. //alert(param);
  757. //setParameter("condparam", param);
  758. frmf_setParameter("condparam", param);
  759. frmf_modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  760. }
  761. // --------------------------------------------------
  762. // 팝업메뉴
  763. // --------------------------------------------------
  764. function fShowPopupMenu(gridID, menuPath)
  765. {
  766. var gridObj = document.controls.item(gridID);
  767. //if(event.button == 3)
  768. if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows)
  769. {
  770. window.setPopupMenu(true, menuPath, "name", "func", false);
  771. }
  772. else
  773. {
  774. window.setPopupMenu(false);
  775. }
  776. }
  777. // /*
  778. // * 팝업
  779. // */
  780. function fSearchPatInfo()
  781. {
  782. var vTemp = group5.group1.inp_dnorno.value;
  783. var vsrchcond = "2";
  784. // dsf_createDsRow("ds_temp", [{col: "srchcond", val: vsrchcond}
  785. // ,{col: "dnorno", val: vTemp}
  786. // ,{col: "autoflag", val: "Y"}]);
  787. ds_send.setColumn(0, "srchcond", vsrchcond);
  788. ds_send.setColumn(0, "dnorno", vTemp);
  789. ds_send.setColumn(0, "autoflag", "Y");
  790. if( !utlf_isNull(vTemp))
  791. {
  792. vsrchcond = "2";
  793. ds_send.setColumn(0, "srchcond", vsrchcond);
  794. ds_send.setColumn(0, "dnornm", vTemp);
  795. ds_send.setColumn(0, "autoflag", "Y");
  796. }
  797. var objArg = new Object();
  798. objArg.arg_ds_send = ds_send;
  799. //팝업조건설정
  800. frmf_modal("SPMNA02000", "SPMNA02000", objArg, null, null, null, null, null, null, null, null, null, "M");
  801. //alert(ds_send.setColumn(0, "dnornm"));
  802. //ds_dnorprcp.copyData(ds_grd_dnorinfo);
  803. ds_dnorprcp.copyData("SPMMA02000_dnorprcp");
  804. //if(ds_popupendflag.getColumn(0, "popup") == "ok")
  805. if(!utlf_isNull(this.objects["ds_dnorprcp"]))
  806. {
  807. var idnorno = ds_dnorprcp.getColumn(0, "dnorno")
  808. var idnornm = ds_dnorprcp.getColumn(0, "dnornm");
  809. var irrgstno = ds_dnorprcp.getColumn(0, "dnorrrgstno1") + ds_dnorprcp.getColumn(0, "dnorrrgstno2");
  810. ds_rghtref.setColumn(0, "dnorno", idnorno);
  811. ds_rghtref.setColumn(0, "dnornm", idnornm);
  812. ds_rghtref.setColumn(0, "dnorrrgstno", irrgstno);
  813. //조회값이 존재하면 자동으로 조회함l
  814. fdnorselt();
  815. }
  816. }
  817. //
  818. // /*
  819. // * 엑셀출력
  820. // */
  821. function fExcel()
  822. {
  823. var pGrd = ds_datagrid8;
  824. if (pGrd.rowcount > 0)
  825. {
  826. grdf_exportExcel(group5.datagrid8, "공여자리스트", true, "" , "" , true);
  827. }
  828. else
  829. {
  830. sysf_messageBox("자료가 존재하지 않습니다.", "E999", "");
  831. }
  832. }
  833. /*
  834. 공여자 신규 등록
  835. */
  836. function fDnorInsert()
  837. {
  838. alert("공여자를 신규로 입력합니다");
  839. ds_dnorprcp.clearData();
  840. ds_rghtref.clearData();
  841. ds_dnorprcp.addRow();
  842. ds_rghtref.addRow();
  843. group5.inp_inrrgstno1.setFocus();
  844. }
  845. //--------------------------
  846. // 컨트롤focusin backcolor
  847. //--------------------------
  848. // function ffocusInBackColor() {
  849. // //var src_combo = document.all(event.currentTarget).label;
  850. // // var etc_control = components[trg_control];
  851. // // var src_combo = cur_control.text;
  852. // // if(src_combo == "기타"){
  853. // // etc_control.visible = true;
  854. // // }else {
  855. // var Control = document.all.item(event.currentTarget);
  856. // Control.attribute("background-color") = focusInBackColor;
  857. // }
  858. // function ffocusOutBackColor() {
  859. // var Control = document.all.item(event.currentTarget);
  860. // Control.attribute("background-color") = focusOutBackColor;
  861. // }
  862. function group5_datagrid8_onrbuttonup(obj:Grid, e:GridMouseEventInfo)
  863. {
  864. frmf_setPopupMenuDs( "pmn_popupMenu", [{id: "fSetPopup01", level: "0", title: "공여자처방입력", }
  865. , {id: "fSetPopup02", level: "0", title: "공여자문진"}
  866. , {id: "fSetPopup03", level: "0", title: "ocr서식지출력"}
  867. , {id: "fSetPopup04", level: "0", title: "검사결과판정조회"}
  868. , {id: "fSetPopup05", level: "0", title: "환자진료정보조회"}
  869. , {id: "fSetPopup06", level: "0", title: "통합검사결과조회"}
  870. ]);
  871. pmn_popupMenu.trackPopup(e.screenX,e.screenY);
  872. }
  873. //우클릭조회
  874. function pmn_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  875. {
  876. if(e.id == "fSetPopup01")
  877. {
  878. alert("공여자처방입력");
  879. fSetPatInfo();
  880. frmf_modal("SMMNA01300", "SMMNA01300", "", "", "", "", "", "", "", "", "", "", "M");
  881. }
  882. else if(e.id == "fSetPopup02")
  883. {
  884. alert("공여자문진");
  885. fSetPatInfo();
  886. frmf_modal("SMMNA00700", "SMMNA00700", "", "", "", "", "", "", "", "", "", "", "M");
  887. }
  888. else if(e.id == "fSetPopup03")
  889. {
  890. alert("orc서식지출력");
  891. fSetPatInfo();
  892. frmf_modal("SMMRF02300", "SMMRF02300", "", "", "", "", "", "", "", "", "", "", "M");
  893. }
  894. else if(e.id == "fSetPopup04")
  895. {
  896. alert("검사결과판정조회");
  897. fSetPatInfo();
  898. frmf_modal("SMMNA00900", "SMMNA00900", "", "", "", "", "", "", "", "", "", "", "M");
  899. }
  900. else if(e.id == "fSetPopup05")
  901. {
  902. alert("환자진료정보조회");
  903. fSetPatInfo();
  904. frmf_modal("SMMMO02500", "SMMMO02500", "", "", "", "", "", "", "", "", "", "", "M");
  905. }
  906. else
  907. {
  908. alert("통합검사결과조회");
  909. fSetPatInfo();
  910. frmf_modal("SMAER00800", "SMAER00800", "", "", "", "", "", "", "", "", "", "", "M");
  911. }
  912. }]]></Script>