AEZMOB1.js 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598
  1. /**
  2. * 통합검사결과조회 모바일용 js 파일
  3. * 작성일자 : 2011.05.17 진상찬
  4. */
  5. function init()
  6. {
  7. if(checkOpener()) {
  8. document.title ="통합검사결과조회 - "+"[ "+getUserInfo("dutplcenm")+" "+getUserInfo("usernm")+" ]";
  9. }
  10. model.setValue("/root/send/data/singdata/srchpid", model.property("pid"));
  11. model.setValue("/root/send/data/singdata/deptcd", model.property("orddeptcd"));
  12. model.setValue("/root/send/data/singdata/deptnm", model.property("deptnm"));
  13. model.setValue("/root/send/data/singdata/drnm", model.property("medispclnm"));
  14. model.setValue("/root/send/data/singdata/drid", model.property("drid"));
  15. // 조회기준 : [/root/send/data/singdata/listflag]
  16. // 보고일 : Z
  17. if ( rdo_statecd.value == "Z" ) {
  18. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = false;
  19. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = true;
  20. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1")) = true;
  21. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd"))= false;
  22. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = true;
  23. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = false;
  24. // 검사일 : J
  25. } else if ( rdo_statecd.value == "J" ) {
  26. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = false;
  27. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = true;
  28. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = true;
  29. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = false;
  30. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1")) = true;
  31. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd")) = false;
  32. // 처방일 : P
  33. } else if ( rdo_statecd.value == "P" ) {
  34. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1"))= false;
  35. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd")) = true;
  36. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = true;
  37. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = false;
  38. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = true;
  39. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = false;
  40. }
  41. // 이미지 object, 브라우져 object 비활성화
  42. //document.controls("obj_imge").attribute("visibility") = "hidden";
  43. aezfSetSuppDeptcd();
  44. // 병리에서 사용 근무지 기관코드 가져오기
  45. model.setValue("/root/send/globalinstance/instance2", getUserInfo("dutplceinstcd") );
  46. /*****************************************************************************************************************************/
  47. //사용자 환경설정 20081204
  48. //통합검사결과조회 조회기간(3개월~2년)
  49. fSetUserTermInit();
  50. // 조회기간, Combo Box 초기화
  51. // ipt_date1.value = getCurrentDate();
  52. // var vRsrvdd = ipt_date1.value ;
  53. // vRsrvdd = vRsrvdd.toDate("YYYYMMDD");
  54. // vRsrvdd = vRsrvdd.getAddDate(-90);
  55. // ipt_date1.value = vRsrvdd.getDateFormat();
  56. // ipt_date2.value = getCurrentDate();
  57. // model.setValue("/root/send/data/term", 90);
  58. /*****************************************************************************************************************************/
  59. cmb_wardcd.select(0);
  60. cmb_roomcd.select(0);
  61. // LIS 중분류 리스트 조회 조건 설정
  62. model.setValue("/root/send/codeflag", "0102|");
  63. //submit("TRAER00823", false); <-- 진상찬 수정 : 검사분류별 누적조회만 가져 오도록 수정
  64. submit("TRMOB00013", false);
  65. // 성가요청사항 타이틀 변경 2009.07.09
  66. model.setValue("/root/init/cmb_basecd/LB0102[1]/nm", " 검사분류별 누적조회");
  67. if ( model.getValue("/root/send/data/singdata/srchpid") != "" ) {
  68. if ( (model.getValue("/root/send/data/singdata/srchdate11") != "" )
  69. && (model.getValue("/root/send/data/singdata/srchdate22") != "" )
  70. && (model.getValue("/root/send/data/singdata/listflag2") != "" ) ) { // 진료요청 , 20080116
  71. model.setValue("/root/send/data/singdata/srchdate1", model.getValue("/root/send/data/singdata/srchdate11") );
  72. model.setValue("/root/send/data/singdata/srchdate2", model.getValue("/root/send/data/singdata/srchdate22") );
  73. model.setValue("/root/send/data/singdata/listflag", model.getValue("/root/send/data/singdata/listflag2") );
  74. }
  75. aezfGetSrchPatInfo("1", model.getValue ( "/root/send/data/singdata/srchpid" ), getUserInfo("dutplceinstcd"), "patchosinfo", "/root/main/patinfo/patinfolist" );
  76. //model.setValue("/root/send/data/singdata/chkcheck", "ALL"); // 병리과 버튼 비활서 후 "" 세팅
  77. // 진상찬 20110517 flag수정 진검만 ALL -> A
  78. model.setValue("/root/send/data/singdata/chkcheck1", "A");
  79. //model.refresh();
  80. /*****************************************************************************************************************************/
  81. //사용자 환경설정 20081204
  82. //사용자 진료과 전체선택 유무 20081210
  83. //fSetUserBaseInit();
  84. fSetUserDeptInit();
  85. fSetUserTabInit();
  86. /*****************************************************************************************************************************/
  87. }
  88. // 병리결과 버튼 비활성화여부
  89. var instance1 = model.getValue("/root/send/globalinstance/instance1");
  90. model.setValue("/root/send/globalinstance/instance1","1000000000");
  91. model.setValue("/root/send/grupcdid","S001");
  92. if (submit("TRAEB00010")) {
  93. if (model.getValue("/root/main/codelist/item/cdid") == "Y") {
  94. btn_PathoRsltOld.visible = true;
  95. }
  96. }
  97. model.setValue("/root/send/globalinstance/instance1",instance1);
  98. model.setValue("/root/send/data/singdata/chkcheck", "");
  99. //model.setFocus("ipt_pid");
  100. // opener 검사 20090727 진료 김소정 선생님 요청.
  101. // 임상시험 의뢰자 관련하여 [피보험자]라는 화면에서 결과조회를 팝업으로 CALL 할때 다른 등록번호를 조회할 수 없도록.
  102. if(checkOpener()) {
  103. var authflagpid = opener.javascript.getParameter("opener_parameter_id"); //opener parameter value를 get
  104. var authflag = opener.javascript.getParameter("opener_parameter_authflag"); //opener parameter value를 get
  105. if (authflag == "N"){
  106. //alert("임상시험 피보험자 화면에서 Call");
  107. ipt_pid.disabled = true; // 등록번호 입력란
  108. button5.visible = false; // 이름 검색버튼
  109. btn_MyPatList.visible = false; // 대상자조회 버튼
  110. button40.visible = false; // 출력 버튼
  111. button1.visible = false; // 엑셀 버튼
  112. model.setValue("/root/send/data/singdata/srchpid", authflagpid);
  113. aezfGetSrchPatInfo("1", model.getValue ( "/root/send/data/singdata/srchpid" ), getUserInfo("dutplceinstcd"), "patchosinfo", "/root/main/patinfo/patinfolist" );
  114. model.makeNode("/root/hidden/patinfo/patinfolist");
  115. copyNodesetType("/root/hidden/patinfo/patinfolist", "/root/main/patinfo/patinfolist" , "replace");
  116. }
  117. }
  118. model.refresh();
  119. }
  120. /* @group : 결과조회
  121. * @ver : 2007.06.14
  122. * @by : 장준원
  123. * @-----------------------------------
  124. * @type : function
  125. * @access : public
  126. * @desc : 사용자 환경설정 tab 세팅
  127. */
  128. function fSetUserTabInit(){
  129. var chkbutton = "A";
  130. //var AnswData = fGetIntefeAnsw("002");
  131. //2011-05-27 진상찬: 분류별로 고정
  132. var AnswData = "분류별";
  133. if(AnswData != "" ) {
  134. if( AnswData == "분류별" ){
  135. btn_case1.selected = true;
  136. if ( chkbutton == "A" ){
  137. fGetHemoDailyList();
  138. }else if ( chkbutton == "B" ) {
  139. fGetPlgyDailyList();
  140. }else if ( chkbutton == "C" ) {
  141. fGetPhotDailyList();
  142. }else if ( chkbutton == "D" ) {
  143. fGetNuclDailyList();
  144. }else if ( chkbutton == "E" ) {
  145. fGetColonyDailyList();
  146. }else if ( chkbutton == "F" ) {
  147. fGetFuncDailyList();
  148. }else if ( chkbutton == "G" ) {
  149. fGetCellDailyList();
  150. }else {
  151. btn_case1.dispatch("DOMActivate");
  152. model.toggle("case1");
  153. }
  154. }
  155. }else{
  156. if ( chkbutton == "ALL" ) {
  157. fGetSytsRsltRefList("ALL","B");
  158. }
  159. }
  160. }
  161. /* SET 관련 FUNCTION END */
  162. /* @group : 결과조회
  163. * @ver : 2007.06.14
  164. * @by : 장준원
  165. * @-----------------------------------
  166. * @type : function
  167. * @access : public
  168. * @desc : 결과 조회 진단검사 연속보기 Function
  169. */
  170. function fGetHemoDailyList() {
  171. model.setValue("/root/send/data/singdata/chkcheck1", "A");
  172. fcheckyn2('A');
  173. // 2011-05-27 진상찬: 조회 버튼 이벤트로 수정
  174. btn_srch.dispatch("DOMActivate");
  175. //fGetSytsRsltRefList("A","B");
  176. }
  177. /* @group : 결과조회
  178. * @ver : 2007.06.14
  179. * @by : 장준원
  180. * @-----------------------------------
  181. * @type : function
  182. * @access : public
  183. * @desc : 검사구분을 Check 하기 위한 Function
  184. */
  185. function fcheckyn2(gubn) {
  186. switch (gubn) {
  187. case "A" :
  188. model.setValue("/root/send/data/singdata/chkcheck","");
  189. model.setValue("/root/send/data/singdata/chkcheck2", ""); model.setValue("/root/send/data/singdata/chkcheck3", "");
  190. model.setValue("/root/send/data/singdata/chkcheck4", ""); model.setValue("/root/send/data/singdata/chkcheck5", "");
  191. model.setValue("/root/send/data/singdata/chkcheck6", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  192. case "B" :
  193. model.setValue("/root/send/data/singdata/chkcheck","");
  194. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck3", "");
  195. model.setValue("/root/send/data/singdata/chkcheck4", ""); model.setValue("/root/send/data/singdata/chkcheck5", "");
  196. model.setValue("/root/send/data/singdata/chkcheck6", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  197. case "C" :
  198. model.setValue("/root/send/data/singdata/chkcheck","");
  199. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck2", "");
  200. model.setValue("/root/send/data/singdata/chkcheck4", ""); model.setValue("/root/send/data/singdata/chkcheck5", "");
  201. model.setValue("/root/send/data/singdata/chkcheck6", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  202. case "D" :
  203. model.setValue("/root/send/data/singdata/chkcheck","");
  204. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck2", "");
  205. model.setValue("/root/send/data/singdata/chkcheck3", ""); model.setValue("/root/send/data/singdata/chkcheck5", "");
  206. model.setValue("/root/send/data/singdata/chkcheck6", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  207. case "E" :
  208. model.setValue("/root/send/data/singdata/chkcheck","");
  209. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck2", "");
  210. model.setValue("/root/send/data/singdata/chkcheck3", ""); model.setValue("/root/send/data/singdata/chkcheck4", "");
  211. model.setValue("/root/send/data/singdata/chkcheck6", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  212. case "F" :
  213. model.setValue("/root/send/data/singdata/chkcheck","");
  214. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck2", "");
  215. model.setValue("/root/send/data/singdata/chkcheck3", ""); model.setValue("/root/send/data/singdata/chkcheck4", "");
  216. model.setValue("/root/send/data/singdata/chkcheck5", ""); model.setValue("/root/send/data/singdata/chkcheck7", ""); break;
  217. case "G" :
  218. model.setValue("/root/send/data/singdata/chkcheck","");
  219. model.setValue("/root/send/data/singdata/chkcheck1", ""); model.setValue("/root/send/data/singdata/chkcheck2", "");
  220. model.setValue("/root/send/data/singdata/chkcheck3", ""); model.setValue("/root/send/data/singdata/chkcheck4", "");
  221. model.setValue("/root/send/data/singdata/chkcheck5", ""); model.setValue("/root/send/data/singdata/chkcheck6", ""); break;
  222. default : break;
  223. }
  224. }
  225. /* @group : 결과조회
  226. * @ver : 2007.06.14
  227. * @by : 장준원
  228. * @-----------------------------------
  229. * @type : function
  230. * @access : public
  231. * @desc : 분류별/그룹별의 분류버튼들의 우선 조회순위 기준 세팅
  232. */
  233. function fSetUserSeriesButtonInit(){
  234. var AnswData = fGetIntefeAnsw("012");
  235. if(AnswData != "" ) {
  236. if( AnswData == "전체" ){
  237. return "ALL";
  238. }
  239. if( AnswData == "진검" ){
  240. return "A";
  241. }
  242. if( AnswData == "병리" ){
  243. return "B";
  244. }
  245. if( AnswData == "영상" ){
  246. return "C";
  247. }
  248. if( AnswData == "핵체외" ){
  249. return "D";
  250. }
  251. if( AnswData == "내시경" ){
  252. return "E";
  253. }
  254. if( AnswData == "기능" ){
  255. return "F";
  256. }
  257. if( AnswData == "미생물" ){
  258. return "G";
  259. }
  260. }else {
  261. return "ALL";
  262. }
  263. }
  264. /**
  265. * 세션 GET
  266. */
  267. function aezfSetSuppDeptcd() {
  268. var dutplcecd = getUserInfo("dutplcecd");
  269. //var selectplcecd = getScreenPrestDeptCd();
  270. var selectplcecd = "";
  271. if ( selectplcecd == "" ) {
  272. selectplcecd = dutplcecd;
  273. //selectplcenm = dutplcenm;
  274. }
  275. model.setValue("/root/send/globalinstance/instance1", selectplcecd);
  276. }
  277. /**
  278. * @desc : 통합결과조회
  279. * @
  280. * @param :
  281. * @return :
  282. * @authur : 김건기 2009.07.14
  283. * @---------------------------------------------------
  284. */
  285. function fGetSytsRsltRefList(chkcheck, srchflag){
  286. model.setValue("/root/send/data/singdata/chkcheck", chkcheck);
  287. // 분류별
  288. if (srchflag == "B") {
  289. model.toggle("case1");
  290. if (chkcheck == "A") {
  291. datagrid2.visible = false;
  292. //grd_subresultdetail1.visible = false;
  293. //2011-05-25 진검검사에서 그리드 보이도록 수정
  294. grd_subresultdetail1.visible = true;
  295. } else {
  296. datagrid2.visible = false;
  297. grd_subresultdetail1.visible = true;
  298. }
  299. //fGetWideListX1(switch1, grd_maindaily);
  300. fGetWideListX1(grd_maindaily);
  301. // 조건 체크
  302. var check = fGetMainListCondiCheck_Case1();
  303. if ( check == "0" ) return true;
  304. if ( model.getValue("/root/send/data/singdata/chkcheck") == "ALL" ) {
  305. fcheckyn();
  306. }
  307. // Grid 초기화
  308. fInitGrid();
  309. // Progress Start
  310. //openLoadingBar();
  311. // 환자정보
  312. // 2011-05-27 진상찬: 화면 로드시 환자정보를 가져오기에 주석처리
  313. //fGetMainSrchPatInfo();
  314. model.setValue("/root/send/data/singdata/srchflag", srchflag);
  315. submit("TRAER00830",false);
  316. model.makeNode("/root/main/patinfo/patinfolist");
  317. copyNodesetType("/root/main/patinfo/patinfolist", "/root/hidden/patinfo/patinfolist" , "replace");
  318. //model.refresh();
  319. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  320. // 일자별 전체조회일경우만 기준일자 조회
  321. if ( srchLength1 > 0 ) {
  322. var orddd = model.getValue("/root/main/baseorddd/initorddd/orddd");
  323. var gubun = model.getValue("/root/main/baseorddd/initorddd/gubun");
  324. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  325. // Grid Background Color Clear
  326. for ( var i = 1; i <= srchLength1; i++ ) {
  327. grd_maindaily.rowStyle( i , "data" , "background-color" ) = "#ffffff";
  328. }
  329. for ( var i = 1; i <= srchLength1; i++ ) {
  330. // 전자서명번호가 존재하면 색상을 변경한다. 즉, 사본출력가능한 처방이면서 원래 서식모양으로 보여주기 위해, 20080214
  331. if ( model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno") == "") {
  332. var signno = 0;
  333. }else {
  334. var signno = parseInt(model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno"));
  335. }
  336. if ( signno > 0 ) {
  337. grd_maindaily.rowStyle( i , "data" , "background-color" ) = "#b9e5fb";
  338. }
  339. }
  340. // 1. execprcpuniqno가 0이 아니면서(검사/치료만적용)
  341. // 2. Signno가 동일 값이면
  342. // => 다중처방 단일서식이기에 결과내역은 한 건만 조회되게 한다.
  343. var flag = "N";
  344. for ( var i = 1; i <= srchLength1; i++ ) {
  345. var execprcpuniqno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/execprcpuniqno");
  346. var signno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno");
  347. if ( execprcpuniqno != "0" && signno != "0" && signno != "" ) {
  348. for ( var j = 1; j <= srchLength1; j++ ) {
  349. var vsignno = model.getValue("/root/main/ordlist1/maindailylist[" + j + "]/signno");
  350. if ( i != j && signno == vsignno ) {
  351. // 다중 처방이면서 단일서식 결과가 존재합니다
  352. model.setValue("/root/main/ordlist1/maindailylist[" + j + "]/check", "N");
  353. flag = "Y";
  354. }
  355. }
  356. }
  357. if ( flag == "Y" ) break;
  358. }
  359. model.refresh();
  360. // 기본설정 기능으로 결과상세조회할 지 의 여부를 판단한다. 20090109
  361. fGetResultContinueListInit1();
  362. // 날짜별 정렬
  363. //fSort();
  364. } else {
  365. model.refresh();
  366. }
  367. // Progress End
  368. //closeLoadingBar();
  369. // 그룹별
  370. } else if (srchflag == "G") {
  371. model.toggle("case5");
  372. if (chkcheck == "A") {
  373. datagrid2.visible = false;
  374. grp_makedset.visible = false;
  375. grd_subresultdetail1.visible = false;
  376. grd_subresultdetail2.visible = true;
  377. } else {
  378. datagrid2.visible = false;
  379. grp_makedset.visible = false;
  380. grd_subresultdetail2.visible = false;
  381. grd_subresultdetail1.visible = true;
  382. }
  383. //fGetWideListX1(switch1, grd_maindaily);
  384. fGetWideListX1(grd_maindaily);
  385. // 조건 체크
  386. var check = fGetMainListCondiCheck_Case1();
  387. if ( check == "0" ) return true;
  388. if ( model.getValue("/root/send/data/singdata/chkcheck") == "ALL" ) {
  389. fcheckyn();
  390. }
  391. // Grid 초기화
  392. fInitGrid();
  393. // Progress Start
  394. //openLoadingBar();
  395. // 환자정보
  396. // 2011-05-27 진상찬: 화면 로드시 환자정보를 가져오기에 주석처리
  397. //fGetMainSrchPatInfo();
  398. model.setValue("/root/send/data/singdata/srchflag", srchflag);
  399. submit("TRAER00830",false);
  400. model.makeNode("/root/main/patinfo/patinfolist");
  401. copyNodesetType("/root/main/patinfo/patinfolist", "/root/hidden/patinfo/patinfolist" , "replace");
  402. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  403. var cnt = 0;
  404. // 일자별 전체조회일경우만 기준일자 조회
  405. if ( srchLength1 > 0 ) {
  406. var orddd = model.getValue("/root/main/baseorddd/initorddd/orddd");
  407. var gubun = model.getValue("/root/main/baseorddd/initorddd/gubun");
  408. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  409. // Grid Background Color Clear
  410. for ( var i = 1; i <= srchLength1; i++ ) {
  411. datagrid1.rowStyle( i , "data" , "background-color" ) = "#ffffff";
  412. }
  413. // 전자서명번호가 존재하면 색상을 변경한다. 즉, 사본출력가능한 처방이면서 원래 서식모양으로 보여주기 위해, 20080214
  414. for ( var i = 1; i <= srchLength1; i++ ) {
  415. if ( model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno") == "") {
  416. var signno = 0;
  417. }else {
  418. var signno = parseInt(model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno"));
  419. }
  420. if ( signno > 0 ) {
  421. datagrid1.rowStyle( i , "data" , "background-color" ) = "#b9e5fb";
  422. }
  423. }
  424. // 1. execprcpuniqno가 0이 아니면서(검사/치료만적용)
  425. // 2. Signno가 동일 값이면
  426. // => 다중처방 단일서식이기에 결과내역은 한 건만 조회되게 한다.
  427. var flag = "N";
  428. for ( var i = 1; i <= srchLength1; i++ ) {
  429. var execprcpuniqno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/execprcpuniqno");
  430. var signno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno");
  431. //alert(execprcpuniqno);
  432. if ( execprcpuniqno != "0" && signno != "0" && signno != "" ) {
  433. for ( var j = 1; j <= srchLength1; j++ ) {
  434. var vsignno = model.getValue("/root/main/ordlist1/maindailylist[" + j + "]/signno");
  435. //alert('i->' + i + ', j->' + j + ', signno->' + signno + ', vsignno->' + vsignno);
  436. if ( i != j && signno == vsignno ) {
  437. model.setValue("/root/main/ordlist1/maindailylist[" + j + "]/check", "N");
  438. flag = "Y";
  439. }
  440. }
  441. }
  442. if ( flag == "Y" ) break;
  443. }
  444. model.refresh();
  445. // 기본설정 기능으로 결과상세조회할 지 의 여부를 판단한다. 20090109
  446. fGetResultContinueListInit2();
  447. // 날짜별 정렬
  448. fSort2();
  449. } else {
  450. model.refresh();
  451. }
  452. // Progress End
  453. //closeLoadingBar();
  454. // SET별
  455. } else if (srchflag == "S") {
  456. // SET전체항목조회 비활성화
  457. grp_makedset.visible = false;
  458. datagrid2.visible = true;
  459. grd_subresultdetail1.visible = false;
  460. model.setValue("/root/send/setdata/setkindcd", "D");
  461. // 진행상태
  462. } else if (srchflag == "P") {
  463. // 조건 체크
  464. var check = fGetMainListCondiCheck_Case4();
  465. if ( check == "0" ) return true;
  466. }
  467. }
  468. /**
  469. * @desc : interface answer 조회
  470. * @
  471. * @param :
  472. * @return :
  473. * @author : Moonsh
  474. * @---------------------------------------------------
  475. */
  476. function fGetIntefeAnsw(qestcd){
  477. // 조회 변수 조회
  478. model.setValue("/root/send/interqestcd", qestcd);
  479. submit("TRMMB01104");
  480. var answvalnm = model.getValue("/root/main/interface/answvalnm");
  481. //KNUH_20110208, 주희경, 로그인 시 미리 데이터를 조회해 놓고 copy해서 쓰는 방식으로 변경
  482. //var viewerObj = getViewer("sysMessage");
  483. //var answvalnm = viewerObj.window.model.getValue(gvOrderBasicInfoPath +"/interface[qestcd='"+qestcd+"']/answvalnm");
  484. return answvalnm ;
  485. }
  486. function aezfGetSrchPatInfo(cond1, cond2, cond3, cond99, rtnXpath) {
  487. model.makeValue ( "/root/send/cond1", cond1 );
  488. model.makeValue ( "/root/send/cond2", cond2 );
  489. model.makeValue ( "/root/send/cond3", cond3 );
  490. model.makeValue ( "/root/send/cond99", cond99 );
  491. if (!submit ( "TRMMO02501",false )) {
  492. model.resetInstanceNode (rtnXpath );
  493. model.refresh();
  494. return "0";
  495. }else {
  496. return "1";
  497. }
  498. }
  499. /************************************************************************************************
  500. *
  501. * aezfGridSetColor
  502. @param
  503. * path : 목적그리드
  504. * chkcol : 목적ColRef
  505. * chkval : 비교value
  506. * imagename : ImageName
  507. * desc : Background Image check.
  508. *************************************************************************************************/
  509. function aezfGridSetColor(path, chkcol, chkval, imagename ) {
  510. //alert('IN');
  511. var srchLength1 = model.instances(0).selectNodes( path ).length;
  512. for ( var i = 1; i <= srchLength1; i++ ) {
  513. if ( model.getValue ( path+"["+ i +"]/"+chkcol ) == chkval ) {
  514. grd_subresultdetail1.rowStyle(i, "data", "background-image") = "../../../com/commonweb/images/"+imagename;
  515. grd_subresultdetail1.rowStyle(i, "data", "background-repeat") = "repeat-x";
  516. //grd_subresultdetail1.rowStyle(i, "data", "text-align") = "center";
  517. } else {
  518. grd_subresultdetail1.rowStyle(i, "data", "background-image") = "";
  519. //grd_subresultdetail1.rowStyle(i, "data", "text-align") = "left";
  520. }
  521. }
  522. }
  523. function aezfSetFontRowStyle( gridID , styleFlag , data , colRef , control ) {
  524. var style = new Array("#fcd2c1" , "#ffe79d" , "#f3e1bf" , "#7BE6B7" , "#b9e5fb" , "#f7a08b" , "#fec34d" ,
  525. "blue" ,
  526. "#c8e67b" ,
  527. "green" ,
  528. "#ff9933" ,
  529. "red" ,
  530. "#9999cc",
  531. "#5A5A5A",
  532. "#000000"
  533. );
  534. var styleFlags = styleFlag.split("^");
  535. var datas = data.split("^");
  536. if( control == null || control == "" )
  537. control = "equal";
  538. var controls = control.split("^");
  539. gridObj = document.all(gridID);
  540. gridObj.backcoloralternate = "transparent";
  541. for( var j = 0 ; j < datas.length ; j++ ) {
  542. var dataValue = datas[j];
  543. var styleValue = style[styleFlags[j]];
  544. for( var i = gridObj.fixedRows ; i < gridObj.rows ; i++ ) {
  545. if(controls[j] == null)
  546. controls[j] = "equal";
  547. switch( controls[j] ) {
  548. case "small":
  549. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) < dataValue ) {
  550. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  551. // gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  552. }
  553. break;
  554. case "smallThen":
  555. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) <= dataValue ) {
  556. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  557. // gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  558. }
  559. break;
  560. case "bigger":
  561. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) > dataValue ) {
  562. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  563. // gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  564. }
  565. break;
  566. case "biggerThen":
  567. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) >= dataValue ) {
  568. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  569. // gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  570. }
  571. break;
  572. /*
  573. case "notEqual":
  574. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) != dataValue ) {
  575. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  576. }
  577. break;
  578. */
  579. case "equalBold":
  580. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) == dataValue ) {
  581. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  582. gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  583. }
  584. case "equal":
  585. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) == dataValue ) {
  586. gridObj.rowStyle( i , "data" , "color" ) = styleValue;
  587. // gridObj.rowStyle( i , "data" , "font-weight" ) = "bold";
  588. }
  589. break;
  590. }
  591. }
  592. }
  593. }
  594. /************************************************************************************************
  595. 함수명 : setrowStyle ()
  596. 인자 :
  597. String gridID - 그리드 아이디
  598. String styleFlag - 컬러 인덱스
  599. String data - 데이터 값
  600. Srting colRef - 비교할 컬럼 Ref
  601. String [control] - 조건 smaller | smallerThen | equal | biggerThen | bigger
  602. 결과값 :
  603. 함수설명 : 그리드 특정 컬럼값을 비교하여 로우 백컬러 변경
  604. * 사용예) setrowStyle("datagrid1", "1", "1", "b", "bigger");
  605. ************************************************************************************************
  606. 작 성 자 : 어 승옥
  607. 작 성 일 : 2006. 12. 01
  608. ************************************************************************************************/
  609. function aezfSetRowStyle( gridID , styleFlag , data , colRef , control ) {
  610. var style = new Array("#fcd2c1" , "#ffe79d" , "#f3e1bf" , "#7BE6B7" , "#b9e5fb" , "#f7a08b" , "#fec34d" , "#dec6a4" , "#c8e67b" ,
  611. "#43c8f5" , "#ff9933" , "#3399ff" , "#9999cc" , "#FFC8C8" , "#fab7bf" , "#ffff00" , "#ccffcc" , "#FF9A00");
  612. var styleFlags = styleFlag.split("^");
  613. var datas = data.split("^");
  614. if( control == null || control == "" )
  615. control = "equal";
  616. var controls = control.split("^");
  617. gridObj = document.all(gridID);
  618. gridObj.backcoloralternate = "transparent";
  619. for( var j = 0 ; j < datas.length ; j++ ) {
  620. var dataValue = datas[j];
  621. var styleValue = style[styleFlags[j]];
  622. for( var i = gridObj.fixedRows ; i < gridObj.rows ; i++ ) {
  623. if(controls[j] == null)
  624. controls[j] = "equal";
  625. switch( controls[j] ) {
  626. case "small":
  627. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) < dataValue ) {
  628. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  629. }
  630. break;
  631. case "smallThen":
  632. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) <= dataValue ) {
  633. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  634. }
  635. break;
  636. case "bigger":
  637. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) > dataValue ) {
  638. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  639. }
  640. break;
  641. case "biggerThen":
  642. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) >= dataValue ) {
  643. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  644. }
  645. break;
  646. /*
  647. case "notEqual":
  648. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) != dataValue ) {
  649. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  650. }
  651. break;
  652. */
  653. case "equal":
  654. if( gridObj.labelMatrix(i , gridObj.colRef(colRef)) == dataValue ) {
  655. gridObj.rowStyle( i , "data" , "background-color" ) = styleValue;
  656. }
  657. break;
  658. }
  659. }
  660. }
  661. }
  662. /* @group : 결과조회
  663. * @ver : 2007.06.14
  664. * @by : 장준원
  665. * @-----------------------------------
  666. * @type : function
  667. * @access : public
  668. * @desc : 진검분류별 누적 조회 Function
  669. */
  670. function fGetNSeriesResultRef(){
  671. var vText = model.getValue("/root/send/data/singdata/srchpid");
  672. if(vText == "" ){
  673. messageBox("등록번호를","C001","") ;
  674. return;
  675. }
  676. fInitDatagrid2();
  677. // 환자정보
  678. fGetMainSrchPatInfo();
  679. // LIS Map File을 적용하기 위해 세팅한다.
  680. model.setValue("/root/send/setdata/startdd", model.getValue("/root/send/data/singdata/srchdate1"));
  681. model.setValue("/root/send/setdata/enddd", model.getValue("/root/send/data/singdata/srchdate2"));
  682. model.setValue("/root/send/setdata/pid", model.getValue("/root/send/data/singdata/srchpid"));
  683. model.setValue("/root/send/setdata/setno", "");
  684. model.setValue("/root/send/setdata/tclscdlist", cmb_mdl.value);
  685. model.setValue("/root/send/setdata/workflag", "1");
  686. //2011.05.01진상찬 페이지 처리추가(10건씩)
  687. var offset = parseInt(model.getValue("root/page3/curpage"));
  688. //1page면 offset은 0, 1page가 아니면 offset은 page수 * 10 (한페이지당 10건씩 보여줌)
  689. if(offset == 1)
  690. {
  691. offset = offset - 1;
  692. }
  693. else
  694. {
  695. offset = (offset - 1) * 10;
  696. }
  697. model.removenode("/root/send/setdata/offset");
  698. model.removenode("/root/send/setdata/pagesize");
  699. model.makeValue("/root/send/setdata/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정
  700. model.makeValue("/root/send/setdata/pagesize", model.getValue("/root/page3/pagesize")); //한페이지에 보여줄 건수(10건고정)
  701. //submit("TRLLP01201" , false);
  702. submit("TRMOB00017", false);
  703. var maxpage = parseInt(model.getValue("/root/hidden/temp/rsltlist/getacmltestlist2cnt/maxcnt"));
  704. if(maxpage < 10)
  705. {
  706. model.setValue("/root/page3/maxpage", "1");
  707. }
  708. else
  709. {
  710. maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1;
  711. model.setValue("/root/page3/maxpage", String(maxpage));
  712. }
  713. /////////////////////////////////////////////////////////////////////////////////////////////////////
  714. var gridCaption = model.getValue("/root/hidden/temp/rsltlist/header/caption");
  715. if(gridCaption == "") return;
  716. //ref 정보
  717. var gridColRef = model.getValue("/root/hidden/temp/rsltlist/header/colref");
  718. var gridColRefArray = gridColRef.split("^");
  719. var gridColType = model.getValue("/root/hidden/temp/rsltlist/header/type");
  720. var gridColTypeArray = gridColType.split("^");
  721. //for( var i = 0; i < gridColRefArray.length; i++ ) {
  722. for( var i = 1; i < gridColRefArray.length; i++ ) {
  723. datagrid2.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
  724. }
  725. // datagrid2.colWidth(1) = 22;
  726. // datagrid2.colWidth(2) = 100;
  727. // datagrid2.colWidth(3) = 80;
  728. // datagrid2.colWidth(4) = 80;
  729. datagrid2.rowHeight(0) = 35;
  730. var col = datagrid2.cols;
  731. // for( i = 5; i < datagrid2.cols; i++ ) {
  732. // datagrid2.colWidth(i) = 80;
  733. // }
  734. var node = instance1.selectSingleNode("/root/main");
  735. //node.replaceChild(instance1.root.hidden.temp.rsltlist, instance1.root.main.rsltlist);
  736. node.replaceChild(instance1.selectSingleNode("/root/hidden/temp/rsltlist"), instance1.selectSingleNode("/root/main/rsltlist"));
  737. //datagrid2.fixedcellcheckbox(0,1)=true;
  738. model.refresh();
  739. var algridCaption = gridCaption.split("^");
  740. algridCaption.shift();
  741. gridCaption = algridCaption.join("^");
  742. datagrid2.caption = gridCaption;
  743. fReMake();
  744. }
  745. function fInitDatagrid2() {
  746. var cols = datagrid2.cols-datagrid2.fixedCols;
  747. var rows = datagrid2.rows-datagrid2.fixedRows;
  748. for( var i = 0; i < cols; i++ ) {
  749. datagrid2.removeColumn(false);
  750. }
  751. // for( var i = 0; i < rows; i++ ) {
  752. // datagrid2.removeRow(false);
  753. // }
  754. model.removeNodeset("/root/main/rsltlist");
  755. model.makeNode("/root/main/rsltlist/row");
  756. model.refresh();
  757. }
  758. function fReMake(){
  759. xx = 0;
  760. //alert(model.getValue("/root/main/rsltlist/row["+9+"]/judg0"))
  761. for(i=1;i<datagrid2.rows;i++){
  762. for(j=5;j<datagrid2.cols;j++){
  763. var vJudg = model.getValue("/root/main/rsltlist/row["+i+"]/judg" + xx);
  764. if(vJudg == "H"){
  765. datagrid2.cellStyle("color",i,j,i,j) = "red";
  766. }
  767. else if(vJudg == "L"){
  768. datagrid2.cellStyle("color",i,j,i,j) = "blue";
  769. }
  770. xx ++;
  771. }
  772. xx = 0;
  773. }
  774. }
  775. function fSort() {
  776. grd_maindaily.rebuild();
  777. var listflag = model.getValue("/root/send/data/singdata/listflag");
  778. var col = 0;
  779. if (listflag == "P") {
  780. col = grd_maindaily.colRef("prcpdd1");
  781. } else if (listflag == "J") {
  782. //col = grd_maindaily.colRef("prcpdd1");
  783. col = grd_maindaily.colRef("execdd1");
  784. } else {
  785. col = grd_maindaily.colRef("lastreptdd");
  786. }
  787. grd_maindaily.colSort(col) = "desc";
  788. grd_maindaily.sort(1, col, grd_maindaily.rows-1, grd_maindaily.cols-1) = "usersort";
  789. grd_maindaily.gridToInstance();
  790. }
  791. function fSort2() {
  792. var listflag = model.getValue("/root/send/data/singdata/listflag");
  793. var col = 0;
  794. if (listflag == "P") {
  795. } else if (listflag == "J") {
  796. //col = datagrid1.colRef("prcpdd1");
  797. } else {
  798. }
  799. }
  800. /* @group : 결과조회
  801. * @ver : 2007.06.14
  802. * @by : 장준원
  803. * @-----------------------------------
  804. * @type : function
  805. * @access : public
  806. * @desc : 병실정보 조회를 위한 Function
  807. */
  808. function fChngSrchRoomCd() {
  809. if ( model.getValue("/root/send/data/singdata/wardcd") == "" ) return;
  810. //alert(cmb_wardcd.value);
  811. //alert(model.getValue("/root/send/data/singdata/wardcd"));
  812. model.resetInstanceNode("/root/init/cmb_room/initexecroom");
  813. submit("TRAER00802");
  814. }
  815. /* @group : 결과조회
  816. * @ver : 2007.06.14
  817. * @by : 장준원
  818. * @-----------------------------------
  819. * @type : function
  820. * @access : public
  821. * @desc : 검사구분을 Check 하기 위한 Function
  822. */
  823. function fcheckyn() {
  824. if ( model.getValue("/root/send/data/singdata/chkcheck") == "ALL" ) {
  825. model.setValue("/root/send/data/singdata/chkcheck1",""); model.setValue("/root/send/data/singdata/chkcheck2","");
  826. model.setValue("/root/send/data/singdata/chkcheck3",""); model.setValue("/root/send/data/singdata/chkcheck4","");
  827. model.setValue("/root/send/data/singdata/chkcheck5",""); model.setValue("/root/send/data/singdata/chkcheck6","");
  828. model.setValue("/root/send/data/singdata/chkcheck7",""); model.setValue("/root/send/data/singdata/chkcheck8","");
  829. }
  830. //model.refresh();
  831. }
  832. /* @group : 결과조회
  833. * @ver : 2007.06.14
  834. * @by : 장준원
  835. * @-----------------------------------
  836. * @type : function
  837. * @access : public
  838. * @desc : 조건 일자별 메인조회를 위한 조건체크 Function
  839. */
  840. function fGetMainListCondiCheck_Case1() {
  841. if ( model.getValue("/root/send/data/singdata/srchpid") == "" ) {
  842. // 경고창 뜨지 않게 체크함. 20081230, 장준원
  843. //messageBox("[조회필수항목-등록번호]는 필수입력 항목입니다.","I999");
  844. model.setfocus( "ipt_pid" );
  845. return "0";
  846. }
  847. }
  848. /* @group : 결과조회
  849. * @ver : 2007.06.14
  850. * @by : 장준원
  851. * @-----------------------------------
  852. * @type : function
  853. * @access : public
  854. * @desc : 조건 진행상태별 메인조회를 위한 조건체크 Function
  855. */
  856. function fGetMainListCondiCheck_Case4() {
  857. if ( model.getValue("/root/send/data/singdata/srchpid") == "" ) {
  858. // 경고창 뜨지 않게 체크함. 20081230, 장준원
  859. //messageBox("[조회필수항목-등록번호]는 필수입력 항목입니다.","I999");
  860. model.setfocus( "ipt_pid" );
  861. return "0";
  862. }
  863. }
  864. /* @group : 결과조회
  865. * @ver : 2007.06.14
  866. * @by : 장준원
  867. * @-----------------------------------
  868. * @type : function
  869. * @access : public
  870. * @desc : 조건 메인 일자별 처방일기준 조회 Function
  871. */
  872. function fGetMainDistinctDailyList() {
  873. datagrid2.visible = false;
  874. grd_subresultdetail1.visible = true;
  875. //fGetWideListX1(switch1, grd_maindaily);
  876. fGetWideListX1(grd_maindaily);
  877. // 조건 체크
  878. var check = fGetMainListCondiCheck_Case1();
  879. if ( check == "0" ) return true;
  880. if ( model.getValue("/root/send/data/singdata/chkcheck") == "ALL" ) {
  881. fcheckyn();
  882. }
  883. // Grid 초기화
  884. fInitGrid();
  885. model.setValue("/root/send/data/singdata/tabflag","distinctdaily");
  886. //alert('IN->'+model.getValue("/root/send/data/singdata/chkcheck"));
  887. //model.refresh();
  888. //20110517 진상찬 진검만 조회되도록 고정
  889. model.setValue("/root/send/data/singdata/chkcheck1", "A");
  890. //submit("TRAER00812");
  891. submit("TRMOB00014");
  892. }
  893. /* @group : 접수관리(진단방사선)
  894. * @ver : 2007.03.21
  895. * @by : 장준원
  896. * @-----------------------------------
  897. * @type : function
  898. * @access : public
  899. * @desc : Grid초기화 Function
  900. */
  901. function fInitGrid() {
  902. model.resetInstanceNode("/root/main/ordlist1/maindailylist");
  903. model.resetInstanceNode("/root/main/ordlist2/mainserious");
  904. model.resetInstanceNode("/root/main/ordlist5/mainseriouslist");
  905. model.resetInstanceNode("/root/main/ordlist3/mainset");
  906. model.resetInstanceNode("/root/main/ordlist4/mainprogress");
  907. model.resetInstanceNode("/root/main/subordlist1/subresultdetail1");
  908. // 일자별 조회만 적용. 20080727 , 장준원
  909. //alert(rdo_statecd.value);
  910. if ( btn_case1.selected == true ) {
  911. // 보고일 기준
  912. if ( rdo_statecd.value == "Z" ) {
  913. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = false;
  914. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = true;
  915. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1")) = true;
  916. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd")) = false;
  917. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = true;
  918. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = false;
  919. // 검사일 기준
  920. } else if ( rdo_statecd.value == "J" ) {
  921. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = false;
  922. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = true;
  923. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = true;
  924. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = false;
  925. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1")) =true;
  926. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd")) = false;
  927. // 처방일 기준
  928. } else if ( rdo_statecd.value == "P" ) {
  929. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd1")) = false;
  930. grd_maindaily.colHidden(grd_maindaily.colRef("prcpdd")) = true;
  931. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd")) = true;
  932. grd_maindaily.colHidden(grd_maindaily.colRef("lastreptdd1")) = false;
  933. grd_maindaily.colHidden(grd_maindaily.colRef("execdd1")) = true;
  934. grd_maindaily.colHidden(grd_maindaily.colRef("execdd")) = false;
  935. }
  936. }
  937. }
  938. /* @group : 결과조회
  939. * @ver : 2007.06.14
  940. * @by : 장준원
  941. * @-----------------------------------
  942. * @type : function
  943. * @access : public
  944. * @desc : 조건 메인 일자별조회 Function
  945. */
  946. function fGetMainDailyList() {
  947. btn_case1.selected = true; //taebum
  948. model.toggle("case1");
  949. datagrid2.visible = false;
  950. grd_subresultdetail1.visible = true;
  951. // 조건 체크
  952. var check = fGetMainListCondiCheck_Case1();
  953. if ( check == "0" ) return true;
  954. if ( model.getValue("/root/send/data/singdata/chkcheck") == "ALL" ) {
  955. fcheckyn();
  956. }
  957. // Grid 초기화
  958. fInitGrid();
  959. // Progress Start
  960. //openLoadingBar();
  961. // 환자정보
  962. fGetMainSrchPatInfo();
  963. model.setValue("/root/send/data/singdata/tabflag","daily");
  964. //alert('IN->'+model.getValue("/root/send/data/singdata/chkcheck"));
  965. //20110517 진상찬 진검만 조회되도록 고정
  966. model.setValue("/root/send/data/singdata/chkcheck1", "A");
  967. //2011.05.01진상찬 페이지 처리추가(10건씩)
  968. var offset = parseInt(model.getValue("root/page/curpage"));
  969. //1page면 offset은 0, 1page가 아니면 offset은 page수 * 10 (한페이지당 10건씩 보여줌)
  970. if(offset == 1)
  971. {
  972. offset = offset - 1;
  973. }
  974. else
  975. {
  976. offset = (offset - 1) * 10;
  977. }
  978. model.removenode("/root/send/maindata/offset");
  979. model.removenode("/root/send/maindata/pagesize");
  980. model.makeValue("/root/send/data/singdata/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정
  981. model.makeValue("/root/send/data/singdata/pagesize", model.getValue("root/page/pagesize")); //한페이지에 보여줄 건수(10건고정)
  982. //submit("TRAER00806", false);
  983. submit("TRMOB00015", false);
  984. var maxpage = parseInt(model.getValue("/root/main/ordlist1/maindailylistcnt/maxcnt"));
  985. if(maxpage < 10)
  986. {
  987. model.setValue("/root/page/maxpage", "1");
  988. }
  989. else
  990. {
  991. maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1;
  992. model.setValue("/root/page/maxpage", String(maxpage));
  993. }
  994. /////////////////////////////////////////////////////////////////////////////////////////////////////
  995. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  996. //var cnt = 0;
  997. // 일자별 전체조회일경우만 기준일자 조회
  998. if ( srchLength1 > 0 ) {
  999. submit("TRAER00811");
  1000. var orddd = model.getValue("/root/init/baseorddd/initorddd/orddd");
  1001. var gubun = model.getValue("/root/init/baseorddd/initorddd/gubun");
  1002. var srchLength1 = model.instances(0).selectNodes( "/root/main/ordlist1/maindailylist" ).length;
  1003. // Grid Background Color Clear
  1004. for ( var i = 1; i <= srchLength1; i++ ) {
  1005. grd_maindaily.rowStyle( i , "data" , "background-color" ) = "#ffffff";
  1006. }
  1007. for ( var i = 1; i <= srchLength1; i++ ) {
  1008. // 전자서명번호가 존재하면 색상을 변경한다. 즉, 사본출력가능한 처방이면서 원래 서식모양으로 보여주기 위해, 20080214
  1009. if ( model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno") == "") {
  1010. var signno = 0;
  1011. }else {
  1012. var signno = parseInt(model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno"));
  1013. }
  1014. if ( signno > 0 ) {
  1015. grd_maindaily.rowStyle( i , "data" , "background-color" ) = "#b9e5fb";
  1016. }
  1017. }
  1018. // 기본설정 기능으로 결과상세조회할 지 의 여부를 판단한다. 20090109
  1019. //var rtncnt = fGetResultContinueListInit1();
  1020. // 1. execprcpuniqno가 0이 아니면서(검사/치료만적용)
  1021. // 2. Signno가 동일 값이면
  1022. // => 다중처방 단일서식이기에 결과내역은 한 건만 조회되게 한다.
  1023. var flag = "N";
  1024. for ( var i = 1; i <= srchLength1; i++ ) {
  1025. var execprcpuniqno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/execprcpuniqno");
  1026. var signno = model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/signno");
  1027. //alert(execprcpuniqno);
  1028. if ( execprcpuniqno != "0" && signno != "0" && signno != "" ) {
  1029. for ( var j = 1; j <= srchLength1; j++ ) {
  1030. var vsignno = model.getValue("/root/main/ordlist1/maindailylist[" + j + "]/signno");
  1031. //alert('i->' + i + ', j->' + j + ', signno->' + signno + ', vsignno->' + vsignno);
  1032. if ( i != j && signno == vsignno ) {
  1033. //alert('다중 처방이면서 단일서식 결과가 존재합니다. 테스트중입니다!!');
  1034. model.setValue("/root/main/ordlist1/maindailylist[" + j + "]/check", "N");
  1035. flag = "Y";
  1036. }
  1037. }
  1038. }
  1039. if ( flag == "Y" ) break;
  1040. }
  1041. model.refresh();
  1042. // 기본설정 기능으로 결과상세조회할 지 의 여부를 판단한다. 20090109
  1043. fGetResultContinueListInit1();
  1044. // 날짜별 정렬
  1045. //fSort();
  1046. }
  1047. // 20080727, 장준원
  1048. // 조회기준이 보고or검사일 : 처방일자 <-> 보고일자
  1049. // 조회기준이 처방일 : 보고일자<->처방일자
  1050. // Progress End
  1051. //closeLoadingBar();
  1052. //closeLoadingBar();
  1053. }
  1054. function fInitial_subordlist() {
  1055. model.removeNodeset("/root/main/subordlist1/subresultdetail1"); // 결과내역
  1056. model.removeNodeset("/root/main/subordlist2/subresultdetail1"); // 결과내역
  1057. model.removeNodeset("/root/send/maindata"); // 일자별 그리드
  1058. model.makeNode("/root/send/maindata");
  1059. }
  1060. /* @group : 결과조회
  1061. * @ver : 2007.06.14
  1062. * @by : 장준원
  1063. * @-----------------------------------
  1064. * @type : function
  1065. * @access : public
  1066. * @desc : Daily , Serious 결과 내역 그리드 Setting Function
  1067. */
  1068. function fSetSubDetailGrid()
  1069. {
  1070. ////////////////////////////
  1071. // 결과내역 그리드 세팅한다//
  1072. ////////////////////////////
  1073. // 체크박스 미사용(전에조회에사용된 세팅을 해제하기 위해) 해제
  1074. // 진검의 L,H에 적용한 색상 해제 ,
  1075. var srchLength1 = model.instances(0).selectNodes( "/root/main/subordlist1/subresultdetail1" ).length;
  1076. for ( var i = 1; i <= srchLength1; i++ ) {
  1077. //grd_subresultdetail1.isReadOnly(i, 0, i, 1) = false; // 체크박스 미사용 해제
  1078. grd_subresultdetail1.rowStyle( i , "data" , "background-color" ) = "#FFFFFF";
  1079. grd_subresultdetail1.rowStyle( i , "data" , "color" ) = "#000000";
  1080. }
  1081. //model.refresh();
  1082. // 타이틀 색상 정의, 진검, 검사치료, 병리에 적용 (T)
  1083. aezfGridSetColor( "/root/main/subordlist1/subresultdetail1", "judgmark", "T", "tab_hide.gif");
  1084. // 타이틀 글자 색상 정의, 진검, 검사치료, 병리에 적용 (T)
  1085. aezfSetFontRowStyle("grd_subresultdetail1" , "15" , "T" , "judgmark" );
  1086. // 병리의 중간결과(P)에 적용
  1087. aezfSetRowStyle("grd_subresultdetail1" , "5" , "P" , "judgmark" );
  1088. // 병리의 중간결과(Q)에 적용
  1089. aezfSetRowStyle("grd_subresultdetail1" , "12" , "Q" , "judgmark" );
  1090. //alert('1');
  1091. // 진검&병리의 L,H에 적용
  1092. aezfSetFontRowStyle("grd_subresultdetail1" , "7" , "L" , "judgmark2" );
  1093. aezfSetFontRowStyle("grd_subresultdetail1" , "11" , "H" , "judgmark2" );
  1094. // 체크박스 사용(한줄띄우기위해사용함) 해제
  1095. for ( var i = 1; i <= srchLength1; i++ ) {
  1096. //alert("reptrslt["+i+"]==>["+model.getValue("/root/main/subordlist1/subresultdetail1["+ i +"]/reptrslt")+"]");
  1097. if ( model.getValue("/root/main/subordlist1/subresultdetail1["+ i +"]/judgmark") == "" ||
  1098. model.getValue("/root/main/subordlist1/subresultdetail1["+ i +"]/judgmark") == "T" ||
  1099. model.getValue("/root/main/subordlist1/subresultdetail1["+ i +"]/judgmark") == "P"
  1100. ) {
  1101. //grd_subresultdetail1.isReadOnly(i, 0, i, 1) = true; // 체크박스 사용 해제
  1102. }else {
  1103. //grd_subresultdetail1.isReadOnly(i, 0, i, 1) = false; // 체크박스 사용
  1104. }
  1105. }
  1106. //진단검사 HLA 검사적용 여부, 20090128, 장준원
  1107. fGetHLAList();
  1108. }
  1109. function fGetHLAList() {
  1110. if ( btn_case1.selected) {
  1111. var cnt = 0;
  1112. if ( grd_maindaily.rows >= grd_maindaily.fixedRows ) {
  1113. var loop = grd_maindaily.rows - grd_maindaily.fixedRows;
  1114. for( var i = 1 ; i <= loop ; i++ ) {
  1115. if ( model.getValue("/root/main/ordlist1/maindailylist[" + i + "]/hla") == "Y" ) cnt++;
  1116. }
  1117. }
  1118. if ( cnt > 0 ) {
  1119. model.makeValue("/root/hidden/refparam/pid" , model.getValue("/root/send/data/singdata/srchpid"));
  1120. //2011-05-27 진상찬: 팝업 없음. 주석
  1121. //open("SPLLP90200" , "","","","","/root/hidden/refparam" , "/root/hidden/refparam");
  1122. return;
  1123. }
  1124. }else {
  1125. return;
  1126. }
  1127. }
  1128. /* @group : 결과조회
  1129. * @ver : 2007.06.14
  1130. * @by : 장준원
  1131. * @-----------------------------------
  1132. * @type : function
  1133. * @access : public
  1134. * @desc : Daily 결과 상세조회 Function
  1135. */
  1136. function fClickResultList(maingridlistid) {
  1137. if ( maingridlistid.row == 0 ) return;
  1138. if ( maingridlistid.row >= maingridlistid.fixedRows ) {
  1139. var row = maingridlistid.row;
  1140. // 일자별
  1141. if ( btn_case1.selected == true ) {
  1142. //fGetWideListX1(switch1, grd_maindaily);
  1143. fGetWideListX1(grd_maindaily);
  1144. fInitial_subordlist();
  1145. model.refresh();
  1146. /*
  1147. * 일자별탭 그리드 세팅한다.
  1148. */
  1149. var loop = grd_maindaily.rows - grd_maindaily.fixedRows;
  1150. for( var i = 1 ; i <= loop ; i++ ) {
  1151. model.makeValue("/root/main/ordlist1/maindailylist[" + i + "]/level","3");
  1152. }
  1153. // 다시 체크를 할 경우에는 체크박스만 "N"으로 세팅함.
  1154. // if ( model.getValue("/root/main/ordlist1/maindailylist[" + row + "]/check") == "Y" ) {
  1155. // model.setValue("/root/main/ordlist1/maindailylist[" + row + "]/check","N");
  1156. // return;
  1157. // }
  1158. //model.setValue("/root/main/ordlist1/maindailylist[" + row + "]/check","Y");
  1159. model.makeValue("/root/main/ordlist1/maindailylist[" + row + "]/srchpid", model.getValue("/root/send/data/singdata/srchpid"));
  1160. model.makeValue("/root/main/ordlist1/maindailylist[" + row + "]/dutplceinstcd", model.getValue("/root/send/globalinstance/instance2"));
  1161. var nodeList = instance1.selectNodes("/root/main/ordlist1/maindailylist["+row+"]");
  1162. //var rCSV = getNodeListCSV(nodeList);
  1163. model.copyNode("/root/send/maindata", "/root/main/ordlist1/maindailylist["+row+"]");
  1164. // model.copyNode("/root/send/maindata" , "/root/main/ordlist1/maindailylist["+row+"]");
  1165. //alert('rCSV하기전->'+rCSV);
  1166. //model.setValue("/root/send/maindata", rCSV);
  1167. //alert(rCSV);
  1168. //2011.05.01진상찬 페이지 처리추가(10건씩)
  1169. var offset = parseInt(model.getValue("root/page2/curpage"));
  1170. //1page면 offset은 0, 1page가 아니면 offset은 page수 * 10 (한페이지당 10건씩 보여줌)
  1171. if(offset == 1)
  1172. {
  1173. offset = offset - 1;
  1174. }
  1175. else
  1176. {
  1177. offset = (offset - 1) * 10;
  1178. }
  1179. model.removenode("/root/send/maindata/offset");
  1180. model.removenode("/root/send/maindata/pagesize");
  1181. model.makeValue("/root/send/maindata/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정
  1182. model.makeValue("/root/send/maindata/pagesize", model.getValue("root/page2/pagesize")); //한페이지에 보여줄 건수(10건고정)
  1183. //submit("TRAER00850", false);
  1184. submit("TRMOB00016", false);
  1185. var maxpage = parseInt(model.getValue("/root/main/subordlist1/subresultdetail1cnt/maxcnt"));
  1186. if(maxpage < 10)
  1187. {
  1188. model.setValue("/root/page2/maxpage", "1");
  1189. }
  1190. else
  1191. {
  1192. maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1;
  1193. model.setValue("/root/page2/maxpage", String(maxpage));
  1194. }
  1195. /////////////////////////////////////////////////////////////////////////////////////////////////////
  1196. model.refresh();
  1197. /*
  1198. * 일자별 결과내역 그리드 세팅한다.
  1199. */
  1200. fSetSubDetailGrid();
  1201. }
  1202. }
  1203. }
  1204. /* @group : 결과조회
  1205. * @ver : 2007.06.14
  1206. * @by : 장준원
  1207. * @-----------------------------------
  1208. * @type : function
  1209. * @access : public
  1210. * @desc : 사용자 환경설정 부서 세팅
  1211. */
  1212. function fSetUserDeptInit(){
  1213. //var AnswData = fGetIntefeAnsw("003");
  1214. // 2011-05-27 진상찬: 진료과로 고정
  1215. var AnswData = "진료과";
  1216. if(AnswData != "" ) {
  1217. if( AnswData == "전체" ){
  1218. model.setValue("/root/send/data/singdata/deptcd" , "");
  1219. }
  1220. }
  1221. }
  1222. /* @group : 결과조회
  1223. * @ver : 2007.06.14
  1224. * @by : 장준원
  1225. * @-----------------------------------
  1226. * @type : function
  1227. * @access : public
  1228. * @desc : 사용자 환경설정 tab 세팅
  1229. */
  1230. function fSetUserTermInit(){
  1231. //var AnswData = fGetIntefeAnsw("001");
  1232. //2011-05-27 진상찬: 2주로 고정
  1233. var AnswData = "2주";
  1234. if(AnswData != "" ) {
  1235. if(AnswData == "3개월"){
  1236. model.setValue("/root/send/data/term", "90");
  1237. }
  1238. if(AnswData == "6개월"){
  1239. model.setValue("/root/send/data/term", "180");
  1240. }
  1241. if(AnswData =="9개월"){
  1242. model.setValue("/root/send/data/term", "270");
  1243. }
  1244. if(AnswData == "1년"){
  1245. model.setValue("/root/send/data/term", "365");
  1246. }
  1247. if(AnswData == "2년"){
  1248. model.setValue("/root/send/data/term", "730");
  1249. }
  1250. if(AnswData == "1주"){
  1251. model.setValue("/root/send/data/term", "7");
  1252. }
  1253. if(AnswData == "2주"){
  1254. model.setValue("/root/send/data/term", "14");
  1255. }
  1256. ipt_date2.value = getCurrentDate();
  1257. var date2 = ipt_date2.value;
  1258. var term = model.getValue("/root/send/data/term");
  1259. ipt_date1.value = date2.toDate().getAddDate(-term,"D").getDateFormat("YYYYMMDD") ;
  1260. }else {
  1261. // 조회기간, Combo Box 초기화
  1262. ipt_date1.value = getCurrentDate();
  1263. var vRsrvdd = ipt_date1.value ;
  1264. vRsrvdd = vRsrvdd.toDate("YYYYMMDD");
  1265. vRsrvdd = vRsrvdd.getAddDate(-90);
  1266. ipt_date1.value = vRsrvdd.getDateFormat();
  1267. ipt_date2.value = getCurrentDate();
  1268. model.setValue("/root/send/data/term", 90);
  1269. }
  1270. }
  1271. /* @group : 결과조회
  1272. * @ver : 2007.06.14
  1273. * @by : 장준원
  1274. * @-----------------------------------
  1275. * @type : function
  1276. * @access : public
  1277. * @desc : 결과 조회 Grid 펼치기 Function */
  1278. function fGetWideListX1(grd1) {
  1279. var extnGrdWidht2 = 459;
  1280. grd1.attribute("width") = extnGrdWidht2;
  1281. }