SPMRJ09901_CarePlan상용구(2).xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRJ09901" position="absolute 0 0 560 560" titletext="구문관리" oninit="SPMRJ09901_oninit" onload="SPMRJ09901_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 5 5 555 70" align="align:center top;" id="grd_main" class="div_SA2">
  8. <Layouts>
  9. <Layout>
  10. <Edit position="absolute 367 10 467 29" id="ipt_problem" class="input_search"/>
  11. <Static text="유형 :" position="absolute 8 12 68 29" id="caption8" class="search_name"/>
  12. <Radio position="absolute 64 8 154 31" id="rdo_flag" class="radio_search" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="grd_main_rdo_flag_onitemchanged">
  13. <Dataset id="innerdataset">
  14. <ColumnInfo>
  15. <Column id="codecolumn"/>
  16. <Column id="datacolumn"/>
  17. </ColumnInfo>
  18. <Rows>
  19. <Row>
  20. <Col id="codecolumn">P</Col>
  21. <Col id="datacolumn">공용</Col>
  22. </Row>
  23. <Row>
  24. <Col id="codecolumn">D</Col>
  25. <Col id="datacolumn">부서</Col>
  26. </Row>
  27. </Rows>
  28. </Dataset>
  29. </Radio>
  30. <Edit position="absolute 157 37 467 56" id="ipt_careplan" class="input_search"/>
  31. <Button position="absolute 485 20 541 42" id="btn_search" class="btn1" text="조회" onclick="grd_main_btn_search_onclick"/>
  32. <Shape position="absolute 476 5 482 56" linetype="vertical" id="line13"/>
  33. <Static text="Care Plan &amp; goal :" position="absolute 8 37 158 54" id="caption3" class="search_name"/>
  34. <Static text="Problem :" position="absolute 285 11 367 28" id="caption1" class="search_name"/>
  35. <Combo position="absolute 158 10 272 29" id="cmb_ward" class="combo_search" enable="false" innerdataset="ds_init_ward" datacolumn="depthngnm" codecolumn="deptcd"/>
  36. </Layout>
  37. </Layouts>
  38. </Div>
  39. <Grid position="absolute 5 104 555 524" id="grd_sentslist" binddataset="ds_main_sentslist" cellsizingtype="both" extendsizetype="row" autofittype="col" autosizingtype="row">
  40. <Formats>
  41. <Format id="default">
  42. <Columns>
  43. <Column size="23" band="left"/>
  44. <Column size="26"/>
  45. <Column size="109"/>
  46. <Column size="362"/>
  47. <Column size="0"/>
  48. <Column size="0"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. </Columns>
  52. <Rows>
  53. <Row size="24" band="head"/>
  54. <Row size="24"/>
  55. </Rows>
  56. <Band id="head">
  57. <Cell/>
  58. <Cell col="1"/>
  59. <Cell col="2" text="Problem"/>
  60. <Cell col="3" text="Care Plan &amp; goal"/>
  61. <Cell col="4" text="flag"/>
  62. <Cell col="5" text="deptcd"/>
  63. <Cell col="6" text="seqno"/>
  64. <Cell col="7" text="useyn"/>
  65. </Band>
  66. <Band id="body">
  67. <Cell celltype="head"/>
  68. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk" expr="expr:chk == 'Y' || chk == '1' ? 1 : 0"/>
  69. <Cell col="2" displaytype="text" edittype="textarea" style="align:left middle;padding:2 2 2 2;" text="bind:problem" wordwrap="both" editlimit="150" autosizerow="limitmin"/>
  70. <Cell col="3" displaytype="text" edittype="textarea" style="align:left middle;padding:2 2 2 2;" text="bind:careplan" wordwrap="both" editlimit="750" autosizerow="limitmin"/>
  71. <Cell col="4" text="bind:flag"/>
  72. <Cell col="5" text="bind:deptcd"/>
  73. <Cell col="6" text="bind:seqno"/>
  74. <Cell col="7" text="bind:useyn"/>
  75. </Band>
  76. </Format>
  77. </Formats>
  78. </Grid>
  79. <Button position="absolute 390 80 443 99" id="button2" class="btn5" text="행추가" onclick="button2_onclick"/>
  80. <Button position="absolute 445 80 498 99" id="button3" class="btn5" text="행삭제" onclick="button3_onclick"/>
  81. <Button position="absolute 500 77 556 99" id="btn_save" class="btn4" text="저장" onclick="btn_save_onclick"/>
  82. <Static text="셀내에서 한줄띄움은 Ctrl+Enter 입니다." position="absolute 5 535 265 550" id="caption5" style="border:0 none #808080ff ;color:#ff0000ff;font:Dotum,9,bold;"/>
  83. <Static text="단어는 최대 2000개까지 표시됩니다." position="absolute 250 535 485 550" id="caption4" style="font:Dotum,9,bold;"/>
  84. <Shape position="absolute 5 99 555 105" linetype="horizontal" id="line1" class="line_10"/>
  85. <Button position="absolute 6 77 62 99" id="btn_ok" class="btn3" text="확인" onclick="btn_ok_onclick"/>
  86. <Button position="absolute 495 530 551 552" id="button1" class="btn1" text="닫기" onclick="button1_onclick"/>
  87. <CheckBox id="CheckBox1" taborder="1" position="absolute 33 104 53 130" onchanged="CheckBox1_onchanged" truevalue="true" falsevalue="false"/>
  88. </Layout>
  89. </Layouts>
  90. <Objects>
  91. <Dataset id="ds_init_ward" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  92. <ColumnInfo>
  93. <Column id="depthngnm" type="STRING"/>
  94. <Column id="deptcd" type="STRING"/>
  95. </ColumnInfo>
  96. </Dataset>
  97. <Dataset id="ds_main_sentslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_main_sentslist_oncolumnchanged">
  98. <ColumnInfo>
  99. <Column id="chk" type="STRING"/>
  100. <Column id="problem" type="STRING"/>
  101. <Column id="careplan" type="STRING"/>
  102. <Column id="flag" type="STRING"/>
  103. <Column id="deptcd" type="STRING"/>
  104. <Column id="seqno" type="STRING"/>
  105. <Column id="useyn" type="STRING"/>
  106. </ColumnInfo>
  107. </Dataset>
  108. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="flag" type="STRING" size="256"/>
  111. <Column id="problem" type="STRING" size="256"/>
  112. <Column id="careplan" type="STRING" size="256"/>
  113. <Column id="deptcd" type="STRING" size="256"/>
  114. <Column id="reqdata" type="STRING" size="256"/>
  115. </ColumnInfo>
  116. <Rows>
  117. <Row>
  118. <Col id="flag">P</Col>
  119. <Col id="problem"/>
  120. <Col id="careplan"/>
  121. <Col id="deptcd"/>
  122. <Col id="reqdata"/>
  123. </Row>
  124. </Rows>
  125. </Dataset>
  126. <Dataset id="ds_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  127. <Dataset id="ds_main_sentslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  128. <ColumnInfo>
  129. <Column id="chk" type="STRING" size="256"/>
  130. <Column id="problem" type="STRING" size="256"/>
  131. <Column id="careplan" type="STRING" size="256"/>
  132. <Column id="flag" type="STRING" size="256"/>
  133. <Column id="deptcd" type="STRING" size="256"/>
  134. <Column id="seqno" type="STRING" size="256"/>
  135. <Column id="useyn" type="STRING" size="256"/>
  136. </ColumnInfo>
  137. <Rows>
  138. <Row>
  139. <Col id="chk"/>
  140. <Col id="problem"/>
  141. <Col id="careplan"/>
  142. <Col id="flag"/>
  143. <Col id="deptcd"/>
  144. <Col id="seqno"/>
  145. <Col id="useyn"/>
  146. </Row>
  147. </Rows>
  148. </Dataset>
  149. <Dataset id="ds_temp_sentslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  150. <ColumnInfo>
  151. <Column id="chk" type="STRING" size="256"/>
  152. <Column id="flag" type="STRING" size="256"/>
  153. <Column id="deptcd" type="STRING" size="256"/>
  154. <Column id="problem" type="STRING" size="256"/>
  155. <Column id="careplan" type="STRING" size="256"/>
  156. <Column id="useyn" type="STRING" size="256"/>
  157. </ColumnInfo>
  158. <Rows>
  159. <Row>
  160. <Col id="chk"/>
  161. <Col id="flag"/>
  162. <Col id="deptcd"/>
  163. <Col id="problem"/>
  164. <Col id="careplan"/>
  165. <Col id="useyn"/>
  166. </Row>
  167. </Rows>
  168. </Dataset>
  169. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  170. <ColumnInfo>
  171. <Column id="ward" type="STRING" size="256"/>
  172. </ColumnInfo>
  173. <Rows>
  174. <Row>
  175. <Col id="ward"/>
  176. </Row>
  177. </Rows>
  178. </Dataset>
  179. <Dataset id="ds_init_ward" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  180. <ColumnInfo>
  181. <Column id="dept" type="STRING" size="256"/>
  182. <Column id="depthngnm" type="STRING" size="256"/>
  183. <Column id="deptcd" type="STRING" size="256"/>
  184. </ColumnInfo>
  185. <Rows>
  186. <Row>
  187. <Col id="dept"/>
  188. </Row>
  189. </Rows>
  190. </Dataset>
  191. </Objects>
  192. <Bind>
  193. <BindItem id="item0" compid="grd_main.ipt_problem" propid="value" datasetid="ds_send" columnid="problem"/>
  194. <BindItem id="item1" compid="grd_main.rdo_flag" propid="value" datasetid="ds_send" columnid="flag"/>
  195. <BindItem id="item2" compid="grd_main.ipt_careplan" propid="value" datasetid="ds_send" columnid="careplan"/>
  196. <BindItem id="item3" compid="grd_main.cmb_ward" propid="value" datasetid="ds_cond" columnid="ward"/>
  197. </Bind>
  198. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  199. * System Name :
  200. * Job Name :
  201. * Creator :
  202. * Make Date : 2015-08-05
  203. * Description :
  204. *---------------------------------------------------------------------------------------
  205. * Modify Date Modifier Modify Description
  206. *---------------------------------------------------------------------------------------
  207. * 2015-08-05 Live Converter TF->XP
  208. *
  209. *---------------------------------------------------------------------------------------
  210. ****************************************************************************************/
  211. // Lib Include
  212. //---------------------------------------------------------------------------------------
  213. include "com_commonxp::comm_main.xjs"
  214. include "emr_prcpmngtxp::MMO001.xjs"
  215. include "emr_jcimngtxp::SMMRJ00100.xjs"
  216. //include "emr_commonxp::EMRCommon.xjs"
  217. var arErrorCode = new HashArray();
  218. function cf_TRMRJ09902(sSvcId, nErrorCode, sErrorMsg) {
  219. arErrorCode.push(sSvcId, nErrorCode);
  220. if(nErrorCode < 0) return;
  221. }
  222. function cf_TXMRJ09901(sSvcId, nErrorCode, sErrorMsg) {
  223. arErrorCode.push(sSvcId, nErrorCode);
  224. if(nErrorCode < 0) return;
  225. }
  226. function SPMRJ09901_oninit(obj:Form, e:InitEventInfo)
  227. {
  228. frmf_initForm(obj);
  229. }
  230. function SPMRJ09901_onload(obj:Form, e:LoadEventInfo)
  231. {
  232. grdf_setRowTypeIcon(grd_sentslist,0);
  233. ds_main_sentslist.clearData();
  234. lf_mmbfGetDeptCodeComboList(ds_init_ward, "W"); //병동코드 콤보
  235. dsf_addDsItem(ds_init_ward,"deptcd","depthngnm"); //병동콤보 전체항목 추가
  236. frmf_inputEnterKey("grd_main.btn_search", "onclick", new ClickEventInfo );
  237. }
  238. function grd_main_rdo_flag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  239. {
  240. if( ds_send.getColumn(0, "flag") == "D"){
  241. grd_main.cmb_ward.enable = true;
  242. dsf_makeValue(ds_cond,"ward", "string", "-");
  243. }else{
  244. grd_main.cmb_ward.enable = false;
  245. dsf_makeValue(ds_cond,"ward", "string", "");
  246. }
  247. }
  248. function grd_main_btn_search_onclick(obj:Button, e:ClickEventInfo)
  249. {
  250. CheckBox1.value = "false";
  251. if( ds_send.getColumn(0, "flag") == "D"){
  252. dsf_makeValue(ds_send,"deptcd", "string", ds_cond.getColumn(0, "ward"));
  253. }else{
  254. dsf_makeValue(ds_send,"deptcd", "string", "");
  255. }
  256. var oParam = {};
  257. oParam.id = "TRMRJ09902";
  258. oParam.service = "jcimngtapp.JcimngtBase";
  259. oParam.method = "reqGetUsefulSentences";
  260. oParam.inds = "req=ds_send";
  261. oParam.outds = "ds_main_sentslist=sentslist";
  262. oParam.async = false;
  263. oParam.callback = "cf_TRMRJ09902";
  264. tranf_submit(oParam);
  265. if(arErrorCode.pop("TRMRJ09902") <= -1){
  266. return;
  267. }
  268. }
  269. function button2_onclick(obj:Button, e:ClickEventInfo)
  270. {
  271. ds_main_sentslist.addRow();
  272. var row = ds_main_sentslist.rowcount-1;
  273. ds_main_sentslist.setColumn(row, "flag", ds_send.getColumn(0, "flag"));
  274. if( ds_send.getColumn(0, "flag") == "D" ){
  275. if(ds_main_sentslist.getColumnInfo("deptcd")==null){
  276. ds_main_sentslist.addColumn("deptcd", "string");
  277. }
  278. ds_main_sentslist.setColumn(row , "deptcd", ds_send.getColumn(0, "deptcd"));
  279. }
  280. }
  281. function button3_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. // 그리드 체크 된 multirow 삭제 아이콘 수정
  284. for(var i = ds_main_sentslist.rowcount; i >= 0 ; i--)
  285. {
  286. if(ds_main_sentslist.getColumn(i, "chk") == "Y" || ds_main_sentslist.getColumn(i, "chk") == "1")
  287. {
  288. var rowStatus = ds_main_sentslist.getRowType(i);
  289. if( rowStatus == 2 )
  290. {
  291. ds_main_sentslist.deleteRow(i);
  292. }
  293. else if( rowStatus == 1 || rowStatus == 4)
  294. {
  295. ds_main_sentslist.updatecontrol = false;
  296. ds_main_sentslist.setRowType(i, "D");
  297. ds_main_sentslist.updatecontrol = true;
  298. ds_main_sentslist.setColumn(i, "useyn" , "N");
  299. }
  300. }
  301. }
  302. }
  303. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  304. {
  305. var updateData = grdf_getGridUpdateData(grd_sentslist);
  306. grdf_setStatusColumn(updateData, "status");
  307. ds_save.copyData(updateData, true);
  308. var oParam = {};
  309. oParam.id = "TXMRJ09901";
  310. oParam.service = "jcimngtapp.JcimngtBase";
  311. oParam.method = "reqSetUsefulSentences";
  312. oParam.inds = "save=ds_save";
  313. oParam.outds = "";
  314. oParam.async = false;
  315. oParam.callback = "cf_TXMRJ09901";
  316. tranf_submit(oParam);
  317. if(arErrorCode.pop("TXMRJ09901") > -1){
  318. sysf_messageBox("저장","I002");
  319. frmf_inputEnterKey("grd_main.btn_search", "onclick", new ClickEventInfo );
  320. } else {
  321. sysf_messageBox("저장을","E009");
  322. }
  323. CheckBox1.value = "false";
  324. }
  325. function btn_ok_onclick(obj:Button, e:ClickEventInfo)
  326. {
  327. var cnt = 0;
  328. for (var i = 0; i < ds_main_sentslist.rowcount; i++) {
  329. if (ds_main_sentslist.getColumn(i, "chk") == "Y"){
  330. cnt += 1;
  331. opener.fClickRowAddBtn("datagrid03",'003');
  332. var idx = opener.ds_datagrid03.findRowExpr("workflag == '003'");
  333. opener.ds_datagrid03.setColumn( idx, "problem" , ds_main_sentslist.getColumn(i, "problem"));
  334. opener.ds_datagrid03.setColumn( idx, "careplan" , ds_main_sentslist.getColumn(i, "careplan"));
  335. }else{
  336. cnt += 0;
  337. }
  338. }
  339. for(var i = 0; i < ds_main_sentslist.rowcount; i++) {
  340. ds_main_sentslist.setColumn(i, "chk", "false");
  341. }
  342. grdf_setStatus(grd_sentslist,"");
  343. if (cnt == 0){
  344. sysf_messageBox("복사할 항목을 체크해 주십시요","I");
  345. }
  346. }
  347. function button1_onclick(obj:Button, e:ClickEventInfo)
  348. {
  349. close();
  350. }
  351. function ds_main_sentslist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  352. {
  353. if(e.columnid == "chk"){
  354. obj.setColumn(e.row, e.columnid, (e.newvalue == "true" || e.newvalue == 1) ? "Y" : "N");
  355. //체크 해제 시 아이콘 default 수정
  356. if(e.newvalue == "1" || e.newvalue == "Y")
  357. {
  358. }
  359. else
  360. {
  361. obj.updatecontrol = false;
  362. obj.setRowType(e.row, "");
  363. obj.updatecontrol = true;
  364. }
  365. }
  366. }
  367. function CheckBox1_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  368. {
  369. //그리드 전체 check 아이콘 이벤트 추가 요청사항
  370. for(var i = 0; i < ds_main_sentslist.rowcount; i++)
  371. {
  372. if(obj.value == "true")
  373. {
  374. ds_main_sentslist.setColumn(i, "chk", "true");
  375. grdf_setStatus(grd_sentslist,"u");
  376. }
  377. else
  378. {
  379. ds_main_sentslist.setColumn(i, "chk", "false");
  380. grdf_setStatus(grd_sentslist,"");
  381. }
  382. }
  383. }]]></Script>
  384. </Form>
  385. </FDL>