SMAHA04370_문진표입력.xfdl 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAHA04370" position="absolute 0 0 1196 765" titletext="문진표 작성" onload="SMAHA04370_onload" ontimer="SMAHA04370_ontimer" onclose="SMAHA04370_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" position="absolute 0 0 1195 25" style="">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption6" class="tit_1" position="absolute 0 0 113 23" style="" text="문진표 작성" anchor="default"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div id="group5" position="absolute 0 23 1195 63" style="align: top;" class="div_SA" anchor="left top right">
  15. <Layouts>
  16. <Layout>
  17. <Static id="caption11" class="search_name" position="absolute 5 12 99 29" style="" text="검진년도 :" anchor="default"/>
  18. <Combo innerdataset="ds_init_baseinfo_yearlist_S900" datacolumn="cdnm" codecolumn="cdid" columncount="-1" rowcount="-1" id="comb_appyear" enable="False" taborder="1" position="absolute 95 11 165 30" style="" anchor="default" onitemchanged="group5_comb_appyear_onitemchanged"/>
  19. <Static id="caption8" class="search_name" position="absolute 170 12 256 29" style="" text="문진종류 :" anchor="default"/>
  20. <Radio datacolumn="datacolumn" codecolumn="codecolumn" columncount="-1" rowcount="-1" id="radio1" position="absolute 260 11 400 30" style="" onitemchanged="group5_radio1_onitemchanged" anchor="default">
  21. <Dataset id="innerdataset">
  22. <ColumnInfo>
  23. <Column id="codecolumn"/>
  24. <Column id="datacolumn"/>
  25. </ColumnInfo>
  26. <Rows>
  27. <Row>
  28. <Col id="codecolumn">A</Col>
  29. <Col id="datacolumn">일반+생애</Col>
  30. </Row>
  31. <Row>
  32. <Col id="codecolumn">B</Col>
  33. <Col id="datacolumn">구강</Col>
  34. </Row>
  35. </Rows>
  36. </Dataset>
  37. </Radio>
  38. <Edit id="ipt_age" class="input_search" enable="False" taborder="3" position="absolute 460 11 490 30" style="" anchor="default"/>
  39. <Static id="caption4" class="search_name" position="absolute 395 12 455 29" style="" text="나이 :" anchor="default"/>
  40. <Static id="caption9" class="search_name" position="absolute 495 12 581 29" style="" text="성 명 :" anchor="default"/>
  41. <Edit id="int_pnm" class="input_search" enable="False" taborder="3" position="absolute 560 11 620 30" style="" anchor="default"/>
  42. <Static id="caption23" class="search_name" position="absolute 740 12 825 29" style="" text="주민번호 :" anchor="default" visible="false"/>
  43. <Edit id="ipt_rrgstno1" class="input_search" taborder="4" visible="false" position="absolute 829 11 885 30" style="" anchor="default"/>
  44. <Static id="caption1" class="search_n_b" position="absolute 887 12 899 29" style="font:,,bolder;" text="-" anchor="default" visible="false"/>
  45. <Edit id="ipt_rrgstno2" class="input_search" taborder="5" visible="false" position="absolute 897 11 970 30" style="" anchor="default"/>
  46. <Shape id="line7" linetype="vertical" position="absolute 1042 9 1045 33" style="border: solid #ffe4bb #ffe4bb;" anchor="right"/>
  47. <Button id="btn_search" class="btn1" taborder="6" visible="false" position="absolute 976 10 1032 32" style="" text="조회" onclick="group5_btn_search_onclick" anchor="right"/>
  48. <Button id="button5" class="btn4" position="absolute 1053 10 1121 32" style="" text="초기화" onclick="group5_button5_onclick" anchor="right"/>
  49. <Button id="button4" class="btn4" position="absolute 1128 10 1184 32" style="" text="저장" onclick="group5_button4_onclick" anchor="right"/>
  50. <Static id="cap_infomsg" position="absolute 627 11 975 31" style="font:,,bold;align:left ;color:#0000ff;" text="※ 구강문진은 원하는 경우에만 작성하시면 됩니다." anchor="default"/>
  51. </Layout>
  52. </Layouts>
  53. </Div>
  54. <Div id="group4" scrollbars="autoboth" position="absolute 0 65 1196 765" style="" anchor="all">
  55. <Layouts>
  56. <Layout>
  57. <Grid id="grd_assoinqrlst" binddataset="ds_main_inqrlst_item" position="absolute 0 3 1195 699" style="border:1 solid #33bbbbff,0 solid #b0b0b0ff,1 solid #b0b0b0ff,0 solid #b0b0b0ff;align:middle;font:Dotum,9;" oncellclick="group4_grd_assoinqrlst_oncellclick" autofittype="none" treeusebutton="use" treeusecheckbox="false" treeuseline="false" treeuseimage="false" treeuseexpandkey="false" selecttype="cell" hideendline="none" extendsizetype="row" cellsizingtype="both" autosizingtype="row" autofitminheight="100" anchor="all" cellclickbound="cell">
  58. <Formats>
  59. <Format id="default">
  60. <Columns>
  61. <Column size="24"/>
  62. <Column size="0"/>
  63. <Column size="25"/>
  64. <Column size="0"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. <Column size="36"/>
  68. <Column size="780"/>
  69. <Column size="0"/>
  70. <Column size="0"/>
  71. <Column size="240"/>
  72. <Column size="0"/>
  73. <Column size="131"/>
  74. <Column size="0"/>
  75. <Column size="0"/>
  76. <Column size="0"/>
  77. <Column size="0"/>
  78. <Column size="0"/>
  79. <Column size="0"/>
  80. <Column size="0"/>
  81. <Column size="0"/>
  82. </Columns>
  83. <Rows>
  84. <Row size="24" band="head"/>
  85. <Row size="24"/>
  86. </Rows>
  87. <Band id="head">
  88. <Cell style="padding:5 0 4 0;" autosizerow="default"/>
  89. <Cell col="1" style="padding:5 0 4 0;" text="lvl" autosizerow="default"/>
  90. <Cell col="2" displaytype="checkbox" edittype="checkbox" style="padding:5 0 4 0;" autosizerow="default"/>
  91. <Cell col="3" style="padding:5 0 4 0;" text="적용년도" autosizerow="default"/>
  92. <Cell col="4" style="padding:5 0 4 0;" text="문진코드" autosizerow="default"/>
  93. <Cell col="5" style="padding:5 0 4 0;" text="상위문진코드" autosizerow="default"/>
  94. <Cell col="6" colspan="2" style="padding:5 0 4 0;" text="문진명" taborder="undefined"/>
  95. <Cell col="8" style="padding:5 0 4 0;" text="영문문진명" autosizerow="default"/>
  96. <Cell col="9" style="padding:5 0 4 0;" text="답안결과" autosizerow="default"/>
  97. <Cell col="10" style="padding:5 0 4 0;" text="답안내역" autosizerow="default"/>
  98. <Cell col="11" style="padding:5 0 4 0;" text="답안작성예문" autosizerow="default"/>
  99. <Cell col="12" style="padding:5 0 4 0;" text="비고" autosizerow="default"/>
  100. <Cell col="13" text="답압구분"/>
  101. <Cell col="14" text="제목여부"/>
  102. <Cell col="15" text="문진구분"/>
  103. <Cell col="16" text="점수"/>
  104. <Cell col="17" text="경로"/>
  105. <Cell col="18" text="최상위루트"/>
  106. <Cell col="19" text="rrgstno1"/>
  107. <Cell col="20" text="rrgstno2"/>
  108. </Band>
  109. <Band id="body">
  110. <Cell celltype="head" wordwrap="none"/>
  111. <Cell col="1" text="bind:lvl" wordwrap="none"/>
  112. <Cell col="2" displaytype="checkbox" edittype="expr:getColumn(currow , 'titleyn') == 'N' ? 'checkbox' : 'none'" style="padding:0 0 0 0;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:sel" expr="expr:(sel==&quot;Y&quot;||sel==1)?1:0" wordwrap="none" treelevel="bind:lvl"/>
  113. <Cell col="3" style="background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:appyear" wordwrap="none"/>
  114. <Cell col="4" style="background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:inqrcd" wordwrap="none"/>
  115. <Cell col="5" style="background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:supinqrcd" wordwrap="none"/>
  116. <Cell col="6" displaytype="tree" edittype="tree" style="padding:5 2 4 -4;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" treestartlevel="1" treelevel="bind:lvl"/>
  117. <Cell col="7" displaytype="text" edittype="text" style="align:left middle;padding:5 2 4 2;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');selectbackground:red;selectcolor:white;controlborder:3 solid red red;" text="bind:inqrnm" wordwrap="word" autosizerow="limitmin"/>
  118. <Cell col="8" style="padding:5 2 4 2;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:inqrengnm" wordwrap="none"/>
  119. <Cell col="9" displaytype="text" edittype="expr:getColumn(currow , 'titleyn') == 'N' ? 'text' : 'none'" style="padding:5 2 4 2;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:inqrrsltcd" wordwrap="none"/>
  120. <Cell col="10" displaytype="text" edittype="expr:getColumn(currow , 'titleyn') == 'N' ? 'text' : 'none'" style="padding:5 2 4 2;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:inqrrsltcnts" wordwrap="none"/>
  121. <Cell col="11" style="background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" text="bind:answcont" wordwrap="none"/>
  122. <Cell col="12" displaytype="text" edittype="expr:getColumn(currow , 'titleyn') == 'N' ? 'text' : 'none'" style="padding:5 2 4 2;background:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');background2:EXPR(getColumn(currow, 'titleyn') != 'N' ? '#c0c0c0ff' :'');" class="gridinput" text="bind:remcnts" wordwrap="none"/>
  123. <Cell col="13" text="bind:answflag"/>
  124. <Cell col="14" text="bind:titleyn"/>
  125. <Cell col="15" text="bind:inqrflag"/>
  126. <Cell col="16" text="bind:rsltscore"/>
  127. <Cell col="17" text="bind:path"/>
  128. <Cell col="18" text="bind:root"/>
  129. <Cell col="19" text="bind:rrgstno1"/>
  130. <Cell col="20" text="bind:rrgstno2"/>
  131. </Band>
  132. </Format>
  133. </Formats>
  134. </Grid>
  135. <Div id="grp_inqrans" position="absolute 850 70 1195 348" style="background:white;border:1 dotted #808080ff ;" visible="false" anchor="default">
  136. <Layouts>
  137. <Layout>
  138. <Static id="caption56" class="tit_2" position="absolute 4 12 112 28" style="" text="문진선택답안" anchor="default"/>
  139. <Grid id="grd_assoinqranslst" binddataset="ds_main_tempinfo_assoinqranswlst_item" position="absolute 5 33 340 243" style="" autofittype="col" cellsizingtype="none" autosizingtype="row" extendsizetype="row" anchor="default" cellclickbound="cell">
  140. <Formats>
  141. <Format id="default">
  142. <Columns>
  143. <Column size="25" band="left"/>
  144. <Column size="30"/>
  145. <Column size="49"/>
  146. <Column size="230"/>
  147. <Column size="0"/>
  148. <Column size="0"/>
  149. <Column size="0"/>
  150. <Column size="0"/>
  151. <Column size="0"/>
  152. <Column size="0"/>
  153. <Column size="0"/>
  154. <Column size="0"/>
  155. </Columns>
  156. <Rows>
  157. <Row size="24" band="head"/>
  158. <Row size="24"/>
  159. </Rows>
  160. <Band id="head">
  161. <Cell/>
  162. <Cell col="1" text="선택"/>
  163. <Cell col="2" text="코드"/>
  164. <Cell col="3" text="결과내용"/>
  165. <Cell col="4" text="영문답안"/>
  166. <Cell col="5" text="하위사용여부"/>
  167. <Cell col="6" text="하위사용코드"/>
  168. <Cell col="7" text="비고입력여부"/>
  169. <Cell col="8" text="적용년도"/>
  170. <Cell col="9" text="문진구분"/>
  171. <Cell col="10" text="문진코드"/>
  172. <Cell col="11" text="점수"/>
  173. </Band>
  174. <Band id="body">
  175. <Cell celltype="head" text="expr:currow+1"/>
  176. <Cell col="1" displaytype="checkbox" edittype="checkbox" style="padding:5 0 4 0;" text="bind:sel" expr="expr:(sel==&quot;Y&quot;||sel==1)?1:0"/>
  177. <Cell col="2" style="align:left top;padding:5 0 4 0;" text="bind:answcd" wordwrap="word"/>
  178. <Cell col="3" style="align:left top;padding:5 0 4 0;" text="bind:answnm"/>
  179. <Cell col="4" text="bind:answengnm"/>
  180. <Cell col="5" text="bind:infinqryn"/>
  181. <Cell col="6" text="bind:infinqrcd"/>
  182. <Cell col="7" text="bind:reminptyn"/>
  183. <Cell col="8" text="bind:appyear"/>
  184. <Cell col="9" text="bind:inqrflag"/>
  185. <Cell col="10" text="bind:inqrcd"/>
  186. <Cell col="11" text="bind:answpoint"/>
  187. </Band>
  188. </Format>
  189. </Formats>
  190. </Grid>
  191. <Shape id="line36" class="line_10" linetype="horizontal" position="absolute 4 29 339 33" style="" anchor="default"/>
  192. <Edit id="ipt_answcd" class="input_default" position="absolute 110 8 154 27" style="" anchor="default" onkeyup="group4_grp_inqrans_ipt_answcd_onkeyup"/>
  193. <Button id="button11" class="btn4" visible="true" position="absolute 284 247 340 269" style="" text="선택" onclick="group4_grp_inqrans_button11_onclick" anchor="default"/>
  194. <Button id="button2" class="btn2" visible="true" position="absolute 280 6 340 28" style="" text="창닫기" onclick="group4_grp_inqrans_button2_onclick" anchor="default"/>
  195. <Static id="caption2" position="absolute 156 4 266 24" style="color:#0000ffff;padding:0 0 0 0;align:left bottom;font:Dotum,9,bold;" text="코드 입력후 Enter" anchor="default"/>
  196. <Static id="caption3" position="absolute 9 244 140 264" style="color:#0000ffff;align:bottom;font:Dotum,9,bold;" text="답변 선택후 선택버튼" anchor="default"/>
  197. <Button id="button1" class="btn4" visible="true" position="absolute 224 247 280 269" style="" text="삭제" onclick="group4_grp_inqrans_button1_onclick" anchor="default"/>
  198. </Layout>
  199. </Layouts>
  200. </Div>
  201. <ImageViewer id="img1" taborder="1" position="absolute 88 71 850 211" image="URL('IMG::ast/manual6.png')" style="border:4 solid red ;" onclick="group4_img1_onclick" visible="false" resampling="true"/>
  202. </Layout>
  203. </Layouts>
  204. </Div>
  205. <Shape id="line36" class="line_10" position="absolute 0 64 1195 68" anchor="left top right"/>
  206. </Layout>
  207. </Layouts>
  208. <Objects>
  209. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  210. <ColumnInfo>
  211. <Column id="hidden" type="STRING" size="256"/>
  212. </ColumnInfo>
  213. </Dataset>
  214. <Dataset id="ds_main_inqrlst_answitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  215. <ColumnInfo>
  216. <Column id="sel" type="STRING" size="256"/>
  217. <Column id="appyear" type="STRING" size="256"/>
  218. <Column id="inqrflag" type="STRING" size="256"/>
  219. <Column id="inqrcd" type="STRING" size="256"/>
  220. <Column id="answcd" type="STRING" size="256"/>
  221. <Column id="answnm" type="STRING" size="256"/>
  222. <Column id="answengnm" type="STRING" size="256"/>
  223. <Column id="infinqryn" type="STRING" size="256"/>
  224. <Column id="infinqrcd" type="STRING" size="256"/>
  225. <Column id="reminptyn" type="STRING" size="256"/>
  226. </ColumnInfo>
  227. <Rows>
  228. <Row>
  229. <Col id="sel"/>
  230. <Col id="appyear"/>
  231. <Col id="inqrflag"/>
  232. <Col id="inqrcd"/>
  233. <Col id="answcd"/>
  234. <Col id="answnm"/>
  235. <Col id="answengnm"/>
  236. <Col id="infinqryn"/>
  237. <Col id="infinqrcd"/>
  238. <Col id="reminptyn"/>
  239. </Row>
  240. </Rows>
  241. </Dataset>
  242. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  243. <ColumnInfo/>
  244. </Dataset>
  245. <Dataset id="ds_main_inqrlst_answcheck" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  246. <ColumnInfo>
  247. <Column id="atype" type="STRING" size="256"/>
  248. <Column id="btype" type="STRING" size="256"/>
  249. </ColumnInfo>
  250. <Rows>
  251. <Row>
  252. <Col id="atype"/>
  253. <Col id="btype"/>
  254. </Row>
  255. </Rows>
  256. </Dataset>
  257. <Dataset id="ds_send_save_saveinqr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  258. <ColumnInfo/>
  259. </Dataset>
  260. <Dataset id="ds_main_inqrlst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  261. <ColumnInfo/>
  262. </Dataset>
  263. <Dataset id="ds_init_baseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  264. <ColumnInfo>
  265. <Column id="yearlist" type="STRING" size="256"/>
  266. </ColumnInfo>
  267. <Rows>
  268. <Row>
  269. <Col id="yearlist"/>
  270. </Row>
  271. </Rows>
  272. </Dataset>
  273. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  274. <ColumnInfo/>
  275. </Dataset>
  276. <Dataset id="ds_main_inqrlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_inqrlst_item_oncolumnchanged">
  277. <ColumnInfo>
  278. <Column id="sel" type="STRING" size="256"/>
  279. <Column id="lvl" type="STRING" size="256"/>
  280. <Column id="appyear" type="STRING" size="256"/>
  281. <Column id="inqrcd" type="STRING" size="256"/>
  282. <Column id="supinqrcd" type="STRING" size="256"/>
  283. <Column id="inqrnm" type="STRING" size="256"/>
  284. <Column id="inqrengnm" type="STRING" size="256"/>
  285. <Column id="inqrrsltcd" type="STRING" size="256"/>
  286. <Column id="inqrrsltcnts" type="STRING" size="256"/>
  287. <Column id="remcnts" type="STRING" size="256"/>
  288. <Column id="answflag" type="STRING" size="256"/>
  289. <Column id="titleyn" type="STRING" size="256"/>
  290. <Column id="inqrflag" type="STRING" size="256"/>
  291. <Column id="rsltscore" type="STRING" size="256"/>
  292. <Column id="path" type="STRING" size="256"/>
  293. <Column id="root" type="STRING" size="256"/>
  294. <Column id="rrgstno1" type="STRING" size="256"/>
  295. <Column id="rrgstno2" type="STRING" size="256"/>
  296. </ColumnInfo>
  297. <Rows>
  298. <Row>
  299. <Col id="sel"/>
  300. <Col id="lvl"/>
  301. <Col id="appyear"/>
  302. <Col id="inqrcd"/>
  303. <Col id="supinqrcd"/>
  304. <Col id="inqrnm"/>
  305. <Col id="inqrengnm"/>
  306. <Col id="inqrrsltcd"/>
  307. <Col id="inqrrsltcnts"/>
  308. <Col id="remcnts"/>
  309. <Col id="answflag"/>
  310. <Col id="titleyn"/>
  311. <Col id="inqrflag"/>
  312. <Col id="rsltscore"/>
  313. <Col id="path"/>
  314. <Col id="root"/>
  315. <Col id="rrgstno1"/>
  316. <Col id="rrgstno2"/>
  317. </Row>
  318. </Rows>
  319. </Dataset>
  320. <Dataset id="ds_main_tempinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  321. <ColumnInfo>
  322. <Column id="answcd" type="STRING" size="256"/>
  323. </ColumnInfo>
  324. <Rows>
  325. <Row>
  326. <Col id="answcd"/>
  327. </Row>
  328. </Rows>
  329. </Dataset>
  330. <Dataset id="ds_temp_tmp_execnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  331. <ColumnInfo/>
  332. </Dataset>
  333. <Dataset id="ds_main_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  334. <ColumnInfo>
  335. <Column id="ptnm" type="STRING" size="256"/>
  336. <Column id="rrgstno1" type="STRING" size="256"/>
  337. <Column id="rrgstno2" type="STRING" size="256"/>
  338. <Column id="age" type="STRING" size="256"/>
  339. </ColumnInfo>
  340. <Rows>
  341. <Row>
  342. <Col id="ptnm"/>
  343. <Col id="rrgstno1"/>
  344. <Col id="rrgstno2"/>
  345. <Col id="age"/>
  346. </Row>
  347. </Rows>
  348. </Dataset>
  349. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  350. <ColumnInfo/>
  351. </Dataset>
  352. <Dataset id="ds_send_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  353. <ColumnInfo>
  354. <Column id="posinstcd" type="STRING" size="256"/>
  355. <Column id="healexamflag" type="STRING" size="256"/>
  356. <Column id="healexamdetlflag" type="STRING" size="256"/>
  357. <Column id="appyear" type="STRING" size="256"/>
  358. <Column id="inqrflag" type="STRING" size="256"/>
  359. <Column id="userid" type="STRING" size="256"/>
  360. <Column id="ptnm" type="STRING" size="256"/>
  361. <Column id="rrgstno1" type="STRING" size="256"/>
  362. <Column id="rrgstno2" type="STRING" size="256"/>
  363. <Column id="age" type="STRING" size="256"/>
  364. </ColumnInfo>
  365. <Rows>
  366. <Row>
  367. <Col id="posinstcd"/>
  368. <Col id="healexamflag"/>
  369. <Col id="healexamdetlflag"/>
  370. <Col id="appyear"/>
  371. <Col id="inqrflag">A</Col>
  372. <Col id="userid"/>
  373. <Col id="ptnm"/>
  374. <Col id="rrgstno1"/>
  375. <Col id="rrgstno2"/>
  376. <Col id="age"/>
  377. </Row>
  378. </Rows>
  379. </Dataset>
  380. <Dataset id="ds_main_tempinfo_assoinqranswlst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  381. <ColumnInfo/>
  382. </Dataset>
  383. <Dataset id="ds_main_tempinfo_assoinqranswlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_tempinfo_assoinqranswlst_item_oncolumnchanged">
  384. <ColumnInfo>
  385. <Column id="sel" type="STRING" size="256"/>
  386. <Column id="answcd" type="STRING" size="256"/>
  387. <Column id="answnm" type="STRING" size="256"/>
  388. <Column id="answengnm" type="STRING" size="256"/>
  389. <Column id="infinqryn" type="STRING" size="256"/>
  390. <Column id="infinqrcd" type="STRING" size="256"/>
  391. <Column id="reminptyn" type="STRING" size="256"/>
  392. <Column id="appyear" type="STRING" size="256"/>
  393. <Column id="inqrflag" type="STRING" size="256"/>
  394. <Column id="inqrcd" type="STRING" size="256"/>
  395. <Column id="answpoint" type="STRING" size="256"/>
  396. </ColumnInfo>
  397. <Rows>
  398. <Row>
  399. <Col id="sel"/>
  400. <Col id="answcd"/>
  401. <Col id="answnm"/>
  402. <Col id="answengnm"/>
  403. <Col id="infinqryn"/>
  404. <Col id="infinqrcd"/>
  405. <Col id="reminptyn"/>
  406. <Col id="appyear"/>
  407. <Col id="inqrflag"/>
  408. <Col id="inqrcd"/>
  409. <Col id="answpoint"/>
  410. </Row>
  411. </Rows>
  412. </Dataset>
  413. <Dataset id="ds_init_baseinfo_yearlist_S900" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  414. <Dataset id="ds_temp_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  415. </Objects>
  416. <Bind>
  417. <BindItem id="item0" compid="group5.comb_appyear" propid="value" datasetid="ds_send_cond" columnid="appyear"/>
  418. <BindItem id="item1" compid="group5.radio1" propid="value" datasetid="ds_send_cond" columnid="inqrflag"/>
  419. <BindItem id="item2" compid="group5.ipt_age" propid="value" datasetid="ds_send_cond" columnid="age"/>
  420. <BindItem id="item3" compid="group5.int_pnm" propid="value" datasetid="ds_send_cond" columnid="ptnm"/>
  421. <BindItem id="item4" compid="group5.ipt_rrgstno1" propid="value" datasetid="ds_send_cond" columnid="rrgstno1"/>
  422. <BindItem id="item5" compid="group5.ipt_rrgstno2" propid="value" datasetid="ds_send_cond" columnid="rrgstno2"/>
  423. <BindItem id="item6" compid="group4.grp_inqrans.ipt_answcd" propid="value" datasetid="ds_main_tempinfo" columnid="answcd"/>
  424. </Bind>
  425. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"
  426. include "com_basiccodexp::ZBC001.xjs"
  427. include "com_pacsxp::ZEP001.xjs"
  428. include "com_zipcodexp::ZBP001.xjs"
  429. include "ast_examcurexp::AEZ0001.xjs"
  430. include "ast_healthexambasexp::healcombolist.xjs"
  431. //include "ast_healthexamrsrvacptxp::AHA.xjs"
  432. //include "ast_examcurexp::combolist.xjs"
  433. var arErrorCode = new HashArray();
  434. var gTimerID;
  435. var gIntervalTime = 500;
  436. var gTimeCnt;
  437. function SMAHA04370_onload(obj:Form, e:LoadEventInfo) {
  438. frmf_initForm(obj);
  439. grdf_initGrid(group4.grd_assoinqrlst);
  440. grdf_initGrid(group4.grp_inqrans.grd_assoinqranslst);
  441. //grdf_setGridSort(grd_XXX);
  442. grdf_setRowTypeIcon(group4.grd_assoinqrlst, 0);
  443. // 년도를 기준자료로 관리 하도록 프로그램 수정
  444. //healGetCodeList( new Array("S900"), new Array("ds_init_baseinfo_yearlist"));
  445. var arrParam = [
  446. {dsNm: "ds_init_baseinfo_yearlist_S900", cdGrpId: "S900"}
  447. ];
  448. healGetCodeList(arrParam);
  449. //group4.grd_assoinqrlst.fixedcellcheckbox(0, group4.grd_assoinqrlst.colRef("sel")) = true;
  450. ds_send_cond.clearData();
  451. ds_send_cond.addRow();
  452. ds_send_cond.setColumn( 0, "healexamdetlflag" , "G01");
  453. ds_send_cond.setColumn( 0, "healexamflag" , "G");
  454. var cur_date = utlf_getCurrentDate().toDate("YYYYMMDD");
  455. ds_send_cond.setColumn( 0, "appyear" , cur_date.getDateFormat('YYYY'));
  456. ds_send_cond.setColumn( 0, "inqrflag" , "A");
  457. ds_main_tempinfo.clearData();
  458. ds_main_tempinfo.addRow();
  459. if(fGetUserCheck()){ //환자정보 체크
  460. fGetInqrCdList(); //공단연계 문진표 조회
  461. }
  462. //model.refresh();
  463. //깜빡이 기능
  464. //깜빡이 기능 제거(20160525 이정택)
  465. /*
  466. gTimeCnt = 1;
  467. //fviewinfomsg();
  468. gTimerID = 0;
  469. this.setTimer(0, gIntervalTime);
  470. */
  471. }
  472. /**===================================================================================
  473. _desc : 환자정보 체크
  474. =====================================================================================*/
  475. function fGetUserCheck(){
  476. dsf_makeValue( ds_send_cond, "userid", "string", sysf_getUserId());
  477. //if(submit("TRAHA04370")){
  478. var oParam = {};
  479. oParam.id = "TRAHA04370";
  480. oParam.service = "healthexamrsltapp.RsltInpt";
  481. oParam.method = "reqGetUserInfo";
  482. oParam.inds = "req=ds_send_cond";
  483. oParam.outds = "ds_main_userinfo=userinfo";
  484. oParam.async = false;
  485. oParam.callback = "cf_TRAHA04370";
  486. tranf_submit(oParam);
  487. if(arErrorCode.pop("TRAHA04370") > -1) {
  488. if(ds_main_userinfo.getColumn(0, "ptnm") == ""
  489. || ds_main_userinfo.getColumn(0, "rrgstno1") == ""
  490. || ds_main_userinfo.getColumn(0, "rrgstno2") == ""
  491. || ds_main_userinfo.getColumn(0, "age") == ""){
  492. sysf_messageBox("사용자정보가 유효하지 않습니다.", "E999");
  493. return false;
  494. }
  495. }else{
  496. sysf_messageBox("사용자정보가 존재하지 않습니다.", "E999");
  497. return false;
  498. }
  499. ds_send_cond.setColumn( 0, "ptnm" , ds_main_userinfo.getColumn(0, "ptnm"));
  500. ds_send_cond.setColumn( 0, "rrgstno1" , ds_main_userinfo.getColumn(0, "rrgstno1"));
  501. ds_send_cond.setColumn( 0, "rrgstno2" , ds_main_userinfo.getColumn(0, "rrgstno2"));
  502. ds_send_cond.setColumn( 0, "age" , ds_main_userinfo.getColumn(0, "age"));
  503. return true;
  504. }
  505. function cf_TRAHA04370(sSvcId, nErrorCode, sErrorMsg) {
  506. arErrorCode.push(sSvcId, nErrorCode);
  507. }
  508. /**===================================================================================
  509. _desc : 깜빡이 기능
  510. =====================================================================================*/
  511. function fviewinfomsg(){
  512. // window.clearInterval(gTimerID);
  513. // gTimerID = window.setInterval("fviewinfomsg()", gIntervalTime);
  514. if(gTimeCnt%2 == 0){
  515. group5.cap_infomsg.visible = true;
  516. }else{
  517. group5.cap_infomsg.visible = false;
  518. }
  519. //group5.cap_infomsg.refresh();
  520. gTimeCnt++;
  521. }
  522. /**===================================================================================
  523. _desc : 공단연계 문진표 조회
  524. =====================================================================================*/
  525. function fGetInqrCdList(){
  526. frmf_openLoadingBar("문진표 ");
  527. //var ret = submit("TRAHA04371");
  528. var oParam = {};
  529. oParam.id = "TRAHA04371";
  530. oParam.service = "healthexamrsltapp.RsltInpt";
  531. oParam.method = "reqGetGnrlTempInqrList";
  532. oParam.inds = "req=ds_send_cond";
  533. oParam.outds = "ds_main_inqrlst_item=item ds_main_inqrlst_answitem=answitem ds_main_inqrlst_answcheck=answcheck";
  534. oParam.async = false;
  535. oParam.callback = "cf_TRAHA04371";
  536. tranf_submit(oParam);
  537. var ret = false;
  538. if(arErrorCode.pop("TRAHA04371") > -1){
  539. ret = true;
  540. // if(utlf_isNull(ds_main_inqrlst_item.getColumnInfo("sel"))) {
  541. // ds_main_inqrlst_item.addColumn("sel", "string");
  542. // }
  543. // group4.grd_assoinqrlst.rebuildStyle();
  544. // group4.grd_assoinqrlst.rebuild();
  545. ds_main_inqrlst_item.updatecontrol = false;
  546. dsf_setDefaultVal(ds_main_inqrlst_item, "sel:N");
  547. ds_main_inqrlst_item.filter("String(inqrcd).substring(0,2) != '10'");
  548. // ds_main_inqrlst_item.filter("inqrcd.indexOf('10') < 0");
  549. //ds_main_inqrlst_item.enableevent = false; // 이 부분을 살리면 특정 fChoiGrdTree 함수가 정상작동하지 않아서 숨김함, 이유는 정확히 모름.
  550. for(var i = 0; i < ds_main_inqrlst_item.rowcount; i++){
  551. var titleYn = ds_main_inqrlst_item.getColumn( i, "titleyn");
  552. if(titleYn == "N"){
  553. ds_main_inqrlst_item.setColumn( i, "sel", "N");
  554. var retValue = ds_main_inqrlst_item.setRowType(i, Dataset.ROWTYPE_INSERT); //group4.grd_assoinqrlst.rowStatus(i) = 1;
  555. //kimdo3 modify
  556. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("sel")) = false; //선택
  557. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("inqrrsltcd")) = false; //답안결과
  558. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("inqrrsltcnts")) = false; //답안내역
  559. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("remcnts")) = false; //비고
  560. }else{
  561. //kimdo3 modify
  562. // group4.grd_assoinqrlst.setCellProprty("body", i, "background", "#c0c0c0"); grd_assoinqrlst.setCellProperty("body", i, "background2", "#c0c0c0");
  563. // group4.grd_assoinqrlst.rowStyle(i, "all", "font-weight") = "bold";
  564. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("sel")) = true; //선택
  565. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("inqrrsltcd")) = true; //답안결과
  566. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("inqrrsltcnts")) = true; //답안내역
  567. // group4.grd_assoinqrlst.isReadOnly(i, group4.grd_assoinqrlst.colRef("remcnts")) = true; //비고
  568. //expr로 대체함.
  569. // group4.grd_assoinqrlst.isReadOnly( i, group4.grd_assoinqrlst.colRef("inqrrsltcnts")) = true;
  570. // group4.grd_assoinqrlst.isReadOnly( i, group4.grd_assoinqrlst.colRef("remcnts")) = true;
  571. // group4.grd_assoinqrlst.rowStyle(i, "all", "background-color") = "#c8c8c8";
  572. // group4.grd_assoinqrlst.rowStyle(i, "all", "font-weight") = "bold";
  573. }
  574. }
  575. //ds_main_inqrlst_item.enableevent = true;
  576. ds_main_inqrlst_item.updatecontrol = true;
  577. /*답안설명을 화면에 보이게끔*/
  578. // var arr = "";
  579. // for(nRow = 1; nRow <= group4.grd_assoinqrlst.rows; nRow++){
  580. // var srcAppYear = group4.grd_assoinqrlst.valueMatrix(nRow , group4.grd_assoinqrlst.colRef("appyear"));
  581. // var srcInqrFlag = group4.grd_assoinqrlst.valueMatrix(nRow , group4.grd_assoinqrlst.colRef("inqrflag"));
  582. // var srcInqrCd = group4.grd_assoinqrlst.valueMatrix(nRow , group4.grd_assoinqrlst.colRef("inqrcd"));
  583. // for(var i=1; i <= ds_main_inqrlst_answitem.rowcount; i++) {
  584. // var desAppYear = ds_main_inqrlst_answitem.getColumn(i, "appyear");
  585. // var desInqrFlag = ds_main_inqrlst_answitem.getColumn(i, "inqrflag");
  586. // var desInqrCd = ds_main_inqrlst_answitem.getColumn(i, "inqrcd");
  587. // var desAnswNm = ds_main_inqrlst_answitem.getColumn(i, "answcd") + ":" + ds_main_inqrlst_answitem.getColumn(i, "answnm") + " ";
  588. // if(srcAppYear == desAppYear && srcInqrFlag == desInqrFlag && srcInqrCd == desInqrCd ) {
  589. // arr += desAnswNm;
  590. // }
  591. // group4.grd_assoinqrlst.valueMatrix(nRow, group4.grd_assoinqrlst.colRef("answcont")) = arr;
  592. // }
  593. // arr = "";
  594. // }
  595. //group4.grd_assoinqrlst.autoResize = true;
  596. //setTree(group4.grd_assoinqrlst, group4.grd_assoinqrlst.colRef("lvl"), group4.grd_assoinqrlst.colRef("inqrnm"), true);
  597. }
  598. frmf_closeLoadingBar();
  599. if(ret){
  600. var atype = ds_main_inqrlst_answcheck.getColumn(0, "atype");
  601. var btype = ds_main_inqrlst_answcheck.getColumn(0, "btype");
  602. var msg = "";
  603. if(atype == 0){
  604. msg = "일반+생애";
  605. }
  606. /* 구강문진에 대해서 팝업 제거(2016_05_25 이정택)
  607. if(btype == 0){
  608. msg = msg + "구강"
  609. }
  610. if(atype == 0 && btype == 0){
  611. msg = "일반+생애, 구강"
  612. }
  613. */
  614. if(msg != ""){
  615. sysf_messageBox(msg+" 문진표 작성되지", "E007");
  616. }
  617. }
  618. }
  619. function cf_TRAHA04371(sSvcId, nErrorCode, sErrorMsg) {
  620. arErrorCode.push(sSvcId, nErrorCode);
  621. }
  622. /**===================================================================================
  623. _desc : 문진 포커스를 처리 (2010.04.23. bCol flag 추가)
  624. =====================================================================================*/
  625. function fMoveInqrFocus(bCol, bMove, bRow){
  626. if(bCol == group4.grd_assoinqrlst.getBindCellIndex("body", "inqrnm") || utlf_isNull(bCol)) bCol = 10; //9->10
  627. if(bCol != group4.grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcd") && bCol != group4.grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts")) return;
  628. if(utlf_isNull(bRow)) bRow = 0;
  629. var idx = ds_main_inqrlst_item.rowposition;
  630. if(idx < 0) return;
  631. if(bMove == true){
  632. idx = ds_main_inqrlst_item.rowposition + bRow;
  633. if(idx >= ds_main_inqrlst_item.rowcount){
  634. idx = ds_main_inqrlst_item.rowcount;
  635. return;
  636. }
  637. ds_main_inqrlst_item.rowposition = idx;
  638. }
  639. //타이틀 여부 체크
  640. if(ds_main_inqrlst_item.getColumn(idx, "titleyn") == "Y"){
  641. idx = idx + 1;
  642. ds_main_inqrlst_item.rowposition = idx;
  643. fMoveInqrFocus(bCol, true); //그리드의 셀 이외의 곳을 클릭하면 종료한다.
  644. return;
  645. }else{
  646. //문진명 줄무늬 시작
  647. //group4.grd_assoinqrlst.allstyle("all", "border-style" ) = "";
  648. //group4.grd_assoinqrlst.allstyle("all", "border-width" ) = "";
  649. //group4.grd_assoinqrlst.allstyle("all", "border-color" ) = "";
  650. var sPrestRow = idx;
  651. var sPrestCol = 7; //5 -> 7
  652. ds_main_inqrlst_item.rowposition = idx;
  653. // expr로 대체함.
  654. //group4.grd_assoinqrlst.cellStyle("border-style" , sPrestRow, sPrestCol, sPrestRow, sPrestCol+1) = "solid";
  655. //group4.grd_assoinqrlst.cellStyle("border-width" , sPrestRow, sPrestCol, sPrestRow, sPrestCol+1) = "3px";
  656. //group4.grd_assoinqrlst.cellStyle("border-color" , sPrestRow, sPrestCol, sPrestRow, sPrestCol+1) = "#FF0000";
  657. group4.grd_assoinqrlst.setCellPos(sPrestCol);
  658. //문진명 줄무늬 끝
  659. if(ds_main_inqrlst_item.getColumn(idx, "answflag") == "O"){
  660. //선택형 문진
  661. var nRowHeigth = 0;
  662. nRowHeigth += group4.grd_assoinqrlst.getRealRowSize(0);
  663. var lastRowRealSize = 0;
  664. for(var i=0; i <= idx; i++){
  665. var tIDX = group4.grd_assoinqrlst.getTreeRow(i);
  666. if(tIDX >= 0) {
  667. nRowHeigth = nRowHeigth + parseInt( group4.grd_assoinqrlst.getRealRowSize(tIDX));
  668. lastRowRealSize = parseInt( group4.grd_assoinqrlst.getRealRowSize(tIDX));
  669. }
  670. }
  671. var y = nRowHeigth;
  672. var lim_y = parseInt(group4.grd_assoinqrlst.position.top) + parseInt(group4.grd_assoinqrlst.position.height) - parseInt(group4.grp_inqrans.position.height);
  673. if(y > lim_y){
  674. y = nRowHeigth - group4.grp_inqrans.position.height - lastRowRealSize; //아래에 오면 입력창을 가리지 않게 하기 위해 사용함.
  675. }
  676. fGetInqrAnsCdList(bCol, y); //문진선택형 답안 가져오기
  677. if(ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.rowposition, "inqrcd") == "601") {
  678. group4.img1.position.top = group4.grp_inqrans.position.top;
  679. group4.img1.position.height = 140;
  680. group4.img1.visible = true;
  681. }
  682. }else if(ds_main_inqrlst_item.getColumn(idx, "answflag") == "T" || ds_main_inqrlst_item.getColumn(idx, "answflag") == "N"){
  683. //서술형 문진
  684. if(group4.grd_assoinqrlst.isTreeCollapsedRow(idx, false)){ //iscollapsed --> .isTreeCollapsedRow
  685. var srcAppYear = ds_main_inqrlst_item.getColumn(idx, "appyear");
  686. var srcInqrFlag = ds_main_inqrlst_item.getColumn(idx, "inqrflag");
  687. var srcInqrCd = ds_main_inqrlst_item.getColumn(idx, "inqrcd");
  688. var pathArr = utlf_transNullToEmpty(ds_main_inqrlst_item.getColumn(idx, "path")).split('^');
  689. var findChk = false;
  690. var moveRow = 0;
  691. for(var i = 0; i < pathArr.length; i++){
  692. if(srcInqrCd == pathArr[i]){
  693. findChk = true;
  694. }
  695. if(findChk){
  696. for(var j = 0; j < ds_main_inqrlst_item.rowcount; j++){
  697. var desAppYear = ds_main_inqrlst_item.getColumn(j, "appyear");
  698. var desInqrFlag = ds_main_inqrlst_item.getColumn(j, "inqrflag");
  699. var desInqrCd = ds_main_inqrlst_item.getColumn(j, "supinqrcd");
  700. if(srcAppYear == desAppYear && srcInqrFlag == desInqrFlag && pathArr[i] == desInqrCd){
  701. moveRow++;
  702. }
  703. }
  704. }
  705. }
  706. fMoveInqrFocus(bCol, true, moveRow); //ROW이동, 문진 포커스를 처리
  707. }else{
  708. //if("object" == typeof htmlwindow){
  709. // htmlwindow.setTimeout(function() {group4.grd_assoinqrlst.editCell()},10);
  710. //}else{
  711. group4.grd_assoinqrlst.setCellPos( group4.grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts"));
  712. group4.grd_assoinqrlst.showEditor(true); //.editCell();
  713. //}
  714. }
  715. }else{
  716. fMoveInqrFocus(bCol, true); //ROW이동, 문진 포커스를 처리
  717. }
  718. }
  719. }
  720. /**===========================================================================================================================
  721. *문진선택형 답안 가져오기
  722. * IN : 문진구분_문진코드_기관코드 (2010.04.23. bCol 추가)
  723. =============================================================================================================================*/
  724. function fGetInqrAnsCdList(bCol, vTop){
  725. var idx = ds_main_inqrlst_item.rowposition;
  726. if(idx < 0) return;
  727. ds_main_tempinfo_assoinqranswlst_item.clearData();
  728. //ds_main_tempinfo_answcd.clearData(); ds_main_tempinfo_answcd.addRow();
  729. //group4.grp_inqrans.ipt_answcd.refresh();
  730. var srcAppYear = ds_main_inqrlst_item.getColumn(idx , "appyear");
  731. var srcInqrFlag = ds_main_inqrlst_item.getColumn(idx , "inqrflag");
  732. var srcInqrCd = ds_main_inqrlst_item.getColumn(idx , "inqrcd");
  733. //ds_main_tempinfo_assoinqranswlst_item.copyData( "ds_main_inqrlst_answitem[appyear='"+ srcAppYear +"' and inqrflag='"+ srcInqrFlag +"' and inqrcd='"+ srcInqrCd +"' ]");
  734. //ds_main_inqrlst_answitem.enableevent = false;
  735. ds_main_inqrlst_answitem.filter("appyear == '"+ srcAppYear +"' && inqrflag == '"+ srcInqrFlag +"' && inqrcd == '"+ srcInqrCd +"'");
  736. ds_main_tempinfo_assoinqranswlst_item.copyData(ds_main_inqrlst_answitem, true);
  737. ds_main_inqrlst_answitem.filter("");
  738. //ds_main_inqrlst_answitem.enableevent = true;
  739. ds_main_tempinfo_assoinqranswlst_item.updatecontrol = false;
  740. dsf_setDefaultVal(ds_main_tempinfo_assoinqranswlst_item, "sel:N");
  741. ds_main_tempinfo_assoinqranswlst_item.updatecontrol = true;
  742. // if(utlf_isNull(ds_main_tempinfo_assoinqranswlst_item.getColumnInfo("sel"))) {
  743. // ds_main_tempinfo_assoinqranswlst_item.addColumn("sel", "string");
  744. // for(var i = 0; i < ds_main_tempinfo_assoinqranswlst_item.rowcount; i++) {
  745. // ds_main_tempinfo_assoinqranswlst_item.setColumn(i, "sel", "N");
  746. // }
  747. // }
  748. //group4.grp_inqrans.grd_assoinqranslst.rebuild();
  749. var oldHeight = group4.grp_inqrans.position.height;
  750. var gbottom = group4.grd_assoinqrlst.position.bottom;
  751. var tbottom = vTop + oldHeight;
  752. if(tbottom > gbottom) {
  753. group4.grp_inqrans.position.top = gbottom - oldHeight;
  754. group4.grp_inqrans.position.height = oldHeight;
  755. } else {
  756. group4.grp_inqrans.position.top = vTop;
  757. group4.grp_inqrans.position.height = oldHeight;
  758. }
  759. if(bCol == 10){
  760. group4.grp_inqrans.visible = true;
  761. ds_main_tempinfo.setColumn(0, "answcd", "");
  762. group4.grp_inqrans.ipt_answcd.setFocus();
  763. }else{
  764. group4.grp_inqrans.visible = false;
  765. }
  766. }
  767. /**======================================================================================================================================
  768. * 답변의 Validation을 체크한다. 선택형에 없는 값을 입력하는지 체크한다.
  769. =========================================================================================================================================*/
  770. function fValidAnswer(vAnsw){
  771. var rslt="";
  772. var valid = false;
  773. var arrAnsw = vAnsw.split(",");
  774. for(var i = 0; i < arrAnsw.length; i++){
  775. var answLen = "";
  776. if(i == 0){
  777. answLen = arrAnsw[i];
  778. }else{
  779. answLen = "^" + arrAnsw[i];
  780. }
  781. rslt = rslt + answLen;
  782. }
  783. var answ = rslt.replace(/[\s]/g,"^");
  784. answ = answ.split('^');
  785. if(fValidLength(answ.length)) return true; //답변의 길이을 체크
  786. for(var i=0; i< answ.length; i++){
  787. var srchAnsw = answ[i];
  788. if(ds_main_tempinfo_assoinqranswlst_item.findRow("answcd", srchAnsw) < 0){
  789. valid = true;
  790. break;
  791. }
  792. }
  793. return valid;
  794. }
  795. /**======================================================================================================================================
  796. * 답변의 길이을 체크한다.
  797. =========================================================================================================================================*/
  798. function fValidLength(answ){
  799. var row = ds_main_inqrlst_item.rowposition;
  800. var inqrcd = ds_main_inqrlst_item.getColumn(row, "inqrcd");
  801. if(ds_send_cond.getColumn(0, "inqrflag") == "A"){
  802. //일반+생애 (1-1, 1-2, 2 다중선택 가능)
  803. if(inqrcd == "001001" || inqrcd == "001002" || inqrcd == "002001"){
  804. }else{
  805. if(parseInt(answ)> 1){
  806. sysf_messageBox("다중 선택을 할 수", "I004");
  807. return true;
  808. }
  809. }
  810. }else{
  811. if(parseInt(answ) > 1){
  812. sysf_messageBox("다중 선택을 할 수", "I004");
  813. return true;
  814. }
  815. }
  816. }
  817. /**======================================================================================================================================
  818. * 문진답안선택시 배열로 생성한다. (2010.04.23 vGridYn flag 추가)
  819. =========================================================================================================================================*/
  820. function fSetInqrAns(vInptYN, vGridYn){
  821. if(utlf_isNull(vGridYn)) vGridYn = "N";
  822. var inqrRsltArr = new Array();
  823. var addCnt = 0;
  824. var answcd = "";
  825. var answArr = "";
  826. var rslt = "";
  827. if(vInptYN == "Y") {
  828. if(vGridYn == "N"){
  829. answcd = ds_main_tempinfo.getColumn(0, "answcd"); //group4.grp_inqrans.ipt_answcd.text;
  830. }else{
  831. var row = ds_main_inqrlst_item.rowposition;
  832. answcd = ds_main_inqrlst_item.getColumn(row, "inqrrsltcd");
  833. }
  834. answcd = answcd.replace(/[\s]/g,"^");
  835. if(answcd.indexOf("^") < 0){
  836. var arrAnswcd = answcd.split(",");
  837. for(var i=0; i<arrAnswcd.length; i++){
  838. var answLen = arrAnswcd[i] + "^";
  839. rslt = rslt + answLen;
  840. }
  841. rslt = rslt.substr(0, rslt.length-1);
  842. answArr = rslt.split('^');
  843. }else{
  844. answArr = answcd.split('^');
  845. }
  846. for(var i=0; i<answArr.length; i++){
  847. for(var j = 0; j<ds_main_tempinfo_assoinqranswlst_item.rowcount; j++){
  848. if(answArr[i] == ds_main_tempinfo_assoinqranswlst_item.getColumn(j, "answcd")){
  849. inqrRsltArr[addCnt] = ds_main_tempinfo_assoinqranswlst_item.getColumn(j, "answcd");
  850. addCnt++;
  851. }
  852. }
  853. }
  854. }else if(vInptYN == "N"){
  855. for(var x = 0; x < ds_main_tempinfo_assoinqranswlst_item.rowcount; x++){
  856. if(ds_main_tempinfo_assoinqranswlst_item.getColumn( x, "sel") == "Y" || ds_main_tempinfo_assoinqranswlst_item.getColumn( x, "sel") == "1" ){
  857. inqrRsltArr[addCnt] = ds_main_tempinfo_assoinqranswlst_item.getColumn(x, "answcd");
  858. addCnt++;
  859. }
  860. }
  861. }
  862. return fSetInqrRslt("1", inqrRsltArr);
  863. }
  864. /**======================================================================================================================================
  865. * 문진답안선택시 gird로 값 setting
  866. =========================================================================================================================================*/
  867. function fSetInqrRslt(vCls, vInqrArr){
  868. var insCnt = 0;
  869. var inqrRsltCd = "";
  870. var inqrRsltCnts = "";
  871. var inqrScore = 0;
  872. var befIdx = 0;
  873. var initBool = false;
  874. var row = ds_main_inqrlst_item.rowposition;
  875. var moveRow = 1;
  876. var _IDX = group4.grd_assoinqrlst.getTreeRow(row);
  877. if(group4.grd_assoinqrlst.getTreeStatus(_IDX) == 0 || group4.grd_assoinqrlst.getTreeStatus(_IDX) == 1 ){ // 확장 되어 있지 않은 상태라면 (0 : collapse, 1: expand),
  878. moveRow = fChoiGrdTree(group4.grd_assoinqrlst, row, true);
  879. }
  880. for(var i=0; i<vInqrArr.length; i++){
  881. for(var j = 0; j < ds_main_tempinfo_assoinqranswlst_item.rowcount; j++){
  882. if(vInqrArr[i] == ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answcd")){
  883. if(insCnt < 1){
  884. inqrRsltCd += ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answcd");
  885. inqrRsltCnts += ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answnm");
  886. inqrScore += parseInt(ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answpoint"));
  887. }else{
  888. inqrRsltCd += "^" + ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answcd");
  889. inqrRsltCnts += "^" + ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answnm");
  890. inqrScore += parseInt(ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "answpoint"));
  891. }
  892. //비고 입력 체크
  893. if(ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "reminptyn") == "Y"){
  894. ds_main_inqrlst_item.rowposition = j;
  895. group4.grd_assoinqrlst.setCellPos("body", group4.grd_assoinqrlst.getBindCellIndex("body", "remcnts"));
  896. group4.grd_assoinqrlst.showEditor(true); //.editCell();
  897. }
  898. //하위메뉴 펼치기
  899. if(ds_main_tempinfo_assoinqranswlst_item.getColumn(j, "infinqryn") == "Y")
  900. {
  901. //하위문진사용여부
  902. // var srcInqrCd = ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "inqrcd");
  903. // var srcInfinqrCd = ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "infinqrcd");
  904. var srcInqrCd = ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "infinqrcd");
  905. var srcAppYear = ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "appyear");
  906. var srcInqrFlag = ds_main_tempinfo_assoinqranswlst_item.getColumn( j, "inqrflag");
  907. for(var m = 0; m < ds_main_inqrlst_item.rowcount; m++){
  908. var desInqrCd = ds_main_inqrlst_item.getColumn(m, "inqrcd");
  909. var desAppYear = ds_main_inqrlst_item.getColumn(m, "appyear");
  910. var desInqrFlag = ds_main_inqrlst_item.getColumn(m, "inqrflag");
  911. if(srcInqrCd == desInqrCd && srcAppYear == desAppYear && srcInqrFlag == desInqrFlag){
  912. var pathArr = ds_main_inqrlst_item.getColumn(m, "path").split('^');
  913. for(var n=1; n < pathArr.length; n++){
  914. var idx = ds_main_inqrlst_item.findRow( "inqrcd", pathArr[n]);
  915. var desAppYear1 = ds_main_inqrlst_item.getColumn( m, "appyear");
  916. var desInqrFlag1 = ds_main_inqrlst_item.getColumn( m, "inqrflag");
  917. if(srcAppYear == desAppYear1 && srcInqrFlag == desInqrFlag1){
  918. //group4.grd_assoinqrlst.iscollapsed(idx) = false;
  919. var treeIDX = group4.grd_assoinqrlst.getTreeRow(idx);
  920. if(group4.grd_assoinqrlst.getTreeStatus(treeIDX)== 0 ){ // 확장 되어 있지 않은 상태라면 (0 : collapse, 1: expand),
  921. var retValue = group4.grd_assoinqrlst.setTreeStatus(treeIDX, true);
  922. }
  923. if(initBool == false){
  924. if(idx > 0){
  925. befIdx = idx;
  926. initBool = true;
  927. }
  928. }else{
  929. if(befIdx < idx){
  930. befIdx = idx;
  931. }
  932. }
  933. }
  934. }
  935. }
  936. }
  937. }else{
  938. var row = ds_main_inqrlst_item.rowposition;
  939. var pathArr = ds_main_inqrlst_item.getColumn(row, "path").split('^');
  940. var desAppYear = ds_main_inqrlst_item.getColumn(row, "appyear");
  941. var desInqrFlag = ds_main_inqrlst_item.getColumn(row, "inqrflag");
  942. for(var x=1; x < pathArr.length; x++){
  943. var desInqrCd = pathArr[x];
  944. for(var u = 0; u < ds_main_inqrlst_item.rowcount; u++){
  945. var srcAppYear = ds_main_inqrlst_item.getColumn(u, "appyear");
  946. var srcInqrFlag = ds_main_inqrlst_item.getColumn(u, "inqrflag");
  947. var srcInqrCd = ds_main_inqrlst_item.getColumn(u, "inqrcd");
  948. if(desAppYear == srcAppYear && desInqrFlag == srcInqrFlag && desInqrCd == srcInqrCd){
  949. if(ds_main_inqrlst_item.getColumn(u, "titleyn") == "Y") {
  950. //group4.grd_assoinqrlst.iscollapsed(u) = false;
  951. var treeIDX = group4.grd_assoinqrlst.getTreeRow(u);
  952. if(group4.grd_assoinqrlst.getTreeStatus(treeIDX)== 0 ){ // 확장 되어 있지 않은 상태라면 (0 : collapse, 1: expand),
  953. var retValue = group4.grd_assoinqrlst.setTreeStatus(treeIDX, true);
  954. }
  955. moveRow = 1;
  956. }
  957. }
  958. }
  959. }
  960. }
  961. insCnt++;
  962. }
  963. }
  964. }
  965. var row = ds_main_inqrlst_item.rowposition;
  966. var preInqrRsltCnts = ds_main_inqrlst_item.getColumn( row, "inqrrsltcnts");
  967. ds_main_inqrlst_item.updatecontrol = false;
  968. //ds_main_inqrlst_item.enableevent = false;
  969. if(utlf_isNull(preInqrRsltCnts)){
  970. ds_main_inqrlst_item.setRowType(row, Dataset.ROWTYPE_INSERT); //group4.grd_assoinqrlst.rowStatus(group4.grd_assoinqrlst.row) = 1;
  971. }else{
  972. ds_main_inqrlst_item.setRowType(row, Dataset.ROWTYPE_UPDATE); //group4.grd_assoinqrlst.rowStatus(group4.grd_assoinqrlst.row) = 2;
  973. }
  974. //ds_main_inqrlst_item.enableevent = true;
  975. ds_main_inqrlst_item.updatecontrol = true;
  976. ds_main_inqrlst_item.setColumn( row, "inqrrsltcd", inqrRsltCd);
  977. ds_main_inqrlst_item.setColumn( row, "inqrrsltcnts", inqrRsltCnts);
  978. ds_main_inqrlst_item.setColumn( row, "rsltscore", inqrScore);
  979. if(initBool){
  980. moveRow = befIdx - row;
  981. }
  982. return moveRow;
  983. }
  984. /**=============================================================================================================
  985. *입력 필수 문항 체크
  986. =================================================================================================================*/
  987. function fCheckSave(){
  988. var ret = false ;
  989. var vAppYear = ds_send_cond.getColumn(0, "appyear");
  990. var vInqrFlag = ds_send_cond.getColumn(0, "inqrflag");
  991. var vCheckItem = "";
  992. var arrCheckItem = "";
  993. var vCheckInqrCd = ""
  994. var vCheckRow = 0;
  995. var vCheckValue = "";
  996. var vAlertMsg = "";
  997. var cur_date = utlf_getCurrentDate().toDate("YYYYMMDD");
  998. var cur_year = cur_date.getDateFormat('YYYY');
  999. if(vAppYear == cur_year){
  1000. if(vInqrFlag == "A"){
  1001. //필수입력 설정(일반+생애)
  1002. vCheckItem = "003001^004001";
  1003. //4-2
  1004. vCheckRow = ds_main_inqrlst_item.findRow("inqrcd", "004001");
  1005. vCheckValue = ds_main_inqrlst_item.getColumn(vCheckRow, "inqrrsltcd");
  1006. if(vCheckValue == "2"){
  1007. vCheckItem = vCheckItem + "^004102^004103";
  1008. }
  1009. //4-3
  1010. if(vCheckValue == "3"){
  1011. vCheckItem = vCheckItem + "^004202^004203";
  1012. }
  1013. vCheckItem = vCheckItem + "^51";
  1014. //5-2
  1015. vCheckRow = ds_main_inqrlst_item.findRow("inqrcd", "51");
  1016. vCheckValue = ds_main_inqrlst_item.getColumn(vCheckRow, "inqrrsltcd");
  1017. if(vCheckValue == "1"){
  1018. vCheckItem = vCheckItem + "^52";
  1019. }
  1020. //6-1/7-1/8-1/9-1
  1021. vCheckItem = vCheckItem + "^601^71^81^91";
  1022. }else if(vInqrFlag == "B"){
  1023. //필수입력 설정(구강)
  1024. //vCheckItem = "001001^002001^003001^004001^005001^006001^007001^008001^009001^010001^011001^012001^013001^014001^015001^019001";
  1025. vCheckItem = "001001^002001^003001^004001^005001^006001^007001^008001^009001^010001^011001^012001^013001^014001^015001"; //2014년
  1026. }
  1027. if(!utlf_isNull(vCheckItem)){
  1028. arrCheckItem = vCheckItem.split('^');
  1029. for(var i = 0; i < arrCheckItem.length; i++){
  1030. vCheckInqrCd = arrCheckItem[i];
  1031. vCheckRow = ds_main_inqrlst_item.findRow("inqrcd", vCheckInqrCd );
  1032. vCheckValue = ds_main_inqrlst_item.getColumn( vCheckRow, "inqrrsltcnts");
  1033. if(utlf_isNull(vCheckValue)){
  1034. if(utlf_isNull(vAlertMsg)){
  1035. vAlertMsg = "아래의 문항은 반드시 입력 하셔야 합니다.\n\n";
  1036. vAlertMsg = vAlertMsg + ds_main_inqrlst_item.getColumn( vCheckRow, "inqrnm") + "\n";
  1037. }else{
  1038. vAlertMsg = vAlertMsg + ds_main_inqrlst_item.getColumn( vCheckRow, "inqrnm") + "\n";
  1039. }
  1040. }
  1041. dsf_setDefaultVal(ds_main_inqrlst_item, "all");
  1042. if(utlf_isNull(vAlertMsg)) {
  1043. if(vCheckInqrCd == "601") {
  1044. var vCheckValueTemp = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "601"), "inqrrsltcd");
  1045. if(vCheckValueTemp != "4"){
  1046. var sRow = ds_main_inqrlst_item.findRow("inqrcd", "601-1");
  1047. var eRow = ds_main_inqrlst_item.findRow("inqrcd", "638");
  1048. var totrow = 0;
  1049. for(var i = sRow ; i <= eRow ; i++) {
  1050. if(!utlf_isNull(ds_main_inqrlst_item.getColumn(i, "inqrrsltcd"))) totrow++;
  1051. }
  1052. if(totrow < 1) {
  1053. vAlertMsg = "음주량이 하나 이상은 입력되어야 합니다.\n\n";
  1054. }
  1055. }
  1056. }
  1057. if(vCheckInqrCd == "71") {
  1058. var vCheckValueTemp = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "71"), "inqrrsltcd");
  1059. if(vCheckValueTemp != "1"){
  1060. var sValue1 = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "72"), "inqrrsltcd");
  1061. var sValue2 = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "73"), "inqrrsltcd");
  1062. if(utlf_isNull(sValue1) && utlf_isNull(sValue2)) {
  1063. vAlertMsg = "7-2, 7-3 항목중 하나는 입력되어야 합니다.\n\n";
  1064. }
  1065. }
  1066. }
  1067. if(vCheckInqrCd == "81") {
  1068. var vCheckValueTemp = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "81"), "inqrrsltcd");
  1069. if(vCheckValueTemp != "1"){
  1070. var sValue1 = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "82"), "inqrrsltcd");
  1071. var sValue2 = ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.findRow("inqrcd", "83"), "inqrrsltcd");
  1072. if(utlf_isNull(sValue1) && utlf_isNull(sValue2)) {
  1073. vAlertMsg = "8-2, 8-3 항목중 하나는 입력되어야 합니다.\n\n";
  1074. }
  1075. }
  1076. }
  1077. }
  1078. }
  1079. if(utlf_isNull(vAlertMsg)){
  1080. ret = true;
  1081. }else{
  1082. alert(vAlertMsg); //안내 메세지 팝업
  1083. }
  1084. }else{
  1085. ret = true;
  1086. }
  1087. }else{
  1088. sysf_messageBox("해당 검진년도는 입력 불가능 합니다.", "E999");
  1089. }
  1090. return ret;
  1091. }
  1092. /**=============================================================================================================
  1093. *문진표 저장
  1094. =================================================================================================================*/
  1095. function fSaveInqr(){
  1096. var vRrgstno1 = ds_send_cond.getColumn(0, "rrgstno1");
  1097. var vRrgstno2 = ds_send_cond.getColumn(0, "rrgstno2");
  1098. if(vRrgstno1.length != 6){
  1099. sysf_messageBox("주민번호 값을 ", "I007");
  1100. group5.ipt_rrgstno1.setFocus();
  1101. return false;
  1102. }
  1103. if(vRrgstno2.length != 7){
  1104. sysf_messageBox("주민번호 값을 ", "I007");
  1105. group5.ipt_rrgstno2.setFocus();
  1106. return false;
  1107. }
  1108. //dsf_makeValue( ds_send_save, "saveinqr", "string", vSaveInqr);
  1109. var vSaveInqr = grdf_getGridUpdateData(group4.grd_assoinqrlst, "all");
  1110. if(utlf_isNull(vSaveInqr)){
  1111. sysf_messageBox("저장할 내역이 ", "I004");
  1112. return false;
  1113. }
  1114. grdf_setStatusColumn(vSaveInqr, "m");
  1115. ds_send_save_saveinqr.copyData(vSaveInqr);
  1116. //if(submit("TXAHA04371")){
  1117. var oParam = {};
  1118. oParam.id = "TXAHA04371";
  1119. oParam.service = "healthexamrsltapp.RsltInpt";
  1120. oParam.method = "reqExeAssoTempInqrInfo";
  1121. oParam.inds = "saveinfo=ds_send_cond saveinqr=ds_send_save_saveinqr";
  1122. oParam.outds = "ds_temp_tmp_execnt=execnt";
  1123. oParam.async = false;
  1124. oParam.callback = "cf_TXAHA04371";
  1125. tranf_submit(oParam);
  1126. if(arErrorCode.pop("TXAHA04371") > -1) {
  1127. return true;
  1128. }
  1129. }
  1130. function cf_TXAHA04371(sSvcId, nErrorCode, sErrorMsg) {
  1131. arErrorCode.push(sSvcId, nErrorCode);
  1132. }
  1133. /**===================================================================================
  1134. _desc : 공통 저장정보관련 초기화
  1135. =====================================================================================*/
  1136. function fInitSaveData(){
  1137. ds_send_save_saveinqr.clearData();
  1138. }
  1139. function fChoiGrdTree(vGrd, vRow, vBool){
  1140. if(utlf_isNull(vBool)) vBool = true;
  1141. var moveRow = 0;
  1142. var inqrflag = ds_main_inqrlst_item.getColumn( vRow, "inqrflag");
  1143. var root = ds_main_inqrlst_item.getColumn( vRow, "root");
  1144. //전체를 닫기
  1145. for(var i = ds_main_inqrlst_item.rowcount - 1; i >= 0 ; i--){
  1146. // 2017.02.22 kimdo3 전체가 풀리지 않게끔하기 위해
  1147. var treeIDX = vGrd.getTreeRow(i);
  1148. if(vGrd.getTreeStatus(treeIDX) == 1 && root == ds_main_inqrlst_item.getColumn(i, "root")){
  1149. var retValue = vGrd.setTreeStatus(treeIDX, false);
  1150. }
  1151. }
  1152. //최상위만 풀기
  1153. for(var i = 0; i < ds_main_inqrlst_item.rowcount; i++){
  1154. var desInqrFlag = ds_main_inqrlst_item.getColumn(i, "inqrflag");
  1155. var desRoot = ds_main_inqrlst_item.getColumn(i, "root");
  1156. if(inqrflag == desInqrFlag && root == desRoot){
  1157. var treeIDX = vGrd.getTreeRow(i);
  1158. if(vGrd.getTreeStatus(treeIDX) == 0 ){
  1159. var retValue = vGrd.setTreeStatus(treeIDX, true);
  1160. // moveRow++;
  1161. // break;
  1162. }
  1163. moveRow++;
  1164. }
  1165. }
  1166. return moveRow;
  1167. }
  1168. /**======================================================================================================================================
  1169. * 작성된 선택형 문진 초기화
  1170. =========================================================================================================================================*/
  1171. function fInitAINQ(vGrd){
  1172. var vGrd = vGrd;
  1173. var iNum = 0;
  1174. ds_main_inqrlst_item.updatecontrol = false;
  1175. //ds_main_inqrlst_item.enableevent = false;
  1176. for(var i = 0; i < ds_main_inqrlst_item.rowcount; i++){
  1177. if( ds_main_inqrlst_item.getColumn( i, "sel") == "Y" || ds_main_inqrlst_item.getColumn( i, "sel") == "1"){
  1178. ds_main_inqrlst_item.setRowType(i, Dataset.ROWTYPE_INSERT); //vGrd.rowStatus(i) = 1;
  1179. ds_main_inqrlst_item.setColumn( i, "inqrrsltcd", '');
  1180. ds_main_inqrlst_item.setColumn( i, "inqrrsltcnts", '');
  1181. ds_main_inqrlst_item.setColumn( i, "remcnts", '' );
  1182. iNum = iNum+1;
  1183. }
  1184. }
  1185. //ds_main_inqrlst_item.enableevent = true;
  1186. ds_main_inqrlst_item.updatecontrol = true;
  1187. if(iNum < 1){
  1188. sysf_messageBox("선택한 문진이" , "I004");
  1189. return;
  1190. }
  1191. fInitSaveData(); //공통 저장정보관련 초기화
  1192. if(fSaveInqr()){ //문진표 저장
  1193. sysf_messageBox("초기화", "I001");
  1194. fGetInqrCdList(); //공단연계 문진표 조회
  1195. }
  1196. }
  1197. function group5_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo) {
  1198. group5.btn_search.click();
  1199. }
  1200. function group5_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  1201. if(fGetUserCheck()){ //환자정보 체크
  1202. fGetInqrCdList(); //공단연계 문진표 조회
  1203. }
  1204. }
  1205. function group5_button5_onclick(obj:Button, e:ClickEventInfo) {
  1206. //dsf_makeValue( ds_temp_tmp, "gubun", "string", "");
  1207. ds_temp_tmp_execnt.clearData();
  1208. fInitAINQ(group4.grd_assoinqrlst);
  1209. }
  1210. function group5_button4_onclick(obj:Button, e:ClickEventInfo) {
  1211. if(sysf_messageBox("문진내역을", "Q002") == 6){
  1212. if(fCheckSave()){ //입력 필수 문항 체크
  1213. fInitSaveData(); //공통 저장정보관련 초기화
  1214. if(fSaveInqr()){ //문진표 저장
  1215. fGetInqrCdList(); //공단연계 문진표 조회
  1216. }
  1217. } else {
  1218. ds_main_inqrlst_item.filter("String(inqrcd).substring(0,2) != '10'");
  1219. }
  1220. }
  1221. }
  1222. var curGridClickEventInfo ;
  1223. function group4_grd_assoinqrlst_oncellclick(obj:Grid, e:GridClickEventInfo) {
  1224. group4.grp_inqrans.visible = false;
  1225. // if(!eval(group4.grd_assoinqrlst.iscell(event.target))) return false; //그리드의 셀 이외의 곳을 클릭하면 종료한다.
  1226. // if(eval(group4.grd_assoinqrlst.row) < eval(group4.grd_assoinqrlst.fixedRows)) return false; //그리드의 헤더부분을 클릭하면 종료한다.
  1227. if(e.row < 0 || e.col < 0) return false;
  1228. curGridClickEventInfo = e;
  1229. fMoveInqrFocus(e.col, false); //ROW이동, 문진 포커스를 처리
  1230. }
  1231. function group4_grp_inqrans_ipt_answcd_onkeyup(obj:Edit, e:KeyEventInfo) {
  1232. if(e.keycode != 13) return;
  1233. obj.updateToDataset();
  1234. var answcd = ds_main_tempinfo.getColumn(0, "answcd"); //group4.grp_inqrans.ipt_answcd.text;
  1235. if(utlf_isNull(answcd)) return;
  1236. if(fValidAnswer(answcd)){
  1237. //model.refresh();
  1238. return; //답변의 Validation을 체크
  1239. }
  1240. var idx = fSetInqrAns("Y"); //문진답안선택시 배열로 생성
  1241. group4.grp_inqrans.visible = false;
  1242. fMoveInqrFocus(group4.grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts"), true, idx); //ROW이동, 문진 포커스를 처리
  1243. }
  1244. function group4_grp_inqrans_button11_onclick(obj:Button, e:ClickEventInfo) {
  1245. var nodeListCnt = ds_main_tempinfo_assoinqranswlst_item.getCaseCount("sel == 'Y' || sel == '1'");
  1246. if(nodeListCnt < 1) {
  1247. sysf_messageBox("선택한 답변이" , "I004");
  1248. return;
  1249. }
  1250. if(fValidLength(String(nodeListCnt))) return; //답변의 길이을 체크
  1251. var idx = fSetInqrAns("N"); //문진답안선택시 배열로 생성
  1252. group4.grp_inqrans.visible = false;
  1253. fMoveInqrFocus(group4.grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts"), true, idx); //ROW이동, 문진 포커스를 처리
  1254. }
  1255. function group4_grp_inqrans_button2_onclick(obj:Button, e:ClickEventInfo) {
  1256. group4.grp_inqrans.visible = false;
  1257. }
  1258. function group4_grp_inqrans_button1_onclick(obj:Button, e:ClickEventInfo) {
  1259. // var nodeList = instance1.selectNodes(group4.grp_inqrans.grd_assoinqranslst.nodeset + "[sel='Y']" );
  1260. // if(nodeList.length < 1) {
  1261. // sysf_messageBox("선택한 답변이" , "I004");
  1262. // return;
  1263. // }
  1264. var row = ds_main_inqrlst_item.rowposition;
  1265. ds_main_inqrlst_item.setColumn(row, "inqrrsltcnts", "");
  1266. ds_main_inqrlst_item.setColumn(row, "inqrrsltcd", "");
  1267. // var idx = fSetInqrAns("N"); //문진답안선택시 배열로 생성
  1268. // group4.grp_inqrans.visible = false;
  1269. // fMoveInqrFocus(group4.grd_assoinqrlst.colRef("inqrrsltcnts"), true, idx); //ROW이동, 문진 포커스를 처리
  1270. }
  1271. function SMAHA04370_ontimer(obj:Form, e:TimerEventInfo)
  1272. {
  1273. if(e.timerid == 0) {
  1274. fviewinfomsg();
  1275. }
  1276. }
  1277. function SMAHA04370_onclose(obj:Form, e:CloseEventInfo)
  1278. {
  1279. this.killTimer(0);
  1280. }
  1281. function ds_main_inqrlst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1282. {
  1283. //if( event.keyCode != 13 ) return ;
  1284. /*
  1285. if(group4.grd_assoinqrlst.col == group4.grd_assoinqrlst.colRef("inqrrsltcnts")){
  1286. fMoveInqrFocus(true); //ROW이동, 문진 포커스를 처리
  1287. }else if(group4.grd_assoinqrlst.col == group4.grd_assoinqrlst.colRef("remcnts")) {
  1288. group4.grd_assoinqrlst.col = group4.grd_assoinqrlst.colRef("inqrrsltcnts");
  1289. group4.grd_assoinqrlst.dispatch("onendedit");
  1290. }
  1291. */
  1292. if( e.columnid == "inqrrsltcnts"){
  1293. //답안내역
  1294. //if(event.keyCode == 13){
  1295. fMoveInqrFocus(e.col, true); //ROW이동, 문진 포커스를 처리
  1296. //}
  1297. }
  1298. /*
  1299. else if(group4.grd_assoinqrlst.col == group4.grd_assoinqrlst.colRef("inqrrsltcd")){
  1300. //답안결과_문진결과코드(inqrrsltcd)
  1301. var answcd = group4.grd_assoinqrlst.valueMatrix(group4.grd_assoinqrlst.row, group4.grd_assoinqrlst.colRef("inqrrsltcd"));
  1302. if(answcd == "") return;
  1303. if(fValidAnswer(answcd)) return; //답변의 Validation을 체크
  1304. var idx = fSetInqrAns("Y", "Y"); //문진답안선택시 배열로 생성
  1305. group4.grp_inqrans.visible = false;
  1306. if(event.keyCode == 13){
  1307. fMoveInqrFocus(group4.grd_assoinqrlst.colRef("inqrrsltcd"), true, idx); //ROW이동, 문진 포커스를 처리
  1308. }
  1309. }
  1310. */
  1311. if(e.columnid=="sel") {
  1312. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  1313. }
  1314. }
  1315. function group5_comb_appyear_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1316. {
  1317. group5.btn_search.click();
  1318. }
  1319. function ds_main_tempinfo_assoinqranswlst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1320. {
  1321. if(e.columnid=="sel") {
  1322. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  1323. }
  1324. }
  1325. function group4_img1_onclick(obj:ImageViewer, e:ClickEventInfo)
  1326. {
  1327. obj.visible = false;
  1328. }
  1329. ]]></Script>
  1330. </Form>
  1331. </FDL>