123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- <?xml version="1.0" encoding="utf-8" standalone="no"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMO31000" position="absolute 0 0 780 582" titletext="응급실-visit등록" onload="SPMMO31000_onload">
- <Layouts>
- <Layout>
- <Div id="group1" position="absolute 0 0 775 575" style="" function="group1_function">
- <Layouts>
- <Layout>
- <Static id="caption6" class="tit_1" position="absolute 0 0 180 25" style="" text="응급실 - Visit 등록" anchor="default"/>
- <Shape id="roundrect1" anchor="default" type="roundrectangle" position="absolute 40 115 690 335" style=""/>
- <Static id="caption1" position="absolute 50 190 215 260" style="font:굴림체,48,bold;" text="사번:" anchor="default"/>
- <Edit id="ipt_drid" position="absolute 245 270 365 289" style="" anchor="default" onkillfocus="group1_ipt_drid_onkillfocus" onkeydown="group1_ipt_drid_onkeydown"/>
- <Button id="btn_save" class="btn4" taborder="3" position="absolute 80 290 136 312" text="등록" onclick="group1_btn_save_onclick" anchor="default"/>
- <Radio datacolumn="datacolumn" codecolumn="codecolumn" columncount="2" rowcount="1" id="radio1" position="absolute 90 70 646 105" style="font:,18,bold;" onitemchanged="group1_radio1_onitemchanged" onclick="group1_radio1_onclick" index="0" anchor="default" value="A">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">A</Col>
- <Col id="datacolumn">일반의사호출 등록</Col>
- </Row>
- <Row>
- <Col id="codecolumn">B</Col>
- <Col id="datacolumn">중증의사호출 등록</Col>
- </Row>
- </Rows>
- </Dataset>
- </Radio>
- <Static id="capt_drid" position="absolute 215 150 670 300" style="font:굴림체,65,bold;align:center middle;border:1 solid #c0c0c0 #c0c0c0;color:#333399;background:#ffffff ;" onclick="group1_capt_drid_onclick" tooltiptext="사번을입력하세요" anchor="default"/>
- <Grid id="grd_savedata" binddataset="ds_hidden_calldryninfo_calldryninfolist" visible="false" position="absolute 130 345 670 411" style="" anchor="default">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="44"/>
- <Column size="35"/>
- <Column size="55"/>
- <Column size="37"/>
- <Column size="34"/>
- <Column size="57"/>
- <Column size="37"/>
- <Column size="56"/>
- <Column size="49"/>
- <Column size="25"/>
- <Column size="100"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell text="pid"/>
- <Cell col="1" text="indd"/>
- <Cell col="2" text="cretno"/>
- <Cell col="3" text="visitno"/>
- <Cell col="4" text="seqno"/>
- <Cell col="5" text="orddeptcd"/>
- <Cell col="6" text="drid"/>
- <Cell col="7" text="eqtype"/>
- <Cell col="8" text="intm"/>
- <Cell col="9" text="arvtime"/>
- <Cell col="10" text="arvrldt"/>
- </Band>
- <Band id="body">
- <Cell text="bind:pid"/>
- <Cell col="1" text="bind:indd"/>
- <Cell col="2" text="bind:cretno"/>
- <Cell col="3" text="bind:visitno"/>
- <Cell col="4" text="bind:seqno"/>
- <Cell col="5" text="bind:orddeptcd"/>
- <Cell col="6" text="bind:drid"/>
- <Cell col="7" text="bind:eqtype"/>
- <Cell col="8" text="bind:intm"/>
- <Cell col="9" text="bind:arvtime"/>
- <Cell col="10" text="bind:arvrldt"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_init_menu_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="name" type="STRING" size="256"/>
- <Column id="func" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="name">닫기</Col>
- <Col id="func">fCloseWindow</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_cond_callvisitinfo_callvisitinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
- <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="drid" type="STRING" size="256"/>
- <Column id="cptdrid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="drid"/>
- <Col id="cptdrid"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="drid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="drid"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_hidden_calldryninfo_calldryninfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="drid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="drid"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="visitflag" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="visitflag"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_init_hardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="group1.ipt_drid" propid="value" datasetid="ds_cond" columnid="drid"/>
- <BindItem id="item1" compid="group1.radio1" propid="value" datasetid="ds_temp" columnid="visitflag"/>
- <BindItem id="item2" compid="group1.capt_drid" propid="value" datasetid="ds_cond" columnid="cptdrid"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
- include "emr_prcpmngtxp::MMO001.xjs";
- var arErrorCode = new HashArray();
- //스크립트 시작 ***
- //초기화
- function fInit(isInit){
- ds_cond.setColumn( 0, "drid","");
- ds_cond.setColumn( 0, "cptdrid","");
- ds_cond_callvisitinfo_callvisitinfolist.clearData();
- if(isInit){
- ds_temp.setColumn( 0, "visitflag", "A");
- //mmbfGetHardCodeInfo("ds_send_reqdata" , "ds_init_hardcd" , 46);
- lf_getHardCDList("N", 46, null, ds_init_hardcd);
- }
- //포커스
- group1.ipt_drid.setFocus();
- group1.capt_drid.style.backgroundColor = "#feff17";
- group1.capt_drid.style.borderColor = "#ffcc00";
- group1.capt_drid.style.borderColor2 = "#ffcc00";
- }
- //사번입력되면 캡션에 보여줌
- // function fSetCaption(drid){
- // var sDrId = drid.toUpperCase();
- // ds_cond.setColumn( 0, "cptdrid", sDrId);
- // ds_cond.setColumn( 0, "drid", sDrId);
- //
- // if(event.keyCode ==13){
- // group1.btn_save.setFocus();
- // group1.capt_drid.attribute("background-color") = '#ffffff';
- // group1.capt_drid.attribute("border-color") = '#c0c0c0';
- // group1.btn_save.dispatch('DOMActivate');
- // }
- // }
- //저장
- function fErVisitSaveNomalCall(){
- //응급실에서만 도착시간 입력이 가능합니다. '
- var hardcd = ds_init_hardcd.lookup("hardcd", sysf_getUserInfo("macaddr"), "hardcd");
- if(utlf_isNull(hardcd)){
- sysf_messageBox("응급실에서만 도착시간 체크", "I006");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- fInit();
- return false;
- }
- //사번이 비어있을때
- if(utlf_isNull(ds_cond.getColumn(0, "drid"))){
- sysf_messageBox("사번을 입력하십시오.", "E");
- fInit();
- return;
- }
- dsf_makeValue( ds_send, "drid", "string", ds_cond.getColumn(0, "drid"));
- var oParam = {};
- oParam.id = "TRMMO31001";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetCallVisitDrInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_cond_callvisitinfo_callvisitinfolist=callvisitinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO31001";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO31001") < 0){
- sysf_messageBox("해당의사의 호출여부 조회를 실패하였습니다.", "E999");
- fInit();
- return;
- }
-
- if(ds_cond_callvisitinfo_callvisitinfolist.rowcount > 0){
- //호출등록할 해당환자
- var patnm = "";
- for(var i = 0 ; i < ds_cond_callvisitinfo_callvisitinfolist.rowcount ; i++){
- if(ds_cond_callvisitinfo_callvisitinfolist.getColumn(i, "visitrgstrid") == "-"){
- patnm = patnm+" "+ds_cond_callvisitinfo_callvisitinfolist.getColumn(i, "hngnm");
- }
- }
-
- ds_cond_callvisitinfo_callvisitinfolist.filter("visitrgstrid=='-'");
- if(ds_cond_callvisitinfo_callvisitinfolist.rowcount > 0){
- //도착시간 등록
- var oParam = {};
- oParam.id = "TXMMO31001";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqSetCallVisitDrInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMMO31001";
- tranf_submit(oParam);
- if(arErrorCode.pop("TXMMO31001") < 0){
- sysf_messageBox("도착시간등록을 실패하였습니다.", "E999");
- }else{
- sysf_messageBox(patnm+" 환자에 대한 도착시간이 등록되었습니다", "E999");
- }
- }else{
- sysf_messageBox("이미 등록되었습니다.", "E");
- }
-
- ds_cond_callvisitinfo_callvisitinfolist.filter("");
-
- fInit();
- }else{
- //해당 의사가 없을때
- sysf_messageBox("이미 도착등록을 하셨거나 호출되지 않았으므로 도착일시를 입력하실 수 없습니다.", "E999");
- fInit();
- }
- }
- function cf_TRMMO31001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMMO31001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //도착의사저장
- function fErVisitSave(){
- if(fIsValid()){
- //저장
- dsf_createDs("ds_send_savedata");
- var dsUpdate = grdf_getGridUpdateData(group1.grd_savedata, "I");
- grdf_setStatusColumn(dsUpdate, "m");
- ds_send_savedata.copyData(dsUpdate, true);
- var oParam = {};
- oParam.id = "TXMNE05001";
- oParam.service = "ercareapp.ERSmsCallMngt";
- oParam.method = "reqSetVisitTime";
- oParam.inds = "savedata=ds_send_savedata";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNE05001";
- tranf_submit(oParam);
- if(arErrorCode.pop("TXMNE05001") < 0) {
- sysf_messageBox("도착시간등록을 실패하였습니다.", "E999");
- //초기화
- fInit(false);
- return false;
- }else{
- sysf_messageBox("도착시간이 등록되었습니다.", "E999");
- //초기화
- fInit(false);
- return true;
- }
- }
- }
- function cf_TXMNE05001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //20090622 dhkim
- //저장전 유효성체크
- function fIsValid(){
- //응급실에서만 도착시간 입력이 가능합니다.
- var hardcd = ds_init_hardcd.lookup("hardcd", sysf_getUserInfo("macaddr"), "hardcd");
- if(utlf_isNull(hardcd)){
- sysf_messageBox("응급실에서만 도착시간 체크", "I006");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- return false;
- }
- if(utlf_isNull(ds_cond.getColumn(0, "drid"))){
- sysf_messageBox("사번을 입력하십시오.", "E");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- return false;
- }
- //20090710 dhkim
- //변경요청사항 : * 응급의학과는 visit time을 찍지 않도록함.
- // * visit time은 진료과 단위로 한번만 찍어도 되도록 함. call받은 의사가 모두 안찍어도 됨.
- //1. 도착등록한 의사의 과를 조회한다.
- //2. 도착등록한 의사의 과가 호출된 과인지 조회한다.
- //3. 도착등록한 의사가 호출된 의사인지 조회한다.(호출되지 않은 의사가 등록해도 되는건지 확인할것)
- //4. 도착등록한 의사가 도착등록 했는지 조회한다.
- //5. 도착등록이 안되어있으면 해당의사 소속된 과의 도착정보를 모두 업데이트한다
- //20090624 dhkim
- //해당의사가 sms 호출한 의사인지 여부를 조회
- dsf_createDsRow("ds_send_searchinfo", [{col:"drid", val:ds_cond.getColumn(0, "drid")}
- ,{col:"srchflag", val:"call"}
- ]);
- var oParam = {};
- oParam.id = "TRMNE05301";
- oParam.service = "ercareapp.ERSmsCallMngt";
- oParam.method = "reqGetCallDoctorInfo";
- oParam.inds = "searchinfo=ds_send_searchinfo";
- oParam.outds = "ds_hidden_calldryninfo_calldryninfolist=calldryninfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNE05301";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMNE05301") < 0) {
- sysf_messageBox("해당의사가 sms 호출한 의사인지 여부 조회를 실패하였습니다.", "E999");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- return false;
- }else{
- if(ds_hidden_calldryninfo_calldryninfolist.rowcount < 1){
- sysf_messageBox("호출되지 않은 선생님은 도착일시를 입력하실 수 없습니다.", "E999");
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- setCaptionFocus(true);
- return false;
- }
- }
- //20090624 dhkim
- //이미도착등록했는지 조회
- dsf_createDsRow("ds_send_searchinfo", [{col:"drid", val:ds_cond.getColumn(0, "drid")}
- ,{col:"srchflag", val:"arrv"}
- ]);
- //★TRMNE05301 에서 조회한 결과값을 가지고 저장을 실행함★
- var oParam = {};
- oParam.id = "TRMNE05301";
- oParam.service = "ercareapp.ERSmsCallMngt";
- oParam.method = "reqGetCallDoctorInfo";
- oParam.inds = "searchinfo=ds_send_searchinfo";
- oParam.outds = "ds_hidden_calldryninfo_calldryninfolist=calldryninfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNE05301";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMNE05301") < 0){
- sysf_messageBox("도착등록여부 조회를 실패하였습니다.", "E999");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- return false;
- }else{
- if(ds_hidden_calldryninfo_calldryninfolist.rowcount < 1){
- sysf_messageBox("이미 도착등록을 하셨거나 호출되지 않았으므로 도착일시를 입력하실 수 없습니다.", "E999");
- setCaptionFocus(true);
- ds_cond.setColumn( 0, "cptdrid", "");
- ds_cond.setColumn( 0, "drid", "");
- return false;
- }
- }
- return true;
- }
- function cf_TRMNE05301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //20090622 dhkim
- //입력한 내용을 캡션에 보여지게함
- //keyStr : event.keyCode
- function fSetCaption(keyStr){
- var sDrId = keyStr.toUpperCase();
- group1.capt_drid.text = sDrId;
- ds_cond.setColumn( 0, "cptdrid", sDrId);
- ds_cond.setColumn( 0, "drid", sDrId);
- if(sDrId.length >= 5){
- if(sDrId.substr(0,5) == "KNUDH") {
- if(sDrId.length >= 10){
- group1.btn_save.setFocus();
- group1.btn_save.click();
- }
- } else {
- group1.btn_save.setFocus();
- group1.btn_save.click();
- }
- }
- }
- //20090624 dhkim 캡션 포커스 선택상태 변경
- function setCaptionFocus(isSelected, itemKd){
- if(isSelected){
- //선택된상태로 보여짐
- group1.capt_drid.style.backgroundColor = "#feff17";
- group1.capt_drid.style.borderColor = "#ffcc00";
- group1.capt_drid.style.borderColor2 = "#ffcc00";
-
- if(itemKd != "input"){
- group1.ipt_drid.setFocus();
- }
- }else{
- //선택되지않은 상태로 보여짐
- group1.capt_drid.style.backgroundColor = "#ffffff";
- group1.capt_drid.style.borderColor = "#c0c0c0";
- group1.capt_drid.style.borderColor2 = "#c0c0c0";
- }
- }
- //창닫기
- function fCloseWindow(){
- this.close();
- }
- //스크립트 끝
- function SPMMO31000_onload(obj:Form, e:LoadEventInfo) {
- frmf_initForm(obj);
- //grdf_initGrid(grd_XXX);
- //grdf_setGridSort(grd_XXX);
- //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
- fInit(true);
- }
- function group1_ipt_drid_onkillfocus(obj:Edit, e:KillFocusEventInfo) {
- //fSetCaption(obj.text);
- }
- function group1_ipt_drid_onkeydown(obj:Edit, e:KeyEventInfo) {
- obj.updateToDataset();
- fSetCaption(obj.text);
-
- // if(e.keycode == 13) {
- // obj.updateToDataset();
- // fSetCaption(obj.text);
- // }
- }
- function group1_btn_save_onclick(obj:Button, e:ClickEventInfo) {
- var visitflag = ds_temp.getColumn(0, "visitflag");
- if (visitflag == "A") {
- fErVisitSaveNomalCall();
- } else {
- fErVisitSave();//visit등록
- }
- }
- function group1_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo) {
- fInit();
- }
- function group1_radio1_onclick(obj:Radio, e:ClickEventInfo) {
- fInit();
- }
- // function group1_caption2_onclick(obj:Static, e:ClickEventInfo) {
- // ds_temp.setColumn( 0, "visitflag", "A");
- // fInit();
- // }
- //
- // function group1_caption3_onclick(obj:Static, e:ClickEventInfo) {
- // ds_temp.setColumn( 0, "visitflag", "B");
- // fInit();
- // }
- function group1_capt_drid_onclick(obj:Static, e:ClickEventInfo) {
- group1.ipt_drid.setFocus();
- }
- ]]></Script>
- </Form>
- </FDL>
|