SMAHR02300_문진결과.xfdl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAHR02300" position="absolute 0 0 794 558" titletext="Untitle" oninit="SMAHR02300_oninit" onload="SMAHR02300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 0 794 557" id="grd_assoinqrlst" binddataset="ds_main_acptinfo_inqrlst_item" oncellclick="grd_assoinqrlst_oncellclick" anchor="all" selecttype="multirow" scrollpixel="all" cellsizingtype="col">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="25" band="left"/>
  12. <Column size="0" band="left"/>
  13. <Column size="55" band="left"/>
  14. <Column size="55" band="left"/>
  15. <Column size="0" band="left"/>
  16. <Column size="420" band="left"/>
  17. <Column size="0"/>
  18. <Column size="55"/>
  19. <Column size="184"/>
  20. <Column size="120"/>
  21. <Column size="0"/>
  22. <Column size="55"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="55"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. </Columns>
  29. <Rows>
  30. <Row size="24" band="head"/>
  31. <Row size="24"/>
  32. </Rows>
  33. <Band id="head">
  34. <Cell/>
  35. <Cell col="1" text="lvl"/>
  36. <Cell col="2" text="적용년도"/>
  37. <Cell col="3" text="문진코드"/>
  38. <Cell col="4" text="상위문진코드"/>
  39. <Cell col="5" text="문진명"/>
  40. <Cell col="6" text="영문문진명"/>
  41. <Cell col="7" text="답안결과"/>
  42. <Cell col="8" text="답안내역"/>
  43. <Cell col="9" text="비고"/>
  44. <Cell col="10" text="답안설명"/>
  45. <Cell col="11" text="답압구분"/>
  46. <Cell col="12" text="제목여부"/>
  47. <Cell col="13" text="문진구분"/>
  48. <Cell col="14" text="점수"/>
  49. <Cell col="15" text="경로"/>
  50. <Cell col="16" text="최상위루트"/>
  51. </Band>
  52. <Band id="body">
  53. <Cell celltype="head"/>
  54. <Cell col="1" text="bind:lvl"/>
  55. <Cell col="2" displaytype="combo" edittype="combo" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:appyear" combodataset="ds_cbo_appyear" combocodecol="value" combodatacol="label" enable="false"/>
  56. <Cell col="3" displaytype="text" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrcd"/>
  57. <Cell col="4" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:supinqrcd"/>
  58. <Cell col="5" displaytype="text" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrnm"/>
  59. <Cell col="6" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrengnm"/>
  60. <Cell col="7" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrrsltcd"/>
  61. <Cell col="8" displaytype="text" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrrsltcnts"/>
  62. <Cell col="9" displaytype="text" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:remcnts"/>
  63. <Cell col="10" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:answcont"/>
  64. <Cell col="11" displaytype="combo" edittype="combo" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:answflag" enable="false"/>
  65. <Cell col="12" displaytype="checkbox" edittype="checkbox" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:titleyn" enable="false"/>
  66. <Cell col="13" displaytype="combo" edittype="combo" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:inqrflag" enable="false"/>
  67. <Cell col="14" style="background:EXPR(bkcolor);background2:EXPR(bkcolor);" text="bind:rsltscore"/>
  68. <Cell col="15" text="bind:path"/>
  69. <Cell col="16" text="bind:root"/>
  70. </Band>
  71. </Format>
  72. </Formats>
  73. </Grid>
  74. <Div position="absolute 456 74 751 342" id="grp_inqrans" visible="false" style="background:snow;">
  75. <Layouts>
  76. <Layout>
  77. <Static text="문진선택답안" position="absolute 5 8 118 23" id="caption56" class="tit_2"/>
  78. <Grid position="absolute 5 28 290 238" id="grd_assoinqranslst" binddataset="ds_main_tempinfo_assoinqranswlst_item">
  79. <Formats>
  80. <Format id="default">
  81. <Columns>
  82. <Column size="24"/>
  83. <Column size="30"/>
  84. <Column size="30"/>
  85. <Column size="187"/>
  86. <Column size="0"/>
  87. <Column size="0"/>
  88. <Column size="0"/>
  89. <Column size="0"/>
  90. <Column size="0"/>
  91. <Column size="0"/>
  92. <Column size="0"/>
  93. <Column size="0"/>
  94. </Columns>
  95. <Rows>
  96. <Row size="24" band="head"/>
  97. <Row size="24"/>
  98. </Rows>
  99. <Band id="head">
  100. <Cell/>
  101. <Cell col="1" text="선택"/>
  102. <Cell col="2" text="코드"/>
  103. <Cell col="3" text="결과내용"/>
  104. <Cell col="4" text="영문답안"/>
  105. <Cell col="5" text="하위사용여부"/>
  106. <Cell col="6" text="하위사용코드"/>
  107. <Cell col="7" text="비고입력여부"/>
  108. <Cell col="8" text="적용년도"/>
  109. <Cell col="9" text="문진구분"/>
  110. <Cell col="10" text="문진코드"/>
  111. <Cell col="11" text="점수"/>
  112. </Band>
  113. <Band id="body">
  114. <Cell celltype="head" expr="currow + 1"/>
  115. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel" expr="expr:sel == 'Y' || sel == '1' ? '1' : '0'"/>
  116. <Cell col="2" text="bind:answcd"/>
  117. <Cell col="3" text="bind:answnm"/>
  118. <Cell col="4" text="bind:answengnm"/>
  119. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:infinqryn" enable="false"/>
  120. <Cell col="6" text="bind:infinqrcd"/>
  121. <Cell col="7" displaytype="checkbox" edittype="checkbox" text="bind:reminptyn" enable="false"/>
  122. <Cell col="8" text="bind:appyear"/>
  123. <Cell col="9" text="bind:inqrflag"/>
  124. <Cell col="10" text="bind:inqrcd"/>
  125. <Cell col="11" text="bind:answpoint"/>
  126. </Band>
  127. </Format>
  128. </Formats>
  129. </Grid>
  130. <Shape position="absolute 5 23 290 29" linetype="horizontal" id="line36" class="line_10"/>
  131. <Button position="absolute 275 4 288 19" id="btn_ansclose" class="icon_plus" text="" onclick="grp_inqrans_btn_ansclose_onclick"/>
  132. <Edit position="absolute 120 5 260 24" id="ipt_answcd" class="input_default" onkeyup="grp_inqrans_ipt_answcd_onkeyup"/>
  133. <Button position="absolute 235 242 291 264" id="button11" class="btn4" visible="true" text="확인" onclick="grp_inqrans_button11_onclick"/>
  134. </Layout>
  135. </Layouts>
  136. </Div>
  137. </Layout>
  138. </Layouts>
  139. <Objects>
  140. <Dataset id="ds_main_tempinfo_assoinqranswlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_tempinfo_assoinqranswlst_item_oncolumnchanged">
  141. <ColumnInfo>
  142. <Column id="sel" type="STRING" size="256"/>
  143. <Column id="answcd" type="STRING" size="256"/>
  144. <Column id="answnm" type="STRING" size="256"/>
  145. <Column id="answengnm" type="STRING" size="256"/>
  146. <Column id="infinqryn" type="STRING" size="256"/>
  147. <Column id="infinqrcd" type="STRING" size="256"/>
  148. <Column id="reminptyn" type="STRING" size="256"/>
  149. <Column id="appyear" type="STRING" size="256"/>
  150. <Column id="inqrflag" type="STRING" size="256"/>
  151. <Column id="inqrcd" type="STRING" size="256"/>
  152. <Column id="answpoint" type="STRING" size="256"/>
  153. </ColumnInfo>
  154. <Rows>
  155. <Row>
  156. <Col id="sel"/>
  157. <Col id="answcd"/>
  158. <Col id="answnm"/>
  159. <Col id="answengnm"/>
  160. <Col id="infinqryn"/>
  161. <Col id="infinqrcd"/>
  162. <Col id="reminptyn"/>
  163. <Col id="appyear"/>
  164. <Col id="inqrflag"/>
  165. <Col id="inqrcd"/>
  166. <Col id="answpoint"/>
  167. </Row>
  168. </Rows>
  169. </Dataset>
  170. <Dataset id="ds_cbo_appyear" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  171. <ColumnInfo>
  172. <Column id="label" type="STRING" size="256"/>
  173. <Column id="value" type="STRING" size="256"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row>
  177. <Col id="label">2009년</Col>
  178. <Col id="value">2009</Col>
  179. </Row>
  180. <Row>
  181. <Col id="label">2010년</Col>
  182. <Col id="value">2010</Col>
  183. </Row>
  184. <Row>
  185. <Col id="label">2011년</Col>
  186. <Col id="value">2011</Col>
  187. </Row>
  188. <Row>
  189. <Col id="label">2012년</Col>
  190. <Col id="value">2012</Col>
  191. </Row>
  192. <Row>
  193. <Col id="label">2013년</Col>
  194. <Col id="value">2013</Col>
  195. </Row>
  196. <Row>
  197. <Col id="label">2014년</Col>
  198. <Col id="value">2014</Col>
  199. </Row>
  200. </Rows>
  201. </Dataset>
  202. </Objects>
  203. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  204. * System Name :
  205. * Job Name :
  206. * Creator :
  207. * Make Date : 2015-11-13
  208. * Description :
  209. *---------------------------------------------------------------------------------------
  210. * Modify Date Modifier Modify Description
  211. *---------------------------------------------------------------------------------------
  212. * 2015-11-13 Live Converter TF->XP
  213. *
  214. *---------------------------------------------------------------------------------------
  215. ****************************************************************************************/
  216. include "com_commonxp::comm_main.xjs";
  217. include "ast_healexamxp::AHA001.xjs";
  218. include "pam_pamcomnxp::PAM.xjs";
  219. include "ast_healthexambasexp::healcombolist.xjs";
  220. include "ast_healthexamrsrvacptxp::AHA.xjs";
  221. function SMAHR02300_oninit(obj:Form, e:InitEventInfo)
  222. {
  223. frmf_initForm(obj); //폼 초기화
  224. grdf_setRowTypeIcon(grd_assoinqrlst, 0);
  225. }
  226. function SMAHR02300_onload(obj:Form, e:LoadEventInfo)
  227. {
  228. grdf_setToolTipBind(grd_assoinqrlst);
  229. }
  230. //var col_inqranswcd = 3;
  231. //var col_inqranswflag = 6;
  232. function fViewNum(){
  233. this.parent.vidx = "2";
  234. }
  235. function fInitDasplay(){
  236. }
  237. //대상자 클릭시
  238. function fGetInqrCdList(){
  239. ds_main_acptinfo_inqrlst_item.clearData();
  240. fCheckExamInfo();
  241. // model.makeNode("/root/init/baseinfo");
  242. // model.makeNode("/root/send");
  243. // model.copyNode("/root/init" , opener.root.init);
  244. // model.copyNode("/root/send" , opener.root.send);
  245. dsf_makeValue(ds_send, "srchinstcd" , "string", sysf_getUserInfo("dutplceinstcd"));
  246. if(ds_send.getColumn(0, "srchhealexamdetlflag") == "G09"){
  247. dsf_makeValue(ds_send, "srchhealexamkindflag", "string", "G003"); //암건진
  248. }else if(ds_send.getColumn(0, "srchhealexamdetlflag") == "G03"){
  249. dsf_makeValue(ds_send, "srchgubun", "string", "spcl"); //특수건진
  250. }
  251. frmf_openLoadingBar();
  252. var oParam = {};
  253. oParam.id = "TRAHA04321";
  254. oParam.service = "healthexamrsltapp.RsltInpt";
  255. oParam.method = "reqGetGnrlInqrList";
  256. oParam.inds = "req=ds_send";
  257. oParam.outds = "ds_main_acptinfo_inqrlst_item=item ds_main_acptinfo_inqrlst_answitem=answitem";
  258. oParam.async = false;
  259. oParam.callback = "cf_TRAHA04321";
  260. tranf_submit(oParam);
  261. if(utlf_isNull(ds_main_acptinfo_inqrlst_item.getColumnInfo("bkcolor"))){
  262. ds_main_acptinfo_inqrlst_item.addColumn("bkcolor", "string");
  263. }
  264. if(arErrorCode.pop("TRAHA04321") > -1) {
  265. ds_main_acptinfo_inqrlst_item.enableevent = false;
  266. ds_main_acptinfo_inqrlst_item.updatecontrol = false;
  267. for(var nRow = 0; nRow < ds_main_acptinfo_inqrlst_item.rowcount; nRow++){
  268. //그리드 상태변경, isReadOnly처리(답안내역, 비고)
  269. var titleYn = ds_main_acptinfo_inqrlst_item.getColumn(nRow , "titleyn");
  270. if(titleYn == "N"){
  271. }else{
  272. ds_main_acptinfo_inqrlst_item.setColumn(nRow, "bkcolor", "#c0c0c0");
  273. }
  274. }
  275. //setTree(grd_assoinqrlst, grd_assoinqrlst.colRef("lvl"), grd_assoinqrlst.colRef("inqrnm"), false);
  276. ds_main_acptinfo_inqrlst_item.updatecontrol = true;
  277. ds_main_acptinfo_inqrlst_item.enableevent = true;
  278. }
  279. frmf_closeLoadingBar();
  280. }
  281. function cf_TRAHA04321(sSvcId, nErrorCode, sErrorMsg) {
  282. arErrorCode.push(sSvcId, nErrorCode);
  283. }
  284. /**
  285. * 문진답안선택시 gird로 값 setting
  286. */
  287. function fSetInqrAns(vInptYN, vGridYn){
  288. if(utlf_isNull(vGridYn) == null) vGridYn = "N";
  289. var inqrRsltArr = new Array();
  290. var addCnt = 0;
  291. if(vInptYN == "Y") {
  292. if(vGridYn == "N"){
  293. var answcd = grp_inqrans.ipt_answcd.value;
  294. }else{
  295. var answcd = ds_main_acptinfo_inqrlst_item.getColumn(ds_main_acptinfo_inqrlst_item.rowposition, "inqrrsltcd");
  296. }
  297. var answArr = answcd.split('^');
  298. for(var i = 0; i < answArr.length; i++) {
  299. for(var j = 0; j < ds_main_tempinfo_assoinqranswlst_item.rowcount; j++) {
  300. if(answArr[i] == ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answcd") ) {
  301. inqrRsltArr[addCnt] = ds_main_tempinfo_assoinqranswlst_item.getColumn(j, "answcd");
  302. addCnt++;
  303. }
  304. }
  305. }
  306. }else if(vInptYN == "N") {
  307. for(var x = 0; x < ds_main_tempinfo_assoinqranswlst_item.rowcount; x++) {
  308. if(ds_main_tempinfo_assoinqranswlst_item.getColumn(x , "sel") == "Y" ) {
  309. inqrRsltArr[addCnt] = ds_main_tempinfo_assoinqranswlst_item.getColumn(x , "answcd");
  310. addCnt++;
  311. }
  312. }
  313. }
  314. return fSetInqrRslt(inqrRsltArr);
  315. }
  316. /*문진답안선택시 gird로 값 setting*/
  317. function fSetInqrRslt(vInqrArr) {
  318. var insCnt = 0;
  319. var inqrRsltCd = "";
  320. var inqrRsltCnts = "";
  321. var inqrScore = 0;
  322. var befIdx = 1;
  323. var initBool = false;
  324. var moveRow = fChoiGrdTree(grd_assoinqrlst , ds_main_acptinfo_inqrlst_item.rowposition, true);
  325. for(var i = 0 ; i < vInqrArr.length; i++) {
  326. for(var j = 0; j < ds_main_tempinfo_assoinqranswlst_item.rowcount; j++) {
  327. if(vInqrArr[i] == ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answcd") ) {
  328. if(insCnt < 1) {
  329. inqrRsltCd += ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answcd");
  330. inqrRsltCnts += ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answnm");
  331. inqrScore += parseInt(ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answpoint"));
  332. }else {
  333. inqrRsltCd += "^" + ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answcd");
  334. inqrRsltCnts += "^" + ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answnm");
  335. inqrScore += parseInt(ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "answpoint"));
  336. }
  337. // 비고 입력 체크
  338. if(ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "reminptyn") == "Y") {
  339. grd_assoinqrlst.currentcol = grd_assoinqrlst.getBindCellIndex("body", "remcnts");
  340. grd_assoinqrlst.showEditor(grd_assoinqrlst.getBindCellIndex("body", "remcnts"));
  341. }
  342. // 하위메뉴 펼치기
  343. if(ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "infinqryn") == "Y") {
  344. var srcInqrCd = ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "infinqrcd");
  345. var srcAppYear = ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "appyear");
  346. var srcInqrFlag = ds_main_tempinfo_assoinqranswlst_item.getColumn(j , "inqrflag");
  347. for(var m = 0; m < ds_main_acptinfo_inqrlst_item.rowcount; m++) {
  348. var desInqrCd = ds_main_acptinfo_inqrlst_item.getColumn(m , "inqrcd");
  349. var desAppYear = ds_main_acptinfo_inqrlst_item.getColumn(m , "appyear");
  350. var desInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(m , "inqrflag");
  351. if(srcInqrCd == desInqrCd && srcAppYear == desAppYear && srcInqrFlag == desInqrFlag) {
  352. var pathArr = utlf_transNullToEmpty(ds_main_acptinfo_inqrlst_item.getColumn(m , "path")).split('^');
  353. for(var n = 0; n < pathArr.length; n++) {
  354. var idx = ds_main_acptinfo_inqrlst_item.findRow("inqrcd", pathArr[n]);
  355. var desAppYear1 = ds_main_acptinfo_inqrlst_item.getColumn(m , "appyear");
  356. var desInqrFlag1 = ds_main_acptinfo_inqrlst_item.getColumn(m , "inqrflag");
  357. if(srcAppYear == desAppYear1 && srcInqrFlag == desInqrFlag1) {
  358. grd_assoinqrlst.treeinitstatus = "expand,all";
  359. grd_assoinqrlst.setTreeStatus(i,true);
  360. if(initBool == false) {
  361. if(idx > 0) {
  362. befIdx = idx;
  363. initBool = true;
  364. }
  365. }else {
  366. if(befIdx < idx) {
  367. befIdx = idx;
  368. }
  369. }
  370. }
  371. }
  372. }
  373. }
  374. }else {
  375. var pathArr = utlf_transNullToEmpty(ds_main_acptinfo_inqrlst_item.getColumn(ds_main_acptinfo_inqrlst_item.rowposition, "path")).split('^');
  376. var desAppYear = ds_main_acptinfo_inqrlst_item.getColumn(ds_main_acptinfo_inqrlst_item.rowposition,"appyear");
  377. var desInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(ds_main_acptinfo_inqrlst_item.rowposition, "inqrflag");
  378. for(var x = 0; x < pathArr.length - 1; x++) {
  379. var desInqrCd = pathArr[x];
  380. for(var u = 0; u < ds_main_acptinfo_inqrlst_item.rowcount; u++) {
  381. var srcAppYear = ds_main_acptinfo_inqrlst_item.getColumn(u, "appyear");
  382. var srcInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(u , "inqrflag");
  383. var srcInqrCd = ds_main_acptinfo_inqrlst_item.getColumn(u , "inqrcd");
  384. if(desAppYear == srcAppYear && desInqrFlag == srcInqrFlag && desInqrCd == srcInqrCd) {
  385. if(ds_main_acptinfo_inqrlst_item.getColumn(u , "titleyn") == "Y") {
  386. grd_assoinqrlst.treeinitstatus = "expand,all";
  387. grd_assoinqrlst.setTreeStatus(i,true);
  388. moveRow = 1;
  389. }
  390. }
  391. }
  392. }
  393. }
  394. insCnt++;
  395. }
  396. }
  397. }
  398. ds_main_acptinfo_inqrlst_item.setColumn(ds_main_acptinfo_inqrlst_item.rowposition, "inqrrsltcd", inqrRsltCd);
  399. ds_main_acptinfo_inqrlst_item.setColumn(ds_main_acptinfo_inqrlst_item.rowposition, "inqrrsltcnts", inqrRsltCnts);
  400. ds_main_acptinfo_inqrlst_item.setColumn(ds_main_acptinfo_inqrlst_item.rowposition, "rsltscore", inqrScore);
  401. if(initBool == true) {
  402. moveRow = befIdx - ds_main_acptinfo_inqrlst_item.rowposition;
  403. }
  404. return moveRow;
  405. }
  406. function fChoiGrdTree(vGrd , vRow , vBool) {
  407. if(utlf_isNull(vBool)) vBool = true;
  408. var dataset:Dataset;
  409. dataset = eval(vGrd.binddataset);
  410. var moveRow = 0;
  411. var inqrflag = dataset.getColumn(vRow , "inqrflag");
  412. var root = dataset.getColumn(vRow , "root");
  413. for(var i = 0; i < dataset.rowcount; i++) {
  414. var desInqrFlag = dataset.getColumn(i , "inqrflag");
  415. var desRoot = dataset.getColumn(i , "root");
  416. if(inqrflag == desInqrFlag && root == desRoot) {
  417. if(vBool == false){
  418. vGrd.treeinitstatus = "expand,all";
  419. vGrd.setTreeStatus(i,true);
  420. }else{
  421. vGrd.treeinitstatus = "expand,all";
  422. vGrd.setTreeStatus(i,false);
  423. }
  424. moveRow++;
  425. }
  426. }
  427. return moveRow;
  428. }
  429. /**
  430. * 문진입력을 용이하게 하기위한 함수.
  431. * 답안입력시 row이동
  432. * bMove : true이면 row이동
  433. */
  434. function fMoveInqrFocus(bCol, bMove , bRow){
  435. if(utlf_isNull(bCol)) bCol = 8;
  436. if(utlf_isNull(bRow)) bRow = 1;
  437. if(bCol != 7 && bCol != 8) return;
  438. var idx = ds_main_acptinfo_inqrlst_item.rowposition;
  439. if( idx < 0) return ;
  440. if( bMove == true ){
  441. idx = ds_main_acptinfo_inqrlst_item.rowposition + bRow;
  442. if( idx >= ds_main_acptinfo_inqrlst_item.rowcount ) {
  443. idx = ds_main_acptinfo_inqrlst_item.rowcount;
  444. return;
  445. }
  446. ds_main_acptinfo_inqrlst_item.selectRow(idx)
  447. }
  448. //타이틀 여부 체크
  449. if(ds_main_acptinfo_inqrlst_item.getColumn(idx , "titleyn") == "Y") {
  450. fMoveInqrFocus(bCol, true);
  451. }else {
  452. if( ds_main_acptinfo_inqrlst_item.getColumn(idx, "answflag") == "O" ){
  453. var y = parseInt( grd_assoinqrlst.position.top ) + parseInt(24) + parseInt(24)* idx ;
  454. var lim_y = parseInt( grd_assoinqrlst.position.top ) + parseInt(24) - parseInt(24) ;
  455. if( y > lim_y){
  456. y = lim_y ;
  457. }
  458. fGetInqrAnsCdList (bCol, y);
  459. }
  460. else if( ds_main_acptinfo_inqrlst_item.getColumn(idx, "answflag") == "T" || ds_main_acptinfo_inqrlst_item.getColumn(idx, "answflag") == "N"){
  461. if(grd_assoinqrlst.getTreeStatus(idx) == 0) {
  462. var srcAppYear = ds_main_acptinfo_inqrlst_item.getColumn(idx , "appyear");
  463. var srcInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(idx , "inqrflag");
  464. var srcInqrCd = ds_main_acptinfo_inqrlst_item.getColumn(idx , "inqrcd");
  465. var pathArr = utlf_transNullToEmpty(ds_main_acptinfo_inqrlst_item.getColumn(idx , "path")).split('^');
  466. var findChk = false;
  467. var moveRow = 0;
  468. for(var i =0; i < pathArr.length; i++) {
  469. if(srcInqrCd == pathArr[i] ) {
  470. findChk = true;
  471. }
  472. if(findChk) {
  473. for(var j = 0; j < ds_main_acptinfo_inqrlst_item.rowcount; j++) {
  474. var desAppYear = ds_main_acptinfo_inqrlst_item.getColumn(j , "appyear");
  475. var desInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(j , "inqrflag");
  476. var desInqrCd = ds_main_acptinfo_inqrlst_item.getColumn(j , "supinqrcd");
  477. if(srcAppYear == desAppYear && srcInqrFlag == desInqrFlag && pathArr[i] == desInqrCd) {
  478. moveRow++;
  479. }
  480. }
  481. }
  482. }
  483. fMoveInqrFocus(bCol, true , moveRow);
  484. }else {
  485. // if("object" == typeof htmlwindow) {
  486. // htmlwindow.setTimeout(function() {grd_assoinqrlst.editCell()},10);
  487. // } else {
  488. // grd_assoinqrlst.editCell();
  489. // }
  490. }
  491. }
  492. else {
  493. fMoveInqrFocus(bCol, true);
  494. }
  495. }
  496. }
  497. /**
  498. *문진선택형결과 가져오기
  499. * IN : 문진구분/문진코드/기관코드
  500. */
  501. function fGetInqrAnsCdList(bCol, vTop ){
  502. var idx = ds_main_acptinfo_inqrlst_item.rowposition;
  503. if( idx < 0) return ;
  504. ds_main_tempinfo_assoinqranswlst_item.clearData();
  505. ds_main_tempinfo_assoinqranswlst_item.addRow();
  506. ds_main_tempinfo.setColumn(0, "answcd", "");
  507. var srcAppYear = ds_main_acptinfo_inqrlst_item.getColumn(idx, "appyear");
  508. var srcInqrFlag = ds_main_acptinfo_inqrlst_item.getColumn(idx, "inqrflag");
  509. var srcInqrCd = ds_main_acptinfo_inqrlst_item.getColumn(idx, "inqrcd");
  510. for(var i = 0; i < ds_main_acptinfo_inqrlst_answitem.rowcount; i++) {
  511. var desAppYear = ds_main_acptinfo_inqrlst_answitem.getColumn(i, "appyear");
  512. var desInqrFlag = ds_main_acptinfo_inqrlst_answitem.getColumn(i, "inqrflag");
  513. var desInqrCd = ds_main_acptinfo_inqrlst_answitem.getColumn(i, "inqrcd");
  514. if(srcAppYear == desAppYear && srcInqrFlag == desInqrFlag && srcInqrCd == desInqrCd ) {
  515. //copyNodesetType(grd_assoinqranslst.nodeset, "/root/main/acptinfo/inqrlst/answitem[" + i + "]","after" );
  516. ds_main_tempinfo_assoinqranswlst_item.copyRow(0, ds_main_acptinfo_inqrlst_answitem, i);
  517. }
  518. }
  519. grp_inqrans.position.top = vTop;
  520. grp_inqrans.position.height = 268;
  521. if(bCol == 8){
  522. grp_inqrans.visible = true;
  523. grp_inqrans.ipt_answcd.setFocus();
  524. }else{
  525. grp_inqrans.visible = false;
  526. }
  527. }
  528. /*답변의 Validation을 체크한다. 선택형에 없는 값을 입력하는지 체크한다.*/
  529. function fValidAnswer(vAnsw) {
  530. var answ = utlf_transNullToEmpty(vAnsw).split('^');
  531. var valid = false;
  532. for(var i = 0; i < answ.length; i++) {
  533. var srchAnsw = answ[i];
  534. if( grd_assoinqranslst.findRow("answcd", s0rchAnsw) < 0 ) {
  535. valid = true;
  536. break;
  537. }
  538. }
  539. return valid;
  540. }
  541. /*2010.03.10. 이전 함수로 함수에 2를 붙여 구분*/
  542. function fSetInqrAns2(){
  543. // var idx = ds_main_acptinfo_inqrlst_item.rowposition;
  544. // if( idx < 0) return ;
  545. //
  546. // var ansidx = grd_inqranslst.row;
  547. // if( ansidx < 1 ) return ;
  548. // var old_ans = grd_inqrlst.valueMatrix(idx, col_inqranswcd);
  549. // var new_ans = grd_inqranslst.valueMatrix( ansidx, 1);
  550. // if( old_ans == new_ans ) return ;
  551. //
  552. // grd_inqrlst.valueMatrix(idx, grd_inqrlst.colRef("answcd")) = grd_inqranslst.valueMatrix( ansidx, grd_inqranslst.colRef("answcd"));
  553. // grd_inqrlst.valueMatrix(idx, grd_inqrlst.colRef("answcnts")) = grd_inqranslst.valueMatrix( ansidx, grd_inqranslst.colRef("answcnts"));
  554. // if( grd_inqrlst.rowStatus(idx) == 0 ) {
  555. // grd_inqrlst.addStatus(idx, "update");
  556. // }
  557. // grd_inqrlst.refresh();
  558. }
  559. function grd_assoinqrlst_oncellclick(obj:Grid, e:GridClickEventInfo)
  560. {
  561. if(sysf_getUserInfo("dutplceinstcd") == "011"){
  562. //그리드의 셀 이외의 곳을 클릭하면 종료한다.
  563. // 그리드의 헤더부분을 클릭하면 종료한다.
  564. if(e.row < 0 || e.col < 0) return false;
  565. ds_main_acptinfo_inqrlst_item.enableevent = false;
  566. ds_main_acptinfo_inqrlst_item.updatecontrol = false;
  567. if(ds_main_acptinfo_inqrlst_item.getColumn(ds_main_acptinfo_inqrlst_item.rowposition, "titleyn") != "Y"){
  568. ds_main_acptinfo_inqrlst_item.setRowType(ds_main_acptinfo_inqrlst_item.rowposition, 2);
  569. }
  570. ds_main_acptinfo_inqrlst_item.updatecontrol = true;
  571. ds_main_acptinfo_inqrlst_item.enableevent = true;
  572. fMoveInqrFocus(grd_assoinqrlst.currentcol, false);
  573. }
  574. }
  575. function grp_inqrans_btn_ansclose_onclick(obj:Button, e:ClickEventInfo)
  576. {
  577. grp_inqrans.visible = false;
  578. }
  579. function grp_inqrans_ipt_answcd_onkeyup(obj:Edit, e:KeyEventInfo)
  580. {
  581. if( e.keycode != 13 ) return ;
  582. obj.updateToDataset();
  583. var answcd = grp_inqrans.ipt_answcd.value;
  584. if( utlf_isNull(answcd) ) return ;
  585. if(fValidAnswer(answcd)) return;
  586. var idx = fSetInqrAns("Y");
  587. grp_inqrans.visible = false;
  588. fMoveInqrFocus(grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts"), true, idx);
  589. }
  590. function grp_inqrans_button11_onclick(obj:Button, e:ClickEventInfo)
  591. {
  592. var nodeList = ds_main_tempinfo_assoinqranswlst_item.filter("sel=='Y'");
  593. if(nodeList.rowcount < 1) return;
  594. var idx = fSetInqrAns("N");
  595. grp_inqrans.visible = false;
  596. fMoveInqrFocus(grd_assoinqrlst.getBindCellIndex("body", "inqrrsltcnts"), true ,idx);
  597. }
  598. function ds_main_tempinfo_assoinqranswlst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  599. {
  600. if(grp_inqrans.grd_assoinqranslst.currentcol == grp_inqrans.grd_assoinqranslst.getBindCellIndex("body", "sel")){
  601. ds_main_tempinfo_assoinqranswlst_item.enableevent = false;
  602. ds_main_tempinfo_assoinqranswlst_item.updatecontrol = false;
  603. if(ds_main_tempinfo_assoinqranswlst_item.getColumn(ds_main_tempinfo_assoinqranswlst_item.rowposition, "sel") == "Y" ||
  604. ds_main_tempinfo_assoinqranswlst_item.getColumn(ds_main_tempinfo_assoinqranswlst_item.rowposition, "sel") == "1"){
  605. ds_main_tempinfo_assoinqranswlst_item.setColumn(ds_main_tempinfo_assoinqranswlst_item.rowposition, "sel", "Y");
  606. }else{
  607. ds_main_tempinfo_assoinqranswlst_item.setColumn(ds_main_tempinfo_assoinqranswlst_item.rowposition, "sel", "N");
  608. }
  609. ds_main_tempinfo_assoinqranswlst_item.updatecontrol = true;
  610. ds_main_tempinfo_assoinqranswlst_item.enableevent = true;
  611. }
  612. }
  613. ]]></Script>
  614. </Form>
  615. </FDL>