123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 지시처방조회 ( SMMMB02300_지시처방조회.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sPRCPCLSCDLIST_PATH = "/root/main/prcpclscdlist/prcpclscdlist";
- var sORDPRCPCDLIST_PATH = "/root/main/ordprcpcdlist/ordprcpcdlist";
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMB02300(sel){
- var scrnflag = opener.javascript.getParameter("SMMMB02300_scrnflag");
- var prcpcd = opener.javascript.getParameter("SMMMB02300_prcpcd");
- if(scrnflag == "Y"){
- model.makeValue("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/prcpcd", prcpcd);
- if(submit("TRMMB02101")){
- }
- }
-
- model.removeNodeset("/root/main/ordprcpcdlist/ordprcpcdlist");
- model.removeNodeset("/root/main/prcp/prcplist");
- model.makeValue("/root/send/reqdata/clsflag", "genr");
-
- // 20081106 BMT처방조회 분리 요청
- if (sel == "bmt") {
- model.makeValue("/root/send/reqdata/clsflag", "bmt");
- }
-
- if(submit("TRMMB02102", false)){
- }
-
- zbcfGetCodeList(new Array("M0029", "M0005", "M0343" ), new Array("/root/init/payflagcd","/root/init/prcpclscd", "/root/init/hsctdelivepos"));
- mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D"); //권한부서코드 콤보
- mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept2" , "D"); //권한부서코드 콤보
- addComboInstance("/root/init/orddept" , "deptcd^depthngnm", "-^-", "dept"); //권한부서콤보 전체항목 추가
- fPrcpExecDeptSrch("all");
-
- model.setValue("/root/main/cond/stnddd" , getCurrentDate());
- model.setValue("/root/main/cond/prcpinptflag", "-");
- model.setValue("/root/main/cond/prcpuseflag" , "-");
- model.refresh();
-
- trv_prcpclscdlist.rebuild();
- }
- /**
- * @desc : 지시처방리스트 조회(처방분류코드 조건으로)
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSelectPrcpClsCD(){
- var item = trv_prcpclscdlist.item(trv_prcpclscdlist.selectedIndex);
- var indx = trv_prcpclscdlist.selectedIndex;
- if(item == null){return;}
- var iRow = item.index + 1;
- var prcpclscd1 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd1");
- var prcpclscd2 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd2");
- var prcpclscd3 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd3");
- var levl = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/lvl");
- var stnddd = model.getValue("/root/main/cond/stnddd");
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/prcpclscd1" , prcpclscd1);
- model.makeValue("/root/send/reqdata/prcpclscd2" , prcpclscd2);
- model.makeValue("/root/send/reqdata/prcpclscd3" , prcpclscd3);
- model.makeValue("/root/send/reqdata/stnddd" , stnddd);
- if(levl != 1){
- if(submit("TRMMB02303")){
- model.removeNodeset("/root/main/prcp/prcplist");
- }
- }
- trv_prcpclscdlist.expand(indx, true);
- model.refresh();
- }
- /**
- * @desc : 처방분류 추가
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fAddPrcpCls(){
- var item = trv_prcpclscdlist.item(trv_prcpclscdlist.selectedIndex);
- var iRow = item.index + 1;
- var lvl = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/lvl");
- var prcpclscd1 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd1");
- var prcpclscd2 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd2");
- var prcpclscd3 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd3");
- fSetCasePrcpCls(lvl, prcpclscd1, prcpclscd2, prcpclscd3);
- model.refresh();
- }
- /**
- * @desc : 처방분류 수정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fUpdtPrcpCls(){
- var item = trv_prcpclscdlist.item(trv_prcpclscdlist.selectedIndex);
- var iRow = item.index + 1;
- var lvl = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/lvl");
- var prcpclscd1 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd1");
- var prcpclscd2 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd2");
- var prcpclscd3 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd3");
-
- model.makeValue("/root/send/savedata/m", "u");
- model.makeValue("/root/send/savedata/prcpclscd1", prcpclscd1);
- model.makeValue("/root/send/savedata/prcpclscd2", prcpclscd2);
- model.makeValue("/root/send/savedata/prcpclscd3", prcpclscd3);
- if(btn_genr.selected == true){
- model.makeValue("/root/send/savedata/clsflag", "genr");
- }else{
- model.makeValue("/root/send/savedata/clsflag", "bmt");
- }
- fShowIptBox();
- }
- /**
- * @desc : 처방분류 삭제
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDelPrcpCls(){
- var item = trv_prcpclscdlist.item(trv_prcpclscdlist.selectedIndex);
- var iRow = item.index + 1;
- var lvl = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/lvl");
- var prcpclscd1 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd1");
- var prcpclscd2 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd2");
- var prcpclscd3 = model.getValue(sPRCPCLSCDLIST_PATH + "[" + iRow + "]/prcpclscd3");
- var clscdflag;
-
- switch(lvl){
- case "2" : clscdflag = "lrg"; break;
- case "3" : clscdflag = "mdl"; break;
- case "4" : clscdflag = "sml"; break;
- default : messageBox("신규 처방분류를 삭제 ", "E001"); return;
- }
- model.makeValue("/root/send/savedata/m", "d");
- model.makeValue("/root/send/savedata/clscdflag" , clscdflag);
- model.makeValue("/root/send/savedata/prcpclscd1", prcpclscd1);
- model.makeValue("/root/send/savedata/prcpclscd2", prcpclscd2);
- model.makeValue("/root/send/savedata/prcpclscd3", prcpclscd3);
- if(btn_genr.selected == true){
- model.makeValue("/root/send/savedata/clsflag", "genr");
- }else{
- model.makeValue("/root/send/savedata/clsflag", "bmt");
- }
- if(submit("TXMMB02102")==true){
- }
- model.refresh();
- }
- /**
- * @desc : 처방분류 추가시, 저장data 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetCasePrcpCls(lvl, prcpclscd1, prcpclscd2, prcpclscd3){
- switch(lvl){
- //depth level이 1인 경우
- case "1" : fSetReqPrcpClsData("i", "lrg", "", "00", "00");
- fShowIptBox();
- break;
- //depth level이 2인 경우
- case "2" : fSetReqPrcpClsData("i", "mdl", prcpclscd1, "", "00");
- fShowIptBox();
- break;
- //depth level이 3인 경우
- case "3" : fSetReqPrcpClsData("i", "sml", prcpclscd1, prcpclscd2, "");
- fShowIptBox();
- break;
-
- case "4" : messageBox("신규 처방분류를 생성 ", "E001");
- return;
- }
- }
- /**
- * @desc : 저장 데이터 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetReqPrcpClsData(status, clscdflag, prcpclscd1, prcpclscd2, prcpclscd3){
- model.makeValue("/root/send/savedata/m" , status);
- model.makeValue("/root/send/savedata/clscdflag" , clscdflag);
- model.makeValue("/root/send/savedata/prcpclscd1", prcpclscd1);
- model.makeValue("/root/send/savedata/prcpclscd2", prcpclscd2);
- model.makeValue("/root/send/savedata/prcpclscd3", prcpclscd3);
- model.makeValue("/root/send/savedata/useflag" , "Y");
- model.makeValue("/root/send/savedata/refseq" , "0");
- if(btn_genr.selected == true){
- model.makeValue("/root/send/savedata/clsflag", "genr");
- }else{
- model.makeValue("/root/send/savedata/clsflag", "bmt");
- }
- model.refresh();
- }
- /**
- * @desc : 입력창 Open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fShowIptBox(){
- group1.attribute("top") = event.clientY;
- group1.attribute("height") = 55;
- model.setFocus("ipt_prcpclsnm");
- model.refresh();
- }
- /**
- * @desc : 신규버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnNew(){
- var item = trv_prcpclscdlist.item(trv_prcpclscdlist.selectedIndex);
- if(item != null){
- var currow = item.index + 1;
- var prcpclscd1 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + currow + "]/prcpclscd1");
- var prcpclscd2 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + currow + "]/prcpclscd2");
- var prcpclscd3 = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + currow + "]/prcpclscd3");
-
- grd_ordprcpcdlist.addRow(false, true);
-
- var trgtrow = grd_ordprcpcdlist.row;
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/status" , "i");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpclscd1" , prcpclscd1);
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpclscd2" , prcpclscd2);
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpclscd3" , prcpclscd3);
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/fromdd" , getCurrentDate());
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/todd" , "99991231");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpuseflag" , "A");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpexecdeptcd", "-");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpauthdeptcd", "-");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpnmupdtflag", "N");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpinptflag" , "-");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/prcpclscd" , "00");
- model.setValue(sORDPRCPCDLIST_PATH + "[" + trgtrow + "]/grupsnglflag" , "S");
- grd_ordprcpcdlist.col = grd_ordprcpcdlist.colRef("prcpnm");
- grd_ordprcpcdlist.editCell();
- grd_ordprcpcdlist.refresh();
-
- }else{
- messageBox("처방분류코드를", "C002");
- return;
- }
- }
- /**
- * @desc : 삭제버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnDel(){
- var currow = grd_ordprcpcdlist.row;
- if(currow < 1){
- return;
- }
- var status = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status");
- if(status == "i"){
- model.removeNode("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]");
- }else{
- model.setValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status", "d");
- }
- grd_ordprcpcdlist.refresh();
- }
- /**
- * @desc : 저장버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnSave(){
- var cnt = 0;
- for(var i = 1; i < grd_ordprcpcdlist.rows; i++){
- var status = grd_ordprcpcdlist.valueMatrix(i, grd_ordprcpcdlist.colref("status"));
- if(status != ""){
- cnt++;
- }
- }
-
- if(cnt == 0){
- messageBox("저장할 내역이", "I004");
- return;
-
- }else{
- var savenode = getNodeListCSV(model.instance1.selectNodes("/root/main/ordprcpcdlist/ordprcpcdlist"));
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata/save", savenode);
- if(submit("TXMMB02101")==true){
- fSelectPrcpClsCD();
- model.removeNodeset("/root/main/prcp/prcplist");
- }
- }
- model.refresh();
- }
- /**
- * @desc : 수가처방등록 버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnCalcPrcpRgst(){
- var currow = grd_ordprcpcdlist.row;
- if(currow < 1){
- messageBox("수가 등록할 지시처방을", "C002");
- return;
-
- }else{
- var status = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status");
- var direcprcplnkno = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/direcprcplnkno");
- var grupsnglflag = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/grupsnglflag");
- var prcpsetcd = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/prcpcd");
-
- if(status != "-"){
- messageBox("저장되지 않은 지시처방에 수가 등록", "E001");
- return;
-
- }else if(grupsnglflag != "J"){
- messageBox("그룹이 아닌 지시처방에 수가 등록", "E001");
- return;
-
- }
- setParameter("SMMMB02100_cond1", direcprcplnkno);
- setParameter("SMMMB02100_cond2", prcpsetcd);
- modal("SMMMB00900");
-
- clearParameter("SMMMB02100_cond1");
- clearParameter("SMMMB02100_cond2");
- fDbClkOrdPrcpGrd(currow); //수가처방 등록이 끝난 후 바로 재조회 처리함
- }
- }
- /**
- * @desc : 지시처방 그리드 클릭 -> 그룹인 경우 해당 수가리스트를 조회함
- * @
- * @param : param - row의 위치
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDbClkOrdPrcpGrd(param){
- if(param==null){
- var currow = grd_ordprcpcdlist.row;
- }else{
- var currow = param;
- }
-
- var status = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status"); //신규등록인 경우는 조회를 하지 않는다.
- if(status == "i"){
- return;
- }
-
- if(currow > 0){
- var grupsnglflag = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/grupsnglflag");
- if(grupsnglflag == "J"){
- var direcprcplnkno = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/direcprcplnkno");
- model.makeValue("/root/send/cond1", direcprcplnkno);
- if(submit("TRMMB00911")){
- }
- }
- }
- }
- /**
- * @desc : 지시처방 그리드 값 변경시
- * HSCT를 제외한 처방분류의 그룹 설정을 막는다.
- * 변경된 사항이 있으면 수정 상태로 설정.
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngGrdOrdPrcp(){
- var currow = grd_ordprcpcdlist.row;
- var curcol = grd_ordprcpcdlist.col;
- var trgtcol = grd_ordprcpcdlist.colRef("grupsnglflag");
- if(trgtcol == curcol){ //그룹, 싱글구분을 변경시
- var grupsnglflag = grd_ordprcpcdlist.valueMatrix(currow, curcol);
- var prcpclscd = grd_ordprcpcdlist.valueMatrix(currow, grd_ordprcpcdlist.colRef("prcpclscd"));
- if(grupsnglflag == "J"){ //그룹으로 변경시
- if(prcpclscd != '04'){ //HSCT가 아니면
- grd_ordprcpcdlist.valueMatrix(currow, curcol) = "S"; //싱글로 복귀
- model.refresh();
- messageBox("처방분류가 HSCT가 아니면 그룹으로 생성", "E001"); //에러메시지
- return;
- }
- }
- }
- var status = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status");
- if(status != "i"){
- model.setValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/status", "u");
- }
- model.refresh();
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @event :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveGridToExcel(){
- var currow = grd_ordprcpcdlist.row;
- var prcpcd = model.getValue("/root/main/ordprcpcdlist/ordprcpcdlist[" + currow + "]/prcpcd");
- var prcpdd = model.getValue("/root/main/cond/stnddd");
- fPrcpSrchCom ( prcpcd, prcpdd, "11", "TRMMO00100", "-", true, "getPrcpCdSrchInfo" );
- appendChildPrcp ( "/root/main/prcp/prcplist", "/root/prcpsrch", "main" );
-
- var srcNodeList = model.instances(0).selectNodes("/root/prcpsrch/prcplist");
- for ( i=1; i <= srcNodeList.length; i++ ){
-
- payflagcd = model.getValue ( "/root/prcpsrch/prcplist[" + i + "]/payflagcd" )
- cdnm = model.getValue ( "/root/init/payflagcd/M0029[cdid='" + payflagcd + "']/cdnm" );
- model.setValue ( "/root/prcpsrch/prcplist[" + i + "]/payflagcd", cdnm );
- hsctdelivepos = model.getValue ( "/root/prcpsrch/prcplist[" + i + "]/hsctdelivepos" );
- cdnm = model.getValue ( "/root/init/hsctdelivepos/M0343[cdid='" + hsctdelivepos + "']/cdnm" );
- model.setValue ( "/root/prcpsrch/prcplist[" + i + "]/hsctdelivepos", cdnm );
- prcpexecdeptcd = model.getValue ( "/root/prcpsrch/prcplist[" + i + "]/prcpexecdeptcd" );
- cdnm = model.getValue ( "/root/orddept/dept[deptcd='" + prcpexecdeptcd + "']/depthngnm" );
- model.setValue ( "/root/prcpsrch/prcplist[" + i + "]/prcpexecdeptcd", cdnm );
- }
- model.refresh();
- var fileName = window.fileDialog("save", ",", false, "BMT처방", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != ""){
- datagrid1.saveExcel(fileName, "SheetName", true, true, "", "", true);
- }
- }
|