SPMMP02300_Drop입력.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMP02300" position="absolute 0 0 500 330" titletext="Drop입력" oninit="SPMMP02300_oninit" onload="SPMMP02300_onload" onkeydown="SPMMP02300_onkeydown">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="Drop입력" class="tit_2" position="absolute 0 0 95 20"/>
  8. <Grid id="grd_masterinfo" taborder="1" binddataset="ds_grd_masterinfo" useinputpanel="false" position="absolute 0 20 500 160" style="padding:0 5 0 5;">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="20"/>
  13. <Column size="38"/>
  14. <Column size="0"/>
  15. <Column size="431"/>
  16. <Column size="0"/>
  17. <Column size="0"/>
  18. <Column size="0"/>
  19. <Column size="0"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="24" band="head"/>
  23. <Row size="24"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell/>
  27. <Cell col="1" text="선택"/>
  28. <Cell col="2" text="선택"/>
  29. <Cell col="3" text="내용"/>
  30. <Cell col="4"/>
  31. <Cell col="5"/>
  32. <Cell col="6"/>
  33. <Cell col="7"/>
  34. </Band>
  35. <Band id="body">
  36. <Cell celltype="head" text="expr:currow + 1"/>
  37. <Cell col="1" displaytype="image" style="align:center middle;" expr="expr:(check == &quot;true&quot;) ? &quot;theme://images\\bg_radio_select_N.png&quot; : &quot;theme://images\\bg_radio_N.png&quot;"/>
  38. <Cell col="2" displaytype="checkbox" edittype="checkbox" style="background2: ;" text="bind:check"/>
  39. <Cell col="3" style="align:left middle;padding:0 5 0 5;" text="bind:valunm"/>
  40. <Cell col="4" text="bind:valuno"/>
  41. <Cell col="5" text="bind:valuflag"/>
  42. <Cell col="6" text="bind:histseq"/>
  43. <Cell col="7" text="bind:cpgappno"/>
  44. </Band>
  45. </Format>
  46. </Formats>
  47. </Grid>
  48. <TextArea id="txt_etc" taborder="2" position="absolute 0 185 500 295"/>
  49. <Static id="caption2" text="비고" class="tit_2" position="absolute 0 166 50 186"/>
  50. <Button id="button4" taborder="3" text="저장" class="btn4" position="absolute 385 308 441 330" onclick="button4_onclick"/>
  51. <Button id="button9" taborder="4" text="취소" class="btn4" position="absolute 444 308 500 330" onclick="button9_onclick"/>
  52. </Layout>
  53. </Layouts>
  54. <Objects>
  55. <Dataset id="ds_grd_masterinfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_masterinfo_onrowposchanged">
  56. <ColumnInfo>
  57. <Column id="valuno" type="STRING" size="256" sumtext="평가번호"/>
  58. <Column id="valunm" type="STRING" size="256" sumtext="평가명"/>
  59. <Column id="valuflag" type="STRING" size="256" sumtext="평가구분"/>
  60. <Column id="histseq" type="STRING" size="256" sumtext="이력순번"/>
  61. <Column id="cpgappno" type="INT" size="256" sumtext="cpg적용번호"/>
  62. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  63. <Column id="orddd" type="STRING" size="256" sumtext="진료일/입원일"/>
  64. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  65. <Column id="ordtype" type="STRING" size="256" sumtext="외래입원구분"/>
  66. <Column id="check" type="STRING" size="256" sumtext="체크"/>
  67. </ColumnInfo>
  68. </Dataset>
  69. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  70. <ColumnInfo>
  71. <Column id="valurem" type="STRING" size="256"/>
  72. </ColumnInfo>
  73. <Rows>
  74. <Row/>
  75. </Rows>
  76. </Dataset>
  77. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  78. <ColumnInfo>
  79. <Column id="cpgappno" type="STRING" size="256"/>
  80. <Column id="pid" type="STRING" size="256"/>
  81. <Column id="orddd" type="STRING" size="256"/>
  82. <Column id="cretno" type="STRING" size="256"/>
  83. <Column id="ordtype" type="STRING" size="256"/>
  84. <Column id="valuflag" type="STRING" size="256"/>
  85. <Column id="cpgno" type="STRING" size="256"/>
  86. <Column id="cpghistseq" type="STRING" size="256"/>
  87. </ColumnInfo>
  88. <Rows>
  89. <Row>
  90. <Col id="valuflag">2</Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. <Dataset id="ds_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  95. <Dataset id="ds_savedataInfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  96. <ColumnInfo>
  97. <Column id="valuno" type="INT" size="256" sumtext="평가번호"/>
  98. <Column id="valunm" type="STRING" size="256" sumtext="평가명"/>
  99. <Column id="valuflag" type="STRING" size="256" sumtext="평가구분"/>
  100. <Column id="histseq" type="STRING" size="256" sumtext="이력순번"/>
  101. <Column id="cpgappno" type="INT" size="256" sumtext="적용번호"/>
  102. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  103. <Column id="orddd" type="STRING" size="256" sumtext="진료일/입원일"/>
  104. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  105. <Column id="ordtype" type="STRING" size="256" sumtext="외래입원구분"/>
  106. <Column id="check" type="STRING" size="256" sumtext="저장flag"/>
  107. </ColumnInfo>
  108. </Dataset>
  109. <Dataset id="ds_savedataReq" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  110. <ColumnInfo>
  111. <Column id="valuflag" type="STRING" size="256" sumtext="-구분1:평가2:Drop사유3:Exclusion사유"/>
  112. <Column id="cpgappno" type="STRING" size="256" sumtext="cpg적용환자"/>
  113. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  114. <Column id="orddd" type="STRING" size="256" sumtext="진료일/입원일"/>
  115. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  116. <Column id="ordtype" type="STRING" size="256" sumtext="외래입원구분"/>
  117. <Column id="valurem" type="STRING" size="256" sumtext="평가비고"/>
  118. <Column id="cpgno" type="INT" size="256" sumtext="cpg번호"/>
  119. <Column id="cpghistseq" type="INT" size="256" sumtext="cpg이력순번"/>
  120. </ColumnInfo>
  121. </Dataset>
  122. </Objects>
  123. <Bind>
  124. <BindItem id="item0" compid="txt_etc" propid="value" datasetid="ds_main" columnid="valurem"/>
  125. </Bind>
  126. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  127. * System Name :
  128. * Job Name :
  129. * Creator :
  130. * Make Date : 2014-09-19
  131. * Description :
  132. *---------------------------------------------------------------------------------------
  133. * Modify Date Modifier Modify Description
  134. *---------------------------------------------------------------------------------------
  135. * 2014-09-19 Live Converter TF->XP
  136. *
  137. *---------------------------------------------------------------------------------------
  138. ****************************************************************************************/
  139. include "com_commonxp::comm_main.xjs";
  140. function SPMMP02300_oninit(obj:Form, e:InitEventInfo)
  141. {
  142. frmf_initForm(obj);
  143. grdf_initGrid(grd_masterinfo);
  144. }
  145. function SPMMP02300_onload(obj:Form, e:LoadEventInfo)
  146. {
  147. var isRequest = false;
  148. if(opener.frmf_getParameter("SMMMO043_drop") == "N"){
  149. ds_hidden.setColumn(0, "cpgappno", opener.frmf_getParameter("SMMMO043_cpgappno"));
  150. ds_reqdata.copyData(ds_hidden);
  151. isRequest = true;
  152. }else{
  153. var srchWindow = frmf_findPopup("SMMMP00800");
  154. if( srchWindow != null ){
  155. ds_hidden.setColumn(0, "cpgappno", srchWindow.frmf_getParameter("cpgappno"));
  156. //Drop사유를 CP별로 보여주기 위한 파라미터 셋팅 2008.06.25 LWS
  157. ds_hidden.setColumn(0, "cpgno", srchWindow.frmf_getParameter("cpgno"));
  158. ds_hidden.setColumn(0, "cpghistseq", srchWindow.frmf_getParameter("cpghistseq"));
  159. ds_reqdata.copyData(ds_hidden);
  160. isRequest = true;
  161. }
  162. }
  163. if(!isRequest) return;
  164. var oParam = {};
  165. oParam.id = "TRMMP02501";
  166. oParam.service = "prcpmngtapp.CPPrcpMngt";
  167. oParam.method = "reqGetValuDropExclu";
  168. oParam.inds = "req=" + "ds_reqdata";
  169. oParam.outds = "ds_grd_masterinfo=info";
  170. oParam.async = true;
  171. oParam.callback = "cf_TRMMP02501";
  172. tranf_submit(oParam);
  173. }
  174. function cf_TRMMP02501(sSvcId, nErrorCode, sErrorMsg) {
  175. dsf_setDefaultVal(ds_grd_masterinfo, "check:false");
  176. }
  177. function ds_grd_masterinfo_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  178. {
  179. if(e.newrow > -1) {
  180. for(var i = 0; i < obj.rowcount; i++) {
  181. if(utlf_isNull(obj.getColumnInfo("check"))) return;
  182. obj.setColumn(i, "check", "false"); // 기존의 것은 모두 체크 해제
  183. }
  184. obj.setColumn(e.newrow, "check", "true"); // 현재 선택한 것을 체크
  185. }
  186. }
  187. function button4_onclick(obj:Button, e:ClickEventInfo)
  188. {
  189. // 2007-12-05 (전지은)
  190. // 그리드의 rowheader를 update -> seq, 그에 따라 보낼 데이터를 체크 여부에 따라 재구성하여 보낸다
  191. var header = "valuno▦valunm▦valuflag▦histseq▦cpgappno▦pid▦orddd▦cretno▦ordtype▦check";
  192. var data = "";
  193. var nodeList = this.objects[dsf_createDs("tempDS")];
  194. nodeList.copyData(ds_grd_masterinfo);
  195. nodeList.filter("check == 'true'");
  196. //CP별 drop사유를 마스터에 모두 입력하면, CP사유 선택 필수로 할 예정 (JJE)
  197. if( nodeList.rowcount < 1 && utlf_isNull(ds_main.getColumn(0, "valurem")) ){
  198. sysf_messageBox("사유를 선택하지 않았습니다.\n사유를 선택하거나 비고에", "C001"); //C001:입력하십시오, C002:선택하십시오
  199. return;
  200. }
  201. if( nodeList.rowcount < 1 ){
  202. if(opener.frmf_getParameter("SMMMO043_drop") == "N"){
  203. var cpgappno = opener.frmf_getParameter("SMMMO043_cpgappno");
  204. }else{
  205. var cpgappno = opener.ds_rsltgetdata.getColumn(0, "cpgappno");
  206. }
  207. // 추후 확인필요
  208. var pid = opener.ds_paminfo.getColumn(0, "pid");
  209. var cretno = opener.ds_paminfo.getColumn(0, "cretno");
  210. var ordtype = opener.ds_patflag.getColumn(0, "prcpgenrflag");
  211. if( ordtype == "O" ){
  212. var orddd = opener.ds_paminfo.getColumn(0, "orddd");
  213. }else{
  214. var orddd = opener.ds_paminfo.getColumn(0, "indd");
  215. }
  216. // 여기까지
  217. data = "▩0▦(선택안함)▦2▦0▦" + cpgappno + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+ "▦true";
  218. /*
  219. model.setValue("/root/send/savedata/pid", pid);
  220. model.setValue("/root/send/savedata/cretno", cretno);
  221. model.setValue("/root/send/savedata/ordtype", ordtype );
  222. model.setValue("/root/send/savedata/orddd", orddd );
  223. */
  224. }else{
  225. for(var i = 0; i < nodeList.rowcount; i++){
  226. var valuno = nodeList.getColumn(i, "valuno");
  227. var valunm = nodeList.getColumn(i, "valunm");
  228. var valuflag = nodeList.getColumn(i, "valuflag");
  229. var histseq = nodeList.getColumn(i, "histseq");
  230. var cpgappno = nodeList.getColumn(i, "cpgappno");
  231. var pid = nodeList.getColumn(i, "pid");
  232. var orddd = nodeList.getColumn(i, "orddd");
  233. var cretno = nodeList.getColumn(i, "cretno");
  234. var ordtype = nodeList.getColumn(i, "ordtype");
  235. var check = nodeList.getColumn(i, "check");
  236. data = data + "▩" + valuno + "▦" + valunm + "▦" + valuflag + "▦" + histseq + "▦" + cpgappno + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype + "▦" + check;
  237. }
  238. }
  239. dsf_setCSVToDataset("ds_savedataInfo", header + data + "▩");
  240. ds_savedataReq.copyData(ds_hidden);
  241. ds_savedataReq.addColumn("valurem", "string");
  242. ds_savedataReq.setColumn(0, "valurem", ds_main.getColumn(0, "valurem"));
  243. var oParam = {};
  244. oParam.id = "TXMMP02501";
  245. oParam.service = "prcpmngtapp.CPPrcpMngt";
  246. oParam.method = "reqExeValuDropExclu";
  247. oParam.inds = "req=ds_savedataReq" + " info=ds_savedataInfo";
  248. oParam.outds = "ds_grd_masterinfo=info";
  249. oParam.async = false;
  250. oParam.callback = "cf_TXMMP02501";
  251. tranf_submit(oParam);
  252. }
  253. function cf_TXMMP02501(sSvcId, nErrorCode, sErrorMsg) {
  254. if(nErrorCode < 0) return;
  255. if(opener.frmf_getParameter("SMMMO043_drop") == "N"){
  256. //진료대상자 등 타화면에서 호출한 경우,
  257. opener.frmf_setParameter("SMMMO043_drop", "Y"); //진료대상자에서의 drop 저장 여부 체크시 활용
  258. }else{
  259. //M-GPS에서 호출한 경우.
  260. var srchWindow = frmf_findPopup("SMMMP00800");
  261. if( srchWindow != null ){
  262. srchWindow.ds_rsltgetdata.setColumn(0, "appstat", "50");
  263. srchWindow.btn_allInfoSave.enable = false;
  264. srchWindow.btn_drop.enable = false;
  265. srchWindow.btn_val.enable = false;
  266. //srchWindow.window.javascript.fOpenPrcpWindow();
  267. }else{
  268. opener.ds_rsltgetdata.setColumn(0, "appyn", "N");
  269. }
  270. }
  271. close();
  272. }
  273. function button9_onclick(obj:Button, e:ClickEventInfo)
  274. {
  275. close();
  276. }
  277. function SPMMP02300_onkeydown(obj:Form, e:KeyEventInfo)
  278. {
  279. if(e.keycode == 27)
  280. close();
  281. }]]></Script>
  282. </Form>
  283. </FDL>