123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SMADB01030" classname="SMADB01030_항암프로토콜스케쥴변경" inheritanceid="" position="absolute 0 0 234 232" titletext="항암 프로토콜 스케줄 변경" oninit="SMADB01030_oninit" onload="SMADB01030_onload">
- <Layouts>
- <Layout>
- <Static id="stt_titleText" text="항암 프로토콜 스케줄 변경" class="tit_2" position="absolute 1 3 197 23"/>
- <Grid id="Grid00" taborder="2" useinputpanel="false" position="absolute 1 21 232 193" binddataset="ds_schedule">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="28"/>
- <Column size="90"/>
- <Column size="90"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" displaytype="normal" text="변경전"/>
- <Cell col="2" displaytype="normal" text="변경 후"/>
- </Band>
- <Band id="body">
- <Cell text="expr:currow+1"/>
- <Cell col="1" displaytype="date" style="background:EXPR((currow,'changeyn')=="Y"?"#8EFDFF");background2:EXPR((currow,'changeyn')=="Y"?"#8EFDFF");" text="bind:bef_prcpdd" editautoselect="false"/>
- <Cell col="2" displaytype="date" edittype="date" style="background:EXPR((currow,'changeyn')=="Y"?"#8EFDFF");background2:EXPR((currow,'changeyn')=="Y"?"#8EFDFF");" text="bind:aft_prcpdd" editautoselect="true" calendardisplaynulltype="none"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Button id="btn_save" taborder="3" text="저장" position="absolute 109 198 169 224" class="btn4" onclick="btn_save_onclick"/>
- <Button id="btn_exit" taborder="4" text="종료" class="btn4" position="absolute 171 198 231 224" onclick="btn_exit_onclick"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_schedule" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="bef_prcpdd" type="STRING" size="256"/>
- <Column id="aft_prcpdd" type="STRING" size="256"/>
- <Column id="lastupdtdt" type="STRING" size="256"/>
- <Column id="changeyn" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cnt" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- </Objects>
- <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
- var chk=true;
- var cpgappno;
- function cf_TRADB01040(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fInitialize_SMADB01030(){
-
- sysf_trace("opener = " + opener.name);
- cpgappno=opener.ds_grid_grd_prtlhislist.getColumn(opener.ds_grid_grd_prtlhislist.rowposition,"cpgappno");
- if(utlf_isNull(cpgappno)){
- susf_messageBox("잘못된 데이터가 ", "E005");
- this.close();
- }
- else{
- dsf_createDsRow("ds_send_reqdata", [{col:"cpgappno", type:"string", val:cpgappno}]);
- var oParam = {};
- oParam.id = "TRADB01040";
- oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
- oParam.method = "reqGetScheduleInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_schedule=item";
- oParam.async = false;
- oParam.callback = "cf_TRADB01040";
- tranf_submit(oParam);
- }
- var cnt=ds_schedule.rowcount;
- if(cnt <= 0){
- sysf_messageBox("스케줄 변경은 2012년 9월 13일 이후 등록 된 처방에서만 ", "I006");
- this.close();
- }
- for(var i=0; i<ds_schedule.rowcount; i++){
- var changeyn=ds_schedule.getColumn(i,"changeyn");
-
- if(changeyn=="N"){
- ds_schedule.setColumn(i,"aft_prcpdd", ds_schedule.getColumn(i,"bef_prcpdd"));
- }
- }
-
- }
- /**
- * @desc : 일짜 변경 중 날짜 확인
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fCheckDate(){
- var irow=ds_schedule.rowposition;
- var bef_prcpdd=ds_schedule.getColumn(irow,"bef_prcpdd");
- var aft_prcpdd=ds_schedule.getColumn(irow,"aft_prcpdd");
- if(!utlf_isNull(aft_prcpdd) && bef_prcpdd > aft_prcpdd){
- sysf_messageBox("잘못된 일자를 지정하셨습니다.", "I", "");
- ds_schedule.setColumn(irow,"aft_prcpdd", bef_prcpdd);
- return;
- }
- }
- /**
- * @desc : 스케줄변경 저장 전 정보확인
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fChangeSchedule(){
-
- var sdate=ds_schedule.getColumn(0,"currentday");
- for(var i=0; i<ds_schedule.rowcount; i++){
- var idate=ds_schedule.getColumn(i,"aft_prcpdd");
- var chageyn=ds_schedule.getColumn(i,"changeyn");
- if(!utlf_isNull(idate) && chageyn=="Y"){
- for(var j=i+1; j<ds_schedule.rowcount; j++){
- var jdate=ds_schedule.getColumn(j,"aft_prcpdd");
- if(sdate > idate || idate >= jdate){
- sysf_messageBox("변경 후 일자가 잘못 등록되었습니다. 확인 후 진행하시기 바랍니다.\n- 현재일보다 과거 일자로 스케쥴 변경 불가 \n- 처방 적용일 순서 변경 불가", "I", "");
- chk=false;
- return;
- }
- }
- }
- }
- }
- /**
- * @desc : 스케줄변경 저장
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSaveSchedule(){
- chk=true;
- dsf_createDs("ds_send_savedata");
- ds_send_savedata.addColumn("cpgappno","string");
- ds_send_savedata.addColumn("bef_prcpdd","string");
- ds_send_savedata.addColumn("aft_prcpdd","string");
- ds_send_savedata.addColumn("lastupdtdt","string");
-
-
- fChangeSchedule();
- if(chk==true){
-
- for(var i=0; i<=ds_schedule.rowcount; i++){
- var bef_prcpdd=ds_schedule.getColumn(i,"bef_prcpdd");
- var aft_prcpdd=ds_schedule.getColumn(i,"aft_prcpdd");
- var lastupdtdt=ds_schedule.getColumn(i,"lastupdtdt");
- if(!utlf_isNull(aft_prcpdd)){
- var newrow = ds_send_savedata.addRow();
- ds_send_savedata.setColumn(newrow,"cpgappno",cpgappno);
- ds_send_savedata.setColumn(newrow,"bef_prcpdd",bef_prcpdd);
- ds_send_savedata.setColumn(newrow,"aft_prcpdd",aft_prcpdd);
- ds_send_savedata.setColumn(newrow,"lastupdtdt",lastupdtdt);
-
- }
- }
-
- if(ds_send_savedata.rowcount > 0)
- {
- var oParam = {};
- oParam.id = "TXADB01040";
- oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
- oParam.method = "reqSetScheduleInfo";
- oParam.inds = "req=ds_send_savedata";
- oParam.outds = "ds_result=item";
- oParam.async = false;
- oParam.callback = "cf_TXADB01040";
- tranf_submit(oParam);
- }
-
- }else{
- return;
- }
- }
- function cf_TXADB01040(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- sysf_messageBox("변경되었습니다.", "I");
- this.close();
- }
- function SMADB01030_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SMADB01030_onload(obj:Form, e:LoadEventInfo)
- {
- fInitialize_SMADB01030();
- }
- function btn_save_onclick(obj:Button, e:ClickEventInfo)
- {
- fSaveSchedule();
- }
- function btn_exit_onclick(obj:Button, e:ClickEventInfo)
- {
- this.close();
- }
- function btn_close_onclick(obj:Button, e:ClickEventInfo)
- {
- this.close();
- }
- ]]></Script>
- </Form>
- </FDL>
|