SMSDT01000_사회사업상담환자실적.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMSDT01000" position="absolute 0 0 1198 801" titletext="사회사업 접수/상담 환자 실적" oninit="SMSDT01000_oninit" onload="SMSDT01000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="사회사업 접수/상담 환자 실적 조회" class="tit_1" position="absolute 0 0 280 25"/>
  8. <Static id="caption21" text="사회사업 접수/상담 환자 실적" class="tit_2" position="absolute 0 83 219 104"/>
  9. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 0 97 1195 108" anchor="left top right"/>
  10. <Div id="group4" anchor="left top right" taborder="2" class="div_SA" position="absolute 0 25 1195 65">
  11. <Layouts>
  12. <Layout>
  13. <Combo id="cmb_sumflaga2" taborder="2" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 335 11 445 30" onitemchanged="group4_cmb_sumflaga2_onitemchanged">
  14. <Dataset id="innerdataset">
  15. <ColumnInfo>
  16. <Column id="codecolumn"/>
  17. <Column id="datacolumn"/>
  18. </ColumnInfo>
  19. <Rows>
  20. <Row>
  21. <Col id="codecolumn">2</Col>
  22. <Col id="datacolumn">월별</Col>
  23. </Row>
  24. <Row>
  25. <Col id="codecolumn">3</Col>
  26. <Col id="datacolumn">임상과별</Col>
  27. </Row>
  28. <Row>
  29. <Col id="codecolumn">4</Col>
  30. <Col id="datacolumn">의뢰유형별</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">5</Col>
  34. <Col id="datacolumn">연령별</Col>
  35. </Row>
  36. <Row>
  37. <Col id="codecolumn">6</Col>
  38. <Col id="datacolumn">직업별</Col>
  39. </Row>
  40. <Row>
  41. <Col id="codecolumn">7</Col>
  42. <Col id="datacolumn">학력별</Col>
  43. </Row>
  44. </Rows>
  45. </Dataset>
  46. </Combo>
  47. <Combo id="cmb_sumflaga1" taborder="6" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 335 11 445 30" onitemchanged="group4_cmb_sumflaga1_onitemchanged">
  48. <Dataset id="innerdataset">
  49. <ColumnInfo>
  50. <Column id="codecolumn"/>
  51. <Column id="datacolumn"/>
  52. </ColumnInfo>
  53. <Rows>
  54. <Row>
  55. <Col id="codecolumn">2</Col>
  56. <Col id="datacolumn">월별</Col>
  57. </Row>
  58. <Row>
  59. <Col id="codecolumn">4</Col>
  60. <Col id="datacolumn">의뢰유형별</Col>
  61. </Row>
  62. <Row>
  63. <Col id="codecolumn">5</Col>
  64. <Col id="datacolumn">연령별</Col>
  65. </Row>
  66. </Rows>
  67. </Dataset>
  68. </Combo>
  69. <Button id="button2" taborder="1" text="조회" class="btn1" position="absolute 1123 10 1179 32" anchor="top right" onclick="group4_button2_onclick"/>
  70. <Static id="caption23" text="조회구분 :" class="search_name" position="absolute 245 13 331 30"/>
  71. <Shape id="line2" linetype="vertical" position="absolute 1110 10 1116 32" anchor="top right"/>
  72. <Static id="cap1" text="~" position="absolute 672 11 681 31"/>
  73. <Calendar id="ipt_fromdd" taborder="3" class="input_search" position="absolute 565 11 665 30" mask="yyyy-mm" autoselect="true" autoskip="true" dateformat="yyyy-MM" value="null" editformat="yyyy-MM" onchanged="group4_ipt_fromdd_onchanged"/>
  74. <Calendar id="ipt_todd" taborder="4" class="input_search" position="absolute 688 11 788 30" mask="yyyy-mm" autoselect="true" dateformat="yyyy-MM" editformat="yyyy-MM" onchanged="group4_ipt_todd_onchanged"/>
  75. <Static id="caption1" text="조회기간 :" class="search_name" position="absolute 480 12 580 29"/>
  76. <Radio id="rdo_achivflag" taborder="5" columncount="4" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 30 10 225 30" onitemchanged="group4_rdo_achivflag_onitemchanged">
  77. <Dataset id="innerdataset">
  78. <ColumnInfo>
  79. <Column id="codecolumn"/>
  80. <Column id="datacolumn"/>
  81. </ColumnInfo>
  82. <Rows>
  83. <Row>
  84. <Col id="codecolumn">A1</Col>
  85. <Col id="datacolumn">접수환자실적</Col>
  86. </Row>
  87. <Row>
  88. <Col id="codecolumn">A2</Col>
  89. <Col id="datacolumn">상담환자실적</Col>
  90. </Row>
  91. </Rows>
  92. </Dataset>
  93. </Radio>
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Button id="btn_excel" taborder="3" text="엑셀저장" class="btn7" position="absolute 1115 80 1195 99" anchor="top right" onclick="btn_excel_onclick"/>
  98. <Grid id="grd_cnst" class="datagrid2" taborder="4" binddataset="ds_main_cnstinfo_cnstlist" useinputpanel="false" position="absolute 0 104 1195 768" anchor="all" autoenter="select" cellsizingtype="col">
  99. <Formats>
  100. <Format id="default">
  101. <Columns>
  102. <Column size="201"/>
  103. <Column size="120"/>
  104. <Column size="120"/>
  105. <Column size="120"/>
  106. <Column size="120"/>
  107. <Column size="120"/>
  108. <Column size="120"/>
  109. <Column size="120"/>
  110. <Column size="128"/>
  111. </Columns>
  112. <Rows>
  113. <Row size="24" band="head"/>
  114. <Row size="24"/>
  115. </Rows>
  116. <Band id="head">
  117. <Cell text="구분"/>
  118. <Cell col="1" text="일반의료"/>
  119. <Cell col="2" text="재활의료"/>
  120. <Cell col="3" text="정신의료"/>
  121. <Cell col="4" text="장기이식"/>
  122. <Cell col="5" text="호스피스"/>
  123. <Cell col="6" text="합계"/>
  124. <Cell col="7" text="전월실적"/>
  125. <Cell col="8" text="전월대비실적비교"/>
  126. </Band>
  127. <Band id="body">
  128. <Cell text="bind:cond"/>
  129. <Cell col="1" text="bind:bizfilecommon"/>
  130. <Cell col="2" text="bind:bizfilereform"/>
  131. <Cell col="3" text="bind:bizfilemind"/>
  132. <Cell col="4" text="bind:bizfileorgantrans"/>
  133. <Cell col="5" text="bind:bizfilehospis"/>
  134. <Cell col="6" text="bind:sum"/>
  135. <Cell col="7" text="bind:bfsum"/>
  136. <Cell col="8" text="bind:bfcompare" expr="expr:parseInt(sum)-parseInt(bfsum)"/>
  137. </Band>
  138. </Format>
  139. </Formats>
  140. </Grid>
  141. <Shape id="line37" linetype="horizontal" class="line_6" position="absolute 0 768 1195 774" anchor="left right bottom"/>
  142. <Button id="btn_search0" taborder="5" text="초기화" class="btn4" position="absolute 1127 772 1195 794" anchor="right bottom" onclick="btn_search0_onclick"/>
  143. </Layout>
  144. </Layouts>
  145. <Objects>
  146. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  147. <ColumnInfo>
  148. <Column id="fromdd" type="STRING" size="256"/>
  149. <Column id="todd" type="STRING" size="256"/>
  150. <Column id="sumflag" type="STRING" size="256"/>
  151. <Column id="achivflag" type="STRING" size="256"/>
  152. <Column id="cdgrupid" type="STRING" size="256"/>
  153. <Column id="fromyy" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. <Rows>
  156. <Row>
  157. <Col id="fromdd"/>
  158. <Col id="todd"/>
  159. <Col id="sumflag">2</Col>
  160. <Col id="achivflag">A1</Col>
  161. <Col id="cdgrupid"/>
  162. <Col id="fromyy"/>
  163. </Row>
  164. </Rows>
  165. </Dataset>
  166. <Dataset id="ds_main_cnstinfo_cnstlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  167. <ColumnInfo>
  168. <Column id="cond" type="STRING" size="256" sumtext="구분"/>
  169. <Column id="bizfilecommon" type="STRING" size="256" sumtext="일반의료"/>
  170. <Column id="bizfilereform" type="STRING" size="256" sumtext="재활의료"/>
  171. <Column id="bizfilemind" type="STRING" size="256" sumtext="정신의료"/>
  172. <Column id="bizfileorgantrans" type="STRING" size="256" sumtext="장기이식"/>
  173. <Column id="bizfilehospis" type="STRING" size="256" sumtext="호스피스"/>
  174. <Column id="sum" type="STRING" size="256" sumtext="합계"/>
  175. <Column id="bfcompare" type="STRING" size="256"/>
  176. <Column id="bfsum" type="STRING" size="256"/>
  177. <Column id="befsum" type="STRING" size="256"/>
  178. <Column id="befcompare" type="STRING" size="256"/>
  179. </ColumnInfo>
  180. </Dataset>
  181. </Objects>
  182. <Bind>
  183. <BindItem id="item0" compid="group4.rdo_achivflag" propid="value" datasetid="ds_send_reqdata" columnid="achivflag"/>
  184. <BindItem id="item1" compid="group4.cmb_sumflaga1" propid="value" datasetid="ds_send_reqdata" columnid="sumflag"/>
  185. <BindItem id="item2" compid="group4.cmb_sumflaga2" propid="value" datasetid="ds_send_reqdata" columnid="sumflag"/>
  186. <BindItem id="item3" compid="group4.ipt_fromdd" propid="value" datasetid="ds_send_reqdata" columnid="fromdd"/>
  187. <BindItem id="item4" compid="group4.ipt_todd" propid="value" datasetid="ds_send_reqdata" columnid="todd"/>
  188. </Bind>
  189. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  190. * System Name :
  191. * Job Name :
  192. * Creator :
  193. * Make Date : 2016-05-24
  194. * Description :
  195. *---------------------------------------------------------------------------------------
  196. * Modify Date Modifier Modify Description
  197. *---------------------------------------------------------------------------------------
  198. * 2016-05-24 Live Converter TF->XP
  199. *
  200. *---------------------------------------------------------------------------------------
  201. ****************************************************************************************/
  202. include "com_commonxp::comm_main.xjs";
  203. function SMSDT01000_oninit(obj:Form, e:InitEventInfo)
  204. {
  205. frmf_initForm(obj);
  206. }
  207. function SMSDT01000_onload(obj:Form, e:LoadEventInfo)
  208. {
  209. grdf_initGrid(grd_cnst);
  210. fInit();
  211. }
  212. function fInit()
  213. {
  214. var currentDate = utlf_getCurrentDate();
  215. var LastDate = currentDate.toDate().getAddDate(-1,"M").getDateFormat();
  216. var LastDateYM = String(LastDate).substr(0,6);
  217. ds_send_reqdata.setColumn(0, "fromdd", LastDateYM );
  218. ds_send_reqdata.setColumn(0, "todd", LastDateYM );
  219. ds_main_cnstinfo_cnstlist.clearData();
  220. }
  221. function group4_rdo_achivflag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  222. {
  223. fAchivflagChagne();
  224. }
  225. function fAchivflagChagne()
  226. {
  227. if(group4.rdo_achivflag.value == 'A1')
  228. {
  229. ds_main_cnstinfo_cnstlist.clearData();
  230. group4.cmb_sumflaga1.visible = true;
  231. group4.cmb_sumflaga2.visible = false;
  232. group4.cmb_sumflaga1.value = 2;
  233. }
  234. else
  235. {
  236. ds_main_cnstinfo_cnstlist.clearData();
  237. group4.cmb_sumflaga1.visible = false;
  238. group4.cmb_sumflaga2.visible = true;
  239. group4.cmb_sumflaga2.value = 2;
  240. }
  241. }
  242. function group4_cmb_sumflaga2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  243. {
  244. fAllSearch();
  245. }
  246. function group4_cmb_sumflaga1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  247. {
  248. fAllSearch();
  249. }
  250. function fAllSearch()
  251. {
  252. ds_main_cnstinfo_cnstlist.clearData();
  253. var val = ds_send_reqdata.getColumn(0, "sumflag");
  254. switch(val)
  255. {
  256. case("2"):
  257. fDisableGrd(false);
  258. var fromyy = ds_send_reqdata.getColumn(0, "fromdd");
  259. ds_send_reqdata.setColumn(0, "fromyy", String(fromyy).substr(0,4));
  260. fPerMonthSearch();
  261. break;
  262. // 임상과
  263. case("3"):
  264. fDisableGrd(true);
  265. fClinicalSearch();
  266. break;
  267. // 의뢰유형별
  268. case("4"):
  269. fDisableGrd(true);
  270. fSetSendValue("A0205");
  271. fSearch();
  272. break;
  273. // 연령별
  274. case("5"):
  275. fDisableGrd(true);
  276. fSetSendValue("A0178");
  277. fSearch();
  278. break;
  279. // 직업별
  280. case("6"):
  281. fDisableGrd(true);
  282. fSetSendValue("M0068");
  283. fSearch();
  284. break;
  285. // 학력별
  286. case("7"):
  287. fDisableGrd(true);
  288. fSetSendValue("M0069");
  289. fSearch();
  290. break;
  291. }
  292. }
  293. function fPerMonthSearch()
  294. {
  295. if(!fDefaultCheck()) return;
  296. var oParam = {};
  297. oParam.id = "TRSDT01003";
  298. oParam.service = "stscmcnwapp.SoclEndStats";
  299. oParam.method = "reqGetPerMonthCnstInfo";
  300. oParam.inds = "req=ds_send_reqdata";
  301. oParam.outds = "ds_main_cnstinfo_cnstlist=cnstlist";
  302. oParam.async = false;
  303. oParam.callback = "cf_TRSDT01003";
  304. tranf_submit(oParam);
  305. }
  306. function cf_TRSDT01003(sSvcId, nErrorCode, sErrorMsg)
  307. {
  308. if(nErrorCode < 0)
  309. {
  310. sysf_messageBox("조회를", "E009");
  311. return;
  312. }
  313. else
  314. {
  315. if(ds_main_cnstinfo_cnstlist.rowcount <= 1)
  316. {
  317. ds_main_cnstinfo_cnstlist.clearData();
  318. return;
  319. }
  320. fGetPerMonthSum();
  321. }
  322. }
  323. function fClinicalSearch()
  324. {
  325. if(!fDefaultCheck()) return;
  326. var oParam = {};
  327. oParam.id = "TRSDT01002";
  328. oParam.service = "stscmcnwapp.SoclEndStats";
  329. oParam.method = "reqGetClinicCnstInfo";
  330. oParam.inds = "req=ds_send_reqdata";
  331. oParam.outds = "ds_main_cnstinfo_cnstlist=cnstlist";
  332. oParam.async = false;
  333. oParam.callback = "cf_TRSDT01002";
  334. tranf_submit(oParam);
  335. }
  336. function cf_TRSDT01002(sSvcId, nErrorCode, sErrorMsg)
  337. {
  338. if(nErrorCode < 0)
  339. {
  340. sysf_messageBox("조회를", "E009");
  341. return;
  342. }
  343. }
  344. function fGetPerMonthSum()
  345. {
  346. if(ds_main_cnstinfo_cnstlist.rowcount > 1)
  347. {
  348. var sStat = 0;
  349. var insRow = ds_main_cnstinfo_cnstlist.addRow();
  350. ds_main_cnstinfo_cnstlist.setColumn(insRow, "cond", "전기간대비실적비교");
  351. for(var i = 1; i < 7; i++)
  352. {
  353. var bfResult = eval(ds_main_cnstinfo_cnstlist.getColumn(insRow-1 , i));
  354. var sSum = eval(ds_main_cnstinfo_cnstlist.getColumn(insRow-2, i));
  355. sStat = eval(sSum)- eval(bfResult);
  356. ds_main_cnstinfo_cnstlist.setColumn(insRow, i, eval(sStat));
  357. }
  358. ds_main_cnstinfo_cnstlist.setColumn(insRow-1, "bfcompare", "");
  359. ds_main_cnstinfo_cnstlist.setColumn(insRow, "bfcompare", "");
  360. }
  361. }
  362. function fDefaultCheck()
  363. {
  364. var fromdd = ds_send_reqdata.getColumn(0, "fromdd") +"01";
  365. var todd = ds_send_reqdata.getColumn(0, "todd")+ "01";
  366. var dateintval = utlf_getDateInterval(fromdd,todd);
  367. if(utlf_isNull(fromdd) == true || utlf_isNull(todd) == true)
  368. {
  369. sysf_messageBox("조회기간을", "C001");
  370. group4.ipt_fromdd.setFocus();
  371. return false;
  372. }
  373. if( !utlf_isValidDateTime(fromdd, 'YYYYMMDD') || !utlf_isValidDateTime(todd, 'YYYYMMDD'))
  374. {
  375. sysf_messageBox("입력하신 일이 정확한 날짜타입이 아닙니다.", "E999", "");
  376. group4.ipt_fromdd.setFocus();
  377. ds_main_cnstinfo_cnstlist.clearData();
  378. return false;
  379. }
  380. if(fromdd>todd)
  381. {
  382. sysf_messageBox("조회시작일보다 큰 조회종료일을 입력하십시요.","I");
  383. group4.ipt_todd.setFocus();
  384. ds_main_cnstinfo_cnstlist.clearData();
  385. return false;
  386. }
  387. if(dateintval>=365)
  388. {
  389. ds_main_cnstinfo_cnstlist.clearData();
  390. sysf_messageBox("조회기간은 최대1년까지 할 수 있습니다.","I");
  391. group4.ipt_fromdd.setFocus();
  392. return false;
  393. }
  394. else
  395. {
  396. return true;
  397. }
  398. }
  399. function fSetSendValue(cdgrupid)
  400. {
  401. ds_send_reqdata.setColumn(0, "cdgrupid", cdgrupid);
  402. }
  403. function fDisableGrd(flag)
  404. {
  405. if(flag == true)
  406. {
  407. grd_cnst.setFormatColProperty(7, "size", 0);
  408. grd_cnst.setFormatColProperty(8, "size", 0);
  409. }
  410. else
  411. {
  412. grd_cnst.setFormatColProperty(7, "size", 120);
  413. grd_cnst.setFormatColProperty(8, "size", 128);
  414. }
  415. }
  416. function fSearch()
  417. {
  418. if(!fDefaultCheck()) return;
  419. var oParam = {};
  420. oParam.id = "TRSDT01001";
  421. oParam.service = "stscmcnwapp.SoclEndStats";
  422. oParam.method = "reqGetCnstInfo";
  423. oParam.inds = "req=ds_send_reqdata";
  424. oParam.outds = "ds_main_cnstinfo_cnstlist=cnstlist";
  425. oParam.async = false;
  426. oParam.callback = "cf_TRSDT01001";
  427. tranf_submit(oParam);
  428. }
  429. function cf_TRSDT01001(sSvcId, nErrorCode, sErrorMsg)
  430. {
  431. if(nErrorCode < 0)
  432. {
  433. sysf_messageBox("조회를", "E009");
  434. return;
  435. }
  436. }
  437. function group4_ipt_fromdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  438. {
  439. ds_send_reqdata.setColumn(0, "fromdd", String(obj.value).substr(0,6));
  440. }
  441. function group4_ipt_todd_onchanged(obj:Calendar, e:ChangeEventInfo)
  442. {
  443. ds_send_reqdata.setColumn(0, "todd", String(obj.value).substr(0,6));
  444. }
  445. function group4_button2_onclick(obj:Button, e:ClickEventInfo)
  446. {
  447. fAllSearch();
  448. }
  449. function btn_search0_onclick(obj:Button, e:ClickEventInfo)
  450. {
  451. fInit();
  452. }
  453. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  454. {
  455. fExcel();
  456. }
  457. function fExcel()
  458. {
  459. if (ds_main_cnstinfo_cnstlist.rowcount == 0)
  460. {
  461. sysf_messageBox("엑셀파일로 저장할 리스트 내역이", "I004");
  462. return;
  463. }
  464. grdf_exportExcel(grd_cnst, "사회사업접수상담환자실적", "SheetName", "true", "", "");
  465. }]]></Script>
  466. </Form>
  467. </FDL>