SMLPC01000_자문의뢰Case등록.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLPC01000" position="absolute 0 0 1256 805" titletext="자문의뢰Case 등록" onload="SMLPC01000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group3" position="absolute 0 24 1256 805" anchor="all" positiontype="position">
  8. <Layouts>
  9. <Layout>
  10. <Div id="grp_biz" position="absolute 0 0 1256 781" anchor="all" positiontype="position">
  11. <Layouts>
  12. <Layout>
  13. <Button id="btn_grdadd" class="btn2" position="absolute 1200 48 1256 68" anchor="top right" text="행삭제" positiontype="position" onclick="group3_grp_biz_btn_grdadd_onclick"/>
  14. <Static id="caption1" class="tit_2" position="absolute 0 51 142 71" anchor="default" text="자문의뢰Case 목록" positiontype="position"/>
  15. <Div id="grp_sea" position="absolute 0 4 1256 45" anchor="left top right" class="div_SA" positiontype="position">
  16. <Layouts>
  17. <Layout>
  18. <Shape id="line14" class="line_4" position="absolute 1108 6 1108 28" anchor="default" linetype="vertical" positiontype="position"/>
  19. <Static id="caption23" class="search_name" position="absolute 8 10 82 30" anchor="default" text="조회항목" positiontype="position"/>
  20. <Combo id="cmb_refitem" class="combo_search" position="absolute 82 10 252 30" anchor="default" innerdataset="@ds_fgcdlist" codecolumn="baseflagcd" datacolumn="baseflagnm" positiontype="position"/>
  21. <Button id="btn_sea" class="btn1" position="absolute 1188 10 1244 30" anchor="top right" text="조회" onclick="group3_grp_biz_grp_sea_btn_sea_onclick" positiontype="position"/>
  22. </Layout>
  23. </Layouts>
  24. </Div>
  25. <Button id="button1" class="btn2" position="absolute 1141 48 1197 68" anchor="top right" text="행추가" onclick="button1_onclick" positiontype="position"/>
  26. <Grid id="grd_cnstreqcaselist" position="absolute 0 71 1256 781" anchor="all" positiontype="position" binddataset="ds_grid_cnstreqcaselist" onenteredit="group3_grp_biz_grd_cnstreqcaselist_onenteredit" autoenter="select" autofittype="col">
  27. <Formats>
  28. <Format id="default">
  29. <Columns>
  30. <Column size="0"/>
  31. <Column size="30"/>
  32. <Column size="30"/>
  33. <Column size="170"/>
  34. <Column size="80"/>
  35. <Column size="80"/>
  36. <Column size="947"/>
  37. </Columns>
  38. <Rows>
  39. <Row size="22" band="head"/>
  40. <Row size="23"/>
  41. </Rows>
  42. <Band id="head">
  43. <Cell text="기관코드"/>
  44. <Cell col="1" text="No."/>
  45. <Cell col="2" text="상태"/>
  46. <Cell col="3" text="자문구분"/>
  47. <Cell col="4" text="코 드"/>
  48. <Cell col="5" text="사용여부"/>
  49. <Cell col="6" text="내 용"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell/>
  53. <Cell col="1" celltype="head" expr="expr:currow+1"/>
  54. <Cell col="2" displaytype="image" style="align:center;" expr="expr:getRowType(currow) == 2 ?'theme://images/ico_i.png' : (getRowType(currow) == 4 ? 'theme://images/ico_u.png' : (getRowType(currow) == 8 ? 'theme://images/ico_d.png' : 'theme://images/ico_e.png'))"/>
  55. <Cell col="3" displaytype="combo" edittype="expr:getRowType(currow) == 2 ? 'combo' : 'none'" style="align:left;" text="bind:baseflagcd" combodataset="ds_fgcdlistGrd" combocodecol="baseflagcd" combodatacol="baseflagnm"/>
  56. <Cell col="4" displaytype="text" edittype="expr:getRowType(currow) == 2 ? 'text' : 'none'" style="align:left;" text="bind:resncd"/>
  57. <Cell col="5" displaytype="combo" edittype="combo" style="align:left;" text="bind:delflagcd" combodataset="ds_delflagcd" combocodecol="value" combodatacol="label"/>
  58. <Cell col="6" displaytype="text" edittype="text" style="align:left;" text="bind:resncnts" editlimit="150"/>
  59. </Band>
  60. </Format>
  61. </Formats>
  62. </Grid>
  63. </Layout>
  64. </Layouts>
  65. </Div>
  66. </Layout>
  67. </Layouts>
  68. </Div>
  69. <Button id="button11" taborder="1" text="저장" onclick="button11_onclick" class="btn4" position="absolute 1200 0 1256 20" anchor="top right"/>
  70. <Static id="caption6" text="자문의뢰Case 등록" class="tit_1" position="absolute 0 3 144 28"/>
  71. </Layout>
  72. </Layouts>
  73. <Objects>
  74. <Dataset id="ds_fgcdlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  75. <ColumnInfo>
  76. <Column id="baseflagcd" type="STRING" size="256"/>
  77. <Column id="baseflagnm" type="STRING" size="256"/>
  78. </ColumnInfo>
  79. </Dataset>
  80. <Dataset id="ds_grid_cnstreqcaselist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  81. <ColumnInfo>
  82. <Column id="instcd" type="STRING" size="256"/>
  83. <Column id="baseflagcd" type="STRING" size="256"/>
  84. <Column id="resncd" type="STRING" size="256"/>
  85. <Column id="delflagcd" type="STRING" size="256"/>
  86. <Column id="resncnts" type="STRING" size="256"/>
  87. </ColumnInfo>
  88. </Dataset>
  89. <Dataset id="ds_fgcdlistGrd" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="baseflagcd" type="STRING" size="256"/>
  92. <Column id="baseflagnm" type="STRING" size="256"/>
  93. </ColumnInfo>
  94. </Dataset>
  95. <Dataset id="ds_delflagcd" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  96. <ColumnInfo>
  97. <Column id="label" type="STRING" size="256"/>
  98. <Column id="value" type="STRING" size="256"/>
  99. </ColumnInfo>
  100. <Rows>
  101. <Row>
  102. <Col id="label">사용</Col>
  103. <Col id="value">0</Col>
  104. </Row>
  105. <Row>
  106. <Col id="label">미사용</Col>
  107. <Col id="value">1</Col>
  108. </Row>
  109. </Rows>
  110. </Dataset>
  111. </Objects>
  112. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  113. * System Name : KU2.0
  114. * Job Name :
  115. * File Name : SMLPC01000_자문의뢰Case등록.xfdl
  116. * Creator :
  117. * Make Date : 2015-12-10
  118. *
  119. * Description :
  120. *---------------------------------------------------------------------------------------
  121. * Modify Date Modifier Modify Description
  122. *---------------------------------------------------------------------------------------
  123. *
  124. *---------------------------------------------------------------------------------------
  125. ****************************************************************************************/
  126. //=======================================================================================
  127. // Lib Include
  128. //---------------------------------------------------------------------------------------
  129. include "com_commonxp::comm_main.xjs";
  130. var instcd = sysf_getUserInfo("dutplceinstcd"); // 병원코드
  131. var cnstreqcase = "J"; // 기초구분코드(자문의뢰Case='J%')
  132. //=======================================================================================
  133. // Function
  134. //---------------------------------------------------------------------------------------
  135. /****************************************************************************************
  136. * Components :
  137. * Components ID : model1
  138. * Event : oninit
  139. * Argument : 01.obj : Object Event has occurred
  140. * : 02.e : Event Object
  141. * Description :
  142. ****************************************************************************************/
  143. function SMLPC01000_onload(obj:Form, e:LoadEventInfo)
  144. {
  145. //폼 초기화 함수
  146. frmf_initForm(obj);
  147. // 자문구분 목록 조회
  148. dsf_createDsRow("ds_send"
  149. , [{col: "instcd", val: instcd}
  150. , {col: "baseflagcd", val: cnstreqcase}
  151. ]);
  152. var oParam = {};
  153. oParam.id = "TRLPC01001";
  154. oParam.service = "plgybaseinfomngtapp.CnstReqCase";
  155. oParam.method = "reqGetCnstReqCaseCode";
  156. oParam.inds = "refData=ds_send";
  157. oParam.outds = "ds_fgcdlist=reflist";
  158. oParam.async = false;
  159. oParam.callback = "cbf_SMLPC01000";
  160. tranf_submit(oParam);
  161. lf_getRefData();
  162. if(ds_grid_cnstreqcaselist.rowcount == 0) {
  163. var addRw = ds_grid_cnstreqcaselist.addRow();
  164. ds_grid_cnstreqcaselist.setColumn(addRw, "instcd", instcd); //기관코드
  165. }
  166. }
  167. /****************************************************************************************
  168. * Components :
  169. * Components ID : btn_search
  170. * Event : onlbuttonup
  171. * Argument : 01.instcd : 병원코드
  172. * : 02.baseflagcd : 기초구분코드(자문의뢰Case='J%')
  173. * : 03.refval : 조회항목
  174. * Description : 자문설정 Data 조회
  175. ****************************************************************************************/
  176. function lf_getRefData(){
  177. var refval = group3.grp_biz.grp_sea.cmb_refitem.value; // 조회항목
  178. dsf_createDsRow("ds_send"
  179. , [{col: "instcd", val: instcd}
  180. , {col: "baseflagcd", val: cnstreqcase}
  181. , {col: "refval", val: refval}
  182. ]);
  183. // 서브밋호출
  184. var oParam = {};
  185. oParam.id = "TRLPC01002";
  186. oParam.service = "plgybaseinfomngtapp.CnstReqCase";
  187. oParam.method = "reqGetCnstReqCaseList";
  188. oParam.inds = "refData=ds_send";
  189. oParam.outds = "ds_grid_cnstreqcaselist=rsltlist";
  190. oParam.async = false;
  191. oParam.callback = "cbf_SMLPC01000";
  192. tranf_submit(oParam);
  193. }
  194. /****************************************************************************************
  195. * Components :
  196. * Components ID : fGetAddRow
  197. * Event : onlbuttonup
  198. * Argument :
  199. * Description : 조회내역 행추가 함수
  200. ****************************************************************************************/
  201. function lf_getAddRow(){
  202. var addRw = ds_grid_cnstreqcaselist.addRow();
  203. ds_grid_cnstreqcaselist.setColumn(addRw, "instcd", instcd); //기관코드
  204. group3.grp_biz.grd_cnstreqcaselist.setFocus();
  205. ds_grid_cnstreqcaselist.rowposition= ds_grid_cnstreqcaselist.rowcount-1;
  206. var nCellIdx=group3.grp_biz.grd_cnstreqcaselist.getBindCellIndex("body","baseflagcd");
  207. group3.grp_biz.grd_cnstreqcaselist.setCellPos(nCellIdx);
  208. group3.grp_biz.grd_cnstreqcaselist.showEditor(true);
  209. }
  210. /****************************************************************************************
  211. * Components :
  212. * Components ID : fGetAddRow
  213. * Event : onlbuttonup
  214. * Argument :
  215. * Description : 조회내역 행삭제 함수
  216. ****************************************************************************************/
  217. function lf_getDelRow(){
  218. var curRow = ds_grid_cnstreqcaselist.rowposition;
  219. // var curCol = grd_cnstreqcaselist.col;
  220. var vStatus = ds_grid_cnstreqcaselist.getRowType(ds_grid_cnstreqcaselist.rowposition);
  221. // var strNode = "/root/main/cnstreqcasecnts/cnstreqcaselist";
  222. var vDelFlagCd = "";
  223. // Insert 상태일 경우
  224. if(vStatus == 2) {
  225. ds_grid_cnstreqcaselist.deleteRow(curRow);
  226. }else {
  227. vDelFlagCd = ds_grid_cnstreqcaselist.getColumn(curRow, "delflagcd"); // 사용여부
  228. if(vDelFlagCd == "0") {
  229. ds_grid_cnstreqcaselist.updatecontrol = false;
  230. ds_grid_cnstreqcaselist.setRowType(curRow, 4); // Update
  231. ds_grid_cnstreqcaselist.updatecontrol = true;
  232. }
  233. else {
  234. ds_grid_cnstreqcaselist.updatecontrol = false;
  235. ds_grid_cnstreqcaselist.setRowType(curRow, 8); // Update
  236. ds_grid_cnstreqcaselist.updatecontrol = true;
  237. }
  238. }
  239. }
  240. /****************************************************************************************
  241. * Components :
  242. * Components ID : fExeEqmtSave
  243. * Event : onlbuttonup
  244. * Argument :
  245. * Description : 저장
  246. ****************************************************************************************/
  247. function lf_setUpdtData() {
  248. for(var i=0; i<ds_grid_cnstreqcaselist.rowcount; i++){
  249. var vBaseFlagCd = ds_grid_cnstreqcaselist.getColumn(i, "baseflagcd");
  250. var vResnCd = ds_grid_cnstreqcaselist.getColumn(i, "resncd");
  251. var vDelFlagCd = ds_grid_cnstreqcaselist.getColumn(i, "delflagcd");
  252. var vResnCnts = ds_grid_cnstreqcaselist.getColumn(i, "resncnts");
  253. if( utlf_isNull(vBaseFlagCd)) {
  254. sysf_messageBox("자문구분을", "C002");
  255. return;
  256. }
  257. if( utlf_isNull(vResnCd)) {
  258. sysf_messageBox("코드를", "C001");
  259. return;
  260. }
  261. if( utlf_isNull(vDelFlagCd)) {
  262. sysf_messageBox("사용여부를", "C002");
  263. return;
  264. }
  265. if( utlf_isNull(vResnCnts)) {
  266. sysf_messageBox("내용을", "C001");
  267. return;
  268. }
  269. }
  270. //-------------------------------------------
  271. // 서브밋호출
  272. var oParam = {};
  273. oParam.id = "TXLPC01001";
  274. oParam.service = "plgybaseinfomngtapp.CnstReqCase";
  275. oParam.method = "reqSetCnstReqCaseInfo";
  276. oParam.inds = "refData=ds_grid_cnstreqcaselist:U";
  277. oParam.async = false;
  278. oParam.callback = "cbf_SMLPC01000";
  279. oParam.typeStr = "m"
  280. tranf_submit(oParam);
  281. }
  282. // callback 함수
  283. function cbf_SMLPC01000(strSvcID, nErrorCode, strErrorMag){
  284. if(nErrorCode != 0) {
  285. if(strSvcID=="TXLPC01001") {
  286. sysf_messageBox("자문의뢰Case 처리가 ", "E009");
  287. lf_getRefData();
  288. }else{
  289. sysf_messageBox("ID: "+ strSvcID + " Error: " + strErrorMag, "E009", "");
  290. }
  291. }else{
  292. switch(strSvcID){
  293. case "TRLPC01001":
  294. grdf_setGridSort(group3.grp_biz.grd_cnstreqcaselist);
  295. // 조회항목에 추가
  296. //var iMaxRow = parseInt(ds_fgcdlist.rowcount)+1;
  297. var iMaxRow = ds_fgcdlist.addRow();
  298. ds_fgcdlist.setColumn(iMaxRow, "baseflagcd", "GG");
  299. ds_fgcdlist.setColumn(iMaxRow, "baseflagnm", "전체");
  300. group3.grp_biz.grp_sea.cmb_refitem.value = "GG";
  301. // Grid용 combo Set
  302. ds_fgcdlistGrd.copyData(ds_fgcdlist);
  303. ds_fgcdlistGrd.deleteRow(iMaxRow);
  304. break;
  305. case "TRLPC01002":
  306. break;
  307. case "TXLPC01001":
  308. sysf_messageBox("자문의뢰Case 처리가", "I002");
  309. lf_getRefData();
  310. break;
  311. default:
  312. break;
  313. }
  314. }
  315. }
  316. //중복체크
  317. function lf_checkReqCode(sBaseFlagCode,sResnCode){
  318. var sBaseFlagCd ="";
  319. var sResnCd="";
  320. for(var i=0; i < ds_grid_cnstreqcaselist.rowcount; i++){
  321. sBaseFlagCd = ds_grid_cnstreqcaselist.getColumn(i,"baseflagcd");
  322. sResnCd = ds_grid_cnstreqcaselist.getColumn(i,"resncd");
  323. if(ds_grid_cnstreqcaselist.getRowType(i) != Dataset.ROWTYPE_INSERT){
  324. if(sBaseFlagCd == sBaseFlagCode && sResnCd == sResnCode ){
  325. sysf_messageBox("자문의뢰코드가 존재합니다.확인해주세요.","I","");
  326. return false;
  327. }
  328. }
  329. }
  330. return true;
  331. }
  332. //=======================================================================================
  333. // Event
  334. //---------------------------------------------------------------------------------------
  335. /****************************************************************************************
  336. * Components :
  337. * Components ID : btn_sea
  338. * Event : onclick
  339. * Argument : 01.obj : Object Event has occurred
  340. * : 02.e : Event Object
  341. * Description : 조회버튼클릭
  342. ****************************************************************************************/
  343. function group3_grp_biz_grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  344. {
  345. ds_grid_cnstreqcaselist.clearData();
  346. lf_getRefData();
  347. }
  348. /****************************************************************************************
  349. * Components :
  350. * Components ID : button1
  351. * Event : onclick
  352. * Argument : 01.obj : Object Event has occurred
  353. * : 02.e : Event Object
  354. * Description : 행추가 버튼 클릭
  355. ****************************************************************************************/
  356. function button1_onclick(obj:Button, e:ClickEventInfo)
  357. {
  358. lf_getAddRow();
  359. }
  360. /****************************************************************************************
  361. * Components :
  362. * Components ID : btn_grdadd
  363. * Event : onclick
  364. * Argument : 01.obj : Object Event has occurred
  365. * : 02.e : Event Object
  366. * Description : 행삭제
  367. ****************************************************************************************/
  368. function group3_grp_biz_btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  369. {
  370. lf_getDelRow();
  371. }
  372. /****************************************************************************************
  373. * Components :
  374. * Components ID : button11
  375. * Event : onclick
  376. * Argument : 01.obj : Object Event has occurred
  377. * : 02.e : Event Object
  378. * Description : 저장버튼 클릭
  379. ****************************************************************************************/
  380. function button11_onclick(obj:Button, e:ClickEventInfo)
  381. {
  382. lf_setUpdtData();
  383. }
  384. ]]></Script>
  385. </Form>
  386. </FDL>