SMMNR01900_진술문분류체계관리.xfdl 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNR01900" position="absolute 0 0 1202 771" titletext="진술문 분류 체계 관리" oninit="SMMNR01900_oninit" onload="SMMNR01900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="진술문 분류체계 관리" class="tit_1" position="absolute 0 0 208 25"/>
  8. <Static id="caption42" text="대분류" class="tit_2" position="absolute 0 37 131 59"/>
  9. <Shape id="line18" class="line_10" position="absolute 0 53 230 59"/>
  10. <Static id="caption1" text="상세분류" class="tit_2" position="absolute 235 37 366 59"/>
  11. <Shape id="line1" class="line_10" position="absolute 235 53 1194 59" anchor="left top right"/>
  12. <Static id="caption13" text="대분류" class="cell_1" position="absolute 235 58 290 81"/>
  13. <Shape id="line2" linetype="horizontal" class="line_2" position="absolute 235 80 1194 86" anchor="left top right"/>
  14. <Grid id="grd_detlgrup" taborder="2" binddataset="ds_main_detlgrup_detlgruplist" useinputpanel="false" position="absolute 235 84 1195 764" autoenter="select" autofittype="col" cellsizingtype="col" anchor="all" treeusecheckbox="false" treeuseimage="false" oncellclick="grd_detlgrup_oncellclick" cantreestatuschange="grd_detlgrup_cantreestatuschange" onrbuttonup="grd_detlgrup_onrbuttonup" onkillfocus="grd_detlgrup_onkillfocus" oncelldblclick="grd_detlgrup_oncelldblclick" treeuseline="true" treeusebutton="use" onexpanddown="grd_detlgrup_onexpanddown">
  15. <Formats>
  16. <Format id="default">
  17. <Columns>
  18. <Column size="21"/>
  19. <Column size="40"/>
  20. <Column size="100"/>
  21. <Column size="45"/>
  22. <Column size="157"/>
  23. <Column size="187"/>
  24. <Column size="243"/>
  25. <Column size="100"/>
  26. <Column size="60"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="24" band="head"/>
  35. <Row size="24"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell/>
  39. <Cell col="1" text="상태"/>
  40. <Cell col="2" text="항목코드"/>
  41. <Cell col="3" colspan="2" text="한글이름" taborder="undefined"/>
  42. <Cell col="5" text="영문이름"/>
  43. <Cell col="6" text="용도설명"/>
  44. <Cell col="7" text="부서명"/>
  45. <Cell col="8" text="정렬"/>
  46. <Cell col="9" text="상위코드"/>
  47. <Cell col="10" text="종료일자"/>
  48. <Cell col="11" text="depth"/>
  49. <Cell col="12" text="grupflag"/>
  50. <Cell col="13" text="deptcd"/>
  51. </Band>
  52. <Band id="body">
  53. <Cell celltype="head" expr="currow+1"/>
  54. <Cell col="1" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:stat" combodataset="ds_cmb_stat" combocodecol="value" combodatacol="label"/>
  55. <Cell col="2" text="bind:grupcd"/>
  56. <Cell col="3" displaytype="tree" edittype="tree" style="linetype:onlyhorz;linespace:0;" treestartlevel="1" treelevel="bind:depth"/>
  57. <Cell col="4" edittype="expr:edittype4" style="align:left middle;padding:EXPR(depth == '2' ? '4 0 4 15' : '4 0 4 0');" text="bind:hngnm" editautoselect="true"/>
  58. <Cell col="5" displaytype="text" edittype="expr:edittype5" text="bind:engnm" editautoselect="true"/>
  59. <Cell col="6" displaytype="text" edittype="expr:edittype6" text="bind:desccnts" editautoselect="true" editacceptstab="true"/>
  60. <Cell col="7" displaytype="text" edittype="expr:edittype7" text="bind:deptnm" expandshow="show"/>
  61. <Cell col="8" displaytype="text" style="align:center middle;" text="bind:refseq"/>
  62. <Cell col="9" text="bind:supcd"/>
  63. <Cell col="10" text="bind:todd"/>
  64. <Cell col="11" text="bind:depth"/>
  65. <Cell col="12" text="bind:grupflag"/>
  66. <Cell col="13" text="bind:deptcd"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Grid id="grd_lrggrup" taborder="3" binddataset="ds_main_lrggrup_lrggruplist" useinputpanel="false" position="absolute 0 58 230 763" autoenter="select" autofittype="col" cellsizingtype="col" anchor="left top bottom" oncellclick="grd_lrggrup_oncellclick">
  72. <Formats>
  73. <Format id="default">
  74. <Columns>
  75. <Column size="24"/>
  76. <Column size="185"/>
  77. <Column size="0"/>
  78. <Column size="0"/>
  79. </Columns>
  80. <Rows>
  81. <Row size="24" band="head"/>
  82. <Row size="24"/>
  83. </Rows>
  84. <Band id="head">
  85. <Cell/>
  86. <Cell col="1" text="대분류"/>
  87. <Cell col="2" text="대분류코드"/>
  88. <Cell col="3" text="그룹구분"/>
  89. </Band>
  90. <Band id="body">
  91. <Cell celltype="head" expr="currow+1"/>
  92. <Cell col="1" style="align:left middle;padding:0 0 0 3;" text="bind:hngnm"/>
  93. <Cell col="2" text="bind:grupcd"/>
  94. <Cell col="3" text="bind:grupflag"/>
  95. </Band>
  96. </Format>
  97. </Formats>
  98. </Grid>
  99. <Edit id="opt_lrghngnm" taborder="4" readonly="true" position="absolute 293 60 448 79" class="output"/>
  100. <Button id="btn_save" taborder="5" text="저장" class="btn5" position="absolute 1152 34 1194 53" anchor="top right" onclick="btn_save_onclick"/>
  101. <Button id="btn_del" taborder="6" text="한줄삭제" class="btn2" position="absolute 1087 34 1151 53" anchor="top right" onclick="btn_del_onclick"/>
  102. <Button id="button3" taborder="7" text="닫침" class="btn2" position="absolute 1044 34 1086 53" anchor="top right" onclick="button3_onclick"/>
  103. <Button id="button4" taborder="8" text="펼침" class="btn2" position="absolute 1001 34 1043 53" anchor="top right" onclick="button4_onclick"/>
  104. <PopupMenu id="pmn_menu1" position="absolute 1228 62 1326 125" innerdataset="@ds_hidden_detlgrup_sameinflevl_popmenu" idcolumn="func" captioncolumn="label" levelcolumn="level" onmenuclick="pmn_menu1_onmenuclick"/>
  105. <PopupMenu id="pmn_menu2" innerdataset="@ds_hidden_detlgrup_samelevl_popmenu" idcolumn="func" captioncolumn="label" levelcolumn="level" position="absolute 1228 133 1326 180" onmenuclick="pmn_menu2_onmenuclick"/>
  106. <Button id="btn_excel" taborder="9" text="엑셀" class="btn7" position="absolute 944 34 1000 53" anchor="top right" onclick="btn_excel_onclick"/>
  107. </Layout>
  108. </Layouts>
  109. <Objects>
  110. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  111. <ColumnInfo>
  112. <Column id="lrghngnm" type="STRING" size="256"/>
  113. <Column id="lrggrupcd" type="STRING" size="256"/>
  114. <Column id="deptcd" type="STRING" size="256"/>
  115. </ColumnInfo>
  116. <Rows>
  117. <Row>
  118. <Col id="lrghngnm"/>
  119. <Col id="lrggrupcd"/>
  120. <Col id="deptcd"/>
  121. </Row>
  122. </Rows>
  123. </Dataset>
  124. <Dataset id="ds_main_lrggrup_lrggruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  125. <ColumnInfo>
  126. <Column id="hngnm" type="STRING" size="256" sumtext="대분류명"/>
  127. <Column id="grupcd" type="STRING" size="256" sumtext="대분류코드"/>
  128. <Column id="grupflag" type="STRING" size="256" sumtext="그룹 구분"/>
  129. </ColumnInfo>
  130. </Dataset>
  131. <Dataset id="ds_main_detlgrup_detlgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_detlgrup_detlgruplist_oncolumnchanged">
  132. <ColumnInfo>
  133. <Column id="stat" type="STRING" size="256" sumtext="저장속성"/>
  134. <Column id="grupcd" type="STRING" size="256" sumtext="그룹코드"/>
  135. <Column id="hngnm" type="STRING" size="256" sumtext="한글명"/>
  136. <Column id="engnm" type="STRING" size="256" sumtext="영문명"/>
  137. <Column id="desccnts" type="STRING" size="256" sumtext="설명내용"/>
  138. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  139. <Column id="refseq" type="STRING" size="256" sumtext="정렬"/>
  140. <Column id="supcd" type="STRING" size="256" sumtext="상위코드"/>
  141. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  142. <Column id="depth" type="STRING" size="256" sumtext="트리순서"/>
  143. <Column id="grupflag" type="STRING" size="256" sumtext="그룹구분"/>
  144. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  145. </ColumnInfo>
  146. </Dataset>
  147. <Dataset id="ds_cmb_stat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  148. <ColumnInfo>
  149. <Column id="label" type="STRING" size="256"/>
  150. <Column id="value" type="STRING" size="256"/>
  151. </ColumnInfo>
  152. <Rows>
  153. <Row>
  154. <Col id="label">-</Col>
  155. <Col id="value">-</Col>
  156. </Row>
  157. <Row>
  158. <Col id="label">신규</Col>
  159. <Col id="value">I</Col>
  160. </Row>
  161. <Row>
  162. <Col id="label">수정</Col>
  163. <Col id="value">U</Col>
  164. </Row>
  165. <Row>
  166. <Col id="label">삭제</Col>
  167. <Col id="value">D</Col>
  168. </Row>
  169. </Rows>
  170. </Dataset>
  171. <Dataset id="ds_hidden_main_detlgrup_detlgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  172. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  173. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  174. <Dataset id="ds_hidden_detlgrup_sameinflevl_popmenu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  175. <ColumnInfo>
  176. <Column id="label" type="STRING" size="256"/>
  177. <Column id="func" type="STRING" size="256"/>
  178. <Column id="level" type="STRING" size="256"/>
  179. </ColumnInfo>
  180. <Rows>
  181. <Row>
  182. <Col id="label">추가</Col>
  183. <Col id="func">fAddSameLevlItem</Col>
  184. </Row>
  185. <Row>
  186. <Col id="label">항목 하위요소 추가</Col>
  187. <Col id="func">fAddInfLevlItem</Col>
  188. </Row>
  189. <Row>
  190. <Col id="label">항목 삭제</Col>
  191. <Col id="func">fDelItem</Col>
  192. </Row>
  193. </Rows>
  194. </Dataset>
  195. <Dataset id="ds_hidden_detlgrup_samelevl_popmenu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  196. <ColumnInfo>
  197. <Column id="label" type="STRING" size="256"/>
  198. <Column id="func" type="STRING" size="256"/>
  199. <Column id="level" type="STRING" size="256"/>
  200. </ColumnInfo>
  201. <Rows>
  202. <Row>
  203. <Col id="label">추가</Col>
  204. <Col id="func">fAddSameLevlItem</Col>
  205. </Row>
  206. <Row>
  207. <Col id="label">항목 삭제</Col>
  208. <Col id="func">fDelItem</Col>
  209. </Row>
  210. </Rows>
  211. </Dataset>
  212. <Dataset id="ds_send_detlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  213. </Objects>
  214. <Bind>
  215. <BindItem id="item0" compid="opt_lrghngnm" propid="value" datasetid="ds_main_cond" columnid="lrghngnm"/>
  216. </Bind>
  217. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  218. * System Name :
  219. * Job Name :
  220. * Creator :
  221. * Make Date : 2015-11-13
  222. * Description :
  223. *---------------------------------------------------------------------------------------
  224. * Modify Date Modifier Modify Description
  225. *---------------------------------------------------------------------------------------
  226. * 2015-11-13 Live Converter TF->XP
  227. *
  228. *---------------------------------------------------------------------------------------
  229. ****************************************************************************************/
  230. include "com_commonxp::comm_main.xjs";
  231. include "emr_carecomxp::CareCom.xjs";
  232. var xClsListPath = "ds_main_detlgrup_detlgruplist"
  233. var xlrgListPath = "ds_main_lrggrup_lrggruplist"
  234. var xCondPath = "ds_main_cond";
  235. var xClsListBKPath = "ds_hidden_main_detlgrup_detlgruplist";
  236. var xHardCodeList = "ds_code_codeinfo_codelist";
  237. var gAuthYN = "";
  238. var MGFlag = ""; // 메뉴그룹 구분 (C:중앙사용자, I:기관사용자) 2010-06-24 안도영
  239. var ableFlag = "N"; // 객체 활성화 구분 -default로 '상황별'이 설정되므로 N값 설정 (Y:활성화, N:비활성화) 2010-06-25 안도영
  240. var arErrorCode = new HashArray();
  241. function SMMNR01900_oninit(obj:Form, e:InitEventInfo)
  242. {
  243. frmf_initForm(obj);
  244. }
  245. function SMMNR01900_onload(obj:Form, e:LoadEventInfo)
  246. {
  247. grdf_initGrid(grd_lrggrup);
  248. grdf_initGrid(grd_detlgrup);
  249. chkInstMG();
  250. }
  251. function chkInstMG()
  252. {
  253. // grd_lrggrup.allowSelection = false; // 멀티 선택 여부.
  254. // grd_detlgrup.allowSelection = false; // 다중선택 해지
  255. dsf_makeValue(ds_send, "supcd", "string", "********");
  256. var oParam = {};
  257. oParam.id = "TRMNR01903";
  258. oParam.service = "carerecapp.StmtMngt";
  259. oParam.method = "reqGetLrgGrupList";
  260. oParam.inds = "refCond=ds_send";
  261. oParam.outds = "ds_main_lrggrup_lrggruplist=lrggruplist";
  262. oParam.async = false;
  263. oParam.callback = "cf_submit";
  264. tranf_submit(oParam);
  265. if(arErrorCode.pop("TRMNR01903") > -1)
  266. {
  267. if(ds_main_lrggrup_lrggruplist.rowcount > 0)
  268. {
  269. ds_main_lrggrup_lrggruplist.rowposition = 0;
  270. detlinfo();
  271. }
  272. }
  273. var pCode = "'208'";
  274. var pDate = utlf_getCurrentDate();
  275. var pTime = String(utlf_getCurrentTime()).substring(0,4);
  276. var initPath = "ds_codelist";
  277. fGetNursHardCdInfo(pCode, pDate); // 간호공통관리 메뉴그룹코드 조회
  278. var str = sysf_getGlobalVariable("menugroupcd");
  279. var currentMG = "";
  280. for(var i = 0; i < String(str).length; i++)
  281. {
  282. if(str.charAt(i) == "|") break;
  283. currentMG = currentMG + str.charAt(i);
  284. }
  285. if(eval(initPath).lookupExpr("supcdid == '1' && cdid == '"+currentMG+"'", "cdid"))
  286. {
  287. MGFlag = "C"; // 중앙
  288. }
  289. else if(eval(initPath).lookupExpr("supcdid == '2' && cdid == '"+currentMG+"'", "cdid"))
  290. {
  291. MGFlag = "I"; // 중앙
  292. }
  293. else
  294. { // 둘다 해당하지 않을시 default로 기관별 사용자 (2010-06-29 서울성모 김숙인샘 요청)
  295. MGFlag = "I";
  296. }
  297. var datapath = "ds_main_lrggrup_lrggruplist";
  298. var currentRow = eval(datapath).getColumn(ds_main_lrggrup_lrggruplist.rowposition, "grupflag");
  299. if(MGFlag == "I" && (currentRow == "1" || currentRow == "2"))
  300. {
  301. btn_del.enable = false;
  302. btn_save.enable = false;
  303. }
  304. }
  305. function detlinfo()
  306. {
  307. var iRow = ds_main_lrggrup_lrggruplist.rowposition;
  308. if(iRow < 0) return;
  309. ds_send.clear();
  310. eval(xCondPath).setColumn(0, "lrghngnm", eval(xlrgListPath).getColumn(iRow, "hngnm"));
  311. eval(xCondPath).setColumn(0, "lrggrupcd", eval(xlrgListPath).getColumn(iRow, "grupcd"));
  312. ds_send.copyData(eval(xCondPath));
  313. if(eval(xlrgListPath).getColumn(iRow, "grupflag") != 3 && eval(xlrgListPath).getColumn(iRow, "grupflag") != 5 )
  314. {
  315. grd_detlgrup.setFormatColProperty(7, "size", 0);
  316. }
  317. else
  318. {
  319. grd_detlgrup.setFormatColProperty(7, "size", 100);
  320. }
  321. var oParam = {};
  322. oParam.id = "TRMNR01904";
  323. oParam.service = "carerecapp.StmtMngt";
  324. oParam.method = "reqGetDetlGrupList";
  325. oParam.inds = "refCond=ds_send";
  326. oParam.outds = "ds_main_detlgrup_detlgruplist=detlgruplist";
  327. oParam.async = false;
  328. oParam.callback = "cf_submit";
  329. tranf_submit(oParam);
  330. if(arErrorCode.pop("TRMNR01904") > -1)
  331. {
  332. ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
  333. if(eval(xlrgListPath).getColumn(iRow, "grupflag")==3 || eval(xlrgListPath).getColumn(iRow, "grupflag")==5)
  334. {
  335. fSettingReadOnlyGrid();
  336. }
  337. }
  338. setBtnAut(); // 중앙/기관별 관리 메뉴그룹에 따른 버튼 권한 부여 2010-06-28 안도영
  339. }
  340. function fSettingReadOnlyGrid()
  341. {
  342. var sDeltGrupCnt = ds_main_detlgrup_detlgruplist.rowcount;
  343. ds_main_detlgrup_detlgruplist.updatecontrol = false;
  344. ds_main_detlgrup_detlgruplist.enableevent = false;
  345. for(var iRow = 0; iRow < sDeltGrupCnt; iRow++)
  346. {
  347. dsf_makeValue(ds_main_detlgrup_detlgruplist, "editype6", "string", "none", iRow);
  348. if(eval(xClsListPath).getColumn(iRow, "depth") == 1)
  349. {
  350. ds_main_detlgrup_detlgruplist.setColumn(iRow, "editype6", "text");
  351. }
  352. }
  353. ds_main_detlgrup_detlgruplist.enableevent = true;
  354. ds_main_detlgrup_detlgruplist.updatecontrol = true;
  355. }
  356. function setBtnAut()
  357. {
  358. if(MGFlag == "I")
  359. {
  360. var datapath = "ds_main_lrggrup_lrggruplist";
  361. var currentRow = eval(datapath).getColumn(ds_main_lrggrup_lrggruplist.rowposition, "grupflag");
  362. if(currentRow == "1" || currentRow == "2")
  363. {
  364. btn_del.enable = false;
  365. btn_save.enable = false;
  366. ableFlag = "N";
  367. gAuthYN = "N";
  368. grd_detlgrup.setCellProperty("body", 4, "edittype", "none");
  369. grd_detlgrup.setCellProperty("body", 5, "edittype", "none");
  370. grd_detlgrup.setCellProperty("body", 6, "edittype", "none");
  371. grd_detlgrup.setCellProperty("body", 7, "edittype", "none");
  372. grd_detlgrup.setCellProperty("body", 8, "edittype", "none");
  373. }
  374. else
  375. {
  376. btn_del.enable = true;
  377. btn_save.enable = true;
  378. ableFlag = "Y";
  379. gAuthYN = "Y";
  380. grd_detlgrup.setCellProperty("body", 4, "edittype", "text");
  381. grd_detlgrup.setCellProperty("body", 5, "edittype", "text");
  382. grd_detlgrup.setCellProperty("body", 6, "edittype", "text");
  383. grd_detlgrup.setCellProperty("body", 7, "edittype", "text");
  384. grd_detlgrup.setCellProperty("body", 8, "edittype", "text");
  385. }
  386. }
  387. else
  388. {
  389. btn_del.enable = true;
  390. btn_save.enable = true;
  391. gAuthYN = "Y";
  392. grd_detlgrup.setCellProperty("body", 4, "edittype", "text");
  393. grd_detlgrup.setCellProperty("body", 5, "edittype", "text");
  394. grd_detlgrup.setCellProperty("body", 6, "edittype", "text");
  395. grd_detlgrup.setCellProperty("body", 7, "edittype", "text");
  396. grd_detlgrup.setCellProperty("body", 8, "edittype", "text");
  397. }
  398. }
  399. function cf_submit(sSvcId, nErrorCode, sErrorMsg)
  400. {
  401. arErrorCode.push(sSvcId, nErrorCode);
  402. if(nErrorCode < 0) return;
  403. }
  404. function grd_lrggrup_oncellclick(obj:Grid, e:GridClickEventInfo)
  405. {
  406. detlinfo();
  407. }
  408. function grd_detlgrup_oncellclick(obj:Grid, e:GridClickEventInfo)
  409. {
  410. var iRow = grd_detlgrup.getTreeRow(ds_main_detlgrup_detlgruplist.rowposition);
  411. var sDepth="1";
  412. var sDepthSv = "";
  413. var getTreeRow = 0;
  414. var sBoolStatus = false;
  415. grd_detlgrup.enableredraw = false;
  416. if(grd_detlgrup.getTreeStatus(iRow) == 0){
  417. sDepthSv=ds_main_detlgrup_detlgruplist.getColumn(ds_main_detlgrup_detlgruplist.rowposition, "depth");
  418. grd_detlgrup.setTreeStatus(iRow, true);//true 행을 열때 사용
  419. sBoolStatus = true;
  420. }else if(grd_detlgrup.getTreeStatus(iRow) == 1){
  421. sDepthSv=ds_main_detlgrup_detlgruplist.getColumn(ds_main_detlgrup_detlgruplist.rowposition, "depth");
  422. grd_detlgrup.setTreeStatus(iRow, false);//false 행을 닫을때 사용
  423. sBoolStatus = false;
  424. }
  425. if(sBoolStatus == true){
  426. for(var i = ds_main_detlgrup_detlgruplist.rowposition + 1; i < ds_main_detlgrup_detlgruplist.rowcount ;i++){
  427. sDepth = eval(ds_main_detlgrup_detlgruplist.getColumn(i, "depth"));
  428. iRow = grd_detlgrup.getTreeRow(i);
  429. if(sDepthSv == sDepth){
  430. break;
  431. }else{
  432. if(grd_detlgrup.getTreeStatus(iRow) == 0){
  433. grd_detlgrup.setTreeStatus(iRow, true);//true 행을 열때 사용
  434. }
  435. }
  436. }
  437. }
  438. grd_detlgrup.enableredraw = true;
  439. }
  440. function grd_detlgrup_cantreestatuschange(obj:Grid, e:GridTreeStatusEventInfo)
  441. {
  442. obj.userdata = 1;
  443. }
  444. function button4_onclick(obj:Button, e:ClickEventInfo)
  445. {
  446. grd_detlgrup.treeinitstatus = "expand,null";
  447. }
  448. function button3_onclick(obj:Button, e:ClickEventInfo)
  449. {
  450. grd_detlgrup.treeinitstatus = "collapse,null";
  451. }
  452. function fMouseDownGridRow(x, y)
  453. {
  454. if ( gAuthYN != "Y" )
  455. {
  456. return;
  457. }
  458. var iLrgGrupRow = ds_main_lrggrup_lrggruplist.rowposition;
  459. var iDetlGrupRow = ds_main_detlgrup_detlgruplist.rowposition;
  460. var sGrupFlag = eval(xlrgListPath).getColumn(iLrgGrupRow, "grupflag");
  461. var sDepth = eval(xClsListPath).getColumn(iDetlGrupRow, "depth");
  462. if(((sGrupFlag == 3 ) && sDepth >= 3) || ((sGrupFlag != 3 ) && sDepth >= 2) )
  463. {
  464. pmn_menu2.trackPopup(x,y);
  465. }
  466. else
  467. {
  468. pmn_menu1.trackPopup(x,y);
  469. }
  470. }
  471. function pmn_menu1_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  472. {
  473. eval(e.id +"();");
  474. }
  475. function pmn_menu2_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  476. {
  477. eval(e.id +"();");
  478. }
  479. function grd_detlgrup_onrbuttonup(obj:Grid, e:GridMouseEventInfo)
  480. {
  481. ds_main_detlgrup_detlgruplist.clearSelect();
  482. ds_main_detlgrup_detlgruplist.selectRow(e.row);
  483. ds_main_detlgrup_detlgruplist.rowposition = e.row;
  484. if ( gAuthYN != "Y" )
  485. {
  486. return;
  487. }
  488. if(MGFlag == "I")
  489. {
  490. if(ableFlag = "Y")
  491. {
  492. fMouseDownGridRow(e.screenX, e.screenY);
  493. }
  494. else{}
  495. }
  496. else
  497. {
  498. fMouseDownGridRow(e.screenX, e.screenY);
  499. }
  500. }
  501. function grd_detlgrup_onkillfocus(obj:Grid, e:KillFocusEventInfo)
  502. {
  503. pmn_menu1.closePopup();
  504. pmn_menu2.closePopup();
  505. }
  506. function ds_main_detlgrup_detlgruplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  507. {
  508. fChangedGridCol();
  509. }
  510. function fChangedGridCol()
  511. {
  512. if ( gAuthYN != "Y" )
  513. {
  514. return;
  515. }
  516. var sDetlGrupRow = ds_main_detlgrup_detlgruplist.rowposition;
  517. var sDetlGrupBKRow=0;
  518. if(eval(xClsListPath).getColumn(sDetlGrupRow, "stat") != "-")
  519. {
  520. return;
  521. }
  522. var grupcd = eval(xClsListPath).getColumn(sDetlGrupRow, "grupcd");
  523. for(var i = 0; i < eval(xClsListBKPath).rowcount; i++)
  524. {
  525. if(eval(xClsListBKPath).getColumn(i, "grupcd") == grupcd)
  526. {
  527. sDetlGrupBKRow = i;
  528. break;
  529. }
  530. }
  531. if(dsf_getDsCSV(eval(xClsListPath), sDetlGrupRow, "", "","") != dsf_getDsCSV(eval(xClsListBKPath), sDetlGrupBKRow, "", "",""))
  532. {
  533. eval(xClsListPath).setColumn(sDetlGrupRow, "stat","U");
  534. }
  535. }
  536. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  537. {
  538. fDelItem();
  539. }
  540. function fDelItem()
  541. {
  542. var iRow = ds_main_detlgrup_detlgruplist.rowposition;
  543. var iCol = grd_detlgrup.currentcol;
  544. if ( gAuthYN != "Y" )
  545. {
  546. ds_main_detlgrup_detlgruplist.enableevent = false;
  547. dsf_makeValue(ds_main_detlgrup_detlgruplist, "edittype"+iCol, "string", "none", iRow);
  548. ds_main_detlgrup_detlgruplist.enableevent = true;
  549. return;
  550. }
  551. else
  552. {
  553. ds_main_detlgrup_detlgruplist.enableevent = false;
  554. dsf_makeValue(ds_main_detlgrup_detlgruplist, "edittype"+iCol, "string", "normal", iRow);
  555. ds_main_detlgrup_detlgruplist.enableevent = true;
  556. }
  557. if(iRow < 0) return;
  558. if(eval(xClsListPath).getColumn(iRow, "stat")=="I")
  559. {
  560. ds_main_detlgrup_detlgruplist.deleteRow(iRow);
  561. }
  562. else if(eval(xClsListPath).getColumn(iRow, "stat")=="D")
  563. {
  564. eval(xClsListPath).setColumn(iRow, "stat","-");
  565. }
  566. else
  567. {
  568. eval(xClsListPath).setColumn(iRow, "stat","D");
  569. }
  570. var nRow = grd_detlgrup.getTreeRow(ds_main_detlgrup_detlgruplist.findRow("grupcd",ds_main_detlgrup_detlgruplist.getColumn(iRow,"supcd")));
  571. grd_detlgrup.setTreeStatus(nRow, true);
  572. }
  573. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  574. {
  575. fSave();
  576. }
  577. function fSave()
  578. {
  579. var sRowCnt = ds_main_detlgrup_detlgruplist.rowcount;
  580. var sLrgGrupRow = ds_main_lrggrup_lrggruplist.rowposition;
  581. ds_send.clear();
  582. ds_send_detlgrup.clearData();
  583. ds_send_detlgrup.copyData(grdf_getGridUpdateData(grd_detlgrup, "i"), true);
  584. var sGrupFlag = 0;
  585. if(sRowCnt == 0)
  586. {
  587. sysf_messageBox("처리할 데이터가 ","I004");
  588. return;
  589. }
  590. for(var i = 0; i < sRowCnt; i++)
  591. {
  592. if(utlf_isNull(eval(xClsListPath).getColumn(i, "hngnm")))
  593. {
  594. sysf_messageBox("한글이름은 필수 입력","E008");
  595. return;
  596. }
  597. }
  598. if(sysf_messageBox("","Q002") != 6) return;
  599. dsf_makeValue(ds_send, "lrggrupcd", "string", eval(xCondPath).getColumn(0, "lrggrupcd"));
  600. var oParam = {};
  601. oParam.id = "TXMNR01902";
  602. oParam.service = "carerecapp.StmtMngt";
  603. oParam.method = "reqExeDetlGrupInfo";
  604. oParam.inds = "detlgrup=ds_send_detlgrup refCond=ds_send";
  605. oParam.outds = "ds_main_detlgrup_detlgruplist=detlgruplist";
  606. oParam.async = false;
  607. oParam.callback = "cf_submit";
  608. tranf_submit(oParam);
  609. if(arErrorCode.pop("TXMNR01902") > -1)
  610. {
  611. ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
  612. sGrupFlag = eval(xlrgListPath).getColumn(sLrgGrupRow, "grupflag");
  613. if(sGrupFlag==3 || sGrupFlag == 5)
  614. {
  615. fSettingReadOnlyGrid();
  616. }
  617. detlinfo();
  618. }
  619. }
  620. function grd_detlgrup_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  621. {
  622. fCallDeptInfo();
  623. }
  624. function fCallDeptInfo()
  625. {
  626. var iCol = grd_detlgrup.currentcol;
  627. var iRow = ds_main_detlgrup_detlgruplist.rowposition;
  628. if ( gAuthYN != "Y" )
  629. {
  630. return;
  631. }
  632. if(iCol == 7)
  633. {
  634. var sGrupCD = eval(xClsListPath).getColumn(iRow, "grupcd");
  635. var sGrupFlag = eval(xClsListPath).getColumn(iRow, "grupflag");
  636. if(!utlf_isNull(sGrupCD) && !utlf_isNull(eval(xClsListPath).lookup("supcd", sGrupCD, "supcd")))
  637. {
  638. sysf_messageBox("하위항목이 존재하여 변경","E001");
  639. return;
  640. }
  641. var sSupCD = eval(xClsListPath).getColumn(iRow, "supcd");
  642. if(!utlf_isNull(sSupCD) && !utlf_isNull(eval(xClsListPath).lookup("grupcd", sSupCD, "grupcd")))
  643. {
  644. sysf_messageBox("상위항목이 존재하여 변경","E001");
  645. return;
  646. }
  647. if(sGrupFlag < 5)
  648. {
  649. // zbcfOpenInstDeptCodeList(search_condition, search_term, receive_deptcd_path, receive_deptnm_path, standard_yn, ord_deptflag, visible_columns, receive_detail_path)
  650. // zbcfOpenInstDeptCodeList("deptnm", model.getValue(xClsListPath+"["+iRow+"]/deptnm"), xClsListPath+"["+iRow+"]/deptcd", xClsListPath+"["+iRow+"]/deptnm", "orduseyn", "");
  651. //
  652. // appf_openInstDeptCodeList(sSearchCondition, sSearchTerm, sStandardYn, sOrdDeptflag, sVisibleColumns)
  653. appf_openInstDeptCodeList("deptnm", eval(xClsListPath).getColumn(iRow, "deptnm"), "orduseyn", "", "");
  654. }
  655. }
  656. }
  657. function fAddSameLevlItem()
  658. {
  659. var iRow = ds_main_detlgrup_detlgruplist.rowposition;
  660. var iLrgGrupRow = ds_main_lrggrup_lrggruplist.rowposition;
  661. var sDepth = eval(xClsListPath).getColumn(iRow, "depth");
  662. var sRowChngYN = false;
  663. trace("sDepth : " + sDepth)
  664. if(sDepth < 2 || iRow < 0)
  665. {
  666. if(iRow < 0)
  667. {
  668. ds_main_detlgrup_detlgruplist.addRow();
  669. }
  670. else
  671. {
  672. var sRowCnt = ds_main_detlgrup_detlgruplist.rowcount;
  673. for(var i = parseInt(iRow+1); i < sRowCnt; i++)
  674. {
  675. if(eval(xClsListPath).getColumn(i, "depth") <= sDepth)
  676. {
  677. iRow = i;
  678. sRowChngYN = true;
  679. break;
  680. }
  681. }
  682. if(sRowChngYN == false && sDepth < eval(xClsListPath).getColumn(sRowCnt, "depth"))
  683. {
  684. iRow = sRowCnt;
  685. }
  686. }
  687. iRow = eval(iRow + 1);
  688. ds_main_detlgrup_detlgruplist.insertRow(iRow);
  689. eval(xClsListPath).setColumn(iRow, "stat", "I");
  690. eval(xClsListPath).setColumn(iRow, "depth", 1);
  691. eval(xClsListPath).setColumn(iRow, "supcd", eval(xCondPath).getColumn(0, "lrggrupcd"));
  692. eval(xClsListPath).setColumn(iRow, "todd", "99991231235959");
  693. eval(xClsListPath).setColumn(iRow, "refseq", 0);
  694. eval(xClsListPath).setColumn(iRow, "grupflag", eval(xlrgListPath).getColumn(iLrgGrupRow, "grupflag"));
  695. }
  696. else
  697. {
  698. var sSupCd = eval(xClsListPath).getColumn(iRow, "supcd");
  699. var sGrupFlag = eval(xClsListPath).getColumn(iRow, "grupflag");
  700. var sSupGrupCd = eval(xClsListPath).lookup("grupcd",sSupCd , "grupcd");
  701. if(eval(xClsListPath).lookup("grupcd", sSupGrupCd, "stat") == "I")
  702. {
  703. sysf_messageBox("선택하신 상위코드는 저장상태가 아니라 하위코드 요소를 포함할 수 없습니다. 저장 후", "C001");
  704. return;
  705. }
  706. for(var i=iRow+1; i < ds_main_detlgrup_detlgruplist.rowcount; i++)
  707. {
  708. if(eval(xClsListPath).getColumn(i, "depth") <= sDepth)
  709. {
  710. iRow = i-1;
  711. break;
  712. }
  713. }
  714. iRow = eval(iRow + 1);
  715. ds_main_detlgrup_detlgruplist.insertRow(iRow);
  716. eval(xClsListPath).setColumn(iRow, "stat","I");
  717. eval(xClsListPath).setColumn(iRow, "depth",sDepth);
  718. eval(xClsListPath).setColumn(iRow, "supcd",sSupCd);
  719. eval(xClsListPath).setColumn(iRow, "todd","99991231235959");
  720. eval(xClsListPath).setColumn(iRow, "refseq",0);
  721. eval(xClsListPath).setColumn(iRow, "grupflag", eval(xlrgListPath).getColumn(iLrgGrupRow, "grupflag"));
  722. if(sDepth>1 && (sGrupFlag == 3 || sGrupFlag == 5))
  723. {
  724. eval(xClsListPath).setColumn(iRow, "deptcd", eval(xClsListPath).lookup("grupcd", sSupCd, "deptcd"));
  725. eval(xClsListPath).setColumn(iRow, "deptnm", eval(xClsListPath).lookup("grupcd", sSupCd, "deptnm"));
  726. ds_main_detlgrup_detlgruplist.enableevent = false;
  727. dsf_makeValue(ds_main_detlgrup_detlgruplist, "edittype", "string", "none", iRow);
  728. ds_main_detlgrup_detlgruplist.enableevent = true;
  729. var nRow = grd_detlgrup.getTreeRow(ds_main_detlgrup_detlgruplist.findRow("grupcd",ds_main_detlgrup_detlgruplist.getColumn(iRow,"supcd")));
  730. grd_detlgrup.setTreeStatus(nRow, true);
  731. }
  732. }
  733. }
  734. function fAddInfLevlItem()
  735. {
  736. var iRow = ds_main_detlgrup_detlgruplist.rowposition;
  737. var iRowS = grd_detlgrup.getTreeRow(ds_main_detlgrup_detlgruplist.rowposition);
  738. var sDepth = eval(xClsListPath).getColumn(iRow, "depth");
  739. var sSupCd = eval(xClsListPath).getColumn(iRow, "grupcd");
  740. var sGrupFlag = eval(xClsListPath).getColumn(iRow, "grupflag");
  741. grd_detlgrup.setTreeStatus(iRow, true);
  742. if(eval(xClsListPath).lookup("grupcd", sSupCd, "stat") == "I")
  743. {
  744. sysf_messageBox("선택하신 상위코드는 저장상태가 아니라 하위코드 요소를 포함할 수 없습니다. 저장후", "C001");
  745. return;
  746. }
  747. iRow = parseInt(iRow+1)
  748. ds_main_detlgrup_detlgruplist.insertRow(iRow);
  749. eval(xClsListPath).setColumn(iRow, "stat","I");
  750. eval(xClsListPath).setColumn(iRow, "depth",parseInt(sDepth+1));
  751. eval(xClsListPath).setColumn(iRow, "supcd",sSupCd);
  752. eval(xClsListPath).setColumn(iRow, "todd","99991231235959");
  753. eval(xClsListPath).setColumn(iRow, "refseq",0);
  754. eval(xClsListPath).setColumn(iRow, "grupflag", sGrupFlag);
  755. if(sGrupFlag == 3 || sGrupFlag == 5)
  756. {
  757. eval(xClsListPath).setColumn(iRow, "deptcd", eval(xClsListPath).lookup("grupcd", sSupCd, "deptcd"));
  758. eval(xClsListPath).setColumn(iRow, "deptnm", eval(xClsListPath).lookup("grupcd", sSupCd, "deptnm"));
  759. ds_main_detlgrup_detlgruplist.enableevent = false;
  760. dsf_makeValue(ds_main_detlgrup_detlgruplist, "edittype", "string", "none", iRow);
  761. ds_main_detlgrup_detlgruplist.enableevent = true;
  762. }
  763. grd_detlgrup.setTreeStatus(iRowS, true);//true 행을 열때 사용
  764. }
  765. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  766. {
  767. grdf_exportExcel(grd_detlgrup, "진술문 분류체계 상세_" + utlf_getCurrentDate(), "SheetName1", true, "", "", true);
  768. }
  769. ]]></Script>
  770. </Form>
  771. </FDL>