123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- /* ---------------------------------------------------------------------
- 다학제간환자교육정보통합조회 (SMMRJ00200_다학제간환자교육정보통합조회.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By taebum
- : 2009-12-07 오전 10:05:51
- ---------------------------------------------------------------------- */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : xforms-ready시 수행한다 */
- /* return : */
- /* --------------------------------------------------*/
- function fInit() {
- var vPid ="";
- var vOrddd ="";
- var vCretno ="";
- var vEducd ="";
- var vEducnts ="";
- var vWorkPart ="";
-
- if (isPopup()) {
- vPid = opener.javascript.getParameter("SPMRJ00200_pid");
- vOrddd = opener.javascript.getParameter("SPMRJ00200_orddd");
- vCretno = opener.javascript.getParameter("SPMRJ00200_cretno");
- vEducd = opener.javascript.getParameter("SPMRJ00200_educd");
- vEducnts = opener.javascript.getParameter("SPMRJ00200_educnts");
- vWorkPart = opener.javascript.getParameter("SPMRJ00200_workpart");
- }else
- {
- vPid = getParameter("SPMRJ00200_pid");
- vOrddd = getParameter("SPMRJ00200_orddd");
- vCretno = getParameter("SPMRJ00200_cretno");
- vEducd = getParameter("SPMRJ00200_educd");
- vEducnts = getParameter("SPMRJ00200_educnts");
- vWorkPart = getParameter("SPMRJ00200_workpart");
-
- }
- if((vPid== "")||(vOrddd=="")||(vCretno=="")){
- messageBox("전달 인자값이 누락되었습니다.","I007"); //*I007=확인하십시오.
- return;
- }
- model.makeValue("/root/init/pinfo/pid", vPid);
- model.makeValue("/root/init/pinfo/orddd", vOrddd);
- model.makeValue("/root/init/pinfo/cretno",vCretno);
- model.makeValue("/root/init/pinfo/workpart",vWorkPart);
- fSelectCodeList();
-
- ipt_edudd.value = getCurrentDate().substr(0, 8);
- ipt_edutm.value = getCurrentTime().substr(0, 4);
-
- fSelectEducCntsList();
- if ((vEducd!="")||(vEducnts!="")){
- fOpenRowAdd(vEducd,vEducnts,vPid,vOrddd,vCretno);
- }
- }
- /**
- * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fOpenRowAdd(param1,param2,param3,param4,param5){
- datagrid06.addRow(); // 입력할 행 추가.
- var cur_row = datagrid06.row; // 추가된 행 번호 가져오기
- datagrid06.valueMatrix(cur_row,1) = param1;
- datagrid06.valueMatrix(cur_row,2) = param2;
- datagrid06.valueMatrix(cur_row,10) = param3;
- datagrid06.valueMatrix(cur_row,11) = param4;
- datagrid06.valueMatrix(cur_row,12) = param5;
- }
- function fSelectCodeList(){
- emrfGetCodeList(new Array("J000000006","J000000007","J000000008","J000000009","J000000010","J000000011","J000000012","J000000013","J000000014"), new Array("/root/init/J000000006","/root/init/J000000007","/root/init/J000000008","/root/init/J000000009","/root/init/J000000010","/root/init/J000000011","/root/init/J000000012","/root/init/J000000013","/root/init/J000000014"));
- emrfGetCodeList(new Array("J000000014"), new Array("/root/init/list14"),"Y");
- model.refresh();
- }
- function fSelectEducCntsList(){
- model.makeValue("/root/send/pid", model.getValue("/root/init/pinfo/pid"));
- model.makeValue("/root/send/orddd", model.getValue("/root/init/pinfo/orddd"));
- model.makeValue("/root/send/cretno",model.getValue("/root/init/pinfo/cretno"));
- submit("TRMRJ00202"); // 입력화면으로 입력만 가능 하도록 처리 주석 풀면 조회하여 기존 데어터도 처리 가능
- }
- function fCheckGrid14(){
- var selectedRow = datagrid14.row;
- if(0 == selectedRow){return;}
- var selectValue = datagrid14.valueMatrix(selectedRow,0);
- if (selectValue=="true")
- {
- var refcdid1Value = datagrid14.valueMatrix(selectedRow,5);
- if(!(refcdid1Value=="-"))
- {
- document.controls("button"+refcdid1Value).dispatch("onclick");
- }
- }
- }
- function fSelectedAdd(){
- var datagrid1Rows = datagrid14.rows;
- if(0 == datagrid1Rows){return;}
- var vSpace = " ";
- var vComma = ",";
- var vPid = model.getValue("/root/init/pinfo/pid");
- var vOrddd = model.getValue("/root/init/pinfo/orddd");
- var vCretno = model.getValue("/root/init/pinfo/cretno");
- for(i=1; i< datagrid1Rows;i++)
- {
- var selectValue = datagrid14.valueMatrix(i,0);
- var vAdverb = "";
- if(selectValue=="true")
- {
- var vCdidJ0000000014 = datagrid14.valueMatrix(i,4);
- var vMemo = datagrid14.valueMatrix(i,2);
- var vRefcdid1Value = datagrid14.valueMatrix(i,5);
- if(!(vRefcdid1Value == "-"))
- {
- var subDatagridSize = document.controls("datagrid"+vRefcdid1Value).rows
- var vSubTotalMomo = "";
- for(k=1; k< subDatagridSize;k++)
- {
- var subSelectValue = document.controls("datagrid"+vRefcdid1Value).valueMatrix(k,0);
- if(subSelectValue=="true")
- {
- vAdverb = " ";
- var vSubMomo = document.controls("datagrid"+vRefcdid1Value).valueMatrix(k,1);
- if (vSubTotalMomo =="")
- {
- vSubTotalMomo = vSubMomo;
- }else
- {
- vSubTotalMomo = vSubTotalMomo+vComma+vSpace+vSubMomo;
- }
- }
- }
- vMemo = vSubTotalMomo+vAdverb+vMemo;
- }
- datagrid06.addRow();
- var vAddRow = datagrid06.rows - 1;
- datagrid06.valueMatrix(vAddRow,1) = vCdidJ0000000014;
- datagrid06.valueMatrix(vAddRow,2) = vMemo;
- datagrid06.valueMatrix(vAddRow,10) = vPid;
- datagrid06.valueMatrix(vAddRow,11) = vOrddd;
- datagrid06.valueMatrix(vAddRow,12) = vCretno;
- datagrid06.refresh();
- }
- }
- ClearDataGridCheck(datagrid14);
- ClearDataGridCheck(datagridJ000000006);
- ClearDataGridCheck(datagridJ000000007);
- ClearDataGridCheck(datagridJ000000008);
- ClearDataGridCheck(datagridJ000000009);
- }
- function ClearDataGridCheck(grid){
- var gridRows = grid.rows;
- for(i=1; i< gridRows;i++){
- grid.valueMatrix(i,0) = "false";
- }
- }
- /**
- * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fClickRowAddBtn(){
- var vPid = model.getValue("/root/init/pinfo/pid");
- var vOrddd = model.getValue("/root/init/pinfo/orddd");
- var vCretno = model.getValue("/root/init/pinfo/cretno");
- datagrid06.addRow(); // 입력할 행 추가.
- var cur_row = datagrid06.row; // 추가된 행 번호 가져오기
- datagrid06.valueMatrix(cur_row,10) = vPid;
- datagrid06.valueMatrix(cur_row,11) = vOrddd;
- datagrid06.valueMatrix(cur_row,12) = vCretno;
- }
- /**
- * 삭제 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fClickDeleteBtn(){
- var cur_row = datagrid06.row; // 행 번호 가져오기
- var iStatus = datagrid06.rowstatus(cur_row);
- if(cur_row <= 0 || cur_row =="undefined") {
- messageBox("삭제할 행을 선택하시기 바랍니다.","C002"); // *C002=선택하십시오 !
- return;
- }
- if (iStatus == 1 || iStatus == 3){ // 새로 삽입된 행이면
- datagrid06.deleteitem(cur_row);
- }else if (iStatus == 4){ // 삭제로 표시된 행이면
- datagrid06.removestatus(cur_row, "delete");
- }else{
- datagrid06.addStatus(cur_row, "delete");
- }
- }
- function fCheckedGrd(grid){
- var currRow = grid.row
- var checkedYn = grid.valueMatrix(currRow,0);
- var checkedRowValue = grid.valueMatrix(currRow,2);
- var colDisabledCol = "";
- var colDisabledYN = "";
- var rowDefaultValue = "";
- if(checkedYn=="true"){
- colDisabledYN = "false";
- colDisabledCol = "#DDDDDD";
- rowDefaultValue = "";
- }else{
- colDisabledYN = "true";
- colDisabledCol = "#FFFFFF";
- rowDefaultValue = "직접입력(free text)";
- }
- if(checkedRowValue=="999"){
- grid.cellAttribute("disabled", currRow, 1 ) = colDisabledYN;
- grid.cellstyle("background-color", currRow, 1) = colDisabledCol;
- if (colDisabledYN=="true"){
- grid.valueMatrix(currRow, 1) = rowDefaultValue;
- }
- }
- }
- function fAddOtherGrid(){
- var vGridRows06 = datagrid06.rows;
- var vGridRows10 = datagrid10.rows;
- var vGridRows11 = datagrid11.rows;
- var vGridRows12 = datagrid12.rows;
- var vGridRows13 = datagrid13.rows;
- var vGridCheckValue10 = "";
- var vGridCheckValue11 = "";
- var vGridCheckValue12 = "";
- var vGridCheckValue13 = "";
- var vGridCheckCnt10 = 0;
- var vGridCheckCnt11 = 0;
- var vGridCheckCnt12 = 0;
- var vGridCheckCnt13 = 0;
- for(i10=1; i10<vGridRows10; i10++)
- {
- if(datagrid10.valueMatrix(i10,0) =="true")
- {
- vGridCheckCnt10 = vGridCheckCnt10 + 1;
- vGridCheckValue10 = vGridCheckValue10+datagrid10.valueMatrix(i10,1);
- }
- }
- if(vGridCheckCnt10==0){
- messageBox("선택된 학습준비도 항목이 없습니다. ","I007");//I007=확인하십시오.
- return false;
- }
- for(i11=1; i11<vGridRows11; i11++)
- {
- if(datagrid11.valueMatrix(i11,0) =="true")
- {
- vGridCheckCnt11 = vGridCheckCnt11 + 1;
- if(vGridCheckValue11=="")
- {
- vGridCheckValue11 = vGridCheckValue11+datagrid11.valueMatrix(i11,1);
- }else
- {
- vGridCheckValue11 = vGridCheckValue11+", "+datagrid11.valueMatrix(i11,1);
- }
- }
- }
- if(vGridCheckCnt11==0){
- messageBox("선택된 교육대상자 항목이 없습니다. ","I007");//I007=확인하십시오.
- return false;
- }
- for(i12=1; i12<vGridRows12; i12++)
- {
- if(datagrid12.valueMatrix(i12,0) =="true")
- {
- vGridCheckCnt12 = vGridCheckCnt12 + 1;
- if(vGridCheckValue12=="")
- {
- vGridCheckValue12 = vGridCheckValue12+datagrid12.valueMatrix(i12,1);
- }else
- {
- vGridCheckValue12 = vGridCheckValue12+", "+datagrid12.valueMatrix(i12,1);
- }
- }
- }
- if(vGridCheckCnt12==0){
- messageBox("선택된 교육방법 항목이 없습니다. ","I007");//I007=확인하십시오.
- return false;
- }
- for(i13=1; i13<vGridRows13; i13++)
- {
- if(datagrid13.valueMatrix(i13,0) =="true")
- {
- vGridCheckCnt13 = vGridCheckCnt13 + 1;
- vGridCheckValue13 = vGridCheckValue13+datagrid13.valueMatrix(i13,1);
- }
- }
- if(vGridCheckCnt13==0){
- messageBox("선택된 교육결과 항목이 없습니다. ","I007");//I007=확인하십시오.
- return false;
- }
- for(i06=1; i06<vGridRows06; i06++)
- {
- datagrid06.valueMatrix(i06,3) = vGridCheckValue10;
- datagrid06.valueMatrix(i06,4) = vGridCheckValue11;
- datagrid06.valueMatrix(i06,5) = vGridCheckValue12;
- datagrid06.valueMatrix(i06,6) = vGridCheckValue13;
- datagrid06.valueMatrix(i06,7) = ipt_edudd.value;
- datagrid06.valueMatrix(i06,8) = ipt_edutm.value;
-
- }
- return true;
- }
- /*
- * 저장 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fOnClickSaveBtn(){
- if(!checkGridUpdate(datagrid06)){
- messageBox("저장할 자료가 존재하지 않습니다. ","I007");//I007=확인하십시오.
- return;
- }
-
- if(getUserInfo("jobkindcd") ==""){
- messageBox("직종코드가 존재하지 않습니다. ","I007");//I007=확인하십시오.
- return;
- }
-
- if(!fAddOtherGrid()){
- return;
- }
-
- if(checkGridField(datagrid06,"educd▦educnts▦eduprepyn▦eduwho▦eduway▦edurslt▦edudd▦edutm▦pid▦orddd▦cretno")==false){
- messageBox("데이터중에 비어있는 필수필드가 있습니다. ","I007");//I007=확인하십시오.
- return;
- }
- model.makeValue("/root/send/listdata",datagrid06.getUpdateData());
- if ( submit("TXMRJ00201") ) {
-
- ClearDataGridCheck(datagrid10);
- ClearDataGridCheck(datagrid11);
- ClearDataGridCheck(datagrid12);
- ClearDataGridCheck(datagrid13);
- model.removeNodeset("/root/main/educcntslists");
- model.refresh();
-
- if( messageBox("다학제 간 환자 교육내용이 등록 되었습니다. ","Q008")!=6){//추가 하시겠습니까?
- fClose();
- }
-
- }
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @return : bool
- * @---------------------------------------------------
- */
- function checkGridUpdate(grid)
- {
- var iData = grid.getUpdateDataXml("insert");
- var uData = grid.getUpdateDataXml("update");
- var dData = grid.getUpdateDataXml("delete");
- if (iData=="" && uData=="" && dData=="") return false;
- else return true;
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @return : bool
- * @---------------------------------------------------
- */
- function checkGridField(grid, field){
- var nodeset = grid.nodeset;
- var iStatus;
- //var iData = grid.getUpdateDataXml("insert");
- for (i=grid.fixedRows; i<grid.rows; i++){
- iStatus = grid.rowstatus(i);
- if (iStatus == 1 || iStatus == 3){
- var fieldArr = field.split("▦");
- if(fieldArr.length < 1){
- return false;
- }
- for(var j = 0; j < fieldArr.length; j++){
- if(fieldArr[j] == null || fieldArr[j] == "" || fieldArr[j] == "undefined"){
- continue;
- }
- if(model.getValue(nodeset+"["+i+"]/"+fieldArr[j])=="") return false;
- }
- }
- }
- return true;
- }
- function fClose(){
- /*
- * 닫기 버튼 클릭시 저장 여부 체크 하여 저장 이전에 메세지 출력하고 RETURN 처리함
- */
- if(checkGridUpdate(datagrid06)&&model.getValue("/root/init/pinfo/workpart")=="inreq"){ // "inreq" 입원 의뢰의 경우 저장 필수 처리
- messageBox("저장 하지 않은 자료가 존재합니다. ","I007");//I007=확인하십시오.
- return;
- }
- window.close();
- }
|