123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMP03400" position="absolute 0 0 593 739" titletext="CPG 문진" oninit="SPMMP03400_oninit" onload="SPMMP03400_onload">
- <Layouts>
- <Layout>
- <Static text="문진 입력" position="absolute 2 5 123 21" id="cap_inqr" class="tit_2" visible="false"/>
- <Button position="absolute 477 705 533 727" id="btn_cnfm" class="btn4" text="확인" onclick="btn_cnfm_onclick"/>
- <Button position="absolute 535 705 591 727" id="btn_cncl" class="btn4" text="취소" onclick="btn_cncl_onclick"/>
- <Div id="grd" taborder="1" position="absolute 0 20 593 701">
- <Layouts>
- <Layout>
- <Grid id="grd_inqr" taborder="0" binddataset="ds_main_monitoringlist" useinputpanel="false" position="absolute 0 4 593 677" anchor="default">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="74"/>
- <Column size="95"/>
- <Column size="223"/>
- <Column size="0"/>
- <Column size="25"/>
- <Column size="158"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell text="스텝명"/>
- <Cell col="1" text="문진명"/>
- <Cell col="2" text="질문"/>
- <Cell col="3" text="답안 속성"/>
- <Cell col="4"/>
- <Cell col="5" text="답안"/>
- </Band>
- <Band id="body">
- <Cell text="bind:stepnm"/>
- <Cell col="1" text="bind:inqrnm"/>
- <Cell col="2" text="bind:qestcnts"/>
- <Cell col="3" enable="false" text="bind:answflag" edittype="combo" displaytype="combo"/>
- <Cell col="4" text="bind:checkyn" edittype="checkbox" displaytype="checkbox"/>
- <Cell col="5" text="bind:answcnts" edittype="text" displaytype="text"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- </Layout>
- </Layouts>
- </Div>
- <Div id="grp" taborder="2" position="absolute 0 20 593 701" visible="true">
- <Layouts>
- <Layout>
- <Div id="grp_inqr" taborder="0" position="absolute 0 5 590 680" anchor="default">
- <Layouts>
- <Layout width="590" height="675"/>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_main_monitoringlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="stepnm" type="STRING"/>
- <Column id="inqrnm" type="STRING"/>
- <Column id="qestcnts" type="STRING"/>
- <Column id="answflag" type="STRING"/>
- <Column id="checkyn" type="STRING"/>
- <Column id="answcnts" type="STRING"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_main_answlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- </Objects>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2015-03-10
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-03-10 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // Lib Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_main.xjs";
- var lastcallyn = "";
- var cpgappno = "";
- var cpgno = "";
- var cpghistseq = "";
- var cpgappno = "";
- var stepno = "";
- var inqrstatcd = "";
- var inqroffyn = "";
- var inqranswdd = "";
- var inqrflag = "";
- var inqrno = "";
- var inqrhistno = "";
- var inqrnm = "";
- var steplistno = "";
- var pntmflag = "";
- //=======================================================================================
- // Event
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Components : Form
- * Components ID : SPMMP03400
- * Event : oninit
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 화면 처음 초기화시 폼초기화
- ****************************************************************************************/
- function SPMMP03400_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj); // 폼 초기화
- }
- /****************************************************************************************
- * Components : Form
- * Components ID : SPMMB00600
- * Event : onload
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 화면오픈시 폼load이후 실행
- ****************************************************************************************/
- function SPMMP03400_onload(obj:Form, e:LoadEventInfo)
- {
- // grd.grd_inqr.mergeCol(2) = false;
- // grd.grd_inqr.mergeCol(3) = false;
- // grd.grd_inqr.mergeCol(4) = false;
- grd.grd_inqr.setCellProperty("body",1,"suppress",1);
- grd.grd_inqr.setCellProperty("body",2,"suppress",2);
- grd.grd_inqr.setCellProperty("body",3,"suppress",3);
- // model.makeNode("/root/send/reqdata");
- ds_send_reqdata.clear();
- lastcallyn = opener.frmf_getParameter("SMMMO034_lastcallyn");
- cpgappno = opener.frmf_getParameter("SMMMO034_cpgappno");
- inqrno = opener.frmf_getParameter("SMMMO034_inqrno");
- inqrhistno = opener.frmf_getParameter("SMMMO034_inqrhistno");
- inqrnm = opener.frmf_getParameter("SMMMO034_inqrnm");
- inqrflag = opener.frmf_getParameter("SMMMO034_inqrflag");
- steplistno = opener.frmf_getParameter("SMMMO034_steplistno");
-
- if(!utlf_isNull(steplistno)) {
- steplistno = steplistno.setReplaceWord("|",",");
- }
- dsf_makeValue(ds_send_reqdata,"lastcallyn" ,"string",lastcallyn);
- dsf_makeValue(ds_send_reqdata,"cpgappno" ,"string",cpgappno);
- dsf_makeValue(ds_send_reqdata,"cpgno" ,"string",opener.frmf_getParameter("SMMMO034_cpgno"));
- dsf_makeValue(ds_send_reqdata,"cpghistseq" ,"string",opener.frmf_getParameter("SMMMO034_cpghistseq"));
- dsf_makeValue(ds_send_reqdata,"pid" ,"string",opener.frmf_getParameter("SMMMO034_pid"));
- dsf_makeValue(ds_send_reqdata,"cretno" ,"string",opener.frmf_getParameter("SMMMO034_cretno"));
- dsf_makeValue(ds_send_reqdata,"orddd" ,"string",opener.frmf_getParameter("SMMMO034_orddd"));
- dsf_makeValue(ds_send_reqdata,"ordtype" ,"string",opener.frmf_getParameter("SMMMO034_ordtype"));
- dsf_makeValue(ds_send_reqdata,"appyn" ,"string",opener.frmf_getParameter("SMMMO034_appyn"));
- dsf_makeValue(ds_send_reqdata,"inqrno" ,"string",inqrno);
- dsf_makeValue(ds_send_reqdata,"inqrhistno" ,"string",inqrhistno);
- dsf_makeValue(ds_send_reqdata,"inqrnm" ,"string",inqrnm);
- dsf_makeValue(ds_send_reqdata,"inqrflag" ,"string",inqrflag); //미시행사유 입력용
- dsf_makeValue(ds_send_reqdata,"steplistno" ,"string",steplistno); //조회 할 스텝 리스트
- if( !utlf_isNull(cpgappno) ) dsf_makeValue(ds_send_reqdata,"histjoinyn","string","Y");
- if( !utlf_isNull(cpgappno) ) dsf_makeValue(ds_send_reqdata,"pntmflag" ,"string",opener.frmf_getParameter("SMMMO034_pntmflag"));
- dsf_setDefaultVal(ds_send_reqdata, "lastcallyn:N,appyn:Y,histjoinyn:N,formitemyn:Y,pntmflag:3");
- var oParam = {};
- oParam.id = "TRMMP03401";
- oParam.service = "prcpbaseapp.CpMngt";
- oParam.method = "reqGetInqrAnswList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_answlist=answlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMP03401";
- tranf_submit(oParam);
- // submit("TRMMP03401", false);
- var inqrList = ds_main_answlist.findRow("answno","0"); // instance1.selectNodes("/root/main/inqrinfo/answlist[answno='0']");
- if(inqrList < 1){
- btn_cnfm.enable = false;
- }else{
- fCreateControl(); //문진표 생성
- }
- }
- function cf_TRMMP03401(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- for(var i = 0 ; i < ds_main_answlist.rowcount ; i++) {
- dsf_makeValue(ds_main_answlist,"organswcnts" ,"string",ds_main_answlist.getColumn(i,"answcnts") ,i);
- dsf_makeValue(ds_main_answlist,"orgetcanswcnts" ,"string",ds_main_answlist.getColumn(i,"etcanswcnts"),i);
- dsf_makeValue(ds_main_answlist,"organswrslt" ,"string",ds_main_answlist.getColumn(i,"answrslt") ,i);
- }
- dsf_setDefaultVal(ds_main_answlist, "answrslt:'',answstatcd:N,organswrslt:'',limno:'',limhistno:'',limcdno:'',setattrno:'',setattrhistno:'',answexistyn:N");
- }
- /**
- * @group :
- * @ver : 2009.05
- * @by : 전지은
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문진표 생성
- * @param :
- * @return :
- * @---------------------------------------------------
- * 다시 짜야할듯...
- */
- function fCreateControl() {
- var ctrl = null;
- var ctrlType = "";
- var ctrlCnt = 0;
- var ctrlID = "";
-
- var wd = 0;
- var ht = 23;
- var topPos = 0;
-
- var iNode = null;
- var jNode = null;
- var nodeIdx = 0;
- var nodeIdx_q = 0;
- var ref = ds_main_answlist; // "/root/main/inqrinfo/answlist"
- // var inqrList = instance1.selectNodes("/root/main/inqrinfo/answlist[answno='0']"); //질문 instance만 대상
- var inqrList = new Dataset;
- ds_main_answlist.filter("answno == 0");
- inqrList.copyData(ds_main_answlist,true);
- ds_main_answlist.filter("");
-
- var titleNo = "0"; //문진 제목 번호
- var titleHistNo = "0"; //문진 제목 번호
- var titleStepNo = "0";
-
- if( inqrList.rowcount <= 0 ) return;
-
- for(var i = 0; i < inqrList.rowcount; i++) {
- //iNode = inqrList.item(i);
-
- // 1. 문진정보
- var vInqrno = inqrList.getColumn(i,"inqrno"); // iNode.selectSingleNode("inqrno");
- var vInqrnm = inqrList.getColumn(i,"inqrnm");
- var vInqrhistno = inqrList.getColumn(i,"inqrhistno");
- var vStepNo = inqrList.getColumn(i,"stepno");
-
- if( vInqrno != titleNo ){ //|| (vInqrno.text = "9999999999" && titleStepNo != vStepNo.text)
- //static 컴포넌트 동적 생성
- // ctrlType = "xforms:caption";
- ctrl = new Static;
- ctrlType = "caption";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- if( i > 0 ) topPos = topPos + 15;
- ht = 23;
- ctrl.init(ctrlID, 10, topPos, 570, topPos+ht); // left, top, right, bottom
- this.grp.grp_inqr.addChild(ctrlID, ctrl);
- // ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + ";left:" + 10 + "px; top:" + topPos + "px; width:" + 560 + " px; height:" + ht + "px; font-size:10pt; color:#000000; font-weight:bolder;");
- ctrl.style.color = "#000000";
- ctrl.style.font.size = 10;
- ctrl.style.font.type = "bold";
- ctrl.show();
- // ctrl.attribute("text") = vInqrnm.text;
- // ctrl.attribute("border-style") = "solid";
- // ctrl.attribute("autoresize") = true;
- ctrl.text = vInqrnm;
- ctrl.style.border = "1px solid #000000";
- topPos = topPos + ht + 5;
- //nodeIdx++;
-
- titleNo = vInqrno;
- titleHistNo = vInqrhistno;
- titleStepNo = vStepNo;
- }
-
- // 2. 질문
- var qestno = inqrList.getColumn(i,"qestno");
- var qestcnts = inqrList.getColumn(i,"qestcnts");
- var qestlen = parseInt(inqrList.getColumn(i,"qestlen"));
- var qestlines = 0;
- var answno = inqrList.getColumn(i,"answno");
- var answflag = inqrList.getColumn(i,"answflag"); //1:다중, 2:단일, 3:입력
- var answexistyn = inqrList.getColumn(i,"answexistyn");
- ht = 23;
- wd = 550;
- if( qestlen >= 50 ){
- qestlines = qestlen / 50;
- qestlines = Math.ceil(qestlines * Math.pow(10, -1*(-1)-1)) / Math.pow(10, -1*(-1)-1);
- if( qestlen > qestlines * 50 ) qestlines++;
- }else qestlines = 1;
-
- // ctrlType = "xforms:caption";
- ctrl = new Static;
- ctrlType = "caption";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- // ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + ";left:" + 10 + "px; top:" + topPos + "px; width:" + wd + " px; height:" + (ht*qestlines) + "px; font-size:10pt; color:#000000; font-weight:bolder;");
- ctrl.init(ctrlID, 10, topPos, 10+wd, topPos+(ht*qestlines)); // left, top, right, bottom
- this.grp.grp_inqr.addChild(ctrlID, ctrl);
- ctrl.style.color = "#000000";
- ctrl.style.font.size = 10;
- ctrl.style.font.type = "bold";
- ctrl.show();
-
- ctrl.text = qestcnts;
- topPos = topPos + (ht*qestlines); // + 5
- nodeIdx++;
- nodeIdx_q = nodeIdx;
-
- // 3. 답안
- // var answList = instance1.selectNodes("/root/main/inqrinfo/answlist[inqrno='"+vInqrno.text+"' and inqrhistno='"+vInqrhistno.text+"' and qestno='"+qestno.text+"' and answno!='0']");
- var answList = new Dataset;
- ds_main_answlist.filter("inqrno=='"+vInqrno+"' && inqrhistno=='"+vInqrhistno+"' && qestno=='"+qestno+"' && answno!='0'");
- answList.copyData(ds_main_answlist,true);
- ds_main_answlist.filter("");
-
- if( answList.rowcount > 0 ){
- //답안존재여부 instance 추가 (2010.05.29 JJE)
- // model.setValue(answexistyn, "Y");
- ds_main_answlist.setColumn(i,"answexistyn","Y");
-
- wd = 540;
- if( answflag == "1" ){ //라디오
- ht = 16;
- // ctrlType = "xforms:select1";
- ctrl = new Radio();
- ctrlType = "select1";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- // ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + "; overflow:visible; appearance:full; cursor:pointer; cols:1; left:" + 20 + "px; top:" + topPos + "px; width:" + wd + " px; height:" + 0 + "px; ");
- ctrl.init(ctrlID, 20, topPos, 20+wd, 0);
- this.grp.grp_inqr.addChild(ctrlID, ctrl);
- // ctrl.attribute("ref") = ref + "[" + nodeIdx_q + "]/answrslt";
- dsf_createDs("ds_rdo_temp",[{col:"label"}, {col:"value"}]);
- ctrl.innerdataset = "ds_rdo_temp";
- ctrl.codecolumn = "value";
- ctrl.datacolumn = "label";
- ctrl.show();
- ctrl.index = 0;
- ctrl.columncount = 1;
-
- //컴포넌트 데이터셋 바인딩
- var objBindItem = new BindItem();
- objBindItem.init("item"+ctrlCnt, "grp.grp_inqr."+ctrlID, "value", "ds_main_answlist", "answrslt");
- this.addChild("item"+ctrlCnt, objBindItem);
- objBindItem.bind();
- // var choices = ctrl.createChild("xforms:choices", "");
- var itemlines = 0;
- var answlines = 0;
-
- //Radio 컴포넌트 동적 생성 및 데이터셋 바인딩
- // var objRdo = new Radio();
- // objRdo.init("rdo1", 40, 100, 100, 150);
- // this.addChild("rdo1", objRdo);
- // objRdo.innerdataset = "Ds_Radio";
- // objRdo.codecolumn = "Code";
- // objRdo.datacolumn = "Val";
- // objRdo.show();
- // objRdo.index = 0;
- // objRdo.columncount = 2;
-
- for(var j=0; j<answList.rowcount; j++){
- //jNode = answList.item(j);
- var answno = answList.getColumn(j,"answno");
- var answcnts = answList.getColumn(j,"answcnts");
- var etcanswcnts = answList.getColumn(j,"etcanswcnts");
- var answlen = parseInt(answList.getColumn(j,"answlen"));
-
- dsf_makeValue(ds_rdo_temp,"label","string",answcnts,j);
- dsf_makeValue(ds_rdo_temp,"value","string",answno,j);
-
- // var itemset = choices.createChild("xforms:item", "");
- // itemset.createChild("xforms:label", "text:"+answcnts+";");
- // itemset.createChild("xforms:value", "text:"+answno.text+";");
-
- if( answlen > 60 ){
- itemlines = answlen / 61;
- itemlines = Math.ceil(itemlines * Math.pow(10, -1*(-1)-1)) / Math.pow(10, -1*(-1)-1);
- if( answlen > itemlines * 60 ) itemlines++;
- }else itemlines = 1;
- answlines = answlines + itemlines;
- nodeIdx++;
-
- if( ref.getColumn(nodeIdx,"answstatcd") == "Y" ){
- if( !utlf_isNull(ref.getColumn(nodeIdx_q,"answrslt")) )
- ref.setColumn(nodeIdx_q,"answrslt", ref.getColumn(nodeIdx_q,"answrslt") + "▦");
- ref.setColumn(nodeIdx_q,"nswrslt" , ref.getColumn(nodeIdx_q,"answrslt") + ref.getColumn(nodeIdx_q,"answno"));
- ref.setColumn(nodeIdx_q,"organswrslt", ref.getColumn(nodeIdx_q,"answrslt") + ref.getColumn(nodeIdx_q,"answno"));
- }
- }
- ctrl.position.height = ht * answlines;
- topPos = topPos + (ht * answlines) ;
-
- //기타상세입력
- if( answno == "99999" ){
- // ctrlType = "xforms:input";
- ctrl = new Edit();
- ctrlType = "input";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- // ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + "; left:" + 35 + "px; top:" + topPos + "px; width:" + (wd-10) + " px; height:" + 19 + "px; ");
- //nodeIdx++;
- ctrl.init(ctrlID, 35, topPos, 35+(wd-10), topPos+19);
- this.grp.grp_inqr.addChild(ctrlID, ctrl);
- ctrl.value = etcanswcnts;
- // ctrl.attribute("text") = etcanswcnts;
- //ctrl.attribute("ref") = ref + "[" + nodeIdx + "]/etcanswcnts";
-
- //컴포넌트 데이터셋 바인딩
- var objBindItem = new BindItem();
- objBindItem.init("item"+ctrlCnt, "grp.grp_inqr."+ctrlID, "value", "ds_main_answlist", "etcanswcnts");
- this.addChild("item"+ctrlCnt, objBindItem);
- objBindItem.bind();
-
- topPos = topPos + 19;
- }
- topPos = topPos + 15;
-
- }else if( answflag == "2" ){ //체크박스
- ht = 16;
- //ctrlType = "xforms:select";
- ctrl = new CheckBox();
- ctrlType = "select";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- // ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + " overflow:visible; appearance:full; cursor:pointer; cols:1; left:" + 20 + "px; top:" + topPos + "px; width:" + wd + " px; height:" + 0 + "px; ");
- ctrl.init(ctrlID, 20, topPos, 20+wd, topPos);
-
- this.grp.grp_inqr.addChild(ctrlID, ctrl);
- //ctrl.attribute("ref") = ref + "[" + nodeIdx_q + "]/answrslt";
- //ctrl.attribute("sep") = "▦";
- //var choices = ctrl.createChild("xforms:choices", "");
- var itemlines = 0;
- var answlines = 0;
-
- for(var j = 0; j < answList.rowcount; j++){
- //jNode = answList.item(j);
- var answno = answList.getColumn(j, "answno"); //jNode.selectSingleNode("answno");
- var answcnts = answList.getColumn(j, "answcnts"); //jNode.selectSingleNode("answcnts").text;
- var etcanswcnts = answList.getColumn(j, "etcanswcnts"); //jNode.selectSingleNode("etcanswcnts").text;
- var answlen = parseInt(answList.getColumn(j, "answlen")); //jNode.selectSingleNode("answlen").text
-
- // var itemset = choices.createChild("xforms:item", "");
- // itemset.createChild("xforms:label", "text:"+answcnts+";");
- // itemset.createChild("xforms:value", "text:"+answno.text+";");
- if( answlen > 60 ){
- itemlines = answlen / 61;
- itemlines = Math.ceil(itemlines * Math.pow(10, -1*(-1)-1)) / Math.pow(10, -1*(-1)-1);
- if( answlen > itemlines * 60 ) itemlines++;;
- }else {
- itemlines = 1;
- }
- answlines = answlines + itemlines;
- nodeIdx++;
-
- if( ref.getColumn(nodeIdx, "answstatcd") == "Y" ){ // model.getValue(ref + "[" + nodeIdx + "]/answstatcd")
- if( ref.getColumn(nodeIdx_q, "answrslt") != "" ) { // model.getValue(ref + "[" + nodeIdx_q + "]/answrslt")
- ref.setColumn(nodeIdx_q, "answrslt", ref.getColumn(nodeIdx_q, "answrslt") + "▦"); //model.setValue( ref + "[" + nodeIdx_q + "]/answrslt", model.getValue(ref + "[" + nodeIdx_q + "]/answrslt") + "▦");
- }
- ref.setColumn(nodeIdx_q, "answrslt", ref.getColumn(nodeIdx_q, "answrslt") + ref.getColumn(nodeIdx, "answno")); //model.setValue( ref + "[" + nodeIdx_q + "]/answrslt", model.getValue(ref + "[" + nodeIdx_q + "]/answrslt") + model.getValue(ref + "[" + nodeIdx + "]/answno"));
- ref.setColumn(nodeIdx_q, "organswrslt", ref.getColumn(nodeIdx_q, "answrslt") + ref.getColumn(nodeIdx, "answno")); //model.setValue( ref + "[" + nodeIdx_q + "]/organswrslt", model.getValue(ref + "[" + nodeIdx_q + "]/answrslt") + model.getValue(ref + "[" + nodeIdx + "]/answno"));
- }
- }
-
-
- //ctrl.attribute("height") = ht * answlines;
- topPos = topPos + (ht * answlines) ;
-
- //기타상세입력
- if( answno == "99999" ){
- //ctrlType = "xforms:input";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- //ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + "; left:" + 35 + "px; top:" + topPos + "px; width:" + (wd-10) + " px; height:" + 19 + "px; ");
-
- //ctrl.attribute("text") = etcanswcnts;
- //ctrl.attribute("ref") = ref + "[" + nodeIdx + "]/etcanswcnts";
- topPos = topPos + 19;
- }
- topPos = topPos + 15;
-
- }else if( answflag == "3" ){
- ht = 19;
- //ctrlType = "xforms:textarea";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- //ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + "; left:" + 20 + "px; top:" + topPos + "px; width:" + wd + " px; height:" + 32 + "px; ");
- nodeIdx++;
- //ctrl.attribute("text") = etcanswcnts;
- //ctrl.attribute("ref") = ref + "[" + nodeIdx_q + "]/answrslt";
- topPos = topPos + 32 + 15;
-
- if( ref.getColumn(nodeIdx, "answstatcd") == "Y" ){ // model.getValue(ref + "[" + nodeIdx + "]/answstatcd") == "Y"
- ref.setColumn(nodeIdx_q, "answrslt", ref.getColumn(nodeIdx_q, "answrslt") + ref.getColumn(nodeIdx, "etcanswcnts")); //model.setValue( ref + "[" + nodeIdx_q + "]/answrslt", model.getValue(ref + "[" + nodeIdx_q + "]/answrslt") + model.getValue(ref + "[" + nodeIdx + "]/etcanswcnts"));
- ref.setColumn(nodeIdx_q, "organswrslt", ref.getColumn(nodeIdx_q, "answrslt") + ref.getColumn(nodeIdx, "etcanswcnts")); //model.setValue( ref + "[" + nodeIdx_q + "]/organswrslt", model.getValue(ref + "[" + nodeIdx_q + "]/answrslt") + model.getValue(ref + "[" + nodeIdx + "]/etcanswcnts"));
- }
-
- }
-
- }
- }
-
- //문진 구성 후, 하단에 공간 생성
- topPos = topPos + 10;
- //ctrlType = "xforms:caption";
- ctrlCnt++;
- ctrlID = ctrlType + ctrlCnt;
- ht = 23;
- //ctrl = grp_inqr.createChild(ctrlType, "id:" + ctrlID + ";left:" + 10 + "px; top:" + topPos + "px; width:" + 560 + " px; height:" + ht + "px; font-size:10pt; color:#000000; font-weight:bolder;");
-
- //grp_inqr.refresh();
- }
- /**
- * @group :
- * @ver : 2010.01
- * @by : 전지은
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 각 답안정보 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveInqrAnswList(){
- //var saveRef = ds_send_savedata; //"/root/send/savedata/savelist";
- var answflag = "";
- var cpgappno = "";
- var inqrno = "";
- var inqrhistno = "";
- var qestno = "";
- var answcnts = "";
- var etcanswcnts = "";
- var answrslt = "";
- var stepno = "";
- var pntmflag = "";
- var inqrflag = "";
- var qestcnts = "";
-
- var orgAnswCnts = "";
- var orgEtcAnswCnts = "";
- var orgAnswrslt = "";
- var cngAnswCnts = "";
- var cngEtcAnswCnts = "";
- var cngAnswrslt = "";
-
- var limno = "";
- var limhistno = "";
- var limcdno = "";
- var setattrno = "";
- var setattrhistno = "";
-
- var statusNode = "";
- var rowNum = 0;
- var answnoNode = null;
- var answCnt = null;
-
- var allList = ds_main_answlist.getCaseCount("answno == '0'"); //instance1.selectNodes("/root/main/inqrinfo/answlist[answno='0']"); //모든 질문 리스트
- //var inqrList = instance1.selectNodes("/root/main/inqrinfo/answlist[answno='0' and answexistyn='Y']"); //답안 작성해야하는 질문 리스트
- var inqrList = new Dataset;
- ds_main_answlist.filter("answno == 0 && answexistyn == 'Y'");
- inqrList.copyData(ds_main_answlist,true);
- ds_main_answlist.filter("");
-
- var answList = ds_main_answlist.getCaseCount("answno == '0' && answexistyn == 'Y' && answrslt != ''"); //instance1.selectNodes("/root/main/inqrinfo/answlist[answno='0' and answexistyn='Y' and answrslt!='']"); //답안 수정이 일어난 질문 리스트
-
- if( allList <= 0 ){
- sysf_messageBox ( "저장할 데이터가" , "I004" ); //없습니다.
- return;
- }
-
- if( inqrList.rowcount > answList ){ // inqrList.length > answList.length
- sysf_messageBox ( "입력하지 않은 항목이 존재하여 저장할 수" , "I004" ); //없습니다.
- return;
- }
-
- saveRef.clearData(); //model.removeNodeset(saveRef);
- dsf_createDs("ds_send_savedata"); //model.makeNode("/root/send/savedata"); ds_send_savedata 이미 만들어놓긴 했다. var saveRef = ds_send_savedata; 여기서 쓰기땜시
-
- for( var i = 0; i < inqrList.rowcount; i++ ){ //질문 리스트만큼 loop
- answnoNode = null;
- answCnt = null;
-
- //var node = inqrList.item(i);
-
- answflag = inqrList.getColumn(i, "answflag"); //node.selectSingleNode("answflag").text;
- cpgappno = inqrList.getColumn(i, "cpgappno"); //node.selectSingleNode("cpgappno").text;
- inqrno = inqrList.getColumn(i, "inqrno"); //node.selectSingleNode("inqrno").text;
- inqrhistno = inqrList.getColumn(i, "inqrhistno"); //node.selectSingleNode("inqrhistno").text;
- qestno = inqrList.getColumn(i, "qestno"); //node.selectSingleNode("qestno").text;
- answcnts = inqrList.getColumn(i, "answcnts"); //node.selectSingleNode("answcnts").text;
- etcanswcnts = inqrList.getColumn(i, "etcanswcnts"); //node.selectSingleNode("etcanswcnts").text;
- qestcnts = inqrList.getColumn(i, "qestcnts"); //node.selectSingleNode("qestcnts").text;
- //질문 키
- stepno = inqrList.getColumn(i, "stepno"); //node.selectSingleNode("stepno").text;
- pntmflag = inqrList.getColumn(i, "pntmflag"); //node.selectSingleNode("pntmflag").text;
- inqrflag = inqrList.getColumn(i, "inqrflag"); //node.selectSingleNode("inqrflag").text;
- statusNode = inqrList.getColumn(i, "status"); //node.selectSingleNode("status");
- // 원래 답안
- orgAnswrslt = inqrList.getColumn(i, "organswrslt"); //node.selectSingleNode("organswrslt").text;
- orgAnswCnts = inqrList.getColumn(i, "organswcnts"); //node.selectSingleNode("organswcnts").text;
- orgEtcAnswCnts = inqrList.getColumn(i, "orgetcanswcnts"); //node.selectSingleNode("orgetcanswcnts").text;
- // 저장할 답안
- answrslt = inqrList.getColumn(i, "answrslt"); //node.selectSingleNode("answrslt").text;
- cngAnswCnts = inqrList.getColumn(i, "answcnts"); //node.selectSingleNode("answcnts").text;
- cngEtcAnswCnts = inqrList.getColumn(i, "etcanswcnts"); //node.selectSingleNode("etcanswcnts").text;
- //필수처방 미발행 사유
- limno = inqrList.getColumn(i, "limno"); //node.selectSingleNode("limno").text;
- limhistno = inqrList.getColumn(i, "limhistno"); //node.selectSingleNode("limhistno").text;
- limcdno = inqrList.getColumn(i, "limcdno"); //node.selectSingleNode("limcdno").text;
- setattrno = inqrList.getColumn(i, "setattrno"); //node.selectSingleNode("setattrno").text;
- setattrhistno = inqrList.getColumn(i, "setattrhistno"); //node.selectSingleNode("setattrhistno").text;
-
-
- //답안 변경사항이 없으면 그냥 skip
- if( answrslt!='' || orgAnswrslt != cngAnswrslt || orgAnswCnts != cngAnswCnts || orgEtcAnswCnts != cngEtcAnswCnts ){
- statusNode = "U"; //model.setValue(statusNode, "U");
- }else{
- continue; //변경사항 없다면 다시 저장하지 않는다
- }
-
- //(1) 직접 입력형태 답안
- if( answflag == "3" ){
- rowNum++;
-
- //answnoNode = instance1.selectSingleNode("/root/main/inqrinfo/answlist[inqrno='"+inqrno+"' and inqrhistno='"+inqrhistno+"' and qestno='"+qestno+"' and answno!='0' and qestcnts='"+qestcnts+"']/answno");
- answnoNode = new Dataset;
-
- ds_main_answlist.filter("inqrno=='"+inqrno+"' && inqrhistno=='"+inqrhistno+"' && qestno=='"+qestno+"' && qestcnts=='" + qestcnts + "'");
- answList.copyData(ds_main_answlist,true);
- ds_main_answlist.filter("");
-
-
- dsf_makeValue(ds_send_savedata, "cpgappno", "string", cpgappno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/cpgappno" , cpgappno);
- dsf_makeValue(ds_send_savedata, "inqrno", "string", inqrno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrno" , inqrno);
- dsf_makeValue(ds_send_savedata, "inqrhistno", "string", inqrhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrhistno" , inqrhistno);
- dsf_makeValue(ds_send_savedata, "qestno", "string", qestno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/qestno" , qestno);
- dsf_makeValue(ds_send_savedata, "answstatcd", "string", answstatcd, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answstatcd" , "Y");
- dsf_makeValue(ds_send_savedata, "answno", "string", answno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answno" , answnoNode.text);
- dsf_makeValue(ds_send_savedata, "answcnts", "string", answcnts, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answcnts" , answrslt);
- dsf_makeValue(ds_send_savedata, "answflag", "string", answflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answflag" , answflag);
- dsf_makeValue(ds_send_savedata, "stepno", "string", stepno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/stepno" , stepno);
- dsf_makeValue(ds_send_savedata, "pntmflag", "string", pntmflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/pntmflag" , pntmflag);
- dsf_makeValue(ds_send_savedata, "inqrflag", "string", inqrflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrflag" , inqrflag);
-
- dsf_makeValue(ds_send_savedata, "limno", "string", limno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limno" , limno);
- dsf_makeValue(ds_send_savedata, "limhistno", "string", limhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limhistno" , limhistno);
- dsf_makeValue(ds_send_savedata, "limcdno", "string", limcdno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limcdno" , limcdno);
- dsf_makeValue(ds_send_savedata, "setattrno", "string", setattrno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/setattrno" , setattrno);
- dsf_makeValue(ds_send_savedata, "setattrhistno", "string", setattrhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/setattrhistno" , setattrhistno);
- }
-
- //(2) 선택 답안 (단일/다중/기타)
- else{
- answCnt = answrslt.split("▦"); //개수? 배열?
- //answnoNode = instance1.selectNodes("/root/main/inqrinfo/answlist[inqrno='"+inqrno+"' and inqrhistno='"+inqrhistno+"' and qestno='"+qestno+"' and answno!='0']"); //답안 전체
- answnoNode = new Dataset;
- ds_main_answlist.filter("inqrno=='"+inqrno+"' && inqrhistno=='"+inqrhistno+"' && qestno=='"+qestno+"' && answno !='0'");
- answnoNode.copyData(ds_main_answlist,true);
- ds_main_answlist.filter("");
-
- if( answnoNode.rowcount > 0 ){ //if( answCnt.length > 0 ){
- for( var j = 0; j < answnoNode.rowcount; j++ ){ //for( var j=0; j<answCnt; j++ ){
- rowNum++;
- var jAnswnoNode = null;
- var jAnswcntsNode = null;
- var jLimnoNode = null;
- var jSetattrnoNode = null;
- var jAnswstatcd = "N";
- //var aNode = answnoNode.item(j);
-
- //답안내용 설정 (기타이면 입력내용으로, 그렇지 않으면 보기내용으로)
- jAnswnoNode = answnoNode.getColumn(j, "answno"); //aNode.selectSingleNode("answno");
- jLimnoNode = answnoNode.getColumn(j, "limno"); // aNode.selectSingleNode("limno");
- jSetattrnoNode = answnoNode.getColumn(j, "setattrno"); //aNode.selectSingleNode("setattrno");
- if( !utlf_isNull(jLimnoNode) || !utlf_isNull(jSetattrnoNode) )
- jAnswcntsNode = answnoNode.getColumn(j, "etcanswcnts"); //aNode.selectSingleNode("etcanswcnts");
- else
- jAnswcntsNode = answnoNode.getColumn(j, "answcnts"); //aNode.selectSingleNode("answcnts");
- //선택여부 설정 (선택값 리스트와 비교하여 Y/N 따져줌)
- if( answCnt.length > 0 ){
- for( var K = 0; K < answCnt.length; K++ ){
- if( answCnt[K] == jAnswnoNode ){
- jAnswstatcd = "Y";
- break;
- }
- }
- }
- dsf_makeValue(ds_send_savedata, "cpgappno", "string", cpgappno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/cpgappno" , cpgappno);
- dsf_makeValue(ds_send_savedata, "inqrno", "string", inqrno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrno" , inqrno);
- dsf_makeValue(ds_send_savedata, "inqrhistno", "string", inqrhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrhistno" , inqrhistno);
- dsf_makeValue(ds_send_savedata, "qestno", "string", qestno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/qestno" , qestno);
- dsf_makeValue(ds_send_savedata, "answstatcd", "string", answstatcd, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answstatcd" , jAnswstatcd); //"Y"
- dsf_makeValue(ds_send_savedata, "answno", "string", answno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answno" , jAnswnoNode.text ); //answCnt[j]
- dsf_makeValue(ds_send_savedata, "answcnts", "string", answcnts, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answcnts" , jAnswcntsNode.text); //answnoNode.text
- dsf_makeValue(ds_send_savedata, "answflag", "string", answflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/answflag" , answflag);
- dsf_makeValue(ds_send_savedata, "stepno", "string", stepno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/stepno" , stepno);
- dsf_makeValue(ds_send_savedata, "pntmflag", "string", pntmflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/pntmflag" , pntmflag);
- dsf_makeValue(ds_send_savedata, "inqrflag", "string", inqrflag, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/inqrflag" , inqrflag);
- //
- dsf_makeValue(ds_send_savedata, "limno", "string", limno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limno" , limno);
- dsf_makeValue(ds_send_savedata, "limhistno", "string", limhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limhistno" , limhistno);
- dsf_makeValue(ds_send_savedata, "limcdno", "string", limcdno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/limcdno" , limcdno);
- dsf_makeValue(ds_send_savedata, "setattrno", "string", setattrno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/setattrno" , setattrno);
- dsf_makeValue(ds_send_savedata, "setattrhistno", "string", setattrhistno, rowNum); // model.makeValue(saveRef + "[" + rowNum + "]/setattrhistno" , setattrhistno);
- } //end for (answnoNode)
- }
- }
-
- } //end for
-
- rowNum++;
- dsf_makeValue(ds_send_savedata, "lastcallyn", "string", ds_send_reqdata.getColumn(0, "lastcallyn")); //model.makeValue("/root/send/savedata/info/lastcallyn", model.getValue("/root/send/reqdata/lastcallyn"));
-
- if( ds_send_savedata.rowcount > 0 ){ // instance1.selectNodes(saveRef).length
-
- var oParam = {};
- oParam.id = "TXMMP03401";
- oParam.service = "prcpmngtapp.CPPrcpMngt";
- oParam.method = "reqExeInqrAnswList";
- oParam.inds = "req=ds_send_savedata";
- oParam.async = false;
- oParam.callback = "cf_TXMMP03401";
- tranf_submit(oParam);
-
- }
- else close();
- }
- function cf_TXMMP03401(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- var mainObj = frmf_getMainViewer();
- curCpObj = mainObj.frmf_findPopup("SMMMP00800"); //mainObj.javascript.getOpenWindow("SMMMP00800"); //활성화된 CP Main 화면 object loading
- if(curCpObj != null) opener.fGetInqrList();
-
- close();
- }
- function btn_cnfm_onclick(obj:Button, e:ClickEventInfo)
- {
- fSaveInqrAnswList();
- }
- function btn_cncl_onclick(obj:Button, e:ClickEventInfo)
- {
- close();
- }
- ]]></Script>
- </Form>
- </FDL>
|