SPMRI02900_미비의사선택.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRI02900" position="absolute 0 0 375 455" titletext="의사선택" oninit="SPMRI02900_oninit" onload="SPMRI02900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape position="absolute 0 23 370 29" linetype="horizontal" id="line2" class="line_1"/>
  8. <Grid position="absolute 0 26 370 420" id="grd_docinfo" binddataset="ds_grd_docinfo" oncelldblclick="grd_docinfo_oncelldblclick">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="31"/>
  13. <Column size="111"/>
  14. <Column size="0"/>
  15. <Column size="43"/>
  16. <Column size="0"/>
  17. <Column size="77"/>
  18. <Column size="88"/>
  19. </Columns>
  20. <Rows>
  21. <Row size="24" band="head"/>
  22. <Row size="24"/>
  23. </Rows>
  24. <Band id="head">
  25. <Cell/>
  26. <Cell col="1" text="진료과"/>
  27. <Cell col="2" text="진료과코드"/>
  28. <Cell col="3" text="직종"/>
  29. <Cell col="4" text="직종코드"/>
  30. <Cell col="5" text="의사ID"/>
  31. <Cell col="6" text="의사명"/>
  32. </Band>
  33. <Band id="body">
  34. <Cell displaytype="checkbox" edittype="checkbox" text="bind:checkflag"/>
  35. <Cell col="1" style="align:left;" text="bind:orddeptnm"/>
  36. <Cell col="2" text="bind:orddeptcd"/>
  37. <Cell col="3" displaytype="combo" edittype="combo" style="align:center;" text="bind:jobposnm" combodataset="ds_grd_docinfo_jobposnm" combocodecol="value" combodatacol="label"/>
  38. <Cell col="4" text="bind:jobposcd"/>
  39. <Cell col="5" text="bind:orddrid"/>
  40. <Cell col="6" text="bind:orddrnm"/>
  41. </Band>
  42. </Format>
  43. </Formats>
  44. </Grid>
  45. <Static text="진 료 과" position="absolute 0 1 65 24" align="align:center middle;" id="caption32" class="cell_1"/>
  46. <Static text="의 사 명" position="absolute 156 1 221 24" align="align:center middle;" id="caption1" class="cell_1"/>
  47. <Edit position="absolute 68 3 155 22" id="ipt_deptengabbr" onkeydown="ipt_deptengabbr_onkeydown"/>
  48. <Edit position="absolute 223 3 315 22" id="ipt_unprepdr" onkeydown="ipt_unprepdr_onkeydown"/>
  49. <Button position="absolute 253 427 309 449" id="btn_conf" class="btn4" text="확인" onclick="btn_conf_onclick"/>
  50. <Button position="absolute 313 427 369 449" id="button1" class="btn4" text="취소" onclick="button1_onclick"/>
  51. <CheckBox id="cbx_allyn" taborder="1" text="all" position="absolute 317 1 365 22" falsevalue="N" truevalue="Y"/>
  52. </Layout>
  53. </Layouts>
  54. <Objects>
  55. <Dataset id="ds_grd_docinfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_docinfo_onrowposchanged">
  56. <ColumnInfo>
  57. <Column id="checkflag" type="STRING" size="256" sumtext="check구분"/>
  58. <Column id="orddeptnm" type="STRING" size="256" sumtext="등록번호"/>
  59. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  60. <Column id="jobposnm" type="STRING" size="256" sumtext="직종명"/>
  61. <Column id="jobposcd" type="STRING" size="256" sumtext="직종코드"/>
  62. <Column id="orddrid" type="STRING" size="256" sumtext="진료의id"/>
  63. <Column id="orddrnm" type="STRING" size="256" sumtext="진료의명"/>
  64. <Column id="deptabbrnm" type="STRING" size="256" sumtext="부서약어명"/>
  65. <Column id="drstate" type="STRING" size="256" sumtext="진료상태"/>
  66. </ColumnInfo>
  67. </Dataset>
  68. <Dataset id="ds_grd_docinfo_jobposnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  69. <ColumnInfo>
  70. <Column id="label" type="STRING" size="256"/>
  71. <Column id="value" type="STRING" size="256"/>
  72. </ColumnInfo>
  73. <Rows>
  74. <Row>
  75. <Col id="label">St</Col>
  76. <Col id="value">St</Col>
  77. </Row>
  78. <Row>
  79. <Col id="label">R</Col>
  80. <Col id="value">R</Col>
  81. </Row>
  82. <Row>
  83. <Col id="label">I</Col>
  84. <Col id="value">I</Col>
  85. </Row>
  86. </Rows>
  87. </Dataset>
  88. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  89. <ColumnInfo>
  90. <Column id="orddeptcd" type="STRING" size="256"/>
  91. <Column id="orddrid" type="STRING" size="256"/>
  92. <Column id="allyn" type="STRING" size="256"/>
  93. </ColumnInfo>
  94. <Rows>
  95. <Row/>
  96. </Rows>
  97. </Dataset>
  98. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  99. <ColumnInfo>
  100. <Column id="srchflag" type="STRING" size="256" sumtext="검색구분"/>
  101. <Column id="unprepdeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  102. <Column id="unprepdr" type="STRING" size="256" sumtext="진료의(srchflag?id:아이디,nm:명)"/>
  103. <Column id="stnddd" type="STRING" size="256" sumtext="기준일"/>
  104. <Column id="deptengabbr" type="STRING" size="256" sumtext="부서영문약어명"/>
  105. <Column id="grupflag" type="STRING" size="256" sumtext="그룹구분"/>
  106. <Column id="allyn" type="STRING" size="256"/>
  107. </ColumnInfo>
  108. </Dataset>
  109. </Objects>
  110. <Bind>
  111. <BindItem id="item0" compid="ipt_deptengabbr" propid="value" datasetid="ds_main_cond" columnid="orddeptcd"/>
  112. <BindItem id="item1" compid="ipt_unprepdr" propid="value" datasetid="ds_main_cond" columnid="orddrid"/>
  113. <BindItem id="item2" compid="cbx_allyn" propid="value" datasetid="ds_main_cond" columnid="allyn"/>
  114. </Bind>
  115. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  116. * System Name :
  117. * Job Name :
  118. * Creator :
  119. * Make Date : 2014-10-20
  120. * Description :
  121. *---------------------------------------------------------------------------------------
  122. * Modify Date Modifier Modify Description
  123. *---------------------------------------------------------------------------------------
  124. * 2014-10-20 Live Converter TF->XP
  125. *
  126. *---------------------------------------------------------------------------------------
  127. ****************************************************************************************/
  128. //=======================================================================================
  129. // Lib Include
  130. //---------------------------------------------------------------------------------------
  131. include "com_commonxp::comm_main.xjs"
  132. //=======================================================================================
  133. // Global Form Variable
  134. //---------------------------------------------------------------------------------------
  135. var arErrorCode = new HashArray();
  136. //=======================================================================================
  137. // Function
  138. //---------------------------------------------------------------------------------------
  139. /****************************************************************************************
  140. * Argument : 01.sKey : 코드아이디
  141. * : 02.sValue : 코드명
  142. * Description : 공통코드를 가져온다.
  143. ****************************************************************************************/
  144. /**
  145. * @desc 미비의사 조회
  146. * @param srchflag 검색구분(id:아이디, nm:명)
  147. * unprepdeptcd 미비진료과
  148. * unprepdr 미비의사(srch?id:아이디, nm:명)
  149. * stnddd 기준일자
  150. * deptengabbr 부서약어명
  151. */
  152. function fReqGetUnPrepDrList(srchflag, unprepdeptcd, unprepdr, stnddd, deptengabbr, allyn){
  153. ds_send_reqdata.clearData();
  154. var nRow = ds_send_reqdata.addRow();
  155. ds_send_reqdata.setColumn(nRow, "srchflag" , srchflag);
  156. ds_send_reqdata.setColumn(nRow, "unprepdeptcd", unprepdeptcd);
  157. ds_send_reqdata.setColumn(nRow, "unprepdr" , unprepdr);
  158. ds_send_reqdata.setColumn(nRow, "deptengabbr" , deptengabbr);
  159. ds_send_reqdata.setColumn(nRow, "stnddd" , stnddd);
  160. ds_send_reqdata.setColumn(nRow, "allyn" , allyn);
  161. ds_grd_docinfo.enableevent = false;
  162. var oParam = {};
  163. oParam.id = "TRMRI02604";
  164. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  165. oParam.method = "reqGetUnPrepDrList";
  166. oParam.inds = "req=ds_send_reqdata";
  167. oParam.outds = "ds_grd_docinfo=unprepdrlist";
  168. oParam.async = false;
  169. oParam.callback = "cf_TRMRI02604";
  170. tranf_submit(oParam);
  171. //sysf_trace(ds_grd_docinfo.saveXML());
  172. ds_grd_docinfo.enableevent = true;
  173. }
  174. /**
  175. * @desc숫자여부 판단
  176. */
  177. function isNumber(str){
  178. str += ''; // 문자열로 변환
  179. str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
  180. if (utlf_isNull(str) || isNaN(str)) return false;
  181. return true;
  182. }
  183. //=======================================================================================
  184. // Transaction Callback
  185. //---------------------------------------------------------------------------------------
  186. /****************************************************************************************
  187. * Argument : 01.sSvcId : 서비스 ID
  188. * : 02.nErrorCode : 에러코드
  189. * : 03.sErrorMsg : 에러메시지
  190. * Description : tr_getCodeList의 콜백함수
  191. ****************************************************************************************/
  192. function cf_TRMRI02604(sSvcId, nErrorCode, sErrorMsg) {
  193. if(nErrorCode < 0) return;
  194. arErrorCode.push(sSvcId, nErrorCode);
  195. //sysf_trace("***** cf_TRMRI02604 *****");
  196. ds_grd_docinfo.rowposition = -1;
  197. }
  198. //=======================================================================================
  199. // Event
  200. //---------------------------------------------------------------------------------------
  201. /****************************************************************************************
  202. * Components :
  203. * Components ID : button5
  204. * Event : onlbuttonup
  205. * Argument : 01.obj : Object Event has occurred
  206. * : 02.e : Event Object
  207. * Description :
  208. ****************************************************************************************/
  209. function SPMRI02900_oninit(obj:Form, e:InitEventInfo)
  210. {
  211. frmf_initForm(obj);
  212. }
  213. function SPMRI02900_onload(obj:Form, e:LoadEventInfo)
  214. {
  215. ds_grd_docinfo.clearData();
  216. if(frmf_checkOpener()){
  217. var gStndDD = opener.frmf_getParameter("SPMRI02900_stnddd");
  218. var orddrnm = opener.frmf_getParameter("SPMRI02900_orddrnm");
  219. if(!utlf_isNull(orddrnm)){
  220. fReqGetUnPrepDrList("nm", "", orddrnm, gStndDD);
  221. }
  222. }
  223. ipt_unprepdr.setFocus();
  224. }
  225. function grd_docinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  226. {
  227. var oDs = this.objects[grd_docinfo.binddataset];
  228. var orddeptcd = oDs.lookup("checkflag", 1, "orddeptcd");
  229. var orddeptnm = oDs.lookup("checkflag", 1, "deptabbrnm");
  230. var jobposnm = oDs.lookup("checkflag", 1, "jobposnm");
  231. var orddrid = oDs.lookup("checkflag", 1, "orddrid");
  232. var orddrnm = oDs.lookup("checkflag", 1, "orddrnm");
  233. orddeptcd = utlf_isNull(orddeptcd) ? '' : orddeptcd;
  234. orddeptnm = utlf_isNull(orddeptnm) ? '' : orddeptnm;
  235. jobposnm = utlf_isNull(jobposnm) ? '' : jobposnm;
  236. orddrid = utlf_isNull(orddrid) ? '' : orddrid;
  237. orddrnm = utlf_isNull(orddrnm) ? '' : orddrnm;
  238. var rtnparam = orddeptcd + "^" + orddeptnm + "^" + jobposnm + "^" + orddrid + "^" + orddrnm;
  239. if(frmf_checkOpener()){
  240. opener.frmf_setParameter("SPMRI02900_useyn", "Y");
  241. opener.frmf_setParameter("SPMRI02900_rtnparam", rtnparam);
  242. this.close();
  243. }
  244. }
  245. function ipt_deptengabbr_onkeydown(obj:Edit, e:KeyEventInfo)
  246. {
  247. if( e.keycode === 13 ){
  248. if(frmf_checkOpener()){
  249. var stnddd = opener.frmf_getParameter("SPMRI02900_stnddd");
  250. if(utlf_isNull(stnddd)){
  251. stnddd = utlf_getCurrentDate();
  252. }
  253. }
  254. var abbr = ipt_deptengabbr.text;
  255. abbr = abbr.toUpperCase();
  256. fReqGetUnPrepDrList("abbr", "", "", stnddd, abbr);
  257. }
  258. }
  259. function ipt_unprepdr_onkeydown(obj:Edit, e:KeyEventInfo)
  260. {
  261. if( e.keycode == 13 ){
  262. ipt_unprepdr.updateToDataset();
  263. if(frmf_checkOpener()){
  264. var stnddd = opener.frmf_getParameter("SPMRI02900_stnddd");
  265. if(utlf_isNull(stnddd)){
  266. stnddd = utlf_getCurrentDate();
  267. }
  268. }
  269. var unprepdr = ipt_unprepdr.text;
  270. var allyn = cbx_allyn.value;
  271. sysf_trace("allyn:"+allyn);
  272. //숫자인 경우, 아이디검색
  273. if(isNumber(unprepdr.charAt(0))){
  274. fReqGetUnPrepDrList("id", "", unprepdr, stnddd,"",allyn);
  275. //문자인 경우, 이름검색
  276. }else{
  277. fReqGetUnPrepDrList("nm", "", unprepdr, stnddd,"",allyn);
  278. }
  279. }
  280. }
  281. function btn_conf_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. var oDs = this.objects[grd_docinfo.binddataset];
  284. var orddeptcd = oDs.lookup("checkflag", 1, "orddeptcd");
  285. var orddeptnm = oDs.lookup("checkflag", 1, "deptabbrnm");
  286. var jobposnm = oDs.lookup("checkflag", 1, "jobposnm");
  287. var orddrid = oDs.lookup("checkflag", 1, "orddrid");
  288. var orddrnm = oDs.lookup("checkflag", 1, "orddrnm");
  289. orddeptcd = utlf_isNull(orddeptcd) ? '' : orddeptcd;
  290. orddeptnm = utlf_isNull(orddeptnm) ? '' : orddeptnm;
  291. jobposnm = utlf_isNull(jobposnm) ? '' : jobposnm;
  292. orddrid = utlf_isNull(orddrid) ? '' : orddrid;
  293. orddrnm = utlf_isNull(orddrnm) ? '' : orddrnm;
  294. var rtnparam = orddeptcd + "^" + orddeptnm + "^" + jobposnm + "^" + orddrid + "^" + orddrnm;
  295. if(frmf_checkOpener()){
  296. opener.frmf_setParameter("SPMRI02900_useyn", "Y");
  297. opener.frmf_setParameter("SPMRI02900_rtnparam", rtnparam);
  298. this.close();
  299. }
  300. }
  301. function button1_onclick(obj:Button, e:ClickEventInfo)
  302. {
  303. if(frmf_checkOpener()){
  304. opener.frmf_setParameter("SPMRI02900_useyn", "N");
  305. this.close();
  306. }
  307. }
  308. function ds_grd_docinfo_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  309. {
  310. if( e.newrow < 0 ) return;
  311. for(var i=0; i<obj.rowcount; i++){
  312. if( i == e.newrow ){
  313. obj.setColumn(i, "checkflag", 1);
  314. // sysf_trace(obj.getColumn(i, "checkflag"));
  315. }else{
  316. obj.setColumn(i, "checkflag", 0);
  317. // sysf_trace(obj.getColumn(i, "checkflag"));
  318. }
  319. }
  320. }
  321. ]]></Script>
  322. </Form>
  323. </FDL>