SPMMO08300_관심환자분류코드정보.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO08300" position="absolute 0 0 382 354" titletext="관심분류 코드등록" oninit="SPMMO08300_oninit" onload="SPMMO08300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="관심분류 코드정보" position="absolute 0 42 134 62" id="caption24" class="tit_2"/>
  8. <Div id="Div00" taborder="1" position="absolute 0 0 382 35" class="div_SA">
  9. <Layouts>
  10. <Layout>
  11. <Static text="관심분류구분 :" position="absolute 7 7 119 27" id="caption3" class="search_name"/>
  12. <Combo position="absolute 125 7 225 27" id="combo1" class="combo_search" enable="true" innerdataset="ds_M0001" datacolumn="cdnm" codecolumn="cdid" onitemchanged="Div00_combo1_onitemchanged"/>
  13. <Button position="absolute 318 7 374 27" id="btn_req" class="btn1" text="조회" onclick="Div00_btn_req_onclick"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Grid position="absolute 0 62 382 330" id="grd_ccclist" binddataset="ds_ccclist" anchor="all" oncelldblclick="grd_ccclist_oncelldblclick" onenterdown="grd_ccclist_onenterdown" autoenter="select" cellclickbound="control" transparenthittest="false">
  18. <Formats>
  19. <Format id="default">
  20. <Columns>
  21. <Column size="22"/>
  22. <Column size="100"/>
  23. <Column size="215"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="24" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1" text="관심분류구분"/>
  37. <Cell col="2" text="관심분류명"/>
  38. <Cell col="3" text="conctrgtcd"/>
  39. <Cell col="4" text="conctypecd"/>
  40. <Cell col="5" text="instcd"/>
  41. <Cell col="6" text="valifromdd"/>
  42. <Cell col="7" text="valitodd"/>
  43. </Band>
  44. <Band id="body">
  45. <Cell displaytype="normal"/>
  46. <Cell col="1" displaytype="combo" edittype="none" text="bind:conckindcd" combodataset="ds_M0001" combocodecol="cdid" combodatacol="cdnm"/>
  47. <Cell col="2" displaytype="text" edittype="text" text="bind:conctypenm" editautoselect="true"/>
  48. <Cell col="3" text="bind:conctrgtcd"/>
  49. <Cell col="4" text="bind:conctypecd"/>
  50. <Cell col="5" text="bind:instcd"/>
  51. <Cell col="6" text="bind:valifromdd"/>
  52. <Cell col="7" text="bind:valitodd"/>
  53. </Band>
  54. </Format>
  55. </Formats>
  56. </Grid>
  57. <Button position="absolute 212 332 268 354" id="button39" class="btn4" text="추가" onclick="button39_onclick"/>
  58. <Button position="absolute 269 332 325 354" id="button1" class="btn4" text="삭제" onclick="button1_onclick"/>
  59. <Button position="absolute 326 332 382 354" id="button2" class="btn4" text="저장" onclick="button2_onclick"/>
  60. </Layout>
  61. </Layouts>
  62. <Objects>
  63. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  64. <ColumnInfo>
  65. <Column id="cdnm" type="STRING"/>
  66. <Column id="cdid" type="STRING"/>
  67. </ColumnInfo>
  68. </Dataset>
  69. <Dataset id="ds_ccclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  70. <ColumnInfo>
  71. <Column id="status" type="STRING" size="256"/>
  72. <Column id="conckindcd" type="STRING" size="256"/>
  73. <Column id="conctypenm" type="STRING" size="256"/>
  74. <Column id="conctrgtcd" type="STRING" size="256"/>
  75. <Column id="conctypecd" type="STRING" size="256"/>
  76. <Column id="instcd" type="STRING" size="256"/>
  77. <Column id="valifromdd" type="STRING" size="256"/>
  78. <Column id="valitodd" type="STRING" size="256"/>
  79. </ColumnInfo>
  80. <Rows>
  81. <Row/>
  82. </Rows>
  83. </Dataset>
  84. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  85. <ColumnInfo>
  86. <Column id="conckindcd" type="STRING" size="256"/>
  87. </ColumnInfo>
  88. <Rows>
  89. <Row>
  90. <Col id="conckindcd">P</Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  95. <ColumnInfo>
  96. <Column id="today" type="STRING" size="256"/>
  97. </ColumnInfo>
  98. <Rows>
  99. <Row/>
  100. </Rows>
  101. </Dataset>
  102. <Dataset id="ds_conckindcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  103. <ColumnInfo>
  104. <Column id="label" type="STRING" size="256"/>
  105. <Column id="value" type="STRING" size="256"/>
  106. </ColumnInfo>
  107. <Rows>
  108. <Row>
  109. <Col id="label">개인</Col>
  110. <Col id="value">P</Col>
  111. </Row>
  112. <Row>
  113. <Col id="label">부서</Col>
  114. <Col id="value">D</Col>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_M0001" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="cdid" type="STRING" size="256"/>
  121. <Column id="cdnm" type="STRING" size="256"/>
  122. </ColumnInfo>
  123. </Dataset>
  124. <Dataset id="ds_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  125. <Dataset id="ds_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  126. </Objects>
  127. <Bind>
  128. <BindItem id="item0" compid="Div00.combo1" propid="value" datasetid="ds_cond" columnid="conckindcd"/>
  129. </Bind>
  130. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  131. * System Name :
  132. * Job Name :
  133. * Creator :
  134. * Make Date : 2014-08-28
  135. * Description :
  136. *---------------------------------------------------------------------------------------
  137. * Modify Date Modifier Modify Description
  138. *---------------------------------------------------------------------------------------
  139. * 2014-08-28 Live Converter TF->XP
  140. *
  141. *---------------------------------------------------------------------------------------
  142. ****************************************************************************************/
  143. include "com_commonxp::comm_main.xjs"
  144. function SPMMO08300_oninit(obj:Form, e:InitEventInfo)
  145. {
  146. frmf_initForm(obj);
  147. }
  148. function SPMMO08300_onload(obj:Form, e:LoadEventInfo)
  149. {
  150. grdf_setRowTypeIcon(grd_ccclist, 0);
  151. fInitialize();
  152. }
  153. function Div00_combo1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  154. {
  155. Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo);
  156. }
  157. function Div00_btn_req_onclick(obj:Button, e:ClickEventInfo)
  158. {
  159. fReqConcTypeCD();
  160. }
  161. function button39_onclick(obj:Button, e:ClickEventInfo)
  162. {
  163. fAddConcTypeCd();
  164. }
  165. function button1_onclick(obj:Button, e:ClickEventInfo)
  166. {
  167. fDelConcTypeCD();
  168. }
  169. function button2_onclick(obj:Button, e:ClickEventInfo)
  170. {
  171. fSaveConcTypeCD();
  172. }
  173. function grd_ccclist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  174. {
  175. fSelectConcTypeCD();
  176. }
  177. function grd_ccclist_onenterdown(obj:Grid, e:GridEditEventInfo)
  178. {
  179. fAddConcTypeCd();
  180. }
  181. /**
  182. * @desc : 화면 초기화
  183. * @
  184. * @param :
  185. * @return :
  186. * @---------------------------------------------------
  187. */
  188. function fInitialize(){
  189. ds_ccclist.clearData();
  190. ds_init.setColumn(0, "today", utlf_getCurrentDate());
  191. appf_getCodeList([{dsNm: "ds_M0001", cdGrpId: "M0001"}], true);
  192. ds_M0001.keystring.current = "S:-cdid";
  193. if(frmf_checkOpener()){
  194. var conckindcd = opener.frmf_getParameter("conckindcd");
  195. ds_cond.setColumn(0, "conckindcd", conckindcd);
  196. }else{
  197. ds_cond.setColumn(0, "conckindcd", "P");
  198. }
  199. Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo);
  200. }
  201. /**
  202. * @desc : 관심분류코드 추가
  203. * @
  204. * @param :
  205. * @return :
  206. * @---------------------------------------------------
  207. */
  208. function fAddConcTypeCd(){
  209. var iRow = ds_ccclist.addRow();
  210. ds_ccclist.setColumn(iRow, "conckindcd", ds_cond.getColumn(0, "conckindcd"));
  211. ds_ccclist.setColumn(iRow, "valifromdd", ds_init.getColumn(0, "today"));
  212. ds_ccclist.setColumn(iRow, "valitodd", "29991231");
  213. ds_ccclist.rowposition = iRow;
  214. grd_ccclist.setCellPos(grd_ccclist.getBindCellIndex("body", "conctypenm"));
  215. grd_ccclist.showEditor(true);
  216. }
  217. /**
  218. * @desc : 관심분류코드 삭제
  219. * @
  220. * @param :
  221. * @return :
  222. * @---------------------------------------------------
  223. */
  224. function fDelConcTypeCD(){
  225. var iRow = ds_ccclist.rowposition;
  226. if(iRow < 0){
  227. return;
  228. }
  229. var status = ds_ccclist.getRowType(iRow);
  230. if(status == 2){
  231. ds_ccclist.deleteRow(iRow);
  232. }else{
  233. var arrPostion = new Array();
  234. arrPostion[0] = iRow;
  235. grdf_setStatus(grd_ccclist, "D", arrPostion);
  236. }
  237. }
  238. /**
  239. * @desc : 관심분류코드 저장
  240. * @
  241. * @param :
  242. * @return :
  243. * @---------------------------------------------------
  244. */
  245. function fSaveConcTypeCD(){
  246. var oDsUpdate = grdf_getGridUpdateData(grd_ccclist);
  247. if( utlf_isNull(oDsUpdate) ) {
  248. sysf_messageBox("입력","E013"); // 그리드에 데이터가 업데이트 되지 않으면 "입력된 데이터가 없습니다."는 메시지 출력
  249. return ;
  250. }
  251. if(fValidSaveInfo()==true){
  252. grdf_setStatusColumn(oDsUpdate, "status"); // 각행의 status에 rowType 값에 따라 'i', 'u', 'd'로 업데이트 시켜준다
  253. ds_savedata.copyData(oDsUpdate, true);
  254. var oParam = {};
  255. oParam.id = "TXMMO08301";
  256. oParam.service = "prcpmngtapp.ConcPatMngt";
  257. oParam.method = "reqExeSaveTypeKindCdList";
  258. oParam.inds = "req=" + "ds_savedata";
  259. oParam.outds = "ds_ccclist=ccclist";
  260. oParam.async = false;
  261. tranf_submit(oParam);
  262. ds_ccclist.rowposition = -1;
  263. }
  264. }
  265. /**
  266. * @desc : 관심분류코드 조회
  267. * @
  268. * @param :
  269. * @return :
  270. * @authur : 오지훈
  271. * @---------------------------------------------------
  272. */
  273. function fReqConcTypeCD(){
  274. ds_reqdata.copyData(ds_cond);
  275. var oParam = {};
  276. oParam.id = "TRMMO08301";
  277. oParam.service = "prcpmngtapp.ConcPatMngt";
  278. oParam.method = "reqGetConcTypeCdList";
  279. oParam.inds = "req=" + "ds_reqdata";
  280. oParam.outds = "ds_ccclist=ccclist";
  281. oParam.async = false;
  282. tranf_submit(oParam);
  283. ds_ccclist.rowposition = -1;
  284. }
  285. /**
  286. * @desc : 관심분류코드 선택
  287. * @
  288. * @param : Open화면에 선택된 관심분류코드를 전달한다.
  289. * @return :
  290. * @authur : 오지훈
  291. * @---------------------------------------------------
  292. */
  293. function fSelectConcTypeCD(){
  294. var iRow = ds_ccclist.rowposition;
  295. if(iRow < 0){
  296. return;
  297. }
  298. var conctypecd = ds_ccclist.getColumn(iRow, "conctypecd");
  299. var conckindcd = ds_ccclist.getColumn(iRow, "conckindcd");
  300. if(frmf_checkOpener()){
  301. opener.frmf_setParameter("conctypecd", conctypecd);
  302. opener.frmf_setParameter("conckindcd", conckindcd);
  303. opener.frmf_setParameter("useyn", "Y");
  304. }else{
  305. opener.frmf_setParameter("useyn", "N");
  306. }
  307. close();
  308. }
  309. /**
  310. * @desc : 관심분류코드 저장 정보 유효성 확인
  311. * @
  312. * @param :
  313. * @return :
  314. * @authur : 오지훈
  315. * @---------------------------------------------------
  316. */
  317. function fValidSaveInfo(){
  318. var totrow = ds_ccclist.rowcount;
  319. for(var i = 0; i < totrow; i++){
  320. var status = ds_ccclist.getRowType(i);
  321. if(status == 2){ //신규인 경우, 관심분류명을 확인, 분류명이 없는 경우 error!
  322. var conctypenm = ds_ccclist.getColumn(i, "conctypenm");
  323. if(utlf_isNull(conctypenm)){
  324. sysf_messageBox("관심분류명을", "C001");
  325. ds_ccclist.rowposition = i;
  326. grd_ccclist.setCellPos(grd_ccclist.getBindCellIndex("body", "conctypenm"));
  327. grd_ccclist.showEditor(true);
  328. return false;
  329. }
  330. }
  331. }
  332. return true;
  333. }]]></Script>
  334. </Form>
  335. </FDL>