SMLLF02100_LIS사용자등록.xfdl 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLLF02100" position="absolute 0 0 1198 766" titletext="LIS 사용자 관리" oninit="SMLLF02100_oninit" onload="SMLLF02100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 40 1195 763" id="group3" scrollbars="autoboth" anchor="all">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 71 1194 77" linetype="horizontal" id="line1" class="line_1" anchor="left top right" style="strokepen:3 solid #33bbbbff;"/>
  11. <Static text="사용자 목록" position="absolute 1 55 94 73" id="caption2" class="tit_2" anchor="default"/>
  12. <Div position="absolute 0 10 1195 45" id="group1" class="div_SA2" anchor="left top right">
  13. <Layouts>
  14. <Layout>
  15. <Shape position="absolute 1112 6 1118 28" linetype="vertical" id="line14" class="line_4" anchor="top right"/>
  16. <Static text="사용자ID :" position="absolute 901 9 993 26" id="caption1" class="search_name" anchor="top right"/>
  17. <Edit position="absolute 995 8 1095 27" id="ipt_userid" class="input_s_button" taborder="-1" anchor="top right" onkeyup="group3_group1_ipt_userid_onkeyup" inputmode="upper" autoselect="true"/>
  18. <Button position="absolute 1130 8 1186 30" id="btn_search" class="btn1" text="조회" onkeydown="group3_group1_btn_search_onkeydown" onclick="group3_group1_btn_search_onclick" anchor="top right"/>
  19. <Radio position="absolute 220 11 385 29" id="radio1" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default" index="-1" onitemchanged="group3_group1_radio1_onitemchanged">
  20. <Dataset id="innerdataset">
  21. <ColumnInfo>
  22. <Column id="codecolumn" size="256"/>
  23. <Column id="datacolumn" size="256"/>
  24. </ColumnInfo>
  25. <Rows>
  26. <Row>
  27. <Col id="codecolumn">1</Col>
  28. <Col id="datacolumn">전체자료</Col>
  29. </Row>
  30. <Row>
  31. <Col id="codecolumn">2</Col>
  32. <Col id="datacolumn">사용자료</Col>
  33. </Row>
  34. </Rows>
  35. </Dataset>
  36. </Radio>
  37. <Static text="조회구분 :" position="absolute 125 11 217 28" id="caption4" class="search_name" anchor="default"/>
  38. <Button id="btn_search00" taborder="1" onclick="group4_btn_search_onclick" position="absolute 1077 10 1093 25" style="background:skyblue;" anchor="top right"/>
  39. </Layout>
  40. </Layouts>
  41. </Div>
  42. <Button position="absolute 1086 49 1139 68" id="btn_addrow" class="btn2" text="행추가" onclick="group3_btn_addrow_onclick" anchor="top right"/>
  43. <Button position="absolute 1031 49 1084 68" id="btn_change" class="btn2" visible="true" text="변 경" onclick="group3_btn_change_onclick" anchor="top right"/>
  44. <Button position="absolute 1141 49 1194 68" id="button1" class="btn2" text="행삭제" onclick="group3_button1_onclick" anchor="top right"/>
  45. <Grid position="absolute 0 75 1194 722" id="grd_users" binddataset="ds_grd_users" autofittype="none" anchor="all" onheadclick="group3_grd_users_onheadclick" onkeyup="group3_grd_users_onkeyup" onexpandup="group3_grd_users_onexpandup" ontextchanged="group3_grd_users_ontextchanged">
  46. <Formats>
  47. <Format id="default">
  48. <Columns>
  49. <Column size="24"/>
  50. <Column size="90"/>
  51. <Column size="80"/>
  52. <Column size="0"/>
  53. <Column size="0"/>
  54. <Column size="0"/>
  55. <Column size="0"/>
  56. <Column size="0"/>
  57. <Column size="0"/>
  58. <Column size="100"/>
  59. <Column size="0"/>
  60. <Column size="0"/>
  61. <Column size="80"/>
  62. <Column size="120"/>
  63. <Column size="110"/>
  64. <Column size="80"/>
  65. <Column size="140"/>
  66. <Column size="80"/>
  67. <Column size="80"/>
  68. <Column size="80"/>
  69. </Columns>
  70. <Rows>
  71. <Row size="24" band="head"/>
  72. <Row size="24"/>
  73. </Rows>
  74. <Band id="head">
  75. <Cell/>
  76. <Cell col="1" text="사용자ID"/>
  77. <Cell col="2" text="사용자명"/>
  78. <Cell col="3" text="시작일자"/>
  79. <Cell col="4" text="종료일자"/>
  80. <Cell col="5" text="날짜Key"/>
  81. <Cell col="6" text="시작일자"/>
  82. <Cell col="7" text="종료일자"/>
  83. <Cell col="8" text="날짜"/>
  84. <Cell col="9" text="검사계코드"/>
  85. <Cell col="10" text="키검사계코드"/>
  86. <Cell col="11" displaytype="text" edittype="text" text="키검사계코드"/>
  87. <Cell col="12" text="계코드"/>
  88. <Cell col="13" text="부서코드"/>
  89. <Cell col="14" text="채혈실구분"/>
  90. <Cell col="15" text="최종수정자"/>
  91. <Cell col="16" text="최종수정일시"/>
  92. <Cell col="17" text="사용자구분"/>
  93. <Cell col="18" text="특진의"/>
  94. <Cell col="19" text="전화번호"/>
  95. </Band>
  96. <Band id="body">
  97. <Cell celltype="head"/>
  98. <Cell col="1" displaytype="normal" edittype="text" editfilter="upper,number,char" text="bind:userid" expandshow="show"/>
  99. <Cell col="2" displaytype="text" edittype="text" text="bind:usernm"/>
  100. <Cell col="3" displaytype="date" edittype="date" text="bind:userfromdd" mask="yyyy-MM-dd" enable="false"/>
  101. <Cell col="4" displaytype="date" edittype="date" text="bind:usertodd" mask="yyyy-MM-dd" enable="false"/>
  102. <Cell col="5" displaytype="none" edittype="none" text="bind:ddkey"/>
  103. <Cell col="6" displaytype="date" edittype="text" text="bind:userfromdd"/>
  104. <Cell col="7" displaytype="date" edittype="text" text="bind:usertodd"/>
  105. <Cell col="8" displaytype="text" text="bind:ddkey"/>
  106. <Cell col="9" displaytype="text" edittype="text" text="bind:tsectcd"/>
  107. <Cell col="10" displaytype="none" edittype="none" text="bind:key"/>
  108. <Cell col="11" displaytype="none" text="bind:key"/>
  109. <Cell col="12" displaytype="text" edittype="text" text="bind:sectcd"/>
  110. <Cell col="13" displaytype="combo" edittype="combo" text="bind:deptflagcd" combodataset="ds_grd_deptcd" combocodecol="value" combodatacol="label" combodisplaynulltext="-" enable="false"/>
  111. <Cell col="14" displaytype="combo" edittype="combo" text="bind:bcolldeptflag" combodataset="ds_init_LB0008" combocodecol="cd" combodatacol="nm" combodisplaynulltype="none"/>
  112. <Cell col="15" displaytype="text" edittype="none" text="bind:fstrgstrid"/>
  113. <Cell col="16" displaytype="text" edittype="date" text="bind:fstrgstdt"/>
  114. <Cell col="17" displaytype="combo" edittype="combo" text="bind:userflag" combodataset="ds_init_userflag" combocodecol="value" combodatacol="label"/>
  115. <Cell col="18" displaytype="combo" edittype="combo" text="bind:specdrid" combodataset="ds_init_LB9995" combocodecol="cd" combodatacol="nm"/>
  116. <Cell col="19" displaytype="text" edittype="text" text="bind:phone"/>
  117. </Band>
  118. </Format>
  119. </Formats>
  120. </Grid>
  121. <Static text="※ 계코드가 P로 되어 있는 사용자는 현장검사 통계에서 현장검사 입력자로 집계 됩니다 Ex) 건진사용자" position="absolute 410 50 1028 70" id="caption3" anchor="default"/>
  122. </Layout>
  123. </Layouts>
  124. </Div>
  125. <Div position="absolute 0 13 1195 43" id="grp_btn" anchor="left top right">
  126. <Layouts>
  127. <Layout>
  128. <Button position="absolute 1068 3 1124 25" id="btn_save" class="btn4" text="저장" anchor="top right" onclick="grp_btn_btn_save_onclick"/>
  129. <Button position="absolute 1127 3 1195 25" id="btn_reset" class="btn4" text="초기화" anchor="top right" onclick="grp_btn_btn_reset_onclick"/>
  130. </Layout>
  131. </Layouts>
  132. </Div>
  133. <Static id="caption6" text="LIS 사용자 관리" class="tit_1" position="absolute 0 0 128 25"/>
  134. </Layout>
  135. </Layouts>
  136. <Objects>
  137. <Dataset id="ds_grd_users" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_users_oncolumnchanged">
  138. <ColumnInfo>
  139. <Column id="userid" type="STRING"/>
  140. <Column id="usernm" type="STRING"/>
  141. <Column id="userfromdd" type="STRING"/>
  142. <Column id="usertodd" type="STRING"/>
  143. <Column id="ddkey" type="STRING"/>
  144. <Column id="tsectcd" type="STRING"/>
  145. <Column id="key" type="STRING"/>
  146. <Column id="sectcd" type="STRING"/>
  147. <Column id="deptflagcd" type="STRING"/>
  148. <Column id="bcolldeptflag" type="STRING"/>
  149. <Column id="fstrgstrid" type="STRING"/>
  150. <Column id="fstrgstdt" type="STRING"/>
  151. <Column id="userflag" type="STRING"/>
  152. <Column id="specdrid" type="STRING"/>
  153. <Column id="phone" type="STRING"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_init_userflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="label" type="STRING"/>
  159. <Column id="value" type="STRING"/>
  160. </ColumnInfo>
  161. <Rows>
  162. <Row>
  163. <Col id="label">전문의</Col>
  164. <Col id="value">1</Col>
  165. </Row>
  166. <Row>
  167. <Col id="value">2</Col>
  168. <Col id="label">특진의</Col>
  169. </Row>
  170. </Rows>
  171. </Dataset>
  172. <Dataset id="ds_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="m" type="STRING" size="256" sumtext="uid"/>
  175. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  176. <Column id="tsectcd" type="STRING" size="256" sumtext="계코드"/>
  177. <Column id="key" type="STRING" size="256" sumtext="계코드"/>
  178. <Column id="sectcd" type="STRING" size="256" sumtext="계코드"/>
  179. <Column id="deptflagcd" type="STRING" size="256" sumtext="부서코드"/>
  180. <Column id="bcolldeptflag" type="STRING" size="256" sumtext="채혈실구분"/>
  181. <Column id="userflag" type="STRING" size="256" sumtext="사용자구분"/>
  182. <Column id="specdrid" type="STRING" size="256" sumtext="특진의ID"/>
  183. <Column id="userfromdd" type="STRING" size="256" sumtext="특진의ID"/>
  184. <Column id="usertodd" type="STRING" size="256" sumtext="특진의ID"/>
  185. <Column id="ddkey" type="STRING" size="256" sumtext="특진의ID"/>
  186. <Column id="phone" type="STRING" size="256" sumtext="전화번호"/>
  187. </ColumnInfo>
  188. </Dataset>
  189. <Dataset id="ds_grddata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  190. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  191. <ColumnInfo>
  192. <Column id="userid" type="STRING" size="256"/>
  193. </ColumnInfo>
  194. <Rows>
  195. <Row/>
  196. </Rows>
  197. </Dataset>
  198. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  199. <ColumnInfo>
  200. <Column id="userid" type="STRING" size="256"/>
  201. <Column id="userdata" type="STRING" size="256"/>
  202. <Column id="codeflag" type="STRING" size="256"/>
  203. <Column id="refflag" type="STRING" size="256"/>
  204. </ColumnInfo>
  205. <Rows>
  206. <Row>
  207. <Col id="refflag">2</Col>
  208. </Row>
  209. </Rows>
  210. </Dataset>
  211. <Dataset id="ds_init_LB0008" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  212. <ColumnInfo>
  213. <Column id="cd" type="STRING" size="256" sumtext="코드"/>
  214. <Column id="nm" type="STRING" size="256" sumtext="코드명"/>
  215. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  216. <Column id="etc01" type="STRING" size="256" sumtext="기타1"/>
  217. <Column id="etc02" type="STRING" size="256" sumtext="기타2"/>
  218. <Column id="etc03" type="STRING" size="256" sumtext="기타3"/>
  219. <Column id="etc04" type="STRING" size="256" sumtext="기타4"/>
  220. <Column id="etc05" type="STRING" size="256" sumtext="기타4"/>
  221. </ColumnInfo>
  222. </Dataset>
  223. <Dataset id="ds_init_LB0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  224. <ColumnInfo>
  225. <Column id="cd" type="STRING" size="256" sumtext="코드"/>
  226. <Column id="nm" type="STRING" size="256" sumtext="코드명"/>
  227. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  228. <Column id="etc01" type="STRING" size="256" sumtext="기타1"/>
  229. <Column id="etc02" type="STRING" size="256" sumtext="기타2"/>
  230. <Column id="etc03" type="STRING" size="256" sumtext="기타3"/>
  231. <Column id="etc04" type="STRING" size="256" sumtext="기타4"/>
  232. <Column id="etc05" type="STRING" size="256" sumtext="기타4"/>
  233. </ColumnInfo>
  234. </Dataset>
  235. <Dataset id="ds_init_LB9995" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  236. <ColumnInfo>
  237. <Column id="cd" type="STRING" size="256" sumtext="코드"/>
  238. <Column id="nm" type="STRING" size="256" sumtext="코드명"/>
  239. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  240. <Column id="etc01" type="STRING" size="256" sumtext="기타1"/>
  241. <Column id="etc02" type="STRING" size="256" sumtext="기타2"/>
  242. <Column id="etc03" type="STRING" size="256" sumtext="기타3"/>
  243. <Column id="etc04" type="STRING" size="256" sumtext="기타4"/>
  244. <Column id="etc05" type="STRING" size="256" sumtext="기타4"/>
  245. </ColumnInfo>
  246. </Dataset>
  247. <Dataset id="ds_grd_deptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  248. <ColumnInfo>
  249. <Column id="label" type="STRING" size="256"/>
  250. <Column id="value" type="STRING" size="256"/>
  251. </ColumnInfo>
  252. <Rows>
  253. <Row>
  254. <Col id="label">[L]진단검사의학과</Col>
  255. <Col id="value">L</Col>
  256. </Row>
  257. <Row>
  258. <Col id="label">[N]핵의학체외</Col>
  259. <Col id="value">N</Col>
  260. </Row>
  261. </Rows>
  262. </Dataset>
  263. <Dataset id="ds_usernm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  264. <ColumnInfo>
  265. <Column id="usernm" type="STRING" size="256" sumtext="명"/>
  266. </ColumnInfo>
  267. </Dataset>
  268. </Objects>
  269. <Bind>
  270. <BindItem id="item0" compid="group3.group1.radio1" propid="value" datasetid="ds_send" columnid="refflag"/>
  271. <BindItem id="item1" compid="group3.group1.ipt_userid" propid="value" datasetid="ds_hidden" columnid="userid"/>
  272. </Bind>
  273. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  274. * System Name :
  275. * System Name : KU2.0
  276. * Job Name :
  277. * File Name : SMLLF02100_LIS사용자등록.xfdl
  278. * Make Date : 2015-11-20
  279. * Description :
  280. *---------------------------------------------------------------------------------------
  281. * Modify Date Modifier Modify Description
  282. *---------------------------------------------------------------------------------------
  283. * 2015-11-09 Live Converter TF->XP
  284. *
  285. *---------------------------------------------------------------------------------------
  286. ****************************************************************************************/
  287. include "com_commonxp::comm_main.xjs";
  288. function SMLLF02100_oninit(obj:Form, e:InitEventInfo)
  289. {
  290. frmf_initForm(obj);
  291. }
  292. function SMLLF02100_onload(obj:Form, e:LoadEventInfo)
  293. {
  294. grdf_initGrid(group3.grd_users);
  295. grdf_setRowTypeIcon(group3.grd_users, 0);
  296. fSetInit();
  297. }
  298. function fSetInit()
  299. {
  300. ds_grd_users.clearData();
  301. ds_send.setColumn(0, "codeflag", "0008|0000|9995|"); // 0008 채혈실 구분// 0105 검체목록//특진의 목록//
  302. var oParam = {};
  303. oParam.id = "TRLZZ00101";
  304. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  305. oParam.method = "reqGetInitCodeInfo";
  306. oParam.inds = "cond=ds_send";
  307. oParam.outds = "ds_init_LB0008=0008 ds_init_LB0000=0000 ds_init_LB9995=9995";
  308. oParam.async = false;
  309. //oParam.callback = "cf_TRLZZ00101";
  310. tranf_submit(oParam);
  311. ds_init_LB0008.setColumn(0, "nm", "");
  312. }
  313. //조회버튼
  314. function group3_group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  315. {
  316. fGetUserList();
  317. }
  318. //조회함수
  319. function fGetUserList()
  320. {
  321. // if( utlf_isNull(ds_hidden.getColumn(0, "userid")))
  322. // {
  323. // alert("사용자 ID를 입력하세요.");
  324. // return;
  325. // }
  326. ds_send.setColumn(0, "userid", ds_hidden.getColumn(0, "userid"));
  327. var oParam = {};
  328. oParam.id = "TRLLF02102";
  329. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  330. oParam.method = "reqGetUserList";
  331. oParam.inds = "cond=ds_send";
  332. oParam.outds = "ds_grd_users=userlist";
  333. oParam.async = false;
  334. //oParam.callback = "cf_TRLLF02102";
  335. tranf_submit(oParam);
  336. fSetGrid();
  337. }
  338. //조회 구분에 따른 그리드 visible
  339. function fSetGrid()
  340. {
  341. var sFlag = ds_send.getColumn(0, "refflag");
  342. if(sFlag == "1") //전체자료
  343. {
  344. group3.grd_users.setFormatColProperty(3, "size", 100);
  345. group3.grd_users.setFormatColProperty(4, "size", 100);
  346. group3.btn_change.enable = true;
  347. }
  348. else //사용자료
  349. {
  350. group3.grd_users.setFormatColProperty(3, "size", 0);
  351. group3.grd_users.setFormatColProperty(4, "size", 0)
  352. group3.btn_change.enable = false;
  353. }
  354. }
  355. function group3_group1_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  356. {
  357. ds_grd_users.clearData();
  358. fSetGrid();
  359. }
  360. function group3_group1_ipt_userid_onkeyup(obj:Edit, e:KeyEventInfo)
  361. {
  362. if(e.keycode == "13")
  363. {
  364. ds_hidden.setColumn(0, "userid", group3.group1.ipt_userid.text);
  365. fGetUserList();
  366. }
  367. }
  368. //행추가
  369. function group3_btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  370. {
  371. fInsRowAdd();
  372. }
  373. function fInsRowAdd(pRef)
  374. {
  375. var vRow = ds_grd_users.rowposition;
  376. if(pRef != "C") //행추가일 경우
  377. {
  378. var i = ds_grd_users.addRow();
  379. ds_grd_users.setColumn(i, "tsectcd", "-");
  380. ds_grd_users.setColumn(i, "sectcd", "-");
  381. ds_grd_users.setColumn(i, "bcolldeptflag", "-");
  382. ds_grd_users.setColumn(i, "userflag", "-");
  383. ds_grd_users.setColumn(i, "specdrid", "-");
  384. ds_grd_users.setColumn(i, "userfromdd", utlf_getCurrentDate());
  385. ds_grd_users.setColumn(i, "usertodd", "99991231");
  386. }
  387. else //변경일경우
  388. {
  389. if(ds_grd_users.rowposition == "-1") //행을 선택하지 않았을 경우
  390. {
  391. sysf_messageBox("변경할 대상을 선택하세요!", "E");
  392. return;
  393. }
  394. else if(ds_grd_users.getRowType(vRow) == 2)
  395. {
  396. sysf_messageBox("신규 추가된 항목은 변경 할 수 없습니다!", "E");
  397. return;
  398. }
  399. else if(ds_grd_users.getColumn(vRow, "usertodd") <= utlf_getCurrentDate())
  400. {
  401. sysf_messageBox("이미 종료된 사용자는 변경 할 수 없습니다!", "E");
  402. return;
  403. }
  404. else
  405. {
  406. ds_grd_users.setColumn(vRow, "usertodd", utlf_getCurrentDate());
  407. ds_grd_users.setRowType(vRow, 4);
  408. var sUserid = ds_grd_users.getColumn(vRow, "userid");
  409. var sUsernm = ds_grd_users.getColumn(vRow, "usernm");
  410. var sTsectcd = ds_grd_users.getColumn(vRow, "tsectcd");
  411. var sSectcd = ds_grd_users.getColumn(vRow, "sectcd");
  412. var sDept = ds_grd_users.getColumn(vRow, "deptflagcd");
  413. var sBcoll = ds_grd_users.getColumn(vRow, "bcolldeptflag");
  414. var sUserflag = ds_grd_users.getColumn(vRow, "userflag");
  415. var sSpecdrid = ds_grd_users.getColumn(vRow, "specdrid");
  416. var nRow = ds_grd_users.addRow();
  417. ds_grd_users.setColumn(nRow, "userid", sUserid);
  418. ds_grd_users.setColumn(nRow, "usernm", sUsernm);
  419. ds_grd_users.setColumn(nRow, "tsectcd", sTsectcd);
  420. ds_grd_users.setColumn(nRow, "sectcd", sSectcd);
  421. ds_grd_users.setColumn(nRow, "deptflagcd", sDept);
  422. ds_grd_users.setColumn(nRow, "bcolldeptflag", sBcoll);
  423. ds_grd_users.setColumn(nRow, "userflag", sUserflag);
  424. ds_grd_users.setColumn(nRow, "specdrid", sSpecdrid);
  425. ds_grd_users.setColumn(nRow, "userfromdd", utlf_getCurrentDate().toDate("YYYYMMDD").getAddDate(1).getDateFormat("YYYYMMDD"));
  426. ds_grd_users.setColumn(nRow, "usertodd", "99991231");
  427. }
  428. }
  429. }
  430. function group4_btn_search_onclick(obj:Button, e:ClickEventInfo)
  431. {
  432. fGetUserList();
  433. }
  434. function group3_button1_onclick(obj:Button, e:ClickEventInfo)
  435. {
  436. if(ds_grd_users.getRowType(ds_grd_users.rowposition) == 2)
  437. {
  438. ds_grd_users.deleteRow(ds_grd_users.rowposition);
  439. }
  440. else
  441. {
  442. if(ds_grd_users.getColumn(ds_grd_users.rowposition, "usertodd") <= utlf_getCurrentDate())
  443. {
  444. sysf_messageBox("이미 종료된 사용자 입니다!", "E");
  445. return;
  446. }
  447. ds_grd_users.updatecontrol = false;
  448. ds_grd_users.setRowType(ds_grd_users.rowposition, 8); //delete
  449. ds_grd_users.updatecontrol = true;
  450. }
  451. }
  452. //저장
  453. function grp_btn_btn_save_onclick(obj:Button, e:ClickEventInfo)
  454. {
  455. fSetUserList();
  456. }
  457. function fSetUserList()
  458. {
  459. for(var i = 0; i < ds_grd_users.rowcount; i++)
  460. {
  461. if(utlf_isNull(ds_grd_users.getColumn(i, "deptflagcd")))
  462. {
  463. alert("부서코드를 선택하세요")
  464. ds_grd_users.rowposition = i;
  465. return;
  466. }
  467. if(ds_grd_users.getRowType(i) == 2 || ds_grd_users.getRowType(i) == 4 ) //신규로 추가된 행이 있다면
  468. {
  469. //같은 등록번호, 같은 검사계에 해당하는 시작 종료일 비교
  470. var sTodd = ds_grd_users.getColumn(i, "userfromdd");
  471. var sUserid = ds_grd_users.getColumn(i, "userid");
  472. var sTsectcd = ds_grd_users.getColumn(i, "tsectcd");
  473. ds_grd_users.filterstr = "userid == '" + sUserid + "' && tsetcd == '" + sTsectcd + "' && usertodd >= '" + sTodd + "'";
  474. dsf_createDs("ds_grd_filter");
  475. ds_grd_filter.copyData(ds_grd_users, true);
  476. ds_grd_users.filterstr = "";
  477. var vCnt = ds_grd_filter.rowcount;
  478. if(vCnt > 0)
  479. {
  480. sysf_messageBox("변경할 종료일은 변경한 시작일보다 크거나 같을 수 없습니다.\n기준일은 다시 한번 확인하세요", "E");
  481. ds_grd_users.rowposition = i;
  482. return;
  483. }
  484. }
  485. }
  486. var oDsUpdate = grdf_getGridUpdateData(group3.grd_users);
  487. grdf_setStatusColumn(oDsUpdate,"m");
  488. ds_grd_filter.clear();
  489. ds_grd_filter.copyData(oDsUpdate, true);
  490. var oParam = {};
  491. oParam.id = "TXLLF02101";
  492. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  493. oParam.method = "reqExeUserList";
  494. oParam.inds = "cond=ds_grd_filter";
  495. oParam.async = false;
  496. //oParam.callback = "cf_TXLLF02101";
  497. tranf_submit(oParam);
  498. fGetUserList();
  499. }
  500. //변경버튼
  501. function group3_btn_change_onclick(obj:Button, e:ClickEventInfo)
  502. {
  503. fInsRowAdd("C");
  504. }
  505. //초기화버튼
  506. function grp_btn_btn_reset_onclick(obj:Button, e:ClickEventInfo)
  507. {
  508. this.reload();
  509. }
  510. function group3_grd_users_onheadclick(obj:Grid, e:GridClickEventInfo)
  511. {
  512. if (e.col != e.oldcol) grdf_clearSort(obj);
  513. grdf_gridSort(obj, e);
  514. }
  515. function group3_grd_users_onkeyup(obj:Grid, e:KeyEventInfo)
  516. {
  517. if(e.keycode == 13 || e.keycode == 9)
  518. {
  519. if(obj.currentcol == 1)
  520. {
  521. fGetUserName();
  522. }
  523. }
  524. }
  525. function fGetUserName()
  526. {
  527. var userid = ds_grd_users.getColumn(ds_grd_users.rowposition, "userid");
  528. if(utlf_isNull(userid))
  529. {
  530. return;
  531. }
  532. ds_send.setColumn(0, "userid", userid);
  533. var oParam = {};
  534. oParam.id = "TRLLF02101";
  535. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  536. oParam.method = "reqGetUserNm";
  537. oParam.inds = "cond=ds_send";
  538. oParam.outds = "ds_usernm=usernm";
  539. oParam.async = false;
  540. tranf_submit(oParam);
  541. ds_grd_users.setColumn(ds_grd_users.rowposition, "usernm", ds_usernm.getColumn(0, "usernm"));
  542. }
  543. function group3_grd_users_onexpandup(obj:Grid, e:GridMouseEventInfo)
  544. {
  545. if(obj.currentcol == 1)
  546. {
  547. fGetUserName();
  548. }
  549. }
  550. function group3_grd_users_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo)
  551. {
  552. obj.updateToDataset();
  553. }
  554. ]]></Script>
  555. </Form>
  556. </FDL>