123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료재료파트 체크리스트항목관리 ( SMRSG03000_진료재료파트체크리스트항목관리.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Author : 최원돈
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sDYBIZDIARYBASEINFO_PATH = "/root/main/dyBizDiaryBaseinfo";
- var sDYBIZDIARYBASELIST_PATH = "/root/main/dyBizDiaryBaseinfo/dyBizDiaryBaselist";
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 초기화
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- //그리드 노드 초기화
- ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.clearData();
-
- var pCode = "'T32','T91'"; // 조회할 CdGrupID 코드정보
- var pDate = utlf_getCurrentDate(); // 조회기준일자
- fGetNursHardCdInfo(pCode, pDate); // 간호코드 조회
-
- ds_codelist.filter("cdgrupid=='T32' || cdid=='-'");
- ds_codelist_T32.copyData(ds_codelist, true);
- ds_codelist.filter("cdgrupid=='T91' || cdid==''");
- ds_codelist_T91.copyData(ds_codelist, true);
- ds_codelist.filter("");
-
- ds_code_codeinputinfo_codelist.copyData(ds_codelist);
- frmf_addComboItem("group3.group2.cmb_flag", "전체", "-", "above"); //부서콤보 Item "전체"추가
- ds_codelist_T91.insertRow(0);
- ds_codelist_T91.setColumn(0, "cdid", "");
- ds_codelist_T91.setColumn(0, "cdnm", "");
- ds_main_cond.setColumn(0, "flag", "-");
-
- group3.group2.cmb_flag.index = 0;
-
- fGetdyBizDiaryBaseinfo();
- }
-
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 진료재료파트 체크리스트항목 등록
- * @---------------------------------------------------
- */
- function fClkBtndyBizDiaryBaseSave()
- {
- if( !fChekValid(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist) ) // 필수 항목 체크
- {
- return;
- }
- // model.removeNodeset("/root/difinfo");
- // model.makeNode("/root/difinfo");
- // var node = instance1.selectSingleNode("/root/difinfo");
- //
- // setDifNode("/root/temp", sDYBIZDIARYBASEINFO_PATH, node);
- //
- // var nodeList = node.childNodes;
-
- var savedata = grdf_getGridUpdateData(group3.grd_worklist, "all");//getNodeListCSV(nodeList);
-
- if( savedata.rowcount > 0 )
- {
- //setDefaultValue(nodeList); // Default Value 설정
-
- ds_send_savedata.clearData();
- ds_send_savedata.copyData(savedata);
-
- var oParam = {};
- oParam.id = "TXMSG03001";
- oParam.service = "csrapp.CsrMngt";
- oParam.method = "reqExeSaveDyBizDiaryBaseList";
- oParam.inds = "savedata=ds_send_savedata reqcond=ds_main_cond";
- oParam.outds = "ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist=dyBizDiaryBaselist";
- oParam.async = false;
- oParam.callback = "cf_TXMSG03001";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMSG03001") < 0 ){
- sysf_messageBox("저장을 실패하였습니다.", "E999");
- return;
- }
- }
- else
- {
- sysf_messageBox("저장할 데이터가", "I004");
- return;
- }
-
- ds_temp_dyBizDiaryBaselist.clearData();
- ds_temp_dyBizDiaryBaselist.copyData(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist);
- }
- function cf_TXMSG03001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : Default Value 설정
- * @---------------------------------------------------
- */
- function setDefaultValue(nodeList)
- {
- for(var i=0; i<nodeList.length; i++)
- {
- var node = nodeList.item(i);
- var nodeListChild = node.childNodes;
-
- while(childNode = nodeListChild.nextNode())
- {
- if ( childNode.nodeName == 'chkyn'
- && childNode.NodeValue == '')
- {
- childNode.NodeValue = "N" // 체크여부 'N' 셋팅
- }
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 필수 항목 체크
- * @---------------------------------------------------
- */
- function fChekValid(nodePath)
- {
- var node = ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist;
- var nodeList = ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist;
- if( ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.rowcount <= 0 )
- {
- sysf_messageBox("저장할 데이터가", "I004");
- return false;
- }
-
- for( var i=0 ; i<ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.rowcount ; i++ )
- {
- if( utlf_isNull(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.getColumn(i, "flag")) ){
- sysf_messageBox((i+1) + " 행의 '구분'은(는) 필수 입력 사항","E008");
- return false;
- }
- if( utlf_isNull(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.getColumn(i, "cdid")) ){
- sysf_messageBox((i+1) + " 행의 '코드'은(는) 필수 입력 사항","E008");
- return false;
- }
- if( utlf_isNull(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.getColumn(i, "item")) ){
- sysf_messageBox((i+1) + " 행의 '항목'은(는) 필수 입력 사항","E008");
- return false;
- }
- if( utlf_isNull(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.getColumn(i, "seq")) ){
- sysf_messageBox((i+1) + " 행의 '순번'은(는) 필수 입력 사항","E008");
- return false;
- }
- }
- return true;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 행을 추가
- * @---------------------------------------------------
- */
- function fClkBtndyBizDiaryBaseAddRow(){
- var ls_flag = ds_main_cond.getColumn(0, "flag");
-
- ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.addRow();
-
- if (ls_flag != "-")
- {
- ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.setColumn(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist.rowcount-1, "flag", ds_main_cond.getColumn(0, "flag")); // 구분
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 진료재료파트 체크리스트항목 조회
- * @---------------------------------------------------
- */
- function fGetdyBizDiaryBaseinfo(){
- //send parameter 설정
- ds_send_reqdata.clearData();
- ds_send_reqdata.addRow();
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMSG03001";
- oParam.service = "csrapp.CsrMngt";
- oParam.method = "reqGetDyBizDiaryBaseList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist=dyBizDiaryBaselist";
- oParam.async = false;
- oParam.callback = "cf_TRMSG03001";
- tranf_submit(oParam);
-
- //submit 호출
- if( arErrorCode.pop("TRMSG03001") < 0 ){
- sysf_messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
-
- ds_temp_dyBizDiaryBaselist.clearData();
- ds_temp_dyBizDiaryBaselist.copyData(ds_main_dyBizDiaryBaseinfo_dyBizDiaryBaselist);
-
- }
- function cf_TRMSG03001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 틀린노드를 저장한다.
- * @---------------------------------------------------
- */
- function setDifNode(desNode, srcNode, returnNodeList)
- {
- var node = instance1.selectSingleNode(desNode);
- var node2 = instance1.selectSingleNode(srcNode);
- var nodeList = node.childNodes;
- var nodeList2 = node2.childNodes;
- var checkYn = false;
- for(var i=0; i<nodeList2.length; i++)
- {
- var infonode2 = nodeList2.item(i);
- var infonodeListChild2 = infonode2.childNodes;
- if (nodeList.length <= i)
- {
- checkYn = true;
- }
- else
- {
- var infonode = nodeList.item(i);
- var infonodeListChild = infonode.childNodes;
-
- while(infochildNode2 = infonodeListChild2.nextNode())
- {
- var infochildNode = infonodeListChild.nextNode();
- if(infochildNode.NodeValue != infochildNode2.NodeValue)
- {
- checkYn = true;
- break;
- }
- }
- }
- if (checkYn)
- {
- returnNodeList.appendChild(infonode2);
- checkYn = false;
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @desc : 콤보박스에 원하는 instance node와 value를 설정
- * @C:\KNUProject\application\webapps\emr\prcpmngtweb\js
- * @---------------------------------------------------
- */
- function addComboInstance(combopath, nodename, nodeval, parentnode){
- var xmlNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
- if(xmlNode == null){
- return;
- }
- nodename = nodename.split("^");
- nodeval = nodeval.split("^");
- if(nodename.length != nodeval.length){
- return;
- }
-
- var label = model.instances(0).createElement(nodename[0]);
- var val = model.instances(0).createElement(nodename[1]);
- var combo = model.instances(0).createElement(parentnode);
- label.value = "" + nodeval[0] + "";
- val.value = "" + nodeval[1] + "";
-
- combo.appendChild(label);
- combo.appendChild(val);
-
- chkNode = model.instances(0).selectSingleNode(combopath);
- if(chkNode == null){
- model.makeNode(combopath);
- srcNode = model.instances(0).selectSingleNode(combopath);
- }else{
- srcNode = model.instances(0).selectSingleNode(combopath);
- }
-
- desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
- srcNode.insertBefore(combo, desNode);
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : Grid의 Column 수정 가능여부 설정
- * @ - 신규 Row 일 경우만 '구분'을 수정할 수 있다.
- * @---------------------------------------------------
- */
- function setonfocusGridColDisabled()
- {
- if (grd_worklist.col == grd_worklist.colRef("flag"))
- {
- if (grd_worklist.valueMatrix(grd_worklist.row,grd_worklist.colRef("instcd")) == "")
- {
- event.defaultAction = "perform";
- }
- else
- {
- event.defaultAction = "cancel";
- }
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : Grid의 Column 수정 가능여부 설정
- * @ - 신규 Row 일 경우만 '코드'를 수정할 수 있다.
- * @---------------------------------------------------
- */
- function setonstarteditGridColDisabled()
- {
- if (grd_worklist.col == grd_worklist.colRef("cdid"))
- {
- if (grd_worklist.valueMatrix(grd_worklist.row,grd_worklist.colRef("instcd")) == "")
- {
- event.defaultAction = "perform";
- }
- else
- {
- event.defaultAction = "cancel";
- }
- }
- }
- ]]></Script>
|