123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료재료파트 체크리스트항목관리 ( 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(){
-
- //그리드 노드 초기화
- model.removenode("/root/main/dyBizDiaryBaseinfo");
- model.makenode("/root/main/dyBizDiaryBaseinfo");
-
- var pCode = "'T32','T91'"; // 조회할 CdGrupID 코드정보
- var pDate = getCurrentDate(); // 조회기준일자
- fGetNursHardCdInfo(pCode, pDate); // 간호코드 조회
-
- model.makenode("/root/code/codeinputinfo");
- model.copyNode("/root/code/codeinputinfo", "/root/code/codeinfo");
- addComboInstance("/root/code/codeinfo" , "cdid^cdnm", "-^전체", "codelist"); //부서콤보 Item "전체"추가
- addComboInstance("/root/code/codeinfo" , "cdid^cdnm", "^", "codelist"); //부서콤보 Item "전체"추가
- model.makeValue("/root/main/cond/flag", "-");
- model.refresh();
- cmb_flag.select(0);
- fGetdyBizDiaryBaseinfo();
- }
-
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 진료재료파트 체크리스트항목 등록
- * @---------------------------------------------------
- */
- function fClkBtndyBizDiaryBaseSave()
- {
- if (!fChekValid(sDYBIZDIARYBASEINFO_PATH)) // 필수 항목 체크
- {
- 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;
- if(nodeList.length > 0)
- {
- setDefaultValue(nodeList); // Default Value 설정
-
- var savedata = getNodeListCSV(nodeList);
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata", savedata);
-
- if(!submit("TXMSG03001")){
- messageBox("저장을 실패하였습니다.", "E999");
- return;
- }
- }
- else
- {
- messageBox("저장할 데이터가", "I004");
- return;
- }
- model.removeNodeset("/root/temp");
- model.makeNode("/root/temp");
- model.copyNode("/root/temp", sDYBIZDIARYBASEINFO_PATH);
- }
- /**
- * @---------------------------------------------------
- * @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 = instance1.selectSingleNode(nodePath);
- var nodeList = node.childNodes;
- if (nodeList.length <= 0)
- {
- messageBox("저장할 데이터가", "I004");
- return false;
- }
-
- for(var i=0; i<nodeList.length; i++)
- {
- var node = nodeList.item(i);
- var nodeListChild = node.childNodes;
-
- while(childNode = nodeListChild.nextNode())
- {
- if ( childNode.nodeName == 'flag'
- || childNode.nodeName == 'cdid'
- || childNode.nodeName == 'item'
- || childNode.nodeName == 'seq')
- {
- if (childNode.NodeValue == "")
- {
- messageBox((i+1) + " 행의 '" + grd_worklist.valueMatrix(0, grd_worklist.colRef(childNode.nodeName))+ "'은(는) 필수 입력 사항","E008");
- return false
- }
- }
- }
- }
- return true;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 행을 추가
- * @---------------------------------------------------
- */
- function fClkBtndyBizDiaryBaseAddRow(){
- var ls_flag = model.getValue("/root/main/cond/flag");
- grd_worklist.addRow(true);
-
- if (ls_flag != "-")
- {
- model.makeValue(sDYBIZDIARYBASELIST_PATH + "["+(getNodesetCount(sDYBIZDIARYBASELIST_PATH))+"]/flag", model.getValue("/root/main/cond/flag")); // 구분
- }
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @creat : 20101023
- * @author : 최원돈
- * @desc : 진료재료파트 체크리스트항목 조회
- * @---------------------------------------------------
- */
- function fGetdyBizDiaryBaseinfo(){
- //send parameter 설정
- model.removenode("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata", "/root/main/cond");
-
- //submit 호출
- if(!submit("TRMSG03001")){
- messageBox("조회를 실패하였습니다.", "E999");
- return;
- }
-
- model.removeNodeset("/root/temp");
- model.makeNode("/root/temp");
- model.copyNode("/root/temp", sDYBIZDIARYBASEINFO_PATH);
- model.refresh();
- }
- /**
- * @---------------------------------------------------
- * @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";
- }
- }
- }
|