SPMMO09700_임신부관리.xfdl 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO09700" position="absolute 0 0 390 361" titletext="임신부정보" oninit="SPMMO09700_oninit" onload="SPMMO09700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 209 365 349" id="group_list">
  8. <Layouts>
  9. <Layout>
  10. <Static text="임신부 등록 리스트" position="absolute 0 1 134 20" id="caption24" class="tit_2" anchor="default"/>
  11. <CheckBox position="absolute 240 2 365 20" id="checkbox2" anchor="default" text="삭제/변경포함 조회" truevalue="ALL" onchanged="group_list_checkbox2_onchanged" onclick="group_list_checkbox2_onclick"/>
  12. <Grid position="absolute 0 25 365 138" id="grd_exptpatlist" scrollbars="autoboth" binddataset="ds_grd_exptpatlist" anchor="default" oncelldblclick="group_list_grd_exptpatlist_oncelldblclick" autofittype="col">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="0"/>
  17. <Column size="80"/>
  18. <Column size="0"/>
  19. <Column size="30"/>
  20. <Column size="30"/>
  21. <Column size="80"/>
  22. <Column size="80"/>
  23. <Column size="0"/>
  24. <Column size="47"/>
  25. </Columns>
  26. <Rows>
  27. <Row size="24" band="head"/>
  28. <Row size="24"/>
  29. </Rows>
  30. <Band id="head">
  31. <Cell text="기관코드"/>
  32. <Cell col="1" text="등록일자"/>
  33. <Cell col="2" text="번호"/>
  34. <Cell col="3" text="번호"/>
  35. <Cell col="4" text="이력"/>
  36. <Cell col="5" text="시작일"/>
  37. <Cell col="6" text="종료일"/>
  38. <Cell col="7" text="참고사항"/>
  39. <Cell col="8" text="상태"/>
  40. </Band>
  41. <Band id="body">
  42. <Cell text="bind:instcd"/>
  43. <Cell col="1" displaytype="normal" edittype="none" text="bind:genrdd" mask="####-##-##"/>
  44. <Cell col="2" text="bind:genrno"/>
  45. <Cell col="3" text="bind:genrno"/>
  46. <Cell col="4" text="bind:histno"/>
  47. <Cell col="5" displaytype="normal" text="bind:fromdd" mask="####-##-##"/>
  48. <Cell col="6" displaytype="normal" text="bind:todd" mask="####-##-##"/>
  49. <Cell col="7" text="bind:rmk"/>
  50. <Cell col="8" text="bind:histnm"/>
  51. </Band>
  52. </Format>
  53. </Formats>
  54. </Grid>
  55. </Layout>
  56. </Layouts>
  57. </Div>
  58. <Div position="absolute 0 5 365 184" id="group_info">
  59. <Layouts>
  60. <Layout>
  61. <Static text="임신부 정보" position="absolute 0 0 106 14" id="caption12" class="tit_2" anchor="default"/>
  62. <Static text="등록번호" position="absolute 0 20 80 43" align="align:center middle;" id="caption15" class="cell_1" anchor="default"/>
  63. <Edit position="absolute 82 21 180 40" id="out_pid" anchor="default" readonly="true" class="output"/>
  64. <Static text="환자명" position="absolute 185 20 265 43" align="align:center middle;" id="caption2" class="cell_1" anchor="default"/>
  65. <Edit position="absolute 267 21 365 40" id="opt_unitcd" anchor="default" readonly="true" class="output"/>
  66. <Static text="시작일" position="absolute 0 68 80 91" align="align:center middle;" id="caption9" class="cell_1" anchor="default"/>
  67. <Calendar position="absolute 82 70 180 89" id="ipt_fromdd" class="input_default" enable="true" anchor="default"/>
  68. <Static text="종료일" position="absolute 185 68 265 91" align="align:center middle;" id="caption6" class="cell_1" anchor="default"/>
  69. <Calendar position="absolute 267 70 365 89" id="ipt_todd" class="input_default" enable="true" anchor="default"/>
  70. <Static text="등록정보" position="absolute 0 128 80 151" align="align:center middle;" id="caption5" class="cell_1" anchor="default"/>
  71. <Edit readonly="true" position="absolute 82 130 365 149" id="output3" anchor="default" class="output"/>
  72. <Static text="수정정보" position="absolute 0 152 80 175" align="align:center middle;" id="caption7" class="cell_1" anchor="default"/>
  73. <Edit readonly="true" position="absolute 82 154 365 173" id="output5" anchor="default" class="output"/>
  74. <Static text="참고사항" position="absolute 0 92 80 127" align="align:center middle;" id="caption21" class="cell_1" anchor="default"/>
  75. <TextArea position="absolute 82 92 365 127" id="textarea2" enable="true" anchor="default"/>
  76. <Static id="cap_duedate" text="출산예정일" class="cell_1" position="absolute 0 44 80 67"/>
  77. <Calendar id="ipt_duedate" taborder="1" class="input_default" position="absolute 82 46 180 65" onchanged="group_info_ipt_duedate_onchanged"/>
  78. <Static id="caption01" text="상태" class="cell_1" position="absolute 185 44 265 67" onclick="group_info_caption01_onclick"/>
  79. <Edit id="opt_histnm" taborder="2" readonly="true" position="absolute 267 45 365 64" class="output"/>
  80. </Layout>
  81. </Layouts>
  82. </Div>
  83. <Button position="absolute 108 184 188 206" id="button3" class="btn4" text="신규작성" onclick="button3_onclick"/>
  84. <Button position="absolute 249 184 305 206" id="button2" class="btn4" text="저장" onclick="button2_onclick"/>
  85. <Button position="absolute 192 184 248 206" id="button4" class="btn4" text="삭제" onclick="button4_onclick"/>
  86. <Button position="absolute 309 184 365 206" id="button5" class="btn4" text="닫기" onclick="button5_onclick"/>
  87. </Layout>
  88. </Layouts>
  89. <Objects>
  90. <Dataset id="ds_grd_exptpatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="instcd" type="STRING"/>
  93. <Column id="genrdd" type="STRING"/>
  94. <Column id="genrno" type="STRING"/>
  95. <Column id="histno" type="STRING"/>
  96. <Column id="fromdd" type="STRING"/>
  97. <Column id="todd" type="STRING"/>
  98. <Column id="rmk" type="STRING"/>
  99. <Column id="histnm" type="STRING"/>
  100. </ColumnInfo>
  101. </Dataset>
  102. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  103. <ColumnInfo>
  104. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  105. <Column id="excpcls" type="STRING" size="256" sumtext="예외구분"/>
  106. <Column id="srchflag" type="STRING" size="256" sumtext="조회구분(삭제포함)"/>
  107. <Column id="genrdd" type="STRING" size="256" sumtext="조회구분(삭제포함)"/>
  108. <Column id="genrno" type="STRING" size="256" sumtext="조회구분(삭제포함)"/>
  109. <Column id="histno" type="STRING" size="256" sumtext="조회구분(삭제포함)"/>
  110. </ColumnInfo>
  111. <Rows>
  112. <Row/>
  113. </Rows>
  114. </Dataset>
  115. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  116. <Dataset id="ds_main_info_exptpatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  117. <ColumnInfo>
  118. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자"/>
  119. <Column id="genrno" type="STRING" size="256" sumtext="발생번호"/>
  120. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  121. <Column id="excpcls" type="STRING" size="256" sumtext="예외구분"/>
  122. <Column id="deptcd" type="STRING" size="256" sumtext="적용대상부서"/>
  123. <Column id="deptnm" type="STRING" size="256" sumtext="적용대상부서명"/>
  124. <Column id="userid" type="STRING" size="256" sumtext="적용대상아이디"/>
  125. <Column id="usernm" type="STRING" size="256" sumtext="적용대상아이명"/>
  126. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  127. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  128. <Column id="fromdd" type="STRING" size="256" sumtext="시작일"/>
  129. <Column id="todd" type="STRING" size="256" sumtext="종료일"/>
  130. <Column id="histcd" type="STRING" size="256" sumtext="상태코드"/>
  131. <Column id="histnm" type="STRING" size="256" sumtext="상태명"/>
  132. <Column id="histno" type="STRING" size="256" sumtext="이력번호"/>
  133. <Column id="excpcd" type="STRING" size="256" sumtext="예외코드"/>
  134. <Column id="excptext" type="STRING" size="256" sumtext="예외상세내용"/>
  135. <Column id="fstrgstrdeptnm" type="STRING" size="256" sumtext="등록부서"/>
  136. <Column id="fstrgstrid" type="STRING" size="256" sumtext="등록자"/>
  137. <Column id="fstrgstrusernm" type="STRING" size="256" sumtext="등록자"/>
  138. <Column id="fstrgstdt" type="STRING" size="256" sumtext="등록일"/>
  139. <Column id="fstrgstinfo" type="STRING" size="256" sumtext="등록정보"/>
  140. <Column id="lastupdtrdeptnm" type="STRING" size="256" sumtext="수정부서"/>
  141. <Column id="lastupdtrid" type="STRING" size="256" sumtext="수정자"/>
  142. <Column id="lastupdtrusernm" type="STRING" size="256" sumtext="수정자"/>
  143. <Column id="lastupdtdt" type="STRING" size="256" sumtext="수정일"/>
  144. <Column id="lastupdtinfo" type="STRING" size="256" sumtext="수정정보"/>
  145. <Column id="duedate" type="STRING" size="256" sumtext="예정일"/>
  146. <Column id="status" type="STRING" size="256" sumtext="작업구분"/>
  147. </ColumnInfo>
  148. </Dataset>
  149. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  150. </Objects>
  151. <Bind>
  152. <BindItem id="item0" compid="group_info.out_pid" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="pid"/>
  153. <BindItem id="item1" compid="group_info.opt_unitcd" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="hngnm"/>
  154. <BindItem id="item2" compid="group_info.opt_histnm" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="histnm"/>
  155. <BindItem id="item3" compid="group_info.ipt_fromdd" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="fromdd"/>
  156. <BindItem id="item4" compid="group_info.ipt_todd" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="todd"/>
  157. <BindItem id="item5" compid="group_info.textarea2" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="excptext"/>
  158. <BindItem id="item6" compid="group_info.ipt_duedate" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="duedate"/>
  159. <BindItem id="item7" compid="group_info.output3" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="fstrgstinfo"/>
  160. <BindItem id="item8" compid="group_info.output5" propid="value" datasetid="ds_main_info_exptpatinfo" columnid="lastupdtinfo"/>
  161. <BindItem id="item9" compid="group_list.checkbox2" propid="value" datasetid="ds_main_cond" columnid="srchflag"/>
  162. </Bind>
  163. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  164. * System Name :
  165. * Job Name :
  166. * Creator :
  167. * Make Date : 2015-05-01
  168. * Description :
  169. *---------------------------------------------------------------------------------------
  170. * Modify Date Modifier Modify Description
  171. *---------------------------------------------------------------------------------------
  172. * 2015-05-01 Live Converter TF->XP
  173. *
  174. *---------------------------------------------------------------------------------------
  175. ****************************************************************************************/
  176. include "com_commonxp::comm_main.xjs";
  177. include "emr_prcpmngtxp::MMO001.xjs";
  178. function SPMMO09700_oninit(obj:Form, e:InitEventInfo)
  179. {
  180. frmf_initForm(obj);
  181. }
  182. function SPMMO09700_onload(obj:Form, e:LoadEventInfo)
  183. {
  184. grdf_initGrid(group_list.grd_exptpatlist);
  185. fInitialize();
  186. }
  187. function fInitialize(){
  188. var arrParam = [{dsNm: "ds_init_combo18", cdGrpId: "M0627"}
  189. // ,{dsNm: "ds_P0096", cdGrpId: "P0096"}
  190. ]
  191. appf_getCodeList(arrParam);
  192. var sPid = appf_getPatientInfo("pid");
  193. if(utlf_isNull(sPid) ) {
  194. sysf_messageBox ( "선택된 환자 정보가 없습니다." , "E" );
  195. close();
  196. return;
  197. }
  198. ds_main_cond.setColumn(0,"pid", sPid);
  199. ds_main_cond.setColumn(0,"excpcls", "007");
  200. ds_main_cond.setColumn(0,"srchflag", "");
  201. fSearch(); // 임신부 리스트 조회
  202. fSelectExptPatInfo(); // 임신부 정보 조회
  203. }
  204. function fSearch(){
  205. ds_send_reqdata.copyData(ds_main_cond);
  206. var oParam = {};
  207. oParam.id = "TRMMO09502";
  208. oParam.service = "prcpmngtapp.ConcPatMngt";
  209. oParam.method = "reqGetExptPatList";
  210. oParam.inds = "req=ds_send_reqdata";
  211. oParam.outds = "ds_grd_exptpatlist=exptpatlist";
  212. oParam.async = false;
  213. oParam.callback = "cf_TRMMO09502";
  214. tranf_submit(oParam);
  215. }
  216. function cf_TRMMO09502(sSvcId, nErrorCode, sErrorMsg) {
  217. if(nErrorCode < 0) return;
  218. }
  219. /**
  220. * @desc : 예외환자정보 선택 - 상세 정보를 보여줌, 수정할 수 있도록 처리함
  221. * @
  222. * @param :
  223. * @return :
  224. * @---------------------------------------------------
  225. */
  226. function fSelectExptPatInfo(){
  227. ds_main_info_exptpatinfo.clearData();
  228. ds_main_info_exptpatinfo.addRow();
  229. var currow = ds_grd_exptpatlist.rowposition;
  230. if(currow >= 0) {
  231. ds_main_cond.setColumn(0,"genrdd", ds_grd_exptpatlist.getColumn(currow,"genrdd"));
  232. ds_main_cond.setColumn(0,"genrno", ds_grd_exptpatlist.getColumn(currow,"genrno"));
  233. ds_main_cond.setColumn(0,"histno", ds_grd_exptpatlist.getColumn(currow,"histno"));
  234. } else {
  235. ds_main_cond.setColumn(0,"genrdd", "");
  236. ds_main_cond.setColumn(0,"genrno", "0");
  237. ds_main_cond.setColumn(0,"histno", "0");
  238. }
  239. ds_send_reqdata.copyData(ds_main_cond);
  240. var oParam = {};
  241. oParam.id = "TRMMO09702";
  242. oParam.service = "prcpmngtapp.ConcPatMngt";
  243. oParam.method = "reqGetExptPatInfo";
  244. oParam.inds = "req=ds_send_reqdata";
  245. oParam.outds = "ds_main_info_exptpatinfo=exptpatinfo";
  246. oParam.async = false;
  247. oParam.callback = "cf_TRMMO09502";
  248. tranf_submit(oParam);
  249. }
  250. function cf_TRMMO09502(sSvcId, nErrorCode, sErrorMsg) {
  251. if(nErrorCode < 0) return;
  252. }
  253. function group_list_grd_exptpatlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  254. {
  255. if(e.row>-1){
  256. fSelectExptPatInfo();
  257. }
  258. }
  259. function button5_onclick(obj:Button, e:ClickEventInfo)
  260. {
  261. close();
  262. }
  263. function button2_onclick(obj:Button, e:ClickEventInfo)
  264. {
  265. var sHistCd = ds_main_info_exptpatinfo.getColumn(0,"histcd");
  266. if(sHistCd != "O") {sysf_messageBox("변경 또는 삭제 상태의 정보는 수정 할 수 없습니다.", "C999"); return; }
  267. var sStatus = ds_main_info_exptpatinfo.getColumn(0,"status");
  268. if(sStatus == "I"){ // 인서트
  269. if( "6" != sysf_messageBox("", "Q002")) { return; }
  270. } else if (sStatus == "U") {
  271. if( "6" != sysf_messageBox("", "Q012")) { return; }
  272. }
  273. fSaveExptPatInfo();
  274. }
  275. /**
  276. * @desc : 예외환자정보 저장
  277. * @
  278. * @param :
  279. * @return :
  280. * @---------------------------------------------------
  281. */
  282. function fSaveExptPatInfo(){
  283. var sStatus = ds_main_info_exptpatinfo.getColumn(0,"status");
  284. if(sStatus != "I" && sStatus != "U" && sStatus != "D") {sysf_messageBox("처리할수 없는 작업 입니다. \n\n신규 작성 하시려면 신규작성 버튼 클릭후 저장 하세요.", "C999"); return; }
  285. var sPid = ds_main_info_exptpatinfo.getColumn(0,"pid");
  286. if(sPid == ""){sysf_messageBox("등록번호를", "C001"); return;}
  287. var sSex = ds_main_info_exptpatinfo.getColumn(0,"sex");
  288. if(sSex == "M"){sysf_messageBox("남자는 임신부 등록이 불가능 합니다.", "E999"); return;}
  289. var jobkindcd = sysf_getUserInfo("jobkindcd"); //20170109 엄영만 직종코드가 의사가 아니면 저장 불가 처리
  290. var dutplcecd = sysf_getUserInfo("dutplcecd"); //20170822 엄영만 등록가능 부서 사용자가 아니면 저장 불가 처리
  291. if ( !lf_ContainsHardCD("69", jobkindcd) && !lf_ContainsHardCD("589", dutplcecd)) {
  292. sysf_messageBox("의사직종 또는 임신부 등록 가능 부서의 사용자가 아니므로 저장 할 수 없습니다.", "E999");
  293. return;
  294. }
  295. var excpcls = ds_main_info_exptpatinfo.getColumn(0,"excpcls");
  296. if(utlf_isNull(excpcls)){
  297. ds_main_cond.setColumn(0,"excpcls", "007"); // 임신부 분류
  298. }
  299. ds_send_savedata.copyData(ds_main_info_exptpatinfo);
  300. var oParam = {};
  301. oParam.id = "TXMMO09501";
  302. oParam.service = "prcpmngtapp.ConcPatMngt";
  303. oParam.method = "reqExeSaveExptPatInfo";
  304. oParam.inds = "req=ds_send_savedata";
  305. oParam.outds = "ds_grd_exptpatlist=exptpatlist";
  306. oParam.async = false;
  307. oParam.callback = "cf_TXMMO09501";
  308. tranf_submit(oParam);
  309. }
  310. function cf_TXMMO09501(sSvcId, nErrorCode, sErrorMsg) {
  311. if(nErrorCode < 0) return;
  312. var rsltnode = ds_grd_exptpatlist.rowcount;
  313. if(rsltnode > -1){
  314. ds_main_cond.setColumn(0,"srchflag", "");
  315. ds_grd_exptpatlist.rowposition = 0;
  316. fSelectExptPatInfo();
  317. }
  318. }
  319. function button4_onclick(obj:Button, e:ClickEventInfo)
  320. {
  321. var sHistCd = ds_main_info_exptpatinfo.getColumn(0,"histcd");
  322. if(sHistCd != "O") {sysf_messageBox("변경 또는 삭제 상태의 정보는 수정 할 수 없습니다.", "C999"); return; }
  323. var sGenrNo = ds_main_info_exptpatinfo.getColumn(0,"genrno");
  324. if(sGenrNo == ""){
  325. sysf_messageBox("삭제할 정보가 선택 되지 않았습니다.", "I999");
  326. } else {
  327. if( "6" == sysf_messageBox("", "Q001")) {
  328. ds_main_info_exptpatinfo.setColumn(0,"status","D"); // 삭제
  329. ds_main_info_exptpatinfo.setColumn(0,"histcd","D"); // 삭제
  330. fSaveExptPatInfo();
  331. }
  332. }
  333. }
  334. function button3_onclick(obj:Button, e:ClickEventInfo)
  335. {
  336. ds_main_info_exptpatinfo.clearData();
  337. ds_main_info_exptpatinfo.addRow();
  338. ds_main_cond.setColumn(0,"genrdd", "");
  339. ds_main_cond.setColumn(0,"genrno", "0");
  340. ds_main_cond.setColumn(0,"histno", "0");
  341. ds_send_reqdata.copyData(ds_main_cond);
  342. var oParam = {};
  343. oParam.id = "TRMMO09702";
  344. oParam.service = "prcpmngtapp.ConcPatMngt";
  345. oParam.method = "reqGetExptPatInfo";
  346. oParam.inds = "req=ds_send_reqdata";
  347. oParam.outds = "ds_main_info_exptpatinfo=exptpatinfo";
  348. oParam.async = false;
  349. oParam.callback = "cf_TRMMO09502";
  350. tranf_submit(oParam);
  351. }
  352. function group_list_checkbox2_onclick(obj:CheckBox, e:ClickEventInfo)
  353. {
  354. fSearch();
  355. }
  356. function group_info_ipt_duedate_onchanged(obj:Calendar, e:ChangeEventInfo)
  357. {
  358. var sTodd = obj.value.getAddDate(14, "D").getDateFormat("YYYYMMDD");
  359. ds_main_info_exptpatinfo.setColumn(0,"todd", sTodd);
  360. }
  361. ]]></Script>
  362. </Form>
  363. </FDL>