123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783 |
- /*function list
- fMouseRghtBtnPopupPrcp: 오른쪽 마우스 팝업
- fMouseRghtBtnPopupSet: 오른쪽 마우스 팝업
- fInitialize: 약속처방화면 초기화
- fAddPrmsDiagSet : 약속처방 SET 폴더 추가
- fUpdtPrmsDiagSet : 약속처방 SET 폴더 수정
- fDelPrmsDiagSet : 약속처방 SET 폴더 삭제
- fShowWndIptBox : 약속처방 폴더명을 입력할 InputBox를 보여줌.
- fSetPrmsDiagInfo : 약속진단 SET정보 SETTING
- */
- var sPRMSPRCPSETLIST = "/root/main/prmsprcpsetinfo/prmsprcpsetlist";
- var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist";
- var gEXPANDDEPTH = 1;
- /**
- * @desc : 약속처방 처방Grid 오른쪽 마우스 팝업 처리
- * @param :
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 3. 25
- * @---------------------------------------------------
- */
- function fMouseRghtBtnPopupPrcp(){
- if (event.button == 3 && grd_promprcplist.mouseRow >= grd_promprcplist.fixedRows){
- app.showPopupMenu(true);
- if(grd_promprcplist.isCell(event.target)){
- window.setPopupMenu(true, "/root/init/msrght/mouserghtprcp", "label", "func", false);
- }else{
- window.setPopupMenu(false);
- }
- }
- }
- /**
- * @desc : 약속처방 Set Grid 오른쪽 마우스 팝업 처리
- * @param :
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 3. 25
- * 오지훈 2007. 4. 24 - 마우스포커스가 트리뷰의 cell을 선택한 경우에만 팝업이 뜨게 처리
- * @---------------------------------------------------
- */
- function fMouseRghtBtnPopupSet(){
- if(event.button == 3){
- var rowpos = trv_promprcpset.mouseRow;
- trv_promprcpset.select(rowpos);
- }
-
- var srchcond1 = model.getValue("/root/init/srchcond1"); //개인, 과, 타과 구분
- var srchcond3 = model.getValue("/root/init/srchcond3"); //약속, prlt 구분
- if(srchcond3 == "P" && srchcond1 == "T"){
- setPopupMenu("trv_promprcpset", false, "/root/init/msrght/mouserghtset3", "label", "func");
- }else{
- setPopupMenu("trv_promprcpset", false, "/root/init/msrght/mouserghtset", "label", "func");
-
- }
- }
- /**
- * @desc : 약속처방 SET 폴더 추가
- * @
- * @param : onmousedown
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fAddPrmsDiagSet(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){
- return;
- }
- var rowPos = item.index + 1;
- fSetPrmsDiagInfo(rowPos, "i");
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status", "i");
- model.refresh();
-
- var autoflag = model.getValue("/root/init/autoflag");
- if(autoflag != "Y"){
- group1.attribute("top") = 550;
- group1.attribute("height") = 55;
- model.setFocus("ipt_setnm");
- model.refresh();
- }else{
- // fShowWndIptBox();
- rectangle1.attribute("visibility") = "visible";
- caption1.attribute("visibility") = "visible";
- input1.attribute("visibility") = "visible";
- button2.attribute("visibility") = "visible";
- button4.attribute("visibility") = "visible";
- model.setFocus("input1");
- }
- }
- /**
- * @desc : 약속처방 SET 폴더 수정
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fUpdtPrmsDiagSet(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var rowPos = item.index + 1;
- if(fSetPrmsDiagInfo(rowPos, "u")!=-1){
- fShowWndIptBox();
- }
- }
- /**
- * @desc : 약속처방 SET 폴더 삭제
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelPrmsDiagSet(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var rowPos = item.index + 1;
- if(fSetPrmsDiagInfo(rowPos, "d")!= -1){
- fSavePrmsDiagSet();
- }
- }
- /**
- * @desc : 약속처방SET 폴더명을 입력할 InputBox를 보여줌.
- * @
- * @param : onmousedown
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fShowWndIptBox(){
- if(event.clientY >= 750){
- var ypos = 750;
- }else{
- var ypos = event.clientY
- }
- if( opener.model.getValue("/root/cp") == "S" ){
- if(event.clientY >= 550){
- var ypos = 550;
- }
- }
- group1.attribute("top") = ypos;
- group1.attribute("height") = 55;
- model.setFocus("ipt_setnm");
- model.refresh();
- }
- /**
- * @desc : 약속처방 SET정보 SETTING
- * @
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fSetPrmsDiagInfo(rowpos, status){
- var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
- if(status == "u" && setno == 1){
- messageBox("선택한 폴더는 수정", "E001");
- return -1;
- }else if(status == "d" && setno == 1){
- messageBox("선택한 폴더는 삭제", "E001");
- return -1;
- }
-
- var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
- if(status == "d"){
- var rtnval = messageBox("[" + setnm + "]하위의 모든 폴더가 지워집니다. " + "[" + setnm + "]폴더를", "Q001");
- if(rtnval == 7){
- return -1;
- }
- }
-
- var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
- var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/supsetno");
- var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setkindcd");
- var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setclscd");
- var settrgtcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settrgtcd");
- var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
- var sortno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/sortno");
- var prtlno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/prtlno");
- var ioflag = model.getValue("/root/init/srchcond4");
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/levl" , levl);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setno" , setno);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setkindcd", setkindcd);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setclscd" , setclscd);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settrgtcd", settrgtcd);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settypecd", settypecd);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status" , status);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm" , setnm);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/prtlno" , prtlno);
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/ioflag" , ioflag);
-
- if(status == "i"){
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , setno);
- }else{
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , supsetno);
- }
- /*
- if(sortno == "")
- sortno = 1000;
- */
-
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/sortno" , sortno);
- model.refresh();
-
- }
- /**
- * @desc : 약속처방 SET저장
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fSavePrmsDiagSet(){
- var setnm = model.getValue("/root/main/iptbox/setnm");
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm", setnm);
- model.copyNode("/root/send/savedata", sPRMSPRCPSETLIST_HIDDEN);
- if(submit("TXMMB00601",false)){
- model.setValue(trv_promprcpset.attribute("ref"), "");
- trv_promprcpset.rebuild();
- }
- }
- /**
- * @desc : 약속처방 SET저장
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fOndrop(){
- var rowpos = trv_promprcpset.mouseRow + 1;
- var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
- var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
- var x = event.clientX;
- var maxposX = 24 + 16 * (levl - 1) + ( 13 * setnm.length);
- var minposX = 24 + 16 * (levl - 1);
-
- if(maxposX > x){
- fPrmsDiagSetDrop();
- }else{
- return;
- }
- }
- /**
- * @desc : 약속진단SET Drag
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fPrmsDiagSetDrag(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var rowpos = item.index + 1;
- fSetPrmsDiagInfo(rowpos, "u");
- var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
- model.setValue("/root/main/iptbox/setnm", setnm);
- model.refresh();
- //fSavePrmsDiagSet();
- }
- /**
- * @desc : 약속진단SET Drop
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fPrmsDiagSetDrop(){
- var rowpos = trv_promprcpset.mouseRow + 1;
- var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
- var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
- var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/supsetno");
- var cmplevl = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/levl");
- var cmpsetno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/setno");
- var cmpsupsetno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno");
- if(setno == cmpsetno){
- messageBox("동일한 위치로 이동", "E001");
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("background-color") = "#ffffff";
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("text-decoration") = "";
- return;
- }else if(setno == cmpsupsetno){
- messageBox("지정된 위치로 이동", "E001");
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("background-color") = "#ffffff";
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("text-decoration") = "";
- return;
- }
-
- //이동하는 SET폴더의 depth가 도착하는 곳보다 낮은 레벨일 경우,
- //자신의 child node 아래로 이동하는 것을 방지함.
- if(cmplevl < levl){
- var rootlevl;
- var rootsetno;
-
- while(cmplevl != rootlevl){
- rootlevl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
- rootsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
- rowpos--;
- }
- if(rootsetno == cmpsetno){
- messageBox("지정된 위치로 이동", "E001");
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("background-color") = "#ffffff";
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("text-decoration") = "";
- return;
- }
- }
- model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , setno);
- model.refresh();
- fSavePrmsDiagSet();
- }
- /**
- * @desc : 약속진단SET MouseOver
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fMouseOver(){
- var rowpos = trv_promprcpset.mouseRow + 1;
- var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
- var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
-
- var x = event.clientX;
- var maxposX = 24 + 16 * (levl - 1) + ( 10 * setnm.length);
- var minposX = 24 + 16 * (levl - 1);
-
- if(maxposX > x){
- for ( var i = 0; i < trv_promprcpset.length; i++ ) {
- trv_promprcpset.item(i).attribute("background-color") = "#ffffff";
- trv_promprcpset.item(i).attribute("text-decoration") = "";
- }
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("background-color") = "#ece1ec";
- trv_promprcpset.item(trv_promprcpset.mouseRow).attribute("text-decoration") = "underline";
-
- }else{
- return;
- }
- }
- /**
- * @desc : TreeView 선택된 item의 background color를 clear함
- * @
- * @param :
- * @return : void
- * @authur : 오지훈 2007. 4. 24
- * @---------------------------------------------------
- */
- function fClrTreeViweSelect(){
- for(var i = 0; i < trv_promprcpset.length; i++){
- trv_promprcpset.item(i).attribute("background-color") = "#ffffff";
- trv_promprcpset.item(i).attribute("text-decoration") = "";
- }
- }
- function fReqPrmsDetlSet() {
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){
- return;
- }
- var rowpos = item.index + 1;
- fSetPrmsDiagInfo(rowpos);
- var setno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/setno");
- var settypecd = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/settypecd");
- if(setno == 1){
- return;
- }
- model.setValue ( "/root/send/cond1", setno);
- model.setValue ( "/root/send/cond2", settypecd);
- var insukind = opener.model.getValue ( "/root/paminfo/list/insukind");
- if (isNull(insukind)){
- insukind = model.getValue ( "/root/paminfo/list/insukind");
- }
-
- if (!isNull(insukind)){
- model.makeValue( "/root/send/cond3", insukind ); //외래follow up
- }
- model.makeValue("/root/send/prcpdd", opener.model.getValue("/root/init/prcpdd"));
- if(submit( "TRMMB00202" )){
- fAbsnSrch ( "/root/main/prcp/prcplist", grd_promprcplist );
- }
- }
-
- function fPrmsSave() {
- var setno = model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno");
- var settypecd = model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd");
- var setnm = model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm");
- var srchcond1 = model.getValue("/root/init/srchcond1");
- if ( opener.model.getValue("/root/paminfo/list/insukind") != "11" && opener.model.getValue("/root/paminfo/list/insukind") != "21" && opener.model.getValue("/root/paminfo/list/insukind") != "22" ) {
- //messageBox ( "처방화면에서 약속처방 등록시는 보험유형과 급비기준이 관련있으므로 [건강보험,의료급여1종,의료급여2종] 환자에서만 약속처방 등록이", "I006" );
- //return;
- }
- if ( srchcond1 == "T" ) {
- if (model.getValue ( "/root/main/cond/deptcd" ) != getUserInfo("dutplcecd")) {
- messageBox ( "타과 약속처방폴더에는 저장", "E001" );
- return;
- }
- }
-
- //자동폴더 생성 후 약속처방 저장 기능
- //2008.07.25 오지훈
- if(model.getValue("/root/init/autoflag") != "Y"){
- if(setno == 1 || isNull(setnm)){ //최상위 폴더 또는 선택된 약속처방폴더가 없는 경우는 자동으로 폴더를 띄움
- trv_promprcpset.select(0);
- model.setValue("/root/init/autoflag", "Y");
- fAddPrmsDiagSet();
- return;
-
- }else{
- if ( messageBox( setnm + " 약속처방폴더에 선택하신 처방을", "Q002") == "7" ) {
- return;
- }
- model.setValue("/root/init/autoflag", "N"); //처방저장 후 autoflag N으로 설정
- }
- }
-
- /*
- if(setno == 1){
- messageBox ( "최상위 약속처방폴더에는 저장", "E001" );
- return;
- }
- if ( isNull(setnm)) {
- //messageBox ( "선택된 약속처방폴더가", "I004" );
- trv_promprcpset.select(0);
- model.setValue("/root/init/autoflag", "Y");
- fAddPrmsDiagSet();
- return;
-
- } else {
- if ( messageBox( setnm + " 약속처방폴더에 선택하신 처방을", "Q002") == "7" ) {
- return;
- }
- }
- */
- var curRow = 0;
- var grupsnglcnt = 0;
- var selectedRows = opener.grd_prcplist.selectedRows;
- var pDestNode = model.instances(0).selectSingleNode("/root/save/prcp");
- for ( var i=0; i < selectedRows; i++ ) {
- var prcpkindcd = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/prcpkindcd");
- var prcpnm = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/prcpnm");
-
- var inclprcpno = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/inclprcpno");
- var status = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/status");
- if ( !isNull(inclprcpno) && inclprcpno != "0" ) {
- var grupsnglflag = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/grupsnglflag");
- if ( grupsnglflag != "M" ) {
- grupsnglcnt++;
- continue;
- }
- }
- var hsctlnkno = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/hsctlnkno");
- if ( !isNull(hsctlnkno) && hsctlnkno != "0" ) {
- var prcpsetcd = opener.model.getValue ( "/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]/prcpsetcd");
- if ( prcpsetcd != "-" ) {
- grupsnglcnt++;
- continue;
- }
- }
- if ( status == "S" ) {
- continue;
- }
-
- if ( fPrmsSaveCheck ( "prms", prcpkindcd, prcpnm )) {
- curRow++;
- var pSrchNode = opener.model.instances(0).selectSingleNode("/root/main/prcp/prcplist[" + opener.grd_prcplist.selectedrow(i) + "]");
- pDestNode.appendChild(pSrchNode.cloneNode(true));
- model.setValue("/root/save/prcp/prcplist[" + curRow + "]/prcppkspec", setno + "|" + settypecd);
- //model.setValue("/root/main/prcp/prcplist[" + curRow + "]/pampkspec", "Y"); //검색을 다시 할 필요가 없기에 구분자를 넣는다.
- model.setValue("/root/save/prcp/prcplist[" + curRow + "]/status", "I");
-
- var drprcpetc2 = model.getValue("/root/save/prcp/prcplist[" + curRow + "]/drprcpetc2"); // 특수주사실 정보가 없으면 저장 시 오류 수정
- if ( isNull(drprcpetc2) ) {
- model.setValue("/root/save/prcp/prcplist[" + curRow + "]/drprcpetc2", "-");
- }
- }
- }
- if ( grupsnglcnt > 0 ) {
- messageBox ( "약속처방에는 대표코드만 저장됩니다.", "I" );
- }
-
- var savePrcpInfo = model.instances(0).selectNodes( "/root/save/prcp/prcplist" );
- if ( savePrcpInfo.length > 0 ) {
- //model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
- copyNodeListType ( "/root/send/cond1", "/root/save/prcp/prcplist[status!='S']", "replace", model, model); //sort기능 추가 후 약속셋copy 시 컬럼순서때문 오류 수정 (2009.10.28 by JJE)
- model.setValue ( "/root/send/cond2", "1" );
- model.removeNodeset ( "/root/save/prcp/prcplist" );
- if ( !submit ( "TRMMB00203", false )){
- model.resetInstanceNode ( "/root/send" );
- model.refresh();
- return;
- }
- var prcpErrList = model.instances(0).selectNodes( "/root/result/prcperrlist" );
- var xpt = window.screenleft + 100;
- var ypt = window.screenTop + 50;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
-
- if ( prcpErrList.length > 0 ) {
- if ( !isNull(model.getValue ( "/root/result/prcperrlist[1]/prcpcd"))){
- open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/result", "/root/result" ); //오류팝업
- model.removeNodeset("/root/result/prcperrlist");
- }
- return;
- }
- submit("TXMMB00201");
- model.removeNodeset("/root/send/cond1/prcplist"); //reset (2009.10.28 by JJE)
- fAbsnSrch ( "/root/main/prcp/prcplist", grd_promprcplist );
- }
- }
-
- function fDelPrmsPrcp() {
- //타과 약속처방을 삭제할 수 없도록 처리함
- var deptflag = model.getValue("/root/init/srchcond1"); //개인, 과, 타과
- var prmsflag = model.getValue("/root/init/srchcond3"); //약속처방, 프로토콜
- if(deptflag == "T"){ //타과
- var orddeptcd = model.getValue("/root/main/cond/deptcd");
- var orddeptnm = cmb_deptset.label;
- if(orddeptcd != getUserInfo("dutplcecd")){
- messageBox("[" + orddeptnm + "] 약속처방을 삭제", "E001");
- return;
- }
- }
-
- if ( grd_promprcplist.row > 0 ) {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_promprcplist.row + "]/status", "I" );
- model.refresh();
- }
- if ( messageBox( "선택된 처방을", "Q001") == "7" ) {
- return;
- }
-
- for ( var i=1; i < grd_promprcplist.rows; i++ ) {
- if ( model.getValue ( "/root/main/prcp/prcplist[" + i + "]/status" ) == "I" ) {
- model.setValue ( "/root/main/prcp/prcplist[" + i + "]/status", "D" );
- }
- }
- var savePrcpInfo = model.instances(0).selectNodes( "/root/main/prcp/prcplist" );
- //model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
- copyNodeListType ( "/root/send/cond1", "/root/main/prcp/prcplist[status!='S']", "replace", model, model); //처방그리드 sort기능 추가 후 약속셋copy 시 컬럼순서때문 오류 수정 (2009.10.28 by JJE)
- submit("TXMMB00201");
- model.removeNodeset("/root/send/cond1/prcplist"); //reset (2009.10.28 by JJE)
- }
- /**
- * @desc : 대체약 일괄변경
- * @return : void
- * @authur : 마정민 2007. 6. 19
- * @
- */
- function fAltDrugAll() {
- fAltDrug( grd_promprcplist.row, "3" );
- trv_promprcpset.dispatch("xforms-select");
- }
- /**
- * @desc : 대체약 폴더내 변경
- * @return : void
- * @authur : 마정민 2007. 6. 19
- * @
- */
- function fAltDrugFolder () {
- fAltDrug( grd_promprcplist.row, "2" );
- trv_promprcpset.dispatch("xforms-select");
- }
- /**
- * @desc : 대체약이 있을경우 색처리 및 프로토콜 값 세팅
- * @param : strSrc - source 노드
- : grdObj - DataGrid
- * @return : void
- * @authur : 마정민 2007. 7. 03
- */
- function fAbsnSrch ( strSrc, grdObj ) {
- var srcNodeList = model.instances(0).selectNodes( strSrc );
- var tempcol16 = "";
- var prcpuseflag = "";
- var prcpclscd = "";
-
- var settypecd = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/settypecd" );
- var prtlno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/prtlno");
- for(var i = 1; i <= srcNodeList.length; i++) {
- if (settypecd == "C" ) { //프로토콜약속처방이면 프로토콜 값을 세팅한다.
- model.setValue ( strSrc + "[" + i + "]/prtlno", prtlno );
- }
-
- model.setValue ( strSrc + "[" + i + "]/status", "I" );
- tempcol16 = model.getValue ( strSrc + "[" + i + "]/tempcol16");
- prcpclscd = model.getValue ( strSrc + "[" + i + "]/prcpclscd");
- prcpuseflag = getArrayData (tempcol16, 0, 0, "^", "|" );
- grdObj.rowstyle(i, "data", "color") = "#000000"; //기존에 색칠되어 있는 것을 clear 해 준다.
-
- if (prcpuseflag == "D") { // 수가정보에 없는경우
- grdObj.rowstyle(i, "data", "color") = "#ff4848";
- } else if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6" ) {
- var drugmastspec = model.getValue ( strSrc + "[" + i + "]/drugmastspec") + "^";
- if ( getArrayData (drugmastspec, 0, 10, "^", "|" ) == "Y" ) { // 품절여부가 Y 이면 색표시를 해준다.
- grdObj.rowstyle(i, "data", "color") = "#c0c0c0";
- }
- }
- }
- }
- /**
- * @desc : 폴더 복사
- * @
- * @param :
- * @return :
- * @authur : 오지훈 2007. 10. 13
- * @---------------------------------------------------
- */
- function fFolderCopy(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var currow = item.index + 1;
- var levl = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/levl");
- var setno = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setno");
- var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/settypecd");
- var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setkindcd");
- var settrgtcd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/settrgtcd");
- var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setclscd");
- var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setnm");
-
- if(setno == 1){
- messageBox("즐겨찾기 폴더는 복사", "E001");
- return;
- }
-
- model.setValue("/root/temp/copy/setno" , setno);
- model.setValue("/root/temp/copy/settypecd", settypecd);
- model.setValue("/root/temp/copy/setkindcd", setkindcd);
- model.setValue("/root/temp/copy/setclscd" , setclscd);
- model.setValue("/root/temp/copy/settrgtcd", settrgtcd);
- model.setValue("/root/temp/copy/setnm" , setnm);
- }
- /**
- * @desc : 폴더 붙여넣기
- * @
- * @param :
- * @return :
- * @authur : 오지훈 2007. 10. 13
- * @---------------------------------------------------
- */
- function fFolderPaste(){
- var setno = model.getValue("/root/temp/copy/setno");
- if(setno == ""){ //복사할 내용이 없는 경우
- return;
- }
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var currow = item.index + 1;
- var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setno");
- var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setkindcd");
- var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/settypecd");
- var settrgtcd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/settrgtcd");
- var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/setclscd");
- var ioflag = model.getValue(sPRMSPRCPSETLIST + "[" + currow + "]/ioflag");
-
- model.setValue("/root/temp/copy/supsetno" , supsetno);
- model.setValue("/root/temp/copy/ioflag" , ioflag);
- model.setValue("/root/temp/copy/trgtsettypecd", settypecd);
- model.setValue("/root/temp/copy/trgtsetkindcd", setkindcd);
- model.setValue("/root/temp/copy/trgtsettrgtcd", settrgtcd);
- model.setValue("/root/temp/copy/trgtsetclscd" , setclscd);
-
- //trgtioflag는 저장 후, 재 조회시 화면의 외래/입원구분에 따라 조회하기 위해 설정
- model.setValue("/root/temp/copy/trgtioflag" , model.getValue("/root/init/srchcond4"));
-
- model.copyNode("/root/send/savedata", "/root/temp/copy");
- submit("TXMMB00607");
- }
- /**
- * @desc : 약속SET폴더 순서 변경
- * @
- * @param :
- * @return :
- * @authur : 오지훈 2007. 10. 21
- * @---------------------------------------------------
- */
- function fOpenPrmsSetFolderOrderChng(){
- var item = trv_promprcpset.item(trv_promprcpset.selectedIndex);
- if(item == null){return;}
- var rowpos = item.index + 1;
-
- var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setkindcd");
- var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setclscd");
- var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
- var procflag = "";
- var deptcd = getUserInfo("dutplcecd");
- var deptnm = getUserInfo("dutplcenm");
- var ioflag = model.getValue("/root/init/srchcond4");
- var indx = trv_promprcpset.selectedIndex;
- var prmsflag = model.getValue("/root/init/srchcond1");
- if(prmsflag != "P"){
- procflag = "D";
- }
- var param = setkindcd + "▦" +
- setclscd + "▦" +
- settypecd + "▦" +
- procflag + "▦" +
- deptcd + "▦" +
- deptnm + "▦" +
- ioflag + "▦" +
- indx;
- setParameter("SPMMB00800_param", param);
- modal("SPMMB00800");
-
- fReqPrmsPrcpSet(settypecd, setkindcd, setclscd, procflag, deptcd, deptnm, ioflag)
- var rtnindx = getParameter("SPMMB00800_rtnparam");
-
- if(rtnindx != ""){
- trv_promprcpset.select(rtnindx);
- trv_promprcpset.expand(rtnindx, true);
- }
- trv_promprcpset.rebuild();
- }
- /**
- * @desc : 약속처방SET 조회
- * @
- * @param :
- * @return :
- * @authur : 오지훈 2007. 10. 21
- * @---------------------------------------------------
- */
- function fReqPrmsPrcpSet(settypecd, setkindcd, setclscd, procflag, deptcd, deptnm, ioflag){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/settypecd", settypecd);
- model.makeValue("/root/send/reqdata/setkindcd", setkindcd);
- model.makeValue("/root/send/reqdata/setclscd" , setclscd);
- model.makeValue("/root/send/reqdata/procflag" , procflag);
- model.makeValue("/root/send/reqdata/deptcd" , deptcd);
- model.makeValue("/root/send/reqdata/deptnm" , deptnm);
- model.makeValue("/root/send/reqdata/ioflag" , ioflag);
- submit("TRMMB00601");
- }
- /**
- * @desc : 인자로 넘어온 값을 label 로 같은 아이템의 인덱스를 반환
- * @
- * @param :
- * @return :
- * @authur : 오지훈 2008. 06. 12
- * @---------------------------------------------------
- */
- function labelToIndex(label, tree){
- for(var i=0; i<tree.length; i++){
- if(tree.item(i).label == label)
- return i;
- }
- return -1;
- }
|