123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SMPMI00101" position="absolute 0 0 324 200" titletext="입실퇴실관리" style="align:center middle;" onload="SMPMI00101_onload">
- <Layouts>
- <Layout>
- <Shape position="absolute 5 24 315 30" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
- <Button position="absolute 260 170 316 192" id="button1" class="btn4" text="저장" onclick="button1_onclick" taborder="6"/>
- <Static id="caption2" text="병실입실" wordwrap="word" class="cell_1" position="absolute 5 83 120 108"/>
- <Static id="caption00" text="퇴원예고" wordwrap="word" class="cell_1" position="absolute 5 110 120 135"/>
- <Static id="caption04" text="퇴원확정" wordwrap="word" class="cell_1" position="absolute 5 137 120 162"/>
- <Calendar id="Calendar00" taborder="0" position="absolute 180 85 267 105" dateformat="yyyy-MM-dd" value="null"/>
- <Calendar id="Calendar01" taborder="2" position="absolute 180 112 267 132" dateformat="yyyy-MM-dd" value="null"/>
- <Calendar id="Calendar02" taborder="4" position="absolute 180 139 267 159" dateformat="yyyy-MM-dd"/>
- <MaskEdit id="MaskEdit00" taborder="1" position="absolute 271 84 315 104" type="string" style="align:left;" mask="##:##"/>
- <MaskEdit id="MaskEdit01" taborder="3" position="absolute 271 112 315 132" mask="##:##" type="string" style="align:left;"/>
- <MaskEdit id="MaskEdit02" taborder="5" position="absolute 271 139 315 159" mask="##:##" type="string" style="align:left;"/>
- <Static id="caption3" text="입실 및 퇴실시간" class="tit_2" position="absolute 7 7 291 23"/>
- <Static id="caption01" text="등록번호 / 성명" wordwrap="word" class="cell_1" position="absolute 5 29 120 54"/>
- <Static id="caption05" text="입원일자 / 시간" wordwrap="word" class="cell_1" position="absolute 5 56 120 81"/>
- <Edit id="Edit00" taborder="12" position="absolute 124 32 211 52" enable="false"/>
- <Edit id="Edit01" taborder="13" position="absolute 216 32 315 52" enable="false"/>
- <Calendar id="Calendar03" taborder="14" position="absolute 124 59 211 79" enable="false" dateformat="yyyy-MM-dd" value="null"/>
- <Combo id="Combo00" taborder="7" position="absolute 124 113 176 133" codecolumn="codecolumn" datacolumn="datacolumn" index="-1" style="align:center;">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">Y</Col>
- <Col id="datacolumn">Y</Col>
- </Row>
- <Row>
- <Col id="codecolumn">N</Col>
- <Col id="datacolumn">N</Col>
- </Row>
- </Rows>
- </Dataset>
- </Combo>
- <Combo id="Combo01" taborder="8" position="absolute 124 140 176 160" index="-1" codecolumn="codecolumn" datacolumn="datacolumn" style="align:center;">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">Y</Col>
- <Col id="datacolumn">Y</Col>
- </Row>
- <Row>
- <Col id="codecolumn">N</Col>
- <Col id="datacolumn">N</Col>
- </Row>
- </Rows>
- </Dataset>
- </Combo>
- <MaskEdit id="MaskEdit03" taborder="15" position="absolute 216 59 260 79" mask="##:##" type="string" style="align:center;" enable="false"/>
- <Edit id="Edit02" taborder="16" position="absolute 265 59 287 79" enable="false" style=":disabled {align:center;}"/>
- <Edit id="Edit03" taborder="17" position="absolute 293 59 315 79" enable="false" style=":disabled {align:center;}"/>
- <Div id="group1" taborder="19" position="absolute 5 56 315 163" style="background:white;border:2 solid cornflowerblue cornflowerblue;" visible="false">
- <Layouts>
- <Layout>
- <Static id="Static00" text="※ 재원정보를 선택하십시오.(재원정보 복수개 존재)" position="absolute 6 3 305 23" anchor="default" style="color:red;"/>
- <Grid id="grd_inptlist" taborder="1" useinputpanel="false" visible="true" position="absolute -2 24 306 98" anchor="default" oncelldblclick="group1_grd_inptlist_oncelldblclick" binddataset="ds_inptlist">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="70"/>
- <Column size="140"/>
- <Column size="97"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell text="입원일자"/>
- <Cell col="1" text="병동"/>
- <Cell col="2" text="병실"/>
- </Band>
- <Band id="body">
- <Cell text="bind:indd"/>
- <Cell col="1" text="bind:wardnm"/>
- <Cell col="2" text="bind:roomcd"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="indd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="hngnm" type="STRING" size="256"/>
- <Column id="intm" type="STRING" size="4"/>
- <Column id="calcdd" type="STRING" size="8"/>
- <Column id="calctm" type="STRING" size="2"/>
- <Column id="brateflag" type="STRING" size="1"/>
- <Column id="specordtype" type="STRING" size="1"/>
- <Column id="careinrmdd" type="STRING" size="8"/>
- <Column id="careinrmtm" type="STRING" size="4"/>
- <Column id="dschdclrtyn" type="STRING" size="1"/>
- <Column id="dschdclrdt" type="STRING" size="14"/>
- <Column id="dschdclrdd" type="STRING" size="8"/>
- <Column id="dschdclrtm" type="STRING" size="4"/>
- <Column id="dschnotiyn" type="STRING" size="1"/>
- <Column id="dschnotidt" type="STRING" size="14"/>
- <Column id="dschnotidd" type="STRING" size="8"/>
- <Column id="dschnotitm" type="STRING" size="4"/>
- <Column id="indschacptstat" type="STRING" size="1"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_inptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="indd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="wardnm" type="STRING" size="256"/>
- <Column id="roomcd" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="Calendar00" propid="value" datasetid="ds_send" columnid="careinrmdd"/>
- <BindItem id="item1" compid="Calendar01" propid="value" datasetid="ds_send" columnid="dschdclrdd"/>
- <BindItem id="item2" compid="Calendar02" propid="value" datasetid="ds_send" columnid="dschnotidd"/>
- <BindItem id="item3" compid="MaskEdit01" propid="value" datasetid="ds_send" columnid="dschdclrtm"/>
- <BindItem id="item4" compid="MaskEdit02" propid="value" datasetid="ds_send" columnid="dschnotitm"/>
- <BindItem id="item5" compid="MaskEdit00" propid="value" datasetid="ds_send" columnid="careinrmtm"/>
- <BindItem id="item6" compid="Edit00" propid="value" datasetid="ds_send" columnid="pid"/>
- <BindItem id="item7" compid="Edit01" propid="value" datasetid="ds_send" columnid="hngnm"/>
- <BindItem id="item8" compid="Calendar03" propid="value" datasetid="ds_send" columnid="indd"/>
- <BindItem id="item9" compid="Combo00" propid="value" datasetid="ds_send" columnid="dschdclrtyn"/>
- <BindItem id="item10" compid="Combo01" propid="value" datasetid="ds_send" columnid="dschnotiyn"/>
- <BindItem id="item11" compid="MaskEdit03" propid="value" datasetid="ds_send" columnid="intm"/>
- <BindItem id="item12" compid="Edit03" propid="value" datasetid="ds_send" columnid="specordtype"/>
- <BindItem id="item13" compid="Edit02" propid="value" datasetid="ds_send" columnid="brateflag"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2016-05-24
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2016-05-24 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // Lib Include
- //---------------------------------------------------------------------------------------
- include 'com_commonxp::comm_main.xjs';
- var arErrorCode = new HashArray();
- var pid;
- var indd;
- var cretno;
- var flag;
- //=======================================================================================
- // Local methods
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Argument :
- * Description :
- ****************************************************************************************/
- function fValidForm(){
- if(utlf_isNull(ds_send.getColumn(0, 'cancelrsn'))){
- return false;
- }
- return true;
- }
- //=======================================================================================
- // callback
- //---------------------------------------------------------------------------------------
- function callback(sSvcId, nErrorCode, sErrorMsg){
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //=======================================================================================
- // Events
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Argument :
- * Description : onload
- ****************************************************************************************/
- function SMPMI00101_onload(obj:Form, e:LoadEventInfo){
- // 폼 초기화
- frmf_initForm(obj);
-
- // 부모창 검증
- if(frmf_checkOpener()){
-
- pid = opener.frmf_getParameter('SMPMI00101_PID');
- flag = opener.frmf_getParameter('SMPMI00101_FLAG');
- // 파라미터 필수 제어
- if (utlf_isNull(pid) || utlf_isNull(flag)) {
- sysf_messageBox("정상적인 접근이 아닙니다.\w\n전산실로 문의하시기 바랍니다.", "C000");
- this.close();
- }
-
- // 검사실 제어
- if (flag == "T") {
- caption2.text = "검사실 입실시간";
- caption00.text = "검사 종료시간";
- caption04.text = "검사실 퇴실시간";
- Combo00.enable = false;
- Combo01.enable = false;
-
- ds_send.setColumn(0, "pid", pid);
- ds_send.setColumn(0, "indschacptstat", "A");
-
- var oParam = {};
- oParam.id = "reqGetInptInOutInfo";
- oParam.service = "ipatmngtapp.InhospUpdt";
- oParam.method = "reqGetInptInOutInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_inptlist=inptinfo";
- oParam.async = false;
- oParam.callback = "callback";
-
- tranf_submit(oParam);
-
- // 재원정보가 없는 경우
- if (ds_inptlist.rowcount < 1) {
-
- sysf_messageBox("재원정보가 조회되지 않았습니다.", "C000");
- this.close();
-
- // 재원정보 복수개 처리
- } else {
-
- if (ds_inptlist.rowcount > 1) {
-
- // 재원정보 선택용 그리드 표시
- group1.visible = true;
-
- } else {
- indd = ds_inptlist.getColumn(0, "indd");
- cretno = ds_inptlist.getColumn(0, "cretno");
-
- // 입원정보 조회
- fGetInptInfo();
- }
- }
-
- // 재원변경 제어
- } else if (flag == "I") {
-
- indd = opener.frmf_getParameter('SMPMI00101_INDD');
- cretno = opener.frmf_getParameter('SMPMI00101_CRETNO');
-
- // 입원정보 조회
- fGetInptInfo();
- }
-
- // 부모창이 변경되었을 경우
- } else {
- alert('상위화면이 변경되어 데이터를 전달할 수 없습니다.');
- }
- }
- /****************************************************************************************
- * Argument :
- * Description : 등록 버튼 클릭 이벤트
- ****************************************************************************************/
- function button1_onclick(obj:Button, e:ClickEventInfo){
- if (utlf_isNull(pid) || utlf_isNull(indd) || utlf_isNull(cretno)) {
- sysf_messageBox("재원정보가 정상적으로 조회되지 않았습니다.", "C000");
- return;
- }
- // // 예고 시 일시 입력제어
- // if (ds_send.getColumn(0, "dschdclrtyn") == "Y"
- // && (utlf_isNull(ds_send.getColumn(0, "dschdclrdd")) || ds_send.getColumn(0, "dschdclrtm") == " ")) {
- // sysf_messageBox(caption00.text + " 일자 및 시간을 입력하시기 바랍니다.", "C000");
- // return;
- // }
- //
- // // 확정 시 일시 입력제어
- // if (ds_send.getColumn(0, "dschnotiyn") == "Y"
- // && (utlf_isNull(ds_send.getColumn(0, "dschnotidd")) || ds_send.getColumn(0, "dschnotitm") == " ")) {
- //
- // sysf_messageBox(caption04.text + " 일자 및 시간을 입력하시기 바랍니다.", "C000");
- // return;
- // }
-
- // 입실일자 검증
- if (!utlf_isNull(ds_send.getColumn(0, "careinrmdd")) && ds_send.getColumn(0, "indd") > ds_send.getColumn(0, "careinrmdd")) {
- sysf_messageBox("입실일자는 입원일자보다 작을 수 없습니다.", "C000");
- return;
- }
-
- // 종료일자 검증
- if (!utlf_isNull(ds_send.getColumn(0, "dschdclrdd")) && ds_send.getColumn(0, "indd") > ds_send.getColumn(0, "dschdclrdd")) {
- sysf_messageBox("종료일자는 입원일자보다 작을 수 없습니다.", "C000");
- return;
- }
-
- // 퇴실일자 검증
- if (!utlf_isNull(ds_send.getColumn(0, "dschnotidd")) && ds_send.getColumn(0, "indd") > ds_send.getColumn(0, "dschnotidd")) {
- sysf_messageBox("퇴실일자는 입원일자보다 작을 수 없습니다.", "C000");
- return;
- }
- if (sysf_messageBox("저장하시겠습니까?", "Q000") <> 6) {
- return;
- }
-
- // 입력값 보정작업들
- // 입실일자
- if(utlf_isNull(ds_send.getColumn(0, "careinrmdd"))) {
- ds_send.setColumn(0, "careinrmdd", "-");
- }
-
- // 입실시간
- if(ds_send.getColumn(0, "careinrmtm") == " ") {
- ds_send.setColumn(0, "careinrmtm", "-");
- }
-
- // 예고일자
- if (!utlf_isNull(ds_send.getColumn(0, "dschdclrdd"))) {
- ds_send.setColumn(0, "dschdclrdt", ds_send.getColumn(0, "dschdclrdd") + ds_send.getColumn(0, "dschdclrtm"));
- } else {
- ds_send.setColumn(0, "dschdclrdt", "");
- }
-
- // 확정일자
- if (!utlf_isNull(ds_send.getColumn(0, "dschnotidd"))) {
- ds_send.setColumn(0, "dschnotidt", ds_send.getColumn(0, "dschnotidd") + ds_send.getColumn(0, "dschnotitm"));
- } else {
- ds_send.setColumn(0, "dschnotidt", "");
- }
- // 검사실의 경우 구분자에 따른 예고 / 확정 제어
- if (flag = 'T') {
-
- // 예고일자
- if (!utlf_isNull(ds_send.getColumn(0, "dschdclrdd"))) {
- ds_send.setColumn(0, "dschdclrtyn", "Y");
- } else {
- ds_send.setColumn(0, "dschdclrtyn", "N");
- }
-
- // 확정일자
- if (!utlf_isNull(ds_send.getColumn(0, "dschnotidd"))) {
- ds_send.setColumn(0, "dschnotiyn", "Y");
- } else {
- ds_send.setColumn(0, "dschnotiyn", "N");
- }
- }
-
- // 요율계산(KTAS 1,2,3 등급의 경우 제외)
- if (ds_send.getColumn(0, "dschnotiyn") == "Y"
- && ds_send.getColumn(0, "specordtype") != "1"
- && ds_send.getColumn(0, "specordtype") != "2"
- && ds_send.getColumn(0, "specordtype") != "3") {
-
- var indt = ds_send.getColumn(0, "careinrmdd").toDate(); // calcdd 연동
- var outdt = ds_send.getColumn(0, "dschnotidd").toDate();
-
- indt.addHours(ds_send.getColumn(0, "careinrmtm").substr(0,2)); // calctm 연동
- indt.addMinutes(ds_send.getColumn(0, "careinrmtm").substr(2,4));
-
- outdt.addHours(ds_send.getColumn(0, "dschnotitm").substr(0,2));
- outdt.addMinutes(ds_send.getColumn(0, "dschnotitm").substr(2,4));
- var intm = (outdt - indt) / 1000 / 60;
- var brateflag = ds_send.getColumn(0, "brateflag");
- if (intm > 360) {
- brateflag = 'I';
- } else {
- brateflag = 'O';
- }
-
- // 요율이 변경되는 경우 알러트 처리
- if (brateflag != ds_send.getColumn(0, "brateflag")) {
- if (sysf_messageBox("요율이 변경됩니다. 진행하시겠습니까?\r\n이전요율 : " + ds_send.getColumn(0, "brateflag")
- + " / 변경요율 : " + brateflag, "Q000") != 6) {
- return;
- }
- ds_send.setColumn(0, "brateflag", brateflag);
- }
- }
-
- var oParam = {};
- oParam.id = "reqSetInptInOutInfo";
- oParam.service = "ipatmngtapp.InhospUpdt";
- oParam.method = "reqSetInptInOutInfo";
- oParam.inds = "req=ds_send";
- //oParam.outds = "ds_send=inptinfo";
- oParam.async = false;
- oParam.callback = "callback";
-
- tranf_submit(oParam);
-
- if (arErrorCode.pop("reqSetInptInOutInfo") > -1) {
-
- // 종료
- this.close();
- }
- }
- // 재원정보 조회
- function fGetInptInfo() {
- ds_send.setColumn(0, "pid", pid);
- ds_send.setColumn(0, "indd", indd);
- ds_send.setColumn(0, "cretno", cretno);
- ds_send.setColumn(0, "indschacptstat", "");
-
- var oParam = {};
- oParam.id = "reqGetInptInOutInfo";
- oParam.service = "ipatmngtapp.InhospUpdt";
- oParam.method = "reqGetInptInOutInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_send=inptinfo";
- oParam.async = false;
- oParam.callback = "callback";
-
- tranf_submit(oParam);
-
- if (arErrorCode.pop("reqGetInptInOutInfo") > -1) {
-
- // 병실 입실시간 미입력 시 초기값 설정
- if (ds_send.getColumn(0, "careinrmdd") == "-") {
- ds_send.setColumn(0, "careinrmdd", utlf_getCurrentDate());
- ds_send.setColumn(0, "careinrmtm", utlf_getCurrentTime().substr(0, 4));
- }
-
- // 퇴원예고 미입력 시 초기값 설정
- if (ds_send.getColumn(0, "dschdclrtyn") <> "Y") {
- ds_send.setColumn(0, "dschdclrdd", utlf_getCurrentDate());
- ds_send.setColumn(0, "dschdclrtm", utlf_getCurrentTime().substr(0, 4));
- } else {
- ds_send.setColumn(0, "dschdclrdd", ds_send.getColumn(0, "dschdclrdt").substr(0,8));
- ds_send.setColumn(0, "dschdclrtm", ds_send.getColumn(0, "dschdclrdt").substr(8,12));
- }
-
- // 퇴원확정 미입력 시 초기값 설정
- if (ds_send.getColumn(0, "dschnotiyn") <> "Y") {
- ds_send.setColumn(0, "dschnotidd", utlf_getCurrentDate());
- ds_send.setColumn(0, "dschnotitm", utlf_getCurrentTime().substr(0, 4));
- } else {
- ds_send.setColumn(0, "dschnotidd", ds_send.getColumn(0, "dschnotidt").substr(0,8));
- ds_send.setColumn(0, "dschnotitm", ds_send.getColumn(0, "dschnotidt").substr(8,12));
- }
- }
- }
- // 재원정보 그리드 더블클릭
- function group1_grd_inptlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- var row = group1.grd_inptlist.currentrow;
-
- indd = ds_inptlist.getColumn(row, "indd");
- cretno = ds_inptlist.getColumn(row, "cretno");
-
- fGetInptInfo();
-
- group1.visible = false;
- }
- function caption05_onclick(obj:Static, e:ClickEventInfo)
- {
-
- }
- ]]></Script>
- </Form>
- </FDL>
|